Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bundle Sender State Machine Rework #716

Merged
merged 7 commits into from
Jun 20, 2024
Merged

Bundle Sender State Machine Rework #716

merged 7 commits into from
Jun 20, 2024

Conversation

dancoombs
Copy link
Collaborator

@dancoombs dancoombs commented Jun 5, 2024

Closes #362

Proposed Changes

  • Remove polling of transaction status from the transaction tracker
  • Introduce a new state machine to bundle sender
    • Machine is driven by a "trigger" which depends on the bundling mode and the state
    • Each trigger causes a state update
    • State currently jumps between Building when there are no outstanding bundle transactions, and Pending when there are outstanding transactions.
  • Adds handling for nonce too low errors

TODO (in follow up PRs)

  • Add a new state to handle "cancellations" where we replace any pending transactions with an empty transaction to fix the "stuck sender" and "replacement underpriced" cases.
  • Add tests for the new state machine
  • Add support for dropped transactions to certain senders to short circuit pending wait times if dropped.

@dancoombs dancoombs force-pushed the danc/tt-polling branch 2 times, most recently from fe189f1 to 7ae5087 Compare June 10, 2024 18:31
@dancoombs dancoombs changed the base branch from main to feat/v0.3 June 17, 2024 19:59
@dancoombs
Copy link
Collaborator Author

Merged #720 and #721 into this PR.

@dancoombs dancoombs changed the title feat(builder): remove polling from transaction tracker, update state machine Bundle Sender State Machine Rework Jun 18, 2024
@dancoombs dancoombs merged commit 50cd709 into feat/v0.3 Jun 20, 2024
7 checks passed
@dancoombs dancoombs deleted the danc/tt-polling branch June 20, 2024 19:10
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.

builder: Remove polling of mined transactions
1 participant