Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelog/pmikolajczyk-nit-4412.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
### Changed
- Nitro initialization uses the serialized chain config from genesis (instead of the deprecated `Config` field)
13 changes: 7 additions & 6 deletions cmd/genesis-generator/genesis-generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,19 +148,20 @@ func generateGenesisBlock(executionDB ethdb.Database, cacheConfig *core.BlockCha
}

func readChainConfig(gen *core.Genesis) (*params.ChainConfig, []byte, error) {
// 1. Validate that the correct fields are used
//nolint:staticcheck // we want to explicitly check that the deprecated field is not used
if gen.Config != nil {
return nil, nil, errors.New("`config` field is deprecated and not supported; use `serializedChainConfig` instead")
}
if gen.SerializedChainConfig == "" {
return nil, nil, errors.New("serialized chain config was not set (`serializedChainConfig`)")
}
serializedChainConfig := []byte(gen.SerializedChainConfig)

var chainConfig params.ChainConfig
if err := json.Unmarshal(serializedChainConfig, &chainConfig); err != nil {
return nil, nil, fmt.Errorf("failed to unmarshal chain config: %w", err)
// 2. Deserialize the chain config
chainConfig, err := gen.GetConfig()
if err != nil {
return nil, nil, err
}
return &chainConfig, serializedChainConfig, nil
return chainConfig, []byte(gen.SerializedChainConfig), nil
}

func buildInitMessage(genesisArbOSInit *params.ArbOSInit, chainConfig *params.ChainConfig, serializedChainConfig []byte) (*arbostypes.ParsedInitMessage, error) {
Expand Down
5 changes: 4 additions & 1 deletion cmd/nitro/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -786,7 +786,10 @@ func openInitializeExecutionDB(ctx context.Context, stack *node.Node, config *No
initDataReader = statetransfer.NewMemoryInitDataReader(&statetransfer.ArbosInitializationInfo{
Accounts: accounts,
})
chainConfig = gen.Config
chainConfig, err = gen.GetConfig()
if err != nil {
return executionDB, nil, err
}
genesisArbOSInit = gen.ArbOSInit
}

Expand Down
2 changes: 1 addition & 1 deletion go-ethereum
Submodule go-ethereum updated 1 files
+17 −2 core/genesis.go
Loading