fix: only disable HasLegacyNode call for verkle-at-genesis testnets (#350)

This commit is contained in:
Guillaume Ballet 2024-01-29 21:54:57 +01:00
parent eb31ae3f9e
commit c1e0ff10ec

View file

@ -341,23 +341,23 @@ func SetupGenesisBlockWithOverride(db ethdb.Database, triedb *trie.Database, gen
}
// We have the genesis block in database(perhaps in ancient database)
// but the corresponding state is missing.
// header := rawdb.ReadHeader(db, stored, 0)
// if header.Root != types.EmptyRootHash && !rawdb.HasLegacyTrieNode(db, header.Root) {
// if genesis == nil {
// genesis = DefaultGenesisBlock()
// }
// // Ensure the stored genesis matches with the given one.
// hash := genesis.ToBlock().Hash()
// if hash != stored {
// return genesis.Config, hash, &GenesisMismatchError{stored, hash}
// }
// block, err := genesis.Commit(db, triedb)
// if err != nil {
// return genesis.Config, hash, err
// }
// applyOverrides(genesis.Config)
// return genesis.Config, block.Hash(), nil
// }
header := rawdb.ReadHeader(db, stored, 0)
if !genesis.Config.IsPrague(big.NewInt(0), genesis.Timestamp) && header.Root != types.EmptyRootHash && !rawdb.HasLegacyTrieNode(db, header.Root) {
if genesis == nil {
genesis = DefaultGenesisBlock()
}
// Ensure the stored genesis matches with the given one.
hash := genesis.ToBlock().Hash()
if hash != stored {
return genesis.Config, hash, &GenesisMismatchError{stored, hash}
}
block, err := genesis.Commit(db, triedb)
if err != nil {
return genesis.Config, hash, err
}
applyOverrides(genesis.Config)
return genesis.Config, block.Hash(), nil
}
// Check whether the genesis block is already written.
if genesis != nil {
applyOverrides(genesis.Config)