|
|
@ -21,7 +21,6 @@ import ( |
|
|
|
"encoding/json" |
|
|
|
"encoding/json" |
|
|
|
"errors" |
|
|
|
"errors" |
|
|
|
"fmt" |
|
|
|
"fmt" |
|
|
|
"maps" |
|
|
|
|
|
|
|
"math/big" |
|
|
|
"math/big" |
|
|
|
"time" |
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
@ -186,7 +185,7 @@ func (sim *simulator) processBlock(ctx context.Context, block *simBlock, header, |
|
|
|
Tracer: tracer.Hooks(), |
|
|
|
Tracer: tracer.Hooks(), |
|
|
|
} |
|
|
|
} |
|
|
|
) |
|
|
|
) |
|
|
|
var tracingStateDB = vm.StateDB(sim.state) |
|
|
|
tracingStateDB := vm.StateDB(sim.state) |
|
|
|
if hooks := tracer.Hooks(); hooks != nil { |
|
|
|
if hooks := tracer.Hooks(); hooks != nil { |
|
|
|
tracingStateDB = state.NewHookedState(sim.state, hooks) |
|
|
|
tracingStateDB = state.NewHookedState(sim.state, hooks) |
|
|
|
} |
|
|
|
} |
|
|
@ -289,7 +288,7 @@ func (sim *simulator) activePrecompiles(base *types.Header) vm.PrecompiledContra |
|
|
|
isMerge = (base.Difficulty.Sign() == 0) |
|
|
|
isMerge = (base.Difficulty.Sign() == 0) |
|
|
|
rules = sim.chainConfig.Rules(base.Number, isMerge, base.Time) |
|
|
|
rules = sim.chainConfig.Rules(base.Number, isMerge, base.Time) |
|
|
|
) |
|
|
|
) |
|
|
|
return maps.Clone(vm.ActivePrecompiledContracts(rules)) |
|
|
|
return vm.ActivePrecompiledContracts(rules) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// sanitizeChain checks the chain integrity. Specifically it checks that
|
|
|
|
// sanitizeChain checks the chain integrity. Specifically it checks that
|
|
|
|