ScanForWalletTransactions()
has the following comment about its return value:
0 * Returns null if scan was successful. Otherwise, if a complete rescan was not
1 * possible (due to pruning or corruption), returns pointer to the most recent
2 * block that could not be scanned.
This is not strictly true. If abortrescan
is called, then ScanForWalletTransactions()
will return nullptr
, even though the scan wasn’t successful to the tip.
This in turn causes a minor bug in importmulti
, where the call doesn’t return the correct error and warning about potentially not finding transactions if abortrescan
was called.
I think the correct fix is for ScanForWalletTransactions()
to inform the caller that the rescan was aborted.