diff options
author | bojie <bojie@dexon.org> | 2019-03-20 23:03:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-03-20 23:03:36 +0800 |
commit | 672d245243b6b85040f96e6638628b86975e9a1b (patch) | |
tree | af60de97b08afdc4770a360509084581b05e7a34 /core/db/level-db_test.go | |
parent | c852eda00f781abafaab2b41d2c1a85fe9d3177f (diff) | |
download | dexon-consensus-672d245243b6b85040f96e6638628b86975e9a1b.tar.gz dexon-consensus-672d245243b6b85040f96e6638628b86975e9a1b.tar.zst dexon-consensus-672d245243b6b85040f96e6638628b86975e9a1b.zip |
core: fix DKGProtocolInfo RLP decode/encode bug (#505)
Diffstat (limited to 'core/db/level-db_test.go')
-rw-r--r-- | core/db/level-db_test.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/core/db/level-db_test.go b/core/db/level-db_test.go index c4f6b8a..d7f70bc 100644 --- a/core/db/level-db_test.go +++ b/core/db/level-db_test.go @@ -204,6 +204,42 @@ func (s *LevelDBTestSuite) TestDKGProtocol() { s.Require().NoError(dbInst.PutOrUpdateDKGProtocol(DKGProtocolInfo{})) } +func (s *LevelDBTestSuite) TestDKGProtocolInfoRLPEncodeDecode() { + protocol := DKGProtocolInfo{ + ID: types.NodeID{Hash: common.Hash{0x11}}, + Round: 5, + Threshold: 10, + IDMap: NodeIDToDKGID{ + types.NodeID{Hash: common.Hash{0x01}}: dkg.ID{}, + types.NodeID{Hash: common.Hash{0x02}}: dkg.ID{}, + }, + MpkMap: NodeIDToPubShares{ + types.NodeID{Hash: common.Hash{0x01}}: &dkg.PublicKeyShares{}, + types.NodeID{Hash: common.Hash{0x02}}: &dkg.PublicKeyShares{}, + }, + AntiComplaintReceived: NodeIDToNodeIDs{ + types.NodeID{Hash: common.Hash{0x01}}: map[types.NodeID]struct{}{ + types.NodeID{Hash: common.Hash{0x02}}: {}, + }, + types.NodeID{Hash: common.Hash{0x03}}: map[types.NodeID]struct{}{ + types.NodeID{Hash: common.Hash{0x04}}: {}, + }, + }, + PrvSharesReceived: NodeID{ + types.NodeID{Hash: common.Hash{0x01}}: struct{}{}, + }, + } + + b, err := rlp.EncodeToBytes(&protocol) + s.Require().NoError(err) + + newProtocol := DKGProtocolInfo{} + err = rlp.DecodeBytes(b, &newProtocol) + s.Require().NoError(err) + + s.Require().True(protocol.Equal(&newProtocol)) +} + func (s *LevelDBTestSuite) TestNodeIDToNodeIDsRLPEncodeDecode() { m := NodeIDToNodeIDs{ types.NodeID{Hash: common.Hash{0x01}}: map[types.NodeID]struct{}{ |