Skip to content

dash-spv: checkpoint re-initialization resets filter storage but resumes download from the wallet position, manufacturing a sparse island #894

Description

@QuantumExplorer

Problem

Observed on device logs (testnet; same shape reported on mainnet). When a client that already has densely stored filters is re-initialized from a checkpoint:

19:08  🚀 Starting sync from checkpoint at height 200000 instead of genesis (requested start height: 227121)
19:08  Starting filter header sync from 200000 to 208000
19:14  Starting filter download (scan_start=1514654, download_start=1514654, stored_filters_tip=0, target=1516000)

#893 makes the filter manager self-heal from any such island (one-time discard + re-download from the scan floor, verified convergent on the affected device). This issue tracks the island-manufacturer itself: after a checkpoint re-initialization that invalidates filter storage, the re-download floor and the wallet scan floor must agree — either resume storing from the re-init floor, or move the wallet/scan floor up to where storage actually resumes.

Full session-by-session log timeline available in #893 (comment) (root-cause follow-up comment).

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions