core/vm: evm fix panic (#23047)

* core/vm: evm fix panic

* core/vm/runtime: default to params.initialbasefee
pull/23057/head
Martin Holst Swende 3 years ago committed by GitHub
parent ae315ef7a1
commit 080b6ebe91
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      core/vm/runtime/env.go
  2. 6
      core/vm/runtime/runtime.go

@ -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 {
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) {
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) {
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.

Loading…
Cancel
Save