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>2019-04-09 13:49:56 +0800
commit7fa90ef85676716344cc0074cdd054ed431f635a (patch)
tree10ceb7593a465b0b1abe2b26b7a75e304657563d /dex
parent117e1ec3454df4705b30b53c2a071f43abcb93e8 (diff)
downloaddexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar.gz
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar.bz2
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar.lz
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar.xz
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.tar.zst
dexon-7fa90ef85676716344cc0074cdd054ed431f635a.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 {