feat: add SealedBlock in reth-primitives-traits (#13735)

This commit is contained in:
Matthias Seitz
2025-01-15 02:12:43 +01:00
committed by GitHub
parent 1267718c7e
commit 83b2fb9b41
171 changed files with 3231 additions and 2866 deletions

View File

@ -16,9 +16,7 @@ use reth_db::{init_db, mdbx::DatabaseArguments, DatabaseEnv};
use reth_db_api::{database::Database, models::StoredBlockBodyIndices};
use reth_errors::{RethError, RethResult};
use reth_node_types::{BlockTy, HeaderTy, NodeTypesWithDB, ReceiptTy, TxTy};
use reth_primitives::{
BlockWithSenders, SealedBlockFor, SealedBlockWithSenders, SealedHeader, StaticFileSegment,
};
use reth_primitives::{RecoveredBlock, SealedBlock, SealedHeader, StaticFileSegment};
use reth_prune_types::{PruneCheckpoint, PruneModes, PruneSegment};
use reth_stages_types::{StageCheckpoint, StageId};
use reth_storage_api::{
@ -382,19 +380,17 @@ impl<N: ProviderNodeTypes> BlockReader for ProviderFactory<N> {
self.provider()?.block(id)
}
fn pending_block(&self) -> ProviderResult<Option<SealedBlockFor<Self::Block>>> {
fn pending_block(&self) -> ProviderResult<Option<SealedBlock<Self::Block>>> {
self.provider()?.pending_block()
}
fn pending_block_with_senders(
&self,
) -> ProviderResult<Option<SealedBlockWithSenders<Self::Block>>> {
fn pending_block_with_senders(&self) -> ProviderResult<Option<RecoveredBlock<Self::Block>>> {
self.provider()?.pending_block_with_senders()
}
fn pending_block_and_receipts(
&self,
) -> ProviderResult<Option<(SealedBlockFor<Self::Block>, Vec<Self::Receipt>)>> {
) -> ProviderResult<Option<(SealedBlock<Self::Block>, Vec<Self::Receipt>)>> {
self.provider()?.pending_block_and_receipts()
}
@ -402,7 +398,7 @@ impl<N: ProviderNodeTypes> BlockReader for ProviderFactory<N> {
&self,
id: BlockHashOrNumber,
transaction_kind: TransactionVariant,
) -> ProviderResult<Option<BlockWithSenders<Self::Block>>> {
) -> ProviderResult<Option<RecoveredBlock<Self::Block>>> {
self.provider()?.block_with_senders(id, transaction_kind)
}
@ -410,7 +406,7 @@ impl<N: ProviderNodeTypes> BlockReader for ProviderFactory<N> {
&self,
id: BlockHashOrNumber,
transaction_kind: TransactionVariant,
) -> ProviderResult<Option<SealedBlockWithSenders<Self::Block>>> {
) -> ProviderResult<Option<RecoveredBlock<Self::Block>>> {
self.provider()?.sealed_block_with_senders(id, transaction_kind)
}
@ -421,14 +417,14 @@ impl<N: ProviderNodeTypes> BlockReader for ProviderFactory<N> {
fn block_with_senders_range(
&self,
range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<BlockWithSenders<Self::Block>>> {
) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>> {
self.provider()?.block_with_senders_range(range)
}
fn sealed_block_with_senders_range(
&self,
range: RangeInclusive<BlockNumber>,
) -> ProviderResult<Vec<SealedBlockWithSenders<Self::Block>>> {
) -> ProviderResult<Vec<RecoveredBlock<Self::Block>>> {
self.provider()?.sealed_block_with_senders_range(range)
}
}
@ -703,10 +699,8 @@ mod tests {
{
let provider = factory.provider_rw().unwrap();
assert_matches!(
provider.insert_block(
block.clone().try_seal_with_senders().unwrap(),
StorageLocation::Database
),
provider
.insert_block(block.clone().try_recover().unwrap(), StorageLocation::Database),
Ok(_)
);
assert_matches!(
@ -727,10 +721,8 @@ mod tests {
};
let provider = factory.with_prune_modes(prune_modes).provider_rw().unwrap();
assert_matches!(
provider.insert_block(
block.clone().try_seal_with_senders().unwrap(),
StorageLocation::Database
),
provider
.insert_block(block.clone().try_recover().unwrap(), StorageLocation::Database),
Ok(_)
);
assert_matches!(provider.transaction_sender(0), Ok(None));
@ -751,10 +743,8 @@ mod tests {
let provider = factory.provider_rw().unwrap();
assert_matches!(
provider.insert_block(
block.clone().try_seal_with_senders().unwrap(),
StorageLocation::Database
),
provider
.insert_block(block.clone().try_recover().unwrap(), StorageLocation::Database),
Ok(_)
);