@@ -64,56 +64,7 @@ pub struct MnListDiff {
6464 pub quorums_chainlock_signatures : Vec < QuorumCLSigObject > ,
6565}
6666
67- impl Encodable for MnListDiff {
68- fn consensus_encode < W : io:: Write + ?Sized > ( & self , w : & mut W ) -> Result < usize , io:: Error > {
69- let mut len = 0 ;
70- len += self . version . consensus_encode ( w) ?;
71- len += self . base_block_hash . consensus_encode ( w) ?;
72- len += self . block_hash . consensus_encode ( w) ?;
73- len += self . total_transactions . consensus_encode ( w) ?;
74- len += self . merkle_hashes . consensus_encode ( w) ?;
75- len += self . merkle_flags . consensus_encode ( w) ?;
76- len += self . coinbase_tx . consensus_encode ( w) ?;
77- len += self . deleted_masternodes . consensus_encode ( w) ?;
78- len += self . new_masternodes . consensus_encode ( w) ?;
79- len += self . deleted_quorums . consensus_encode ( w) ?;
80- len += self . new_quorums . consensus_encode ( w) ?;
81- len += self . quorums_chainlock_signatures . consensus_encode ( w) ?;
82- Ok ( len)
83- }
84- }
85-
86- impl Decodable for MnListDiff {
87- fn consensus_decode < R : io:: Read + ?Sized > ( r : & mut R ) -> Result < Self , encode:: Error > {
88- let version = u16:: consensus_decode ( r) ?;
89- let base_block_hash = BlockHash :: consensus_decode ( r) ?;
90- let block_hash = BlockHash :: consensus_decode ( r) ?;
91- let total_transactions = u32:: consensus_decode ( r) ?;
92- let merkle_hashes = Vec :: < MerkleRootMasternodeList > :: consensus_decode ( r) ?;
93- let merkle_flags = Vec :: < u8 > :: consensus_decode ( r) ?;
94- let coinbase_tx = Transaction :: consensus_decode ( r) ?;
95- let deleted_masternodes = Vec :: < ProTxHash > :: consensus_decode ( r) ?;
96- let new_masternodes = Vec :: < MasternodeListEntry > :: consensus_decode ( r) ?;
97- let deleted_quorums = Vec :: < DeletedQuorum > :: consensus_decode ( r) ?;
98- let new_quorums = Vec :: < QuorumEntry > :: consensus_decode ( r) ?;
99- let quorums_chainlock_signatures = Vec :: < QuorumCLSigObject > :: consensus_decode ( r) ?;
100-
101- Ok ( MnListDiff {
102- version,
103- base_block_hash,
104- block_hash,
105- total_transactions,
106- merkle_hashes,
107- merkle_flags,
108- coinbase_tx,
109- deleted_masternodes,
110- new_masternodes,
111- deleted_quorums,
112- new_quorums,
113- quorums_chainlock_signatures,
114- } )
115- }
116- }
67+ impl_consensus_encoding ! ( MnListDiff , version, base_block_hash, block_hash, total_transactions, merkle_hashes, merkle_flags, coinbase_tx, deleted_masternodes, new_masternodes, deleted_quorums, new_quorums, quorums_chainlock_signatures) ;
11768
11869#[ derive( PartialEq , Eq , Clone , Debug ) ]
11970#[ cfg_attr( feature = "bincode" , derive( Encode , Decode ) ) ]
@@ -131,7 +82,6 @@ impl_consensus_encoding!(QuorumCLSigObject, signature, index_set);
13182#[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
13283#[ cfg_attr( feature = "serde" , serde( crate = "actual_serde" ) ) ]
13384pub struct DeletedQuorum {
134- // TODO: Make it enum
13585 pub llmq_type : LLMQType ,
13686 pub quorum_hash : QuorumHash ,
13787}
0 commit comments