diff options
author | Jimmy Hu <jimmy.hu@dexon.org> | 2018-12-19 17:16:40 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-19 17:16:40 +0800 |
commit | c7b4045802450df361216d9e7da3ec318e67cc34 (patch) | |
tree | c4060817a54e5cf455e830b21e6a91b9fc11004f /integration_test | |
parent | 7bafefa5c70a26a28636123cb2b6598eea3ed380 (diff) | |
download | tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar.gz tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar.bz2 tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar.lz tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar.xz tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.tar.zst tangerine-consensus-c7b4045802450df361216d9e7da3ec318e67cc34.zip |
core: Add a `MPKReady` so `MasterPublicKey` cannot be added afterwards (#375)
* Add type DKGReady
* Add DKGReady to interface and state
* DKG will wait for MPK to be ready before running
* Modify test
* Check if self's MPK is registered
* Add test for delay add MPK
* Rename Ready to MPKReady
Diffstat (limited to 'integration_test')
-rw-r--r-- | integration_test/consensus_test.go | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/integration_test/consensus_test.go b/integration_test/consensus_test.go index 2680cd2..c1b812b 100644 --- a/integration_test/consensus_test.go +++ b/integration_test/consensus_test.go @@ -78,17 +78,8 @@ func (s *ConsensusTestSuite) setupNodes( gov.NotifyRoundHeight(0, 0) networkModule.AddNodeSetCache(utils.NewNodeSetCache(gov)) app := test.NewApp(gov.State()) - // Now is the consensus module. - con := core.NewConsensus( - dMoment, - app, - gov, - dbInst, - networkModule, - k, - &common.NullLogger{}, - ) - nodes[con.ID] = &node{con.ID, con, app, gov, dbInst, networkModule} + nID := types.NewNodeID(k.PublicKey()) + nodes[nID] = &node{nID, nil, app, gov, dbInst, networkModule} go func() { defer wg.Done() s.Require().NoError(networkModule.Setup(serverChannel)) @@ -98,6 +89,19 @@ func (s *ConsensusTestSuite) setupNodes( // Make sure transport layer is ready. s.Require().NoError(server.WaitForPeers(uint32(len(prvKeys)))) wg.Wait() + for _, k := range prvKeys { + node := nodes[types.NewNodeID(k.PublicKey())] + // Now is the consensus module. + node.con = core.NewConsensus( + dMoment, + node.app, + node.gov, + node.db, + node.network, + k, + &common.NullLogger{}, + ) + } return nodes } |