@@ -1999,3 +1999,35 @@ TEST(WalletTests, SproutNoteLocking) {
1999
1999
EXPECT_FALSE (wallet.IsLockedNote (jsoutpt));
2000
2000
EXPECT_FALSE (wallet.IsLockedNote (jsoutpt2));
2001
2001
}
2002
+
2003
+ TEST (WalletTests, SaplingNoteLocking) {
2004
+ TestWallet wallet;
2005
+ SaplingOutPoint sop1 {uint256 (), 1 };
2006
+ SaplingOutPoint sop2 {uint256 (), 2 };
2007
+
2008
+ // Test selective locking
2009
+ wallet.LockNote (sop1);
2010
+ EXPECT_TRUE (wallet.IsLockedNote (sop1));
2011
+ EXPECT_FALSE (wallet.IsLockedNote (sop2));
2012
+
2013
+ // Test selective unlocking
2014
+ wallet.UnlockNote (sop1);
2015
+ EXPECT_FALSE (wallet.IsLockedNote (sop1));
2016
+
2017
+ // Test multiple locking
2018
+ wallet.LockNote (sop1);
2019
+ wallet.LockNote (sop2);
2020
+ EXPECT_TRUE (wallet.IsLockedNote (sop1));
2021
+ EXPECT_TRUE (wallet.IsLockedNote (sop2));
2022
+
2023
+ // Test list
2024
+ auto v = wallet.ListLockedSaplingNotes ();
2025
+ EXPECT_EQ (v.size (), 2 );
2026
+ EXPECT_TRUE (std::find (v.begin (), v.end (), sop1) != v.end ());
2027
+ EXPECT_TRUE (std::find (v.begin (), v.end (), sop2) != v.end ());
2028
+
2029
+ // Test unlock all
2030
+ wallet.UnlockAllSaplingNotes ();
2031
+ EXPECT_FALSE (wallet.IsLockedNote (sop1));
2032
+ EXPECT_FALSE (wallet.IsLockedNote (sop2));
2033
+ }
0 commit comments