Skip to content

Commit 0a69f5e

Browse files
committed
Merge #278: Implement lockunspent method and test
045b25e Format code (GideonBature) 98ea4be Implement lockunspent method and test (GideonBature) Pull request description: The JSON-RPC method `lockunspent` does return a type. We want to test this to catch any changes in behavior in future Core versions. This PR adds a client function that errors if the return value is anything other than the type it returns, along with an integration test that calls this function. Ref: [#116](#116) ACKs for top commit: tcharding: ACK 045b25e Tree-SHA512: 2a927892fbde9f2a332578afe26439843923ff5930439a6eb4533845e8d7d9235bba3d02ecc60df3b428f63a7ecba177ee53fecb283e66973e13d4182acad0d8
2 parents a6cd79b + 045b25e commit 0a69f5e

File tree

42 files changed

+125
-75
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+125
-75
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ crate::impl_client_v17__list_transactions!();
143143
crate::impl_client_v17__list_unspent!();
144144
crate::impl_client_v17__list_wallets!();
145145
crate::impl_client_v17__load_wallet!();
146+
crate::impl_client_v17__lock_unspent!();
146147
crate::impl_client_v17__rescan_blockchain!();
147148
crate::impl_client_v17__send_many!();
148149
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v17/wallet.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,22 @@ macro_rules! impl_client_v17__load_wallet {
499499
};
500500
}
501501

502+
/// Implements Bitcoin Core JSON-RPC API method `loadwallet`.
503+
#[macro_export]
504+
macro_rules! impl_client_v17__lock_unspent {
505+
() => {
506+
impl Client {
507+
pub fn lock_unspent(&self) -> Result<LockUnspent> {
508+
self.call("lockunspent", &[into_json(false)?])
509+
}
510+
511+
pub fn unlock_unspent(&self) -> Result<LockUnspent> {
512+
self.call("lockunspent", &[into_json(true)?])
513+
}
514+
}
515+
};
516+
}
517+
502518
/// Implements Bitcoin Core JSON-RPC API method `rescanblockchain`.
503519
#[macro_export]
504520
macro_rules! impl_client_v17__rescan_blockchain {

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ crate::impl_client_v17__list_unspent!();
160160
crate::impl_client_v17__list_wallets!();
161161
crate::impl_client_v18__list_wallet_dir!();
162162
crate::impl_client_v17__load_wallet!();
163+
crate::impl_client_v17__lock_unspent!();
163164
crate::impl_client_v17__rescan_blockchain!();
164165
crate::impl_client_v17__send_many!();
165166
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@ crate::impl_client_v17__list_unspent!();
156156
crate::impl_client_v18__list_wallet_dir!();
157157
crate::impl_client_v17__list_wallets!();
158158
crate::impl_client_v17__load_wallet!();
159+
crate::impl_client_v17__lock_unspent!();
159160
crate::impl_client_v17__rescan_blockchain!();
160161
crate::impl_client_v17__send_many!();
161162
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ crate::impl_client_v17__list_unspent!();
153153
crate::impl_client_v18__list_wallet_dir!();
154154
crate::impl_client_v17__list_wallets!();
155155
crate::impl_client_v17__load_wallet!();
156+
crate::impl_client_v17__lock_unspent!();
156157
crate::impl_client_v17__rescan_blockchain!();
157158
crate::impl_client_v17__send_many!();
158159
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ crate::impl_client_v17__list_unspent!();
155155
crate::impl_client_v18__list_wallet_dir!();
156156
crate::impl_client_v17__list_wallets!();
157157
crate::impl_client_v17__load_wallet!();
158+
crate::impl_client_v17__lock_unspent!();
158159
crate::impl_client_v17__rescan_blockchain!();
159160
crate::impl_client_v17__send_many!();
160161
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ crate::impl_client_v17__list_unspent!();
155155
crate::impl_client_v18__list_wallet_dir!();
156156
crate::impl_client_v17__list_wallets!();
157157
crate::impl_client_v17__load_wallet!();
158+
crate::impl_client_v17__lock_unspent!();
158159
crate::impl_client_v17__rescan_blockchain!();
159160
crate::impl_client_v17__send_many!();
160161
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ crate::impl_client_v17__list_unspent!();
157157
crate::impl_client_v18__list_wallet_dir!();
158158
crate::impl_client_v17__list_wallets!();
159159
crate::impl_client_v22__load_wallet!();
160+
crate::impl_client_v17__lock_unspent!();
160161
crate::impl_client_v17__rescan_blockchain!();
161162
crate::impl_client_v17__send_many!();
162163
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ crate::impl_client_v17__list_unspent!();
154154
crate::impl_client_v18__list_wallet_dir!();
155155
crate::impl_client_v17__list_wallets!();
156156
crate::impl_client_v22__load_wallet!();
157+
crate::impl_client_v17__lock_unspent!();
157158
crate::impl_client_v17__rescan_blockchain!();
158159
crate::impl_client_v17__send_many!();
159160
crate::impl_client_v17__send_to_address!();

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ crate::impl_client_v17__list_unspent!();
154154
crate::impl_client_v18__list_wallet_dir!();
155155
crate::impl_client_v17__list_wallets!();
156156
crate::impl_client_v22__load_wallet!();
157+
crate::impl_client_v17__lock_unspent!();
157158
crate::impl_client_v17__rescan_blockchain!();
158159
crate::impl_client_v17__send_many!();
159160
crate::impl_client_v17__send_to_address!();

0 commit comments

Comments
 (0)