Bodies removal is handled in remove_bodies_above method which is called directly in BodyStage. During live sync the blocks removal is now handled through remove_blocks_above method which is similar to remove_block_range which is now removed.
take_block_range is also removed and its usage in take_block_and_execution_range is replaced with a call to sealed_block_with_senders_range followed by remove_blocks_above
Block removal methods now also operate on StorageLocation enum.
StorageLocation::Database is used by legacy engine to make sure that we don't touch static files which might conflict with pruner task
StorageLocation::Both is used by everything else
The two additional changes are:
Unifying code paths for consistency checks in BodyStage
Changing interface of some of the provider functions to just accept unwind target instead of a block range.
Builds on top of https://github.com/paradigmxyz/reth/pull/12741
Similarly to https://github.com/paradigmxyz/reth/pull/12694 this unifies code paths for block removal.
Bodies removal is handled in
remove_bodies_above
method which is called directly inBodyStage
. During live sync the blocks removal is now handled throughremove_blocks_above
method which is similar toremove_block_range
which is now removed.take_block_range
is also removed and its usage intake_block_and_execution_range
is replaced with a call tosealed_block_with_senders_range
followed byremove_blocks_above
Block removal methods now also operate on
StorageLocation
enum.StorageLocation::Database
is used by legacy engine to make sure that we don't touch static files which might conflict with pruner taskStorageLocation::Both
is used by everything elseThe two additional changes are:
BodyStage