diff options
author | Wei-Ning Huang <w@dexon.org> | 2018-10-22 19:53:24 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:50 +0800 |
commit | 77882898913a3e2ed0a0ce59090a4e62da39c58f (patch) | |
tree | ad50f11792dde7faa8f138c452879eb0703196fb | |
parent | defdcafc514226b73050467ac42c787ef3f7cfea (diff) | |
download | dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar.gz dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar.bz2 dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar.lz dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar.xz dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.tar.zst dexon-77882898913a3e2ed0a0ce59090a4e62da39c58f.zip |
dex: fix round switching and initialize dMoment correctly
-rw-r--r-- | core/vm/governance.go | 3 | ||||
-rw-r--r-- | dex/backend.go | 9 | ||||
-rw-r--r-- | test/genesis.json | 4 |
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 } |