diff --git a/src/network/outbound.rs b/src/network/outbound.rs index 5b19ce37..48b47eaf 100644 --- a/src/network/outbound.rs +++ b/src/network/outbound.rs @@ -8,8 +8,7 @@ use bitcoin::{ consensus::serialize, p2p::{ message::{NetworkMessage, RawNetworkMessage}, - message_blockdata::{GetHeadersMessage, Inventory}, - message_filter::{GetCFHeaders, GetCFilters}, + message_blockdata::Inventory, message_network::VersionMessage, Address, ServiceFlags, }, @@ -50,37 +49,12 @@ impl MessageGenerator { self.serialize(msg) } - pub(in crate::network) fn headers(&mut self, msg: GetHeadersMessage) -> Vec { - let msg = NetworkMessage::GetHeaders(msg); - self.serialize(msg) - } - - pub(in crate::network) fn cf_headers(&mut self, message: GetCFHeaders) -> Vec { - let msg = NetworkMessage::GetCFHeaders(message); - self.serialize(msg) - } - - pub(in crate::network) fn filters(&mut self, message: GetCFilters) -> Vec { - let msg = NetworkMessage::GetCFilters(message); - self.serialize(msg) - } - pub(in crate::network) fn block(&mut self, hash: BlockHash) -> Vec { let inv = Inventory::Block(hash); let msg = NetworkMessage::GetData(vec![inv]); self.serialize(msg) } - pub(in crate::network) fn ping(&mut self, nonce: u64) -> Vec { - let msg = NetworkMessage::Ping(nonce); - self.serialize(msg) - } - - pub(in crate::network) fn pong(&mut self, nonce: u64) -> Vec { - let msg = NetworkMessage::Pong(nonce); - self.serialize(msg) - } - pub(in crate::network) fn announce_transactions(&mut self, wtxids: Vec) -> Vec { let msg = NetworkMessage::Inv(wtxids.into_iter().map(Inventory::WTx).collect()); self.serialize(msg) diff --git a/src/network/peer.rs b/src/network/peer.rs index d1694003..b25f017a 100644 --- a/src/network/peer.rs +++ b/src/network/peer.rs @@ -116,7 +116,7 @@ impl Peer { return Ok(()); } if let Some(nonce) = self.message_state.ping_state.send_ping() { - let msg = outbound_messages.ping(nonce); + let msg = outbound_messages.serialize(NetworkMessage::Ping(nonce)); self.write_bytes(&mut writer, msg).await?; let msg_id = TimeSensitiveId::PING; self.message_state @@ -288,7 +288,7 @@ impl Peer { Ok(()) } ReaderMessage::Ping(nonce) => { - let message = message_generator.pong(nonce); + let message = message_generator.serialize(NetworkMessage::Pong(nonce)); self.write_bytes(writer, message).await?; Ok(()) } @@ -352,18 +352,18 @@ impl Peer { self.write_bytes(writer, message).await?; } MainThreadMessage::GetHeaders(config) => { - let message = message_generator.headers(config); + let message = message_generator.serialize(NetworkMessage::GetHeaders(config)); self.write_bytes(writer, message).await?; } MainThreadMessage::GetFilterHeaders(config) => { - let message = message_generator.cf_headers(config); + let message = message_generator.serialize(NetworkMessage::GetCFHeaders(config)); self.write_bytes(writer, message).await?; } MainThreadMessage::GetFilters(config) => { self.message_state .filter_rate .batch_requested(config.stop_hash); - let message = message_generator.filters(config); + let message = message_generator.serialize(NetworkMessage::GetCFilters(config)); self.write_bytes(writer, message).await?; } MainThreadMessage::GetBlock(message) => {