From df106e64df438fc579ff43201c8d0b194c2cdd74 Mon Sep 17 00:00:00 2001 From: marcello33 Date: Tue, 13 Jun 2023 15:11:08 +0200 Subject: [PATCH] dev: fix: CreateConsensusEngine for new ethereum objects --- core/vm/interpreter.go | 2 +- eth/backend.go | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/core/vm/interpreter.go b/core/vm/interpreter.go index b87ccbd28d..6810602d0f 100644 --- a/core/vm/interpreter.go +++ b/core/vm/interpreter.go @@ -78,7 +78,7 @@ type EVMInterpreter struct { returnData []byte // Last CALL's return data for subsequent reuse } -// TxCacher is an wrapper of lru.cache for caching transactions that get interrupted +// TxCache is a wrapper of lru.cache for caching transactions that get interrupted type TxCache struct { Cache *lru.Cache } diff --git a/eth/backend.go b/eth/backend.go index ae4e89eb04..6014f8f79e 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -21,6 +21,7 @@ import ( "context" "errors" "fmt" + "github.com/ethereum/go-ethereum/trie" "math/big" "runtime" "sync" @@ -181,9 +182,19 @@ func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) { } ethereum.APIBackend.gpo = gasprice.NewOracle(ethereum.APIBackend, gpoParams) + // Override the chain config with provided settings. + var overrides core.ChainOverrides + if config.OverrideShanghai != nil { + overrides.OverrideShanghai = config.OverrideShanghai + } + + chainConfig, _, genesisErr := core.SetupGenesisBlockWithOverride(chainDb, trie.NewDatabase(chainDb), config.Genesis, &overrides) + if _, isCompat := genesisErr.(*params.ConfigCompatError); genesisErr != nil && !isCompat { + return nil, genesisErr + } + blockChainAPI := ethapi.NewBlockChainAPI(ethereum.APIBackend) - // TODO marcello fix configs (using nil atm) - engine := ethconfig.CreateConsensusEngine(stack, nil, nil, ðashConfig, cliqueConfig, config.Miner.Notify, config.Miner.Noverify, chainDb, nil) + engine := ethconfig.CreateConsensusEngine(stack, chainConfig, config, ðashConfig, cliqueConfig, config.Miner.Notify, config.Miner.Noverify, chainDb, blockChainAPI) ethereum.engine = engine // END: Bor changes @@ -223,11 +234,6 @@ func New(stack *node.Node, config *ethconfig.Config) (*Ethereum, error) { TriesInMemory: config.TriesInMemory, } ) - // Override the chain config with provided settings. - var overrides core.ChainOverrides - if config.OverrideShanghai != nil { - overrides.OverrideShanghai = config.OverrideShanghai - } checker := whitelist.NewService(10)