aboutsummaryrefslogtreecommitdiffstats
path: root/dex
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-11-05 13:49:08 +0800
committerWei-Ning Huang <w@dexon.org>2018-12-19 20:54:27 +0800
commitef995bce1bb3539b4ebea0ec12127c578e628fe6 (patch)
tree19c2fa492c3148d2cde4cdee1e68339aee90fc59 /dex
parentbd1c1224f8431db86db62506fee6e2bf2b8aa455 (diff)
downloaddexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar.gz
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar.bz2
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar.lz
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar.xz
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.tar.zst
dexon-ef995bce1bb3539b4ebea0ec12127c578e628fe6.zip
core: validate roundHeight mapping in governance contract
Diffstat (limited to 'dex')
-rw-r--r--dex/governance.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/dex/governance.go b/dex/governance.go
index 766920a62..d9a1fa467 100644
--- a/dex/governance.go
+++ b/dex/governance.go
@@ -24,6 +24,8 @@ import (
"github.com/dexon-foundation/dexon/rpc"
)
+const configActivationOffset = 2
+
type DexconGovernance struct {
b *DexAPIBackend
chainConfig *params.ChainConfig
@@ -66,6 +68,11 @@ func (d *DexconGovernance) getGovState() *vm.GovernanceStateHelper {
}
func (d *DexconGovernance) getGovStateAtRound(round uint64) *vm.GovernanceStateHelper {
+ if round < configActivationOffset {
+ round = 0
+ } else {
+ round -= configActivationOffset
+ }
ctx := context.Background()
blockHeight, err := d.getRoundHeight(ctx, round)
if err != nil {