Skip to content

Conversation

@pmikolajczyk41
Copy link
Member

  1. Bring DefaultInitialL1BaseFee from nitro/arbostypes.
  2. Extend genesis config (indirectly with ArbOSInit field) by the InitialL1BaseFee.
  3. Add a getter (with a fallback to DefaultInitialL1BaseFee) to ArbOSInit for best-effort backwards compatibility with old genesis.json files.

pulled in by OffchainLabs/nitro#4171

bragaigor
bragaigor previously approved these changes Dec 23, 2025
Copy link
Contributor

@bragaigor bragaigor left a comment

Choose a reason for hiding this comment

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

LGTM

diegoximenes
diegoximenes previously approved these changes Dec 30, 2025
Copy link
Contributor

@bragaigor bragaigor left a comment

Choose a reason for hiding this comment

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

LGTM

@diegoximenes diegoximenes assigned tsahee and unassigned diegoximenes Dec 31, 2025

// GetInitialL1BaseFee returns the initial L1 base fee for the ArbOS instance.
// If not set, it returns the default value.
func (a *ArbOSInit) GetInitialL1BaseFee() *big.Int {
Copy link
Contributor

Choose a reason for hiding this comment

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

I arrived at this comment while thinking about how to handle serialized chain config here.

If serialized chain config is provided in ArbOSInit then it will not be possible to have a ArbOSInit.GetSerializedChainConfig that would return a default value, since ArbOSInit doesn't have access to a default chain config.

core.Genesis, that has the ArbOSInit field, has a ChainConfig field that could be used to compute a default serialized chain config.
Nitro allows the core.Genesis.ChainConfig, from genesis JSON file, to be updated BTW, so that is an extra complication.

That said, ArbOSInit will likely not be the best place to retrieve the default InitialL1BaseFee.
This decision is quite coupled with the decision on how serialized chain config will be provided, so ideally they must be done in a single PR.

WDYT?

We can discuss this better in a meeting.

@diegoximenes diegoximenes assigned pmikolajczyk41 and unassigned tsahee Jan 1, 2026
@diegoximenes diegoximenes self-requested a review January 1, 2026 00:25
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.

5 participants