Skip to content

Commit 5ee20ed

Browse files
committed
Add create descriptor wallet fn to client
Add a new create wallet macro for v21 onwards to client that creates a descriptor wallet for tests that require one.
1 parent 8e80267 commit 5ee20ed

File tree

10 files changed

+30
-0
lines changed

10 files changed

+30
-0
lines changed

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ crate::impl_client_v17__add_multisig_address!();
128128
crate::impl_client_v17__backup_wallet!();
129129
crate::impl_client_v17__bump_fee!();
130130
crate::impl_client_v17__create_wallet!();
131+
crate::impl_client_v21__create_wallet_with_descriptors!();
131132
crate::impl_client_v17__dump_priv_key!();
132133
crate::impl_client_v17__dump_wallet!();
133134
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v21/wallet.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,27 @@
99
//!
1010
//! See or use the `define_jsonrpc_minreq_client!` macro to define a `Client`.
1111
12+
/// Implements Bitcoin Core JSON-RPC API method `createwallet` with descriptors=true (descriptor wallet)
13+
#[macro_export]
14+
macro_rules! impl_client_v21__create_wallet_with_descriptors {
15+
() => {
16+
impl Client {
17+
pub fn create_wallet_with_descriptors(&self, wallet: &str) -> Result<CreateWallet> {
18+
let args = [
19+
wallet.into(),
20+
false.into(), // disable_private_keys
21+
false.into(), // blank
22+
serde_json::Value::Null, // passphrase
23+
false.into(), // avoid_reuse
24+
true.into(), // descriptors=true
25+
serde_json::Value::Null, // load_on_startup
26+
];
27+
self.call("createwallet", &args)
28+
}
29+
}
30+
};
31+
}
32+
1233
/// Implements Bitcoin Core JSON-RPC API method `unloadwallet`
1334
#[macro_export]
1435
macro_rules! impl_client_v21__unload_wallet {

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ crate::impl_client_v17__add_multisig_address!();
126126
crate::impl_client_v17__backup_wallet!();
127127
crate::impl_client_v17__bump_fee!();
128128
crate::impl_client_v17__create_wallet!();
129+
crate::impl_client_v21__create_wallet_with_descriptors!();
129130
crate::impl_client_v17__dump_priv_key!();
130131
crate::impl_client_v17__dump_wallet!();
131132
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ crate::impl_client_v17__add_multisig_address!();
128128
crate::impl_client_v17__backup_wallet!();
129129
crate::impl_client_v17__bump_fee!();
130130
crate::impl_client_v23__create_wallet!();
131+
crate::impl_client_v21__create_wallet_with_descriptors!();
131132
crate::impl_client_v17__dump_priv_key!();
132133
crate::impl_client_v17__dump_wallet!();
133134
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ crate::impl_client_v17__add_multisig_address!();
125125
crate::impl_client_v17__backup_wallet!();
126126
crate::impl_client_v17__bump_fee!();
127127
crate::impl_client_v23__create_wallet!();
128+
crate::impl_client_v21__create_wallet_with_descriptors!();
128129
crate::impl_client_v17__dump_priv_key!();
129130
crate::impl_client_v17__dump_wallet!();
130131
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ crate::impl_client_v17__add_multisig_address!();
127127
crate::impl_client_v17__backup_wallet!();
128128
crate::impl_client_v17__bump_fee!();
129129
crate::impl_client_v23__create_wallet!();
130+
crate::impl_client_v21__create_wallet_with_descriptors!();
130131
crate::impl_client_v17__dump_priv_key!();
131132
crate::impl_client_v17__dump_wallet!();
132133
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v26/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ crate::impl_client_v17__add_multisig_address!();
131131
crate::impl_client_v17__backup_wallet!();
132132
crate::impl_client_v17__bump_fee!();
133133
crate::impl_client_v23__create_wallet!();
134+
crate::impl_client_v21__create_wallet_with_descriptors!();
134135
crate::impl_client_v17__dump_priv_key!();
135136
crate::impl_client_v17__dump_wallet!();
136137
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v27/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ crate::impl_client_v17__add_multisig_address!();
127127
crate::impl_client_v17__backup_wallet!();
128128
crate::impl_client_v17__bump_fee!();
129129
crate::impl_client_v23__create_wallet!();
130+
crate::impl_client_v21__create_wallet_with_descriptors!();
130131
crate::impl_client_v17__dump_priv_key!();
131132
crate::impl_client_v17__dump_wallet!();
132133
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v28/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ crate::impl_client_v17__add_multisig_address!();
129129
crate::impl_client_v17__backup_wallet!();
130130
crate::impl_client_v17__bump_fee!();
131131
crate::impl_client_v23__create_wallet!();
132+
crate::impl_client_v21__create_wallet_with_descriptors!();
132133
crate::impl_client_v17__dump_priv_key!();
133134
crate::impl_client_v17__dump_wallet!();
134135
crate::impl_client_v17__encrypt_wallet!();

client/src/client_sync/v29/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ crate::impl_client_v17__add_multisig_address!();
129129
crate::impl_client_v17__backup_wallet!();
130130
crate::impl_client_v17__bump_fee!();
131131
crate::impl_client_v23__create_wallet!();
132+
crate::impl_client_v21__create_wallet_with_descriptors!();
132133
crate::impl_client_v17__dump_priv_key!();
133134
crate::impl_client_v17__dump_wallet!();
134135
crate::impl_client_v17__encrypt_wallet!();

0 commit comments

Comments
 (0)