librustzcash
librustzcash copied to clipboard
zcash_client_backend: Ensure that wallets don't select potentially-spent notes during recovery.
In "recovery mode", we can't spend funds that we received before the recovery height, because we might later discover them as having been spent. However, this shouldn't inhibit a wallet from spending funds that it received above the recovery height, because blocks scanned above the recovery height are essentially scanned in "normal" mode. So recovery mode should only be something that affects spendable balance by checking received notes against the recovery height when the fully-scanned height is below the recovery height; otherwise the wallet should just operate as normal.