wallet: Change IsLockedNote to take a JSOutPoint

This removes the uint64_t -> size_t -> uint64_t round trip, as well as the
JSOutPoint -> parts -> JSOutPoint round trip.
This commit is contained in:
Jack Grigg 2018-05-07 21:56:57 +01:00
parent daed9ba7cc
commit b87e271a9a
No known key found for this signature in database
GPG Key ID: 665DBCD284F7DAFF
3 changed files with 10 additions and 11 deletions

View File

@ -1061,21 +1061,21 @@ TEST(wallet_tests, NoteLocking) {
// Test selective locking // Test selective locking
wallet.LockNote(jsoutpt); wallet.LockNote(jsoutpt);
EXPECT_TRUE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); EXPECT_TRUE(wallet.IsLockedNote(jsoutpt));
EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2));
// Test selective unlocking // Test selective unlocking
wallet.UnlockNote(jsoutpt); wallet.UnlockNote(jsoutpt);
EXPECT_FALSE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); EXPECT_FALSE(wallet.IsLockedNote(jsoutpt));
// Test multiple locking // Test multiple locking
wallet.LockNote(jsoutpt); wallet.LockNote(jsoutpt);
wallet.LockNote(jsoutpt2); wallet.LockNote(jsoutpt2);
EXPECT_TRUE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); EXPECT_TRUE(wallet.IsLockedNote(jsoutpt));
EXPECT_TRUE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); EXPECT_TRUE(wallet.IsLockedNote(jsoutpt2));
// Test unlock all // Test unlock all
wallet.UnlockAllNotes(); wallet.UnlockAllNotes();
EXPECT_FALSE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); EXPECT_FALSE(wallet.IsLockedNote(jsoutpt));
EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2));
} }

View File

@ -3464,10 +3464,9 @@ void CWallet::UnlockAllNotes()
setLockedNotes.clear(); setLockedNotes.clear();
} }
bool CWallet::IsLockedNote(uint256 hash, size_t js, uint8_t n) const bool CWallet::IsLockedNote(JSOutPoint& outpt) const
{ {
AssertLockHeld(cs_wallet); // setLockedNotes AssertLockHeld(cs_wallet); // setLockedNotes
JSOutPoint outpt(hash, js, n);
return (setLockedNotes.count(outpt) > 0); return (setLockedNotes.count(outpt) > 0);
} }
@ -3769,7 +3768,7 @@ void CWallet::GetFilteredNotes(
} }
// skip locked notes // skip locked notes
if (IsLockedNote(jsop.hash, jsop.js, jsop.n)) { if (IsLockedNote(jsop)) {
continue; continue;
} }

View File

@ -907,7 +907,7 @@ public:
void ListLockedCoins(std::vector<COutPoint>& vOutpts); void ListLockedCoins(std::vector<COutPoint>& vOutpts);
bool IsLockedNote(uint256 hash, size_t js, uint8_t n) const; bool IsLockedNote(JSOutPoint& outpt) const;
void LockNote(JSOutPoint& output); void LockNote(JSOutPoint& output);
void UnlockNote(JSOutPoint& output); void UnlockNote(JSOutPoint& output);
void UnlockAllNotes(); void UnlockAllNotes();