Page MenuHomePhabricator

Merge #12944: [wallet] ScanforWalletTransactions should mark input txns as dirty
ClosedPublic

Authored by nakihito on Dec 10 2019, 01:09.

Details

Summary

3c292cc19 ScanforWalletTransactions should mark input txns as dirty (Gregory Sanders)

Pull request description:

I'm hitting a corner case in my mainnet wallet where I load a restore a wallet, call `rescanblockchain` from RPC, and it's "double counting" an output I've sent to myself since currently it never marks input transactions as dirty. This is fixed by a restart of the wallet.

Note that this only happens with keys with birthdate *after* the blocks containing the spent funds which gets scanned on startup, so it's hard to test without a set seed function.

Tree-SHA512: ee1fa152bb054b57ab4c734e355df10d241181e0372c81d583be61678fffbabe5ae60b09b05dc1bbbcfb4838df9d8538791d4c1d80a09b84d78ad2f50dcb0a61

Backport of Core PR12944
https://github.com/bitcoin/bitcoin/pull/12944/

Test Plan
make check
test_runner.py

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Owners added a reviewer: Restricted Owners Package.Dec 10 2019, 01:09
jasonbcox requested changes to this revision.Dec 10 2019, 20:49

Do a round of self-review and you'll find a very important part is missing.

This revision now requires changes to proceed.Dec 10 2019, 20:49

Fixed AddToWalletIfInvolvingMe() call.

This revision is now accepted and ready to land.Dec 10 2019, 22:44