mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-19 10:22:23 +00:00
reinit vmenv in miner
This commit is contained in:
parent
710657305d
commit
998cfd8573
1 changed files with 4 additions and 7 deletions
|
|
@ -195,17 +195,14 @@ func (miner *Miner) prepareWork(genParams *generateParams) (*environment, error)
|
||||||
log.Error("Failed to create sealing context", "err", err)
|
log.Error("Failed to create sealing context", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
var (
|
|
||||||
context vm.BlockContext
|
|
||||||
vmenv *vm.EVM
|
|
||||||
)
|
|
||||||
if header.ParentBeaconRoot != nil {
|
if header.ParentBeaconRoot != nil {
|
||||||
context = core.NewEVMBlockContext(header, miner.chain, nil)
|
context := core.NewEVMBlockContext(header, miner.chain, nil)
|
||||||
vmenv = vm.NewEVM(context, vm.TxContext{}, env.state, miner.chainConfig, vm.Config{})
|
vmenv := vm.NewEVM(context, vm.TxContext{}, env.state, miner.chainConfig, vm.Config{})
|
||||||
core.ProcessBeaconBlockRoot(*header.ParentBeaconRoot, vmenv, env.state)
|
core.ProcessBeaconBlockRoot(*header.ParentBeaconRoot, vmenv, env.state)
|
||||||
}
|
}
|
||||||
if miner.chainConfig.IsPrague(header.Number, header.Time) {
|
if miner.chainConfig.IsPrague(header.Number, header.Time) {
|
||||||
// Prague is enabled after Cancun so vmenv should be initialized.
|
context := core.NewEVMBlockContext(header, miner.chain, nil)
|
||||||
|
vmenv := vm.NewEVM(context, vm.TxContext{}, env.state, miner.chainConfig, vm.Config{})
|
||||||
core.ProcessParentBlockHash(env.state, vmenv, header.ParentHash)
|
core.ProcessParentBlockHash(env.state, vmenv, header.ParentHash)
|
||||||
}
|
}
|
||||||
return env, nil
|
return env, nil
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue