Skip to content

Commit c062c91

Browse files
committed
Implement version specific types for importwallet
1 parent da4c0e5 commit c062c91

File tree

26 files changed

+75
-0
lines changed

26 files changed

+75
-0
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ crate::impl_client_v17__importaddress!();
132132
crate::impl_client_v17__importprivkey!();
133133
crate::impl_client_v17__importprunedfunds!();
134134
crate::impl_client_v17__importpubkey!();
135+
crate::impl_client_v17__importwallet!();
135136

136137
/// Argument to the `Client::get_new_address_with_type` function.
137138
///

client/src/client_sync/v17/wallet.rs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -631,3 +631,21 @@ macro_rules! impl_client_v17__importpubkey {
631631
}
632632
};
633633
}
634+
635+
/// Implements Bitcoin Core JSON-RPC API method `importwallet`
636+
#[macro_export]
637+
macro_rules! impl_client_v17__importwallet {
638+
() => {
639+
impl Client {
640+
pub fn import_wallet(&self, filename: &Path) -> Result<()> {
641+
let filename_str = filename.to_string_lossy();
642+
match self.call("importwallet", &[filename_str.as_ref().into()]) {
643+
Ok(serde_json::Value::Null) => Ok(()),
644+
Ok(ref val) if val.is_null() => Ok(()),
645+
Ok(other) => Err(crate::client_sync::Error::Returned(format!("importwallet expected null, got: {}", other))),
646+
Err(e) => Err(e.into()),
647+
}
648+
}
649+
}
650+
};
651+
}

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,4 @@ crate::impl_client_v17__importaddress!();
125125
crate::impl_client_v17__importprivkey!();
126126
crate::impl_client_v17__importprunedfunds!();
127127
crate::impl_client_v17__importpubkey!();
128+
crate::impl_client_v17__importwallet!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,4 @@ crate::impl_client_v17__importaddress!();
127127
crate::impl_client_v17__importprivkey!();
128128
crate::impl_client_v17__importprunedfunds!();
129129
crate::impl_client_v17__importpubkey!();
130+
crate::impl_client_v17__importwallet!();

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,4 @@ crate::impl_client_v17__importaddress!();
126126
crate::impl_client_v17__importprivkey!();
127127
crate::impl_client_v17__importprunedfunds!();
128128
crate::impl_client_v17__importpubkey!();
129+
crate::impl_client_v17__importwallet!();

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,4 @@ crate::impl_client_v17__importaddress!();
126126
crate::impl_client_v17__importprivkey!();
127127
crate::impl_client_v17__importprunedfunds!();
128128
crate::impl_client_v17__importpubkey!();
129+
crate::impl_client_v17__importwallet!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,4 @@ crate::impl_client_v17__importaddress!();
127127
crate::impl_client_v17__importprivkey!();
128128
crate::impl_client_v17__importprunedfunds!();
129129
crate::impl_client_v17__importpubkey!();
130+
crate::impl_client_v17__importwallet!();

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__importaddress!();
128128
crate::impl_client_v17__importprivkey!();
129129
crate::impl_client_v17__importprunedfunds!();
130130
crate::impl_client_v17__importpubkey!();
131+
crate::impl_client_v17__importwallet!();
131132

132133
/// Argument to the `Client::get_new_address_with_type` function.
133134
///

client/src/client_sync/v24.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,4 @@ crate::impl_client_v17__importaddress!();
124124
crate::impl_client_v17__importprivkey!();
125125
crate::impl_client_v17__importprunedfunds!();
126126
crate::impl_client_v17__importpubkey!();
127+
crate::impl_client_v17__importwallet!();

client/src/client_sync/v25.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,4 @@ crate::impl_client_v17__importaddress!();
124124
crate::impl_client_v17__importprivkey!();
125125
crate::impl_client_v17__importprunedfunds!();
126126
crate::impl_client_v17__importpubkey!();
127+
crate::impl_client_v17__importwallet!();

0 commit comments

Comments
 (0)