@@ -19,6 +19,7 @@ use crate::network::address::{Address, AddrV2Message};
19
19
use crate :: network:: { message_network, message_bloom} ;
20
20
use crate :: network:: message_blockdata;
21
21
use crate :: network:: message_filter;
22
+ use crate :: network:: message_compact_blocks;
22
23
use crate :: consensus:: encode:: { CheckedData , Decodable , Encodable , VarInt } ;
23
24
use crate :: consensus:: { encode, serialize} ;
24
25
use crate :: util:: merkleblock:: MerkleBlock ;
@@ -181,6 +182,14 @@ pub enum NetworkMessage {
181
182
GetCFCheckpt ( message_filter:: GetCFCheckpt ) ,
182
183
/// BIP157 cfcheckpt
183
184
CFCheckpt ( message_filter:: CFCheckpt ) ,
185
+ /// BIP152 sendcmpct
186
+ SendCmpct ( message_compact_blocks:: SendCmpct ) ,
187
+ /// BIP152 cmpctblock
188
+ CmpctBlock ( message_compact_blocks:: CmpctBlock ) ,
189
+ /// BIP152 getblocktxn
190
+ GetBlockTxn ( message_compact_blocks:: GetBlockTxn ) ,
191
+ /// BIP152 blocktxn
192
+ BlockTxn ( message_compact_blocks:: BlockTxn ) ,
184
193
/// `alert`
185
194
Alert ( Vec < u8 > ) ,
186
195
/// `reject`
@@ -237,6 +246,10 @@ impl NetworkMessage {
237
246
NetworkMessage :: CFHeaders ( _) => "cfheaders" ,
238
247
NetworkMessage :: GetCFCheckpt ( _) => "getcfcheckpt" ,
239
248
NetworkMessage :: CFCheckpt ( _) => "cfcheckpt" ,
249
+ NetworkMessage :: SendCmpct ( _) => "sendcmpct" ,
250
+ NetworkMessage :: CmpctBlock ( _) => "cmpctblock" ,
251
+ NetworkMessage :: GetBlockTxn ( _) => "getblocktxn" ,
252
+ NetworkMessage :: BlockTxn ( _) => "blocktxn" ,
240
253
NetworkMessage :: Alert ( _) => "alert" ,
241
254
NetworkMessage :: Reject ( _) => "reject" ,
242
255
NetworkMessage :: FeeFilter ( _) => "feefilter" ,
@@ -314,6 +327,10 @@ impl Encodable for RawNetworkMessage {
314
327
NetworkMessage :: CFHeaders ( ref dat) => serialize ( dat) ,
315
328
NetworkMessage :: GetCFCheckpt ( ref dat) => serialize ( dat) ,
316
329
NetworkMessage :: CFCheckpt ( ref dat) => serialize ( dat) ,
330
+ NetworkMessage :: SendCmpct ( ref dat) => serialize ( dat) ,
331
+ NetworkMessage :: CmpctBlock ( ref dat) => serialize ( dat) ,
332
+ NetworkMessage :: GetBlockTxn ( ref dat) => serialize ( dat) ,
333
+ NetworkMessage :: BlockTxn ( ref dat) => serialize ( dat) ,
317
334
NetworkMessage :: Alert ( ref dat) => serialize ( dat) ,
318
335
NetworkMessage :: Reject ( ref dat) => serialize ( dat) ,
319
336
NetworkMessage :: FeeFilter ( ref data) => serialize ( data) ,
@@ -394,6 +411,10 @@ impl Decodable for RawNetworkMessage {
394
411
"reject" => NetworkMessage :: Reject ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
395
412
"alert" => NetworkMessage :: Alert ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
396
413
"feefilter" => NetworkMessage :: FeeFilter ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
414
+ "sendcmpct" => NetworkMessage :: SendCmpct ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
415
+ "cmpctblock" => NetworkMessage :: CmpctBlock ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
416
+ "getblocktxn" => NetworkMessage :: GetBlockTxn ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
417
+ "blocktxn" => NetworkMessage :: BlockTxn ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
397
418
"wtxidrelay" => NetworkMessage :: WtxidRelay ,
398
419
"addrv2" => NetworkMessage :: AddrV2 ( Decodable :: consensus_decode_from_finite_reader ( & mut mem_d) ?) ,
399
420
"sendaddrv2" => NetworkMessage :: SendAddrV2 ,
0 commit comments