Skip to content

Commit 6875709

Browse files
committed
Merge #286: Implement walletlock method and test
22acb26 Implement walletlock method and test (GideonBature) Pull request description: The JSON-RPC method `walletlock` does not return anything. 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 `null`, along with an integration test that calls this function. Ref: [#116](#116) ACKs for top commit: jamillambert: ACK 22acb26 tcharding: ACK 22acb26 Tree-SHA512: 6c339d362b49b03392bfb5a122cabf9220579cf88a7278f003784859123915d5e0e741364cc2c769a48350ac32e59a297c2c7c1af999ffa1c7bc2b586c199453
2 parents 9b7b9b0 + 22acb26 commit 6875709

File tree

15 files changed

+39
-0
lines changed

15 files changed

+39
-0
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ crate::impl_client_v17__sign_message!();
154154
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
155155
crate::impl_client_v17__unload_wallet!();
156156
crate::impl_client_v17__wallet_create_funded_psbt!();
157+
crate::impl_client_v17__wallet_lock!();
157158
crate::impl_client_v17__wallet_process_psbt!();
158159

159160
/// Argument to the `Client::get_new_address_with_type` function.

client/src/client_sync/v17/wallet.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -682,6 +682,22 @@ macro_rules! impl_client_v17__wallet_create_funded_psbt {
682682
};
683683
}
684684

685+
/// Implements Bitcoin Core JSON-RPC API method `walletlock`.
686+
#[macro_export]
687+
macro_rules! impl_client_v17__wallet_lock {
688+
() => {
689+
impl Client {
690+
pub fn wallet_lock(&self) -> Result<()> {
691+
match self.call("walletlock", &[]) {
692+
Ok(serde_json::Value::Null) => Ok(()),
693+
Ok(res) => Err(Error::Returned(res.to_string())),
694+
Err(err) => Err(err.into()),
695+
}
696+
}
697+
}
698+
};
699+
}
700+
685701
/// Implements Bitcoin Core JSON-RPC API method `walletprocesspsbt`.
686702
#[macro_export]
687703
macro_rules! impl_client_v17__wallet_process_psbt {

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,5 @@ crate::impl_client_v17__sign_message!();
171171
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
172172
crate::impl_client_v17__unload_wallet!();
173173
crate::impl_client_v17__wallet_create_funded_psbt!();
174+
crate::impl_client_v17__wallet_lock!();
174175
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,5 @@ crate::impl_client_v17__sign_message!();
168168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
169169
crate::impl_client_v17__unload_wallet!();
170170
crate::impl_client_v17__wallet_create_funded_psbt!();
171+
crate::impl_client_v17__wallet_lock!();
171172
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,5 @@ crate::impl_client_v17__sign_message!();
168168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
169169
crate::impl_client_v17__unload_wallet!();
170170
crate::impl_client_v17__wallet_create_funded_psbt!();
171+
crate::impl_client_v17__wallet_lock!();
171172
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,5 @@ crate::impl_client_v17__sign_message!();
168168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
169169
crate::impl_client_v21__unload_wallet!();
170170
crate::impl_client_v17__wallet_create_funded_psbt!();
171+
crate::impl_client_v17__wallet_lock!();
171172
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,4 +168,5 @@ crate::impl_client_v17__sign_message!();
168168
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
169169
crate::impl_client_v21__unload_wallet!();
170170
crate::impl_client_v17__wallet_create_funded_psbt!();
171+
crate::impl_client_v17__wallet_lock!();
171172
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ crate::impl_client_v17__sign_message!();
170170
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
171171
crate::impl_client_v21__unload_wallet!();
172172
crate::impl_client_v17__wallet_create_funded_psbt!();
173+
crate::impl_client_v17__wallet_lock!();
173174
crate::impl_client_v17__wallet_process_psbt!();
174175

175176
/// Argument to the `Client::get_new_address_with_type` function.

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,4 +167,5 @@ crate::impl_client_v17__sign_message!();
167167
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
168168
crate::impl_client_v21__unload_wallet!();
169169
crate::impl_client_v17__wallet_create_funded_psbt!();
170+
crate::impl_client_v17__wallet_lock!();
170171
crate::impl_client_v17__wallet_process_psbt!();

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,4 +167,5 @@ crate::impl_client_v17__sign_message!();
167167
crate::impl_client_v17__sign_raw_transaction_with_wallet!();
168168
crate::impl_client_v21__unload_wallet!();
169169
crate::impl_client_v17__wallet_create_funded_psbt!();
170+
crate::impl_client_v17__wallet_lock!();
170171
crate::impl_client_v17__wallet_process_psbt!();

0 commit comments

Comments
 (0)