Skip to content

Settle the Ethereum Syndication on the Holder's Balance - #183

Merged
heifner merged 1 commit into
masterfrom
fix/plugin-underwriting-eth-release
Nov 10, 2026
Merged

heifner merged 1 commit into
masterfrom
fix/plugin-underwriting-eth-release

Conversation

@heifner

@heifner heifner commented Nov 10, 2026

Copy link
Copy Markdown
Contributor

ethereum-settled in flow-syndication-plugin-underwriting waited for the sysio.synd envelope to show its whole principal released. The batch operators' underwriter housekeeping runs every 10 minutes and prunes a released envelope as soon as its approval is acknowledged. When that pass lands between the approval and the step's first read, the row is gone and the step waits out its 420 s budget. e2e run 42721597511 failed this way: the approve, the crank that acknowledged it and pruneenv were pushed in one plugin pass, 16 s before the step's first read.

  • The step now waits for the holder's LIQETH balance to reach its principal, which pruning cannot take back, then asserts it exactly.
  • It no longer reads the envelope. ethereum-requested already checks the envelope's synd_total when it records it.
  • The Solana phases need no change: they read envelopes only before approval, and their settlement reads balances and bonds.
  • The settlement test runs with no envelope row, checks that the step waits for the credit, and refuses an over-credited holder and short operator capital.

…der's balance

The batch operators' housekeeping prunes a released sysio.synd envelope once its approval is acknowledged, so ethereum-settled could find the row gone and wait out its whole budget. The step now waits for the holder's LIQETH principal, which pruning cannot take back, and no longer reads the envelope. ethereum-requested already checks the envelope's amount when it records it.
@heifner
heifner marked this pull request as ready for review November 10, 2026 14:08

@huangminghuang huangminghuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the current diff and surrounding settlement/pruning logic. No actionable findings. Validation: isolated TypeScript compilation passed and all 58 settlement unit tests passed. The live cross-chain flow was not run.

@heifner
heifner merged commit c059d29 into master Nov 10, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants