Skip to content

Commit 145ceaa

Browse files
committed
refactor: use macros for encoding/decoding traits
1 parent 1cc06cc commit 145ceaa

File tree

1 file changed

+1
-51
lines changed

1 file changed

+1
-51
lines changed

dash/src/network/message_sml.rs

Lines changed: 1 addition & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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"))]
13384
pub struct DeletedQuorum {
134-
// TODO: Make it enum
13585
pub llmq_type: LLMQType,
13686
pub quorum_hash: QuorumHash,
13787
}

0 commit comments

Comments
 (0)