From 1a75ec877713fb50021410a5d0474563299b16a0 Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Mon, 5 Nov 2018 13:49:08 +0800 Subject: core: validate roundHeight mapping in governance contract --- core/evm.go | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'core/evm.go') diff --git a/core/evm.go b/core/evm.go index 1fb47199b..d9ba7921c 100644 --- a/core/evm.go +++ b/core/evm.go @@ -18,6 +18,7 @@ package core import ( "math/big" + "sync" "github.com/dexon-foundation/dexon/common" "github.com/dexon-foundation/dexon/consensus" @@ -33,6 +34,9 @@ type ChainContext interface { // GetHeader returns the hash corresponding to their hash. GetHeader(common.Hash, uint64) *types.Header + + // GetRoundHeightMap returns the mapping between round and height. + GetRoundHeightMap() sync.Map } // NewEVMContext creates a new context for use in the EVM. @@ -54,6 +58,7 @@ func NewEVMContext(msg Message, header *types.Header, chain ChainContext, author Time: new(big.Int).Set(header.Time), Randomness: header.Randomness, Difficulty: new(big.Int).Set(header.Difficulty), + RoundHeight: chain.GetRoundHeightMap(), GasLimit: header.GasLimit, GasPrice: new(big.Int).Set(msg.GasPrice()), } -- cgit v1.2.3