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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions