From 933317c62a9411e71a74664d71dea964ad72dd13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A5vard=20Anda=20Estensen?= Date: Wed, 3 Apr 2024 12:58:59 +0200 Subject: [PATCH] perf: replace BytesMut with alloy_rlp::encode (#7432) --- crates/primitives/src/transaction/mod.rs | 7 ++----- docs/crates/eth-wire.md | 5 +---- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/crates/primitives/src/transaction/mod.rs b/crates/primitives/src/transaction/mod.rs index 426607583..817271ae3 100644 --- a/crates/primitives/src/transaction/mod.rs +++ b/crates/primitives/src/transaction/mod.rs @@ -1702,7 +1702,6 @@ mod tests { }; use alloy_primitives::{address, b256, bytes}; use alloy_rlp::{Decodable, Encodable, Error as RlpError}; - use bytes::BytesMut; use reth_codecs::Compact; use secp256k1::{KeyPair, Secp256k1}; use std::str::FromStr; @@ -1963,10 +1962,8 @@ mod tests { let tx = TransactionSigned::decode(&mut &input[..]).unwrap(); let recovered = tx.into_ecrecovered().unwrap(); - let mut encoded = BytesMut::new(); - recovered.encode(&mut encoded); - - let decoded = TransactionSignedEcRecovered::decode(&mut &encoded[..]).unwrap(); + let decoded = + TransactionSignedEcRecovered::decode(&mut &alloy_rlp::encode(&recovered)[..]).unwrap(); assert_eq!(recovered, decoded) } diff --git a/docs/crates/eth-wire.md b/docs/crates/eth-wire.md index 41bc065f9..534090eb5 100644 --- a/docs/crates/eth-wire.md +++ b/docs/crates/eth-wire.md @@ -352,10 +352,7 @@ pub struct UnauthedP2PStream { impl UnauthedP2PStream { // ... pub async fn handshake(mut self, hello: HelloMessage) -> Result<(P2PStream, HelloMessage), Error> { - let mut raw_hello_bytes = BytesMut::new(); - P2PMessage::Hello(hello.clone()).encode(&mut raw_hello_bytes); - - self.inner.send(raw_hello_bytes.into()).await?; + self.inner.send(alloy_rlp::encode(P2PMessage::Hello(hello.clone())).into()).await?; let first_message_bytes = tokio::time::timeout(HANDSHAKE_TIMEOUT, self.inner.next()).await; let their_hello = match P2PMessage::decode(&mut &first_message_bytes[..]) {