From b87e271a9a225a49495555c5018ca2ef025f8dc5 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 7 May 2018 21:56:57 +0100 Subject: [PATCH] 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. --- src/wallet/gtest/test_wallet.cpp | 14 +++++++------- src/wallet/wallet.cpp | 5 ++--- src/wallet/wallet.h | 2 +- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/wallet/gtest/test_wallet.cpp b/src/wallet/gtest/test_wallet.cpp index 18df6feff..ceea292d8 100644 --- a/src/wallet/gtest/test_wallet.cpp +++ b/src/wallet/gtest/test_wallet.cpp @@ -1061,21 +1061,21 @@ TEST(wallet_tests, NoteLocking) { // Test selective locking wallet.LockNote(jsoutpt); - EXPECT_TRUE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); - EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); + EXPECT_TRUE(wallet.IsLockedNote(jsoutpt)); + EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2)); // Test selective unlocking wallet.UnlockNote(jsoutpt); - EXPECT_FALSE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); + EXPECT_FALSE(wallet.IsLockedNote(jsoutpt)); // Test multiple locking wallet.LockNote(jsoutpt); wallet.LockNote(jsoutpt2); - EXPECT_TRUE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); - EXPECT_TRUE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); + EXPECT_TRUE(wallet.IsLockedNote(jsoutpt)); + EXPECT_TRUE(wallet.IsLockedNote(jsoutpt2)); // Test unlock all wallet.UnlockAllNotes(); - EXPECT_FALSE(wallet.IsLockedNote(jsoutpt.hash, jsoutpt.js, jsoutpt.n)); - EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2.hash, jsoutpt2.js, jsoutpt2.n)); + EXPECT_FALSE(wallet.IsLockedNote(jsoutpt)); + EXPECT_FALSE(wallet.IsLockedNote(jsoutpt2)); } diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 448dd50e7..2a04ff5c9 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -3464,10 +3464,9 @@ void CWallet::UnlockAllNotes() setLockedNotes.clear(); } -bool CWallet::IsLockedNote(uint256 hash, size_t js, uint8_t n) const +bool CWallet::IsLockedNote(JSOutPoint& outpt) const { AssertLockHeld(cs_wallet); // setLockedNotes - JSOutPoint outpt(hash, js, n); return (setLockedNotes.count(outpt) > 0); } @@ -3769,7 +3768,7 @@ void CWallet::GetFilteredNotes( } // skip locked notes - if (IsLockedNote(jsop.hash, jsop.js, jsop.n)) { + if (IsLockedNote(jsop)) { continue; } diff --git a/src/wallet/wallet.h b/src/wallet/wallet.h index 831541040..8dc2acbbf 100644 --- a/src/wallet/wallet.h +++ b/src/wallet/wallet.h @@ -907,7 +907,7 @@ public: void ListLockedCoins(std::vector& vOutpts); - bool IsLockedNote(uint256 hash, size_t js, uint8_t n) const; + bool IsLockedNote(JSOutPoint& outpt) const; void LockNote(JSOutPoint& output); void UnlockNote(JSOutPoint& output); void UnlockAllNotes();