Merge pull request #4425 from breez/persist-rescan-progress

Persist rescan progress.
This commit is contained in:
Olaoluwa Osuntokun 2021-04-14 12:43:35 -07:00 committed by GitHub
commit 70b7c355d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -778,6 +778,18 @@ func (n *NeutrinoNotifier) RegisterSpendNtfn(outpoint *wire.OutPoint,
neutrino.EndBlock(&headerfs.BlockStamp{
Height: int32(ntfn.HistoricalDispatch.EndHeight),
}),
neutrino.ProgressHandler(func(processedHeight uint32) {
// We persist the rescan progress to achieve incremental
// behavior across restarts, otherwise long rescans may
// start from the beginning with every restart.
err := n.spendHintCache.CommitSpendHint(
processedHeight,
ntfn.HistoricalDispatch.SpendRequest)
if err != nil {
chainntnfs.Log.Errorf("Failed to update rescan "+
"progress: %v", err)
}
}),
neutrino.QuitChan(n.quit),
)
if err != nil && !strings.Contains(err.Error(), "not found") {