aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-10-22 19:53:24 +0800
committerWei-Ning Huang <w@dexon.org>2019-03-12 12:19:09 +0800
commitd6e47bac7bf55736ff6bad87a77c1452891aa6e3 (patch)
tree90663e63153f0e606fbee1f90622c12c9f96d847
parente5957ec5894b4e13c555460d7b5e10dc5aad0295 (diff)
downloaddexon-d6e47bac7bf55736ff6bad87a77c1452891aa6e3.tar.gz
dexon-d6e47bac7bf55736ff6bad87a77c1452891aa6e3.tar.zst
dexon-d6e47bac7bf55736ff6bad87a77c1452891aa6e3.zip
dex: fix round switching and initialize dMoment correctly
-rw-r--r--core/vm/governance.go3
-rw-r--r--dex/backend.go9
-rw-r--r--test/genesis.json4
3 files changed, 12 insertions, 4 deletions
diff --git a/core/vm/governance.go b/core/vm/governance.go
index 5e6cc0b4d..d30987b11 100644
--- a/core/vm/governance.go
+++ b/core/vm/governance.go
@@ -1413,7 +1413,8 @@ func (g *GovernanceContract) addDKGComplaint(round *big.Int, comp []byte) ([]byt
}
func (g *GovernanceContract) addDKGMasterPublicKey(round *big.Int, mpk []byte) ([]byte, error) {
- if round.Cmp(g.state.Round()) != 0 {
+ // Can only add DKG master public key of current and next round.
+ if round.Cmp(new(big.Int).Add(g.state.Round(), big.NewInt(1))) > 0 {
g.penalize()
return nil, errExecutionReverted
}
diff --git a/dex/backend.go b/dex/backend.go
index 9c931ee2c..2ad7c16be 100644
--- a/dex/backend.go
+++ b/dex/backend.go
@@ -174,7 +174,14 @@ func New(ctx *node.ServiceContext, config *Config) (*Dexon, error) {
dex.network = NewDexconNetwork(pm)
privKey := coreEcdsa.NewPrivateKeyFromECDSA(config.PrivateKey)
- dMoment := time.Date(2018, 10, 15, 6, 0, 0, 0, time.UTC)
+
+ // TODO(w): set this correctly in config.
+ now := time.Now()
+ dMoment := time.Date(
+ now.Year(), now.Month(), now.Day(),
+ now.Hour(), now.Minute(), (now.Second()/5+1)*5,
+ 0, now.Location())
+
dex.consensus = dexCore.NewConsensus(dMoment,
dex.app, dex.governance, db, dex.network, privKey, log.Root())
return dex, nil
diff --git a/test/genesis.json b/test/genesis.json
index b5bca5ac7..131977cd3 100644
--- a/test/genesis.json
+++ b/test/genesis.json
@@ -12,12 +12,12 @@
"blockReward": "1000000000000000000",
"numChains": 4,
"lambdaBA": 250,
- "lambdaDKG": 2500,
+ "lambdaDKG": 4000,
"k": 0,
"phiRatio": 667000,
"notarySetSize": 4,
"dkgSetSize": 4,
- "roundInterval": 99999999999,
+ "roundInterval": 180000,
"minBlockInterval": 900,
"maxBlockInterval": 1100
}