mirror of
https://github.com/paradigmxyz/reth.git
synced 2026-02-19 03:04:27 -05:00
fix(stages): use static files for unwind in SenderRecovery stage (#20972)
Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com>
This commit is contained in:
@@ -7,7 +7,7 @@ use reth_db_api::{
|
||||
table::Value,
|
||||
tables,
|
||||
transaction::{DbTx, DbTxMut},
|
||||
DbTxUnwindExt, RawValue,
|
||||
RawValue,
|
||||
};
|
||||
use reth_primitives_traits::{GotExpected, NodePrimitives, SignedTransaction};
|
||||
use reth_provider::{
|
||||
@@ -158,12 +158,13 @@ where
|
||||
) -> Result<UnwindOutput, StageError> {
|
||||
let (_, unwind_to, _) = input.unwind_block_range_with_threshold(self.commit_threshold);
|
||||
|
||||
// Lookup latest tx id that we should unwind to
|
||||
let latest_tx_id = provider
|
||||
// Lookup the next tx id after unwind_to block (first tx to remove)
|
||||
let unwind_tx_from = provider
|
||||
.block_body_indices(unwind_to)?
|
||||
.ok_or(ProviderError::BlockBodyIndicesNotFound(unwind_to))?
|
||||
.last_tx_num();
|
||||
provider.tx_ref().unwind_table_by_num::<tables::TransactionSenders>(latest_tx_id)?;
|
||||
.next_tx_num();
|
||||
|
||||
EitherWriter::new_senders(provider, unwind_to)?.prune_senders(unwind_tx_from, unwind_to)?;
|
||||
|
||||
Ok(UnwindOutput {
|
||||
checkpoint: StageCheckpoint::new(unwind_to)
|
||||
|
||||
Reference in New Issue
Block a user