You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
blocks: Implements StateVecAccessor which enables us to iter / retain blocks which would not be pruned.
block_hashes: Implements StateMapAccessor which lets us remove entries for blocks which should be pruned.
receipts: Implements StateVecAccessor. For the blocks we end up removing, each SealedBlockprovides access to the transactions which we'd want to remove. For reference:
.expect("Receipt for known transaction must be set");
build_rpc_receipt(&block, tx, id, receipt)
})
.collect::<Vec<_>>();
This needs to be implemented in the pruner.
Concerns
Since blocks is a vector, we should consider race conditions between the pruner which is creating a new vector by filtering pruned blocks and the sequencer which is pushing new blocks into this list.
While pruning EVM, we should somehow lock access to EVM.
The text was updated successfully, but these errors were encountered:
Description
Depends on #1191
EVM has 3 storage items that we need to cleanup:
blocks
: ImplementsStateVecAccessor
which enables us to iter / retain blocks which would not be pruned.block_hashes
: ImplementsStateMapAccessor
which lets us remove entries for blocks which should be pruned.receipts
: ImplementsStateVecAccessor
. For the blocks we end up removing, eachSealedBlock
provides access to the transactions which we'd want to remove. For reference:citrea/crates/evm/src/query.rs
Lines 248 to 287 in 3fe658b
This needs to be implemented in the pruner.
Concerns
Since
blocks
is a vector, we should consider race conditions between the pruner which is creating a new vector by filtering pruned blocks and the sequencer which is pushing new blocks into this list.While pruning EVM, we should somehow lock access to EVM.
The text was updated successfully, but these errors were encountered: