Skip to content

Commit

Permalink
Changes based on PR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
amsanghi committed Nov 5, 2024
1 parent cc25299 commit 07d7ec4
Show file tree
Hide file tree
Showing 11 changed files with 26 additions and 16 deletions.
2 changes: 1 addition & 1 deletion arbnode/inbox_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func NewTransactionStreamerForTest(t *testing.T, ownerAddress common.Address) (*
initReader := statetransfer.NewMemoryInitDataReader(&initData)

cacheConfig := core.DefaultCacheConfigWithScheme(env.GetTestStateScheme())
bc, err := gethexec.WriteOrTestBlockChain(chainDb, cacheConfig, initReader, chainConfig, arbostypes.TestInitMessage, gethexec.ConfigDefault.TxLookupLimit, 0, common.Address{})
bc, err := gethexec.WriteOrTestBlockChain(chainDb, cacheConfig, initReader, chainConfig, arbostypes.TestInitMessage, gethexec.ConfigDefault.TxLookupLimit, 0)

if err != nil {
Fail(t, err)
Expand Down
2 changes: 1 addition & 1 deletion arbos/arbosState/initialization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ func tryMarshalUnmarshal(input *statetransfer.ArbosInitializationInfo, t *testin
chainConfig := params.ArbitrumDevTestChainConfig()

cacheConfig := core.DefaultCacheConfigWithScheme(env.GetTestStateScheme())
stateroot, err := InitializeArbosInDatabase(raw, cacheConfig, initReader, chainConfig, arbostypes.TestInitMessage, 0, 0, common.Address{})
stateroot, err := InitializeArbosInDatabase(raw, cacheConfig, initReader, chainConfig, arbostypes.TestInitMessage, 0, 0)
Require(t, err)

triedbConfig := cacheConfig.TriedbConfig()
Expand Down
8 changes: 6 additions & 2 deletions arbos/arbosState/initialize.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func MakeGenesisBlock(parentHash common.Hash, blockNumber uint64, timestamp uint
return types.NewBlock(head, nil, nil, nil, trie.NewStackTrie(nil))
}

func InitializeArbosInDatabase(db ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, timestamp uint64, accountsPerSync uint, chainOwner common.Address) (root common.Hash, err error) {
func InitializeArbosInDatabase(db ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, timestamp uint64, accountsPerSync uint) (root common.Hash, err error) {
triedbConfig := cacheConfig.TriedbConfig()
triedbConfig.Preimages = false
stateDatabase := state.NewDatabaseWithConfig(db, triedbConfig)
Expand Down Expand Up @@ -96,8 +96,12 @@ func InitializeArbosInDatabase(db ethdb.Database, cacheConfig *core.CacheConfig,
log.Crit("failed to open the ArbOS state", "error", err)
}

chainOwner, err := initData.GetChainOwner()
if err != nil {
return common.Hash{}, err
}
if chainOwner != (common.Address{}) {
err := arbosState.ChainOwners().Add(chainOwner)
err = arbosState.ChainOwners().Add(chainOwner)
if err != nil {
return common.Hash{}, err
}
Expand Down
7 changes: 2 additions & 5 deletions cmd/nitro/init.go
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,7 @@ func openInitializeChainDb(ctx context.Context, stack *node.Node, config *NodeCo
Nonce: 0,
},
},
ChainOwner: common.HexToAddress(config.Init.DevInitAddress),
}
initDataReader = statetransfer.NewMemoryInitDataReader(&initData)
}
Expand Down Expand Up @@ -791,11 +792,7 @@ func openInitializeChainDb(ctx context.Context, stack *node.Node, config *NodeCo
if !emptyBlockChain && (cacheConfig.StateScheme == rawdb.PathScheme) && config.Init.Force {
return chainDb, nil, errors.New("It is not possible to force init with non-empty blockchain when using path scheme")
}
var chainOwner common.Address
if config.Init.DevInit {
chainOwner = common.HexToAddress(config.Init.DevInitAddress)
}
l2BlockChain, err = gethexec.WriteOrTestBlockChain(chainDb, cacheConfig, initDataReader, chainConfig, parsedInitMessage, config.Execution.TxLookupLimit, config.Init.AccountsPerSync, chainOwner)
l2BlockChain, err = gethexec.WriteOrTestBlockChain(chainDb, cacheConfig, initDataReader, chainConfig, parsedInitMessage, config.Execution.TxLookupLimit, config.Init.AccountsPerSync)
if err != nil {
return chainDb, nil, err
}
Expand Down
8 changes: 4 additions & 4 deletions execution/gethexec/blockchain.go
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ func (c *CachingConfig) Validate() error {
return c.validateStateScheme()
}

func WriteOrTestGenblock(chainDb ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, accountsPerSync uint, chainOwner common.Address) error {
func WriteOrTestGenblock(chainDb ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, accountsPerSync uint) error {
EmptyHash := common.Hash{}
prevHash := EmptyHash
prevDifficulty := big.NewInt(0)
Expand All @@ -146,7 +146,7 @@ func WriteOrTestGenblock(chainDb ethdb.Database, cacheConfig *core.CacheConfig,
}
timestamp = prevHeader.Time
}
stateRoot, err := arbosState.InitializeArbosInDatabase(chainDb, cacheConfig, initData, chainConfig, initMessage, timestamp, accountsPerSync, chainOwner)
stateRoot, err := arbosState.InitializeArbosInDatabase(chainDb, cacheConfig, initData, chainConfig, initMessage, timestamp, accountsPerSync)
if err != nil {
return err
}
Expand Down Expand Up @@ -213,7 +213,7 @@ func GetBlockChain(chainDb ethdb.Database, cacheConfig *core.CacheConfig, chainC
return core.NewBlockChain(chainDb, cacheConfig, chainConfig, nil, nil, engine, vmConfig, shouldPreserveFalse, &txLookupLimit)
}

func WriteOrTestBlockChain(chainDb ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, txLookupLimit uint64, accountsPerSync uint, chainOwner common.Address) (*core.BlockChain, error) {
func WriteOrTestBlockChain(chainDb ethdb.Database, cacheConfig *core.CacheConfig, initData statetransfer.InitDataReader, chainConfig *params.ChainConfig, initMessage *arbostypes.ParsedInitMessage, txLookupLimit uint64, accountsPerSync uint) (*core.BlockChain, error) {
emptyBlockChain := rawdb.ReadHeadHeader(chainDb) == nil
if !emptyBlockChain && (cacheConfig.StateScheme == rawdb.PathScheme) {
// When using path scheme, and the stored state trie is not empty,
Expand All @@ -222,7 +222,7 @@ func WriteOrTestBlockChain(chainDb ethdb.Database, cacheConfig *core.CacheConfig
return GetBlockChain(chainDb, cacheConfig, chainConfig, txLookupLimit)
}

err := WriteOrTestGenblock(chainDb, cacheConfig, initData, chainConfig, initMessage, accountsPerSync, chainOwner)
err := WriteOrTestGenblock(chainDb, cacheConfig, initData, chainConfig, initMessage, accountsPerSync)
if err != nil {
return nil, err
}
Expand Down
1 change: 1 addition & 0 deletions statetransfer/data.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ type ArbosInitializationInfo struct {
AddressTableContents []common.Address
RetryableData []InitializationDataForRetryable
Accounts []AccountInitializationInfo
ChainOwner common.Address
}

type InitializationDataForRetryable struct {
Expand Down
1 change: 1 addition & 0 deletions statetransfer/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ type InitDataReader interface {
GetNextBlockNumber() (uint64, error)
GetRetryableDataReader() (RetryableDataReader, error)
GetAccountDataReader() (AccountDataReader, error)
GetChainOwner() (common.Address, error)
}

type ListReader interface {
Expand Down
4 changes: 4 additions & 0 deletions statetransfer/jsondatareader.go
Original file line number Diff line number Diff line change
Expand Up @@ -210,3 +210,7 @@ func (r *JsonInitDataReader) GetAccountDataReader() (AccountDataReader, error) {
JsonListReader: listreader,
}, nil
}

func (r *JsonInitDataReader) GetChainOwner() (common.Address, error) {
return common.Address{}, nil
}
4 changes: 4 additions & 0 deletions statetransfer/memdatareader.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,10 @@ func (r *MemoryInitDataReader) GetAccountDataReader() (AccountDataReader, error)
}, nil
}

func (r *MemoryInitDataReader) GetChainOwner() (common.Address, error) {
return r.d.ChainOwner, nil
}

func (r *MemoryInitDataReader) Close() error {
return nil
}
4 changes: 2 additions & 2 deletions system_tests/common_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1346,7 +1346,7 @@ func createNonL1BlockChainWithStackConfig(
}
}
coreCacheConfig := gethexec.DefaultCacheConfigFor(stack, &execConfig.Caching)
blockchain, err := gethexec.WriteOrTestBlockChain(chainDb, coreCacheConfig, initReader, chainConfig, initMessage, ExecConfigDefaultTest(t).TxLookupLimit, 0, common.Address{})
blockchain, err := gethexec.WriteOrTestBlockChain(chainDb, coreCacheConfig, initReader, chainConfig, initMessage, ExecConfigDefaultTest(t).TxLookupLimit, 0)
Require(t, err)

return info, stack, chainDb, arbDb, blockchain
Expand Down Expand Up @@ -1437,7 +1437,7 @@ func Create2ndNodeWithConfig(
chainConfig := firstExec.ArbInterface.BlockChain().Config()

coreCacheConfig := gethexec.DefaultCacheConfigFor(chainStack, &execConfig.Caching)
blockchain, err := gethexec.WriteOrTestBlockChain(chainDb, coreCacheConfig, initReader, chainConfig, initMessage, ExecConfigDefaultTest(t).TxLookupLimit, 0, common.Address{})
blockchain, err := gethexec.WriteOrTestBlockChain(chainDb, coreCacheConfig, initReader, chainConfig, initMessage, ExecConfigDefaultTest(t).TxLookupLimit, 0)
Require(t, err)

AddValNodeIfNeeded(t, ctx, nodeConfig, true, "", valnodeConfig.Wasm.RootPath)
Expand Down
1 change: 0 additions & 1 deletion system_tests/state_fuzz_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,6 @@ func FuzzStateTransition(f *testing.F) {
initMessage,
0,
0,
common.Address{},
)
if err != nil {
panic(err)
Expand Down

0 comments on commit 07d7ec4

Please sign in to comment.