Skip to content

Pruner: Decouple interface and implementation #18926

@RomanHodulak

Description

@RomanHodulak

Describe the feature

The goal of this issue is to add a trait like:

trait Prune {
    fn prune<P>(provider: P, input: PruneInput): Result<PruneOutput, PrunerError>;
}

and the existing database implementation to refactor as an implementation of Prune for Mdbx. We need to isolate these implementations under db-v2 feature flag.

In the end we should end up with a module mdbx that is a feature gated parent for all these implementations.

Update all the usages.

Additional context

No response

Metadata

Metadata

Assignees

Labels

A-pruningRelated to pruning or full nodeC-enhancementNew feature or request

Type

No type

Projects

Status

Completed

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions