zcash-swift-wallet-sdk icon indicating copy to clipboard operation
zcash-swift-wallet-sdk copied to clipboard

During recovery-from-seed, spendable notes only have their witnesses bumped every 10 minutes

Open str4d opened this issue 9 months ago • 2 comments

In the steady state, the wallet will start CompactBlockProcessor every 10-30 seconds, scan the few new blocks that may have come in, reschedule itself with a timer, and then stop.

However, when recovering from seed, CompactBlockProcessor will be spending most of its time in a long Historic section, which means that enhance will go through updateChainTip to download, and updateChainTip only triggers a chain tip update every 10 minutes. This means that any notes we have that are spendable, will only have their witnesses bumped on that time interval.

Currently there is no issue here, because we don't allow spending during recover-from-seed until recovery is complete. However, if in future we implemented either reverse scanning, or allowed notes received after the recover_until height to be spent, this delay would become an issue.

str4d avatar Sep 15 '23 21:09 str4d