aboutsummaryrefslogtreecommitdiffstats
path: root/integration_test
diff options
context:
space:
mode:
authorJimmy Hu <jimmy.hu@dexon.org>2018-12-19 17:16:40 +0800
committerGitHub <noreply@github.com>2018-12-19 17:16:40 +0800
commitc7b4045802450df361216d9e7da3ec318e67cc34 (patch)
treec4060817a54e5cf455e830b21e6a91b9fc11004f /integration_test
parent7bafefa5c70a26a28636123cb2b6598eea3ed380 (diff)
downloadtangerine-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.go26
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
}