-
Notifications
You must be signed in to change notification settings - Fork 3.6k
feat(txmgr / batcher): Rebroadcast transactions without bumping fees #16310
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #16310 +/- ##
===========================================
- Coverage 47.05% 43.88% -3.17%
===========================================
Files 1390 1232 -158
Lines 112444 103930 -8514
===========================================
- Hits 52910 45611 -7299
+ Misses 55805 54729 -1076
+ Partials 3729 3590 -139
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
c3206bc
to
a201318
Compare
geoknee
reviewed
Jun 13, 2025
a201318
to
ac90304
Compare
geoknee
approved these changes
Jun 17, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This change enables the TxMgr to rebroadcast signed transactions without bumping the gas fees. This is particularly relevant to batcher-submitted blob transactions, which empirically may be initially accepted by a mempool node but then silently dropped or fail to propagate throughput the network - this is likely due to restrictive mempool rules, such as geth forbidding blob transactions with gapped nonces.
RebroadcastInterval
defaults to 12 seconds for both the batcher and challenger, as this matches the receipt polling interval as well as the L1 slot time. This should allow the senders to resubmit the same transaction once per L1 block, and only fall back to the fee-bumping logic after surpassing the existingResubmissionTimeout
(still 48s and 24s respectively).This also updates the handling of the
txpool.AlreadyKnown
error to be treated equivalently to a successful transaction broadcast, as the error signals that the exact transaction is in the mempool with no nonce gaps or fee-related errors.Tests
Adds
TestTxMgrRebroadcastsWithoutGasPriceIncrease
, which only confirms a transaction after it has been submitted 3 times with no modifications / gas bumps.Additional context
This follows up #15952, as Base is still encountering delays whenever submitting a large volume of blob transactions. Once a transaction is silently dropped from the mempool, the TxMgr only recovers by applying the (typically-unnecessary) gas bump logic. This forces us to either wait an extended period before bumping gas prices, or perform excess bumps - which in turn causes more churn in the mempool as net-new transactions replace the existing ones.
Metadata