Skip to content

Fix retryable gas calculation bug and add ArbOS51 version (#4047)#4068

Merged
eljobe merged 1 commit into
v3.9.x-releasefrom
port-arbos51-redeem-fix
Nov 25, 2025
Merged

Fix retryable gas calculation bug and add ArbOS51 version (#4047)#4068
eljobe merged 1 commit into
v3.9.x-releasefrom
port-arbos51-redeem-fix

Conversation

@MishkaRogachev

Copy link
Copy Markdown
Contributor

Part of NIT-4132
Pulls in OffchainLabs/go-ethereum#586

Port retyrable redeem fix to v3.9.x-release

* l2pricing: add arbosVersion parameter

* create free-storage and use for gas constraints

* l2pricing-simulator: build fix

* common test: test by default with multiple constraints

* fix TestRetryableSubmissionAndRedeemFees

* lint fixes

* system_test: don't take ownership if no owner

* fix more system tests

* fix more tests

* Add test proving issue with redeem and constraints

* Refactor redeem gasPoolUpdateCost to a function

* Revert "create free-storage and use for gas constraints"

This reverts commit f48b38f.

* Correct GasPoolUpdateCost for ArbOS 51

* Increase redeemAllAndCreateAddresses gas for retryable

* recreate_rpc: do take ownership

* l2pricingstate: restructure arbos version checking

* l2pricingmodel: fixes

* rework gas constraints

* fix typo in test

* Post-merge fix: use gasConstraintsMaxNum

---------

Co-authored-by: Mikhail Rogachev <mrogachev@offchainlabs.com>
@eljobe eljobe self-requested a review November 25, 2025 12:06
@eljobe eljobe self-assigned this Nov 25, 2025
@github-actions

Copy link
Copy Markdown
Contributor

❌ 2 Tests Failed:

Tests completed Failed Passed Skipped
2165 2 2163 0
View the top 2 failed tests by shortest run time
TestSequencerPriceAdjustsFrom25Gwei
Stack Traces | 52.930s run time
=== RUN   TestSequencerPriceAdjustsFrom25Gwei
=== PAUSE TestSequencerPriceAdjustsFrom25Gwei
=== CONT  TestSequencerPriceAdjustsFrom25Gwei
    fees_test.go:223: �[31;1m [L1 gas price estimate should tend toward the basefee] �[0;0m
ERROR[11-25|11:59:22.962] Dangling trie nodes after full cleanup
--- FAIL: TestSequencerPriceAdjustsFrom25Gwei (52.93s)
�[90mmulticall: len 5.31K vs 12.50K�[0;0m
�[90mmulticall: deployed to 0x457b1BA688E9854BDbed2f473F7510C476A3dA09�[0;0m
�[90mTime to activate multicall: 137.757399ms�[0;0m
�[90mhostio-test: len 16.49K vs 50.43K�[0;0m
�[90mhostio-test: deployed to 0x921bd9fA0F3295C0351164a28BA7C23C343b786d�[0;0m
INFO [11-25|11:59:23.778] HTTP server stopped                      endpoint=127.0.0.1:37941
TRACE[11-25|11:59:23.778] P2P networking is spinning down
TestBatchPosterActuallyPostsBlobsToL1
Stack Traces | 62.770s run time
... [CONTENT TRUNCATED: Keeping last 20 lines]
DEBUG[11-25|11:53:33.943] Executing EVM call finished              runtime="222.084µs"
TRACE[11-25|11:53:33.942] Handled RPC response                     reqid=1418  duration="3.687µs"
DEBUG[11-25|11:53:33.943] Served eth_getBlockByNumber              reqid=1294  duration="97.943µs"
DEBUG[11-25|11:53:33.943] Finality not supported, not pushing finality data to execution
DEBUG[11-25|11:53:33.943] Pushed sync data from consensus to execution synced=true  maxMessageCount=6   updatedAt=2025-11-25T11:53:33+0000 hasProgressMap=false
DEBUG[11-25|11:53:33.943] Pushed sync data from consensus to execution synced=true  maxMessageCount=6   updatedAt=2025-11-25T11:53:33+0000 hasProgressMap=false
DEBUG[11-25|11:53:33.943] Finality not supported, not pushing finality data to execution
DEBUG[11-25|11:53:33.943] Served eth_getBlockByNumber              reqid=988   duration="97.311µs"
DEBUG[11-25|11:53:33.943] Executing EVM call finished              runtime="483.52µs"
DEBUG[11-25|11:53:33.943] Finality not supported, not pushing finality data to execution
DEBUG[11-25|11:53:33.943] Served eth_call                          reqid=9622  duration="984.554µs"
DEBUG[11-25|11:53:33.943] Pushed sync data from consensus to execution synced=true  maxMessageCount=5   updatedAt=2025-11-25T11:53:33+0000 hasProgressMap=false
TRACE[11-25|11:53:33.943] Handled RPC response                     reqid=1982  duration="1.924µs"
DEBUG[11-25|11:53:33.943] Served eth_call                          reqid=1983  duration="324.898µs"
TRACE[11-25|11:53:33.944] Handled RPC response                     reqid=1983  duration="2.694µs"
INFO [11-25|11:53:33.944] New Key                                  name=RollupOwner       Address=0x57Ff0F473737a1c161bfF9efDF016F7991585088
INFO [11-25|11:53:33.944] New Key                                  name=Sequencer         Address=0xb386a74Dcab67b66F8AC07B4f08365d37495Dd23
INFO [11-25|11:53:33.944] New Key                                  name=Validator         Address=0x83FFCFaCE2Fb0E1286686815503608A16EF41e47
INFO [11-25|11:53:33.944] New Key                                  name=User              Address=0x7E23C8862920797d81916d62c274dd9217113e28
DEBUG[11-25|11:53:33.945] Executing EVM call finished              runtime="819.807µs"

📣 Thoughts on this report? Let Codecov know! | Powered by Codecov

@MishkaRogachev MishkaRogachev marked this pull request as ready for review November 25, 2025 12:09
@eljobe eljobe merged commit 973fce6 into v3.9.x-release Nov 25, 2025
18 checks passed
@eljobe eljobe deleted the port-arbos51-redeem-fix branch November 25, 2025 12:33
0x19 pushed a commit to Tenderly/net-nitro that referenced this pull request Nov 28, 2025
…bs#4047) (OffchainLabs#4068)

* l2pricing: add arbosVersion parameter

* create free-storage and use for gas constraints

* l2pricing-simulator: build fix

* common test: test by default with multiple constraints

* fix TestRetryableSubmissionAndRedeemFees

* lint fixes

* system_test: don't take ownership if no owner

* fix more system tests

* fix more tests

* Add test proving issue with redeem and constraints

* Refactor redeem gasPoolUpdateCost to a function

* Revert "create free-storage and use for gas constraints"

This reverts commit f48b38f.

* Correct GasPoolUpdateCost for ArbOS 51

* Increase redeemAllAndCreateAddresses gas for retryable

* recreate_rpc: do take ownership

* l2pricingstate: restructure arbos version checking

* l2pricingmodel: fixes

* rework gas constraints

* fix typo in test

* Post-merge fix: use gasConstraintsMaxNum

---------

Co-authored-by: Tsahi Zidenberg <65945052+tsahee@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants