From 9f73b1ede0d9d5117f30872ca2942906424fbf78 Mon Sep 17 00:00:00 2001 From: sprites0 <199826320+sprites0@users.noreply.github.com> Date: Mon, 6 Oct 2025 06:43:17 +0000 Subject: [PATCH] refactor: Move BlockBody from transaction to body --- src/node/primitives/body.rs | 16 ++++++++++------ src/node/primitives/mod.rs | 4 ++-- src/node/primitives/transaction.rs | 4 +--- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/node/primitives/body.rs b/src/node/primitives/body.rs index cdf7e196c..abe696282 100644 --- a/src/node/primitives/body.rs +++ b/src/node/primitives/body.rs @@ -3,8 +3,8 @@ use alloy_primitives::Address; use reth_primitives_traits::{BlockBody as BlockBodyTrait, InMemorySize}; use serde::{Deserialize, Serialize}; -use crate::node::primitives::{BlockBody, TransactionSigned}; -pub use crate::node::types::{ReadPrecompileCall, ReadPrecompileCalls}; +use crate::node::types::{ReadPrecompileCall, ReadPrecompileCalls}; +use crate::{HlHeader, node::primitives::TransactionSigned}; /// Block body for HL. It is equivalent to Ethereum [`BlockBody`] but additionally stores sidecars /// for blob transactions. @@ -29,13 +29,17 @@ pub struct HlBlockBody { pub highest_precompile_address: Option
, } +pub type BlockBody = alloy_consensus::BlockBody; + impl InMemorySize for HlBlockBody { fn size(&self) -> usize { - self.inner.size() + - self.sidecars + self.inner.size() + + self + .sidecars .as_ref() - .map_or(0, |s| s.capacity() * core::mem::size_of::()) + - self.read_precompile_calls + .map_or(0, |s| s.capacity() * core::mem::size_of::()) + + self + .read_precompile_calls .as_ref() .map_or(0, |s| s.0.capacity() * core::mem::size_of::()) } diff --git a/src/node/primitives/mod.rs b/src/node/primitives/mod.rs index c4622e617..0ad32b7c7 100644 --- a/src/node/primitives/mod.rs +++ b/src/node/primitives/mod.rs @@ -2,12 +2,12 @@ use reth_ethereum_primitives::Receipt; use reth_primitives::NodePrimitives; pub mod transaction; -pub use transaction::{BlockBody, TransactionSigned}; +pub use transaction::TransactionSigned; pub mod block; pub use block::HlBlock; pub mod body; -pub use body::HlBlockBody; +pub use body::{BlockBody, HlBlockBody}; pub mod header; pub use header::HlHeader; diff --git a/src/node/primitives/transaction.rs b/src/node/primitives/transaction.rs index 4e4f1bcb6..30bf1ffc8 100644 --- a/src/node/primitives/transaction.rs +++ b/src/node/primitives/transaction.rs @@ -2,7 +2,7 @@ //! except that it supports pseudo signer for system transactions. use std::convert::Infallible; -use crate::{evm::transaction::HlTxEnv, HlHeader}; +use crate::evm::transaction::HlTxEnv; use alloy_consensus::{ SignableTransaction, Signed, Transaction as TransactionTrait, TransactionEnvelope, TxEip1559, TxEip2930, TxEip4844, TxEip7702, TxLegacy, TxType, TypedTransaction, crypto::RecoveryError, @@ -181,8 +181,6 @@ impl SerdeBincodeCompat for TransactionSigned { } } -pub type BlockBody = alloy_consensus::BlockBody; - impl TryFrom for PooledTransactionVariant { type Error = >::Error;