Skip to content

Conversation

@gastonponti
Copy link

WIP

geoknee and others added 2 commits October 3, 2025 15:40
…der (ethereum-optimism#17566)

* txmgr: fetch BlobBaseFee over RPC instead of computing from block header

This simplifies the transaction manager, meaning it does not need to understand the chain config of L1 in order to estimate fees properly (which, from Fusaka, it will otherwise need to do because the formula for computing the blob base fee from the excess blob gas changes frequently with BPO forks).

* fix TestIncreaseGasPriceLimits

* fix TestTxMgrConfirmsBlobTxAtHigherGasPrice

* Update op-service/txmgr/txmgr.go

Co-authored-by: Sebastian Stammler <[email protected]>

---------

Co-authored-by: Sebastian Stammler <[email protected]>
…um-optimism#17568)

* op-node: add optional flag to load L1ChainConfig

And wire up to BlockInfo.BlobBaseFee() getter, which now accepts the config.

Flag need not be provided as long as the chain has a known l1 chain id (Mainnet, Sepolia).

* use test l1 chain config in many tests

* more wiring

* WIP: get op-program to compile

I don't expect this to work, yet

* sysgo: wire up op-node constructor with L1ChainConfig

* op-program host wiring

* op-e2e/actions wiring

* wire up boot info

* op-program looks up chain config for l1 mainnet and l1 sepolia

* wire up l1 chain config in op-e2e/system

* fix tests by passing sepolia chan config from op-geth

* add L1ChainConfig to e2esys.System struct

* handle err

* op-program/interop fixes

* add l1ChainConfig to supersystem_l2.go

* op-program: wire up l1chainconfigs to host flags and config

* fix mockInteropBootstrapOracle

* feat(l1): add custom l1 configs to kona proof

* op-program/chaincfg: split loading of l1 and l2 chain configs

* op-program/boot-interop: us a single l1 chain config

* fix tests

* lint

* wiring in op-challenger

* expose L1Genesis on SuperDisputeSystem

* lint

* fix test

* fixes

* add case to switch statement

* fix op-challenger error handling

* op-program: one chain config for interop, multiple otherwise

* op-program/host: always return a single l1 chain config

* fix chain Id comparisons

also add error for nil blob schedule

* op-node/service: add unit tests for NewL1ChainConfig

* op-program/host: use a single L1ChainConfig

* op-program can fallback to mainnet / sepolia L1s automatically

* lint

* add check

* sysgo/l2_Cl_opnode: replicate op-node fallback to known l1 chain configs

* single l1 genesis in challenger and vm executor

* simplify

* typo

* more harmony around single l1 chain config

* tweaks

* remove whoopsie

* wire up l1ChainConfig in test sequencer

* deprecate calcBlobFeeDefault

* reinstate method

* lint

* feat(devstack/kona): fix devstack commands for kona

* Add TestCannonNetworkorL1GenesisPathRequired and TestAsteriscNetworkorL1GenesisPathRequired

* move --l1-config-path into required args slice

* use single l1ChainConfig in RunKonaNative

* remove caldBlobFeeDefault

* refactor tests with validConfigWithNoNetworks

* NewL1ChainConfig warns when config is ignored

* add assertion for --l1-config-path in TestKonaFillHostCommand

* Implement validation for L1GenesisPath in OracleCommand and update tests to reflect changes

* fail on multiple l1 networks

* move lookup of l1 chain config out of core sysgo constructors and into system_synctester_ext.go

* remove duplicate test

* op-program/chaincfg: checkConfigFilenames permits 0 or 1 l1 genesis files

Adds test for not supplying a custom l1 genesis config.

* add test case for multiple l1 genesis files

* op-program/boot-info: add test for missing l1 chain config

* op-program/client/boot: panic if custom chain l1 config does not match rollup config l1 chain id

* specify l1/l2 in err msg

* typo

* fix test

* use single l1 chain config in interop_test.go

* validate l1 chain id matches when loading config from file

* reorder arguments for derive.L1InfoDeposit

* reorder action helper verifier/sequencer constructor arguments

* add comment

* reordering

* assert chain is consistency

* reorder

* change to path flag

* dedupe and fix test

* remove magic code from WithKonaNode sysgo helper

* DRY out, centralize, dedupe and unit test L1ChainConfigByChainID

* undo ff09017

* Update op-devstack/sysgo/l2_challenger.go

Co-authored-by: mbaxter <[email protected]>

* fix

* mockInteropBootstrapOracle embeds a single l1ChainCfg and tests assert

* challenger should not require l1 genesis path to be configured

* make l1 genesis config optional for kona

* allow for multiple l1 configs in custom chain fs

* add l1 genesis flag to op-challenger

* fix

* fix lints and tests

* fix op-program config tests

* fix op-program cmd tests

* remove failing tests that shouldnt exist

* add comment

* Add TestCalcBlobFeeAcrossForksWithFixedExcess

* improve test

it will now fail if any fork is rescheduled

* fix test

* fix system/proofs tests

* Add warning to CalcBlobFeeCancun

* lint

---------

Co-authored-by: theochap <[email protected]>
Co-authored-by: mbaxter <[email protected]>
Co-authored-by: Josh Klopfenstein <[email protected]>
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.

3 participants