diff options
Diffstat (limited to 'core/evm.go')
-rw-r--r-- | core/evm.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/core/evm.go b/core/evm.go index 87185abb8..9e4f00f7c 100644 --- a/core/evm.go +++ b/core/evm.go @@ -60,7 +60,7 @@ func NewEVMContext(msg Message, header *types.Header, chain ChainContext, author Transfer: Transfer, GetHash: GetHashFn(header, chain), StateAtNumber: StateAtNumberFn(chain), - GetRoundHeight: chain.GetRoundHeight, + GetRoundHeight: GetRoundHeightFn(chain), Origin: msg.From(), Coinbase: beneficiary, BlockNumber: new(big.Int).Set(header.Number), @@ -81,6 +81,15 @@ func StateAtNumberFn(chain ChainContext) func(n uint64) (*state.StateDB, error) } } +func GetRoundHeightFn(chain ChainContext) func(uint64) (uint64, bool) { + if chain != nil { + return chain.GetRoundHeight + } + return func(uint64) (uint64, bool) { + return 0, false + } +} + // GetHashFn returns a GetHashFunc which retrieves header hashes by number func GetHashFn(ref *types.Header, chain ChainContext) func(n uint64) common.Hash { var cache map[uint64]common.Hash |