chore: use rlp_length_for (#14144)

This commit is contained in:
Matthias Seitz
2025-02-02 19:42:53 +01:00
committed by GitHub
parent 0c3ccccba9
commit 2c58d451af
2 changed files with 7 additions and 10 deletions

View File

@ -114,10 +114,7 @@ pub trait Block:
}
/// Returns the rlp length of the block with the given header and body.
fn rlp_length(header: &Self::Header, body: &Self::Body) -> usize {
// TODO(mattsse): replace default impl with <https://github.com/alloy-rs/alloy/pull/1906>
header.length() + body.length()
}
fn rlp_length(header: &Self::Header, body: &Self::Body) -> usize;
/// Expensive operation that recovers transaction signer.
fn recover_signers(&self) -> Result<Vec<Address>, RecoveryError>
@ -200,6 +197,10 @@ where
fn split(self) -> (Self::Header, Self::Body) {
(self.header, self.body)
}
fn rlp_length(header: &Self::Header, body: &Self::Body) -> usize {
Self::rlp_length_for(header, body)
}
}
/// An extension trait for [`Block`]s that allows for mutable access to the block's internals.

View File

@ -2,7 +2,6 @@
use crate::transaction::TransactionCompat;
use alloy_consensus::{BlockHeader, Sealable};
use alloy_eips::eip4895::Withdrawals;
use alloy_primitives::U256;
use alloy_rpc_types_eth::{
Block, BlockTransactions, BlockTransactionsKind, Header, TransactionInfo,
@ -106,11 +105,8 @@ fn from_block_with_transactions<T, B: BlockTrait>(
body: B::Body,
transactions: BlockTransactions<T>,
) -> Block<T, Header<B::Header>> {
let withdrawals = header
.withdrawals_root()
.is_some()
.then(|| body.withdrawals().cloned().map(Withdrawals::into_inner).map(Into::into))
.flatten();
let withdrawals =
header.withdrawals_root().is_some().then(|| body.withdrawals().cloned()).flatten();
let uncles =
body.ommers().map(|o| o.iter().map(|h| h.hash_slow()).collect()).unwrap_or_default();