Unverified Commit 080b6ebe authored by Martin Holst Swende's avatar Martin Holst Swende Committed by GitHub

core/vm: evm fix panic (#23047)

* core/vm: evm fix panic

* core/vm/runtime: default to params.initialbasefee
parent ae315ef7
...@@ -35,6 +35,7 @@ func NewEnv(cfg *Config) *vm.EVM { ...@@ -35,6 +35,7 @@ func NewEnv(cfg *Config) *vm.EVM {
Time: cfg.Time, Time: cfg.Time,
Difficulty: cfg.Difficulty, Difficulty: cfg.Difficulty,
GasLimit: cfg.GasLimit, GasLimit: cfg.GasLimit,
BaseFee: cfg.BaseFee,
} }
return vm.NewEVM(blockContext, txContext, cfg.State, cfg.ChainConfig, cfg.EVMConfig) return vm.NewEVM(blockContext, txContext, cfg.State, cfg.ChainConfig, cfg.EVMConfig)
......
...@@ -43,6 +43,7 @@ type Config struct { ...@@ -43,6 +43,7 @@ type Config struct {
Value *big.Int Value *big.Int
Debug bool Debug bool
EVMConfig vm.Config EVMConfig vm.Config
BaseFee *big.Int
State *state.StateDB State *state.StateDB
GetHashFn func(n uint64) common.Hash GetHashFn func(n uint64) common.Hash
...@@ -66,7 +67,7 @@ func setDefaults(cfg *Config) { ...@@ -66,7 +67,7 @@ func setDefaults(cfg *Config) {
IstanbulBlock: new(big.Int), IstanbulBlock: new(big.Int),
MuirGlacierBlock: new(big.Int), MuirGlacierBlock: new(big.Int),
BerlinBlock: new(big.Int), BerlinBlock: new(big.Int),
LondonBlock: nil, LondonBlock: new(big.Int),
} }
} }
...@@ -93,6 +94,9 @@ func setDefaults(cfg *Config) { ...@@ -93,6 +94,9 @@ func setDefaults(cfg *Config) {
return common.BytesToHash(crypto.Keccak256([]byte(new(big.Int).SetUint64(n).String()))) 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. // Execute executes the code using the input as call data during the execution.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment