diff --git a/core/vm/runtime/env.go b/core/vm/runtime/env.go index 6c4c72eeaca5..dcb097428454 100644 --- a/core/vm/runtime/env.go +++ b/core/vm/runtime/env.go @@ -35,6 +35,7 @@ func NewEnv(cfg *Config) *vm.EVM { Time: cfg.Time, Difficulty: cfg.Difficulty, GasLimit: cfg.GasLimit, + BaseFee: cfg.BaseFee, } return vm.NewEVM(blockContext, txContext, cfg.State, cfg.ChainConfig, cfg.EVMConfig) diff --git a/core/vm/runtime/runtime.go b/core/vm/runtime/runtime.go index be612fb0ef8e..103ce3e175ff 100644 --- a/core/vm/runtime/runtime.go +++ b/core/vm/runtime/runtime.go @@ -43,6 +43,7 @@ type Config struct { Value *big.Int Debug bool EVMConfig vm.Config + BaseFee *big.Int State *state.StateDB GetHashFn func(n uint64) common.Hash @@ -66,7 +67,7 @@ func setDefaults(cfg *Config) { IstanbulBlock: new(big.Int), MuirGlacierBlock: new(big.Int), BerlinBlock: new(big.Int), - LondonBlock: nil, + LondonBlock: new(big.Int), } } @@ -93,6 +94,9 @@ func setDefaults(cfg *Config) { return common.BytesToHash(crypto.Keccak256([]byte(new(big.Int).SetUint64(n).String()))) } } + if cfg.BaseFee == nil { + cfg.BaseFee = big.NewInt(params.InitialBaseFee) + } } // Execute executes the code using the input as call data during the execution.