Browse Source

Closes #3560. Update Sapling note data correctly when importing a key.

pull/4/head
Simon 6 years ago
parent
commit
f0dcfceb81
  1. 8
      qa/rpc-tests/wallet_sapling.py
  2. 2
      src/wallet/wallet.cpp

8
qa/rpc-tests/wallet_sapling.py

@ -136,5 +136,13 @@ class WalletSaplingTest(BitcoinTestFramework):
assert('outCiphertext' in shieldedOutput)
assert('proof' in shieldedOutput)
# Verify importing a spending key will update the nullifiers and witnesses correctly
sk0 = self.nodes[0].z_exportkey(saplingAddr0)
self.nodes[2].z_importkey(sk0, "yes")
assert_equal(self.nodes[2].z_getbalance(saplingAddr0), Decimal('10'))
sk1 = self.nodes[1].z_exportkey(saplingAddr1)
self.nodes[2].z_importkey(sk1, "yes")
assert_equal(self.nodes[2].z_getbalance(saplingAddr1), Decimal('5'))
if __name__ == '__main__':
WalletSaplingTest().main()

2
src/wallet/wallet.cpp

@ -2367,7 +2367,7 @@ int CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, bool fUpdate)
}
}
// Increment note witness caches
IncrementNoteWitnesses(pindex, &block, sproutTree, saplingTree);
ChainTip(pindex, &block, sproutTree, saplingTree, true);
pindex = chainActive.Next(pindex);
if (GetTime() >= nNow + 60) {

Loading…
Cancel
Save