Skip to content

Commit 6ac1280

Browse files
committed
Merge #254: Implement importaddress method and test
859ec74 Implement importaddress method and test (GideonBature) Pull request description: The JSON-RPC method `importaddress` does return null. 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 859ec74 tcharding: ACK 859ec74 Tree-SHA512: 1a4c4eceba4f7e7adb2928b50ea7ce42116388522874df2eb4179b7330370376f8f9db0b91b6f71633258a0ea5a95292221a0f2d6e162b2a44dd14fff72b9b10
2 parents b518425 + 859ec74 commit 6ac1280

File tree

15 files changed

+53
-0
lines changed

15 files changed

+53
-0
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ crate::impl_client_v17__get_received_by_address!();
127127
crate::impl_client_v17__get_transaction!();
128128
crate::impl_client_v17__get_unconfirmed_balance!();
129129
crate::impl_client_v17__get_wallet_info!();
130+
crate::impl_client_v17__import_address!();
130131
crate::impl_client_v17__import_privkey!();
131132
crate::impl_client_v17__list_address_groupings!();
132133
crate::impl_client_v17__list_labels!();

client/src/client_sync/v17/wallet.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,22 @@ macro_rules! impl_client_v17__get_wallet_info {
282282
};
283283
}
284284

285+
/// Implements Bitcoin Core JSON-RPC API method `importaddress`.
286+
#[macro_export]
287+
macro_rules! impl_client_v17__import_address {
288+
() => {
289+
impl Client {
290+
pub fn import_address(&self, address: &Address) -> Result<()> {
291+
match self.call("importaddress", &[into_json(address)?]) {
292+
Ok(serde_json::Value::Null) => Ok(()),
293+
Ok(res) => Err(Error::Returned(res.to_string())),
294+
Err(err) => Err(err.into()),
295+
}
296+
}
297+
}
298+
};
299+
}
300+
285301
/// Implements Bitcoin Core JSON-RPC API method `importprivkey`.
286302
#[macro_export]
287303
macro_rules! impl_client_v17__import_privkey {

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ crate::impl_client_v18__get_received_by_label!();
142142
crate::impl_client_v17__get_transaction!();
143143
crate::impl_client_v17__get_unconfirmed_balance!();
144144
crate::impl_client_v17__get_wallet_info!();
145+
crate::impl_client_v17__import_address!();
145146
crate::impl_client_v17__import_privkey!();
146147
crate::impl_client_v17__list_address_groupings!();
147148
crate::impl_client_v17__list_labels!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ crate::impl_client_v17__get_received_by_address!();
138138
crate::impl_client_v17__get_transaction!();
139139
crate::impl_client_v17__get_unconfirmed_balance!();
140140
crate::impl_client_v17__get_wallet_info!();
141+
crate::impl_client_v17__import_address!();
141142
crate::impl_client_v17__import_privkey!();
142143
crate::impl_client_v17__list_address_groupings!();
143144
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ crate::impl_client_v17__get_received_by_address!();
135135
crate::impl_client_v17__get_transaction!();
136136
crate::impl_client_v17__get_unconfirmed_balance!();
137137
crate::impl_client_v17__get_wallet_info!();
138+
crate::impl_client_v17__import_address!();
138139
crate::impl_client_v17__import_privkey!();
139140
crate::impl_client_v17__list_address_groupings!();
140141
crate::impl_client_v17__list_labels!();

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ crate::impl_client_v17__get_received_by_address!();
137137
crate::impl_client_v17__get_transaction!();
138138
crate::impl_client_v17__get_unconfirmed_balance!();
139139
crate::impl_client_v17__get_wallet_info!();
140+
crate::impl_client_v17__import_address!();
140141
crate::impl_client_v17__import_privkey!();
141142
crate::impl_client_v17__list_address_groupings!();
142143
crate::impl_client_v17__list_labels!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ crate::impl_client_v17__get_received_by_address!();
137137
crate::impl_client_v17__get_transaction!();
138138
crate::impl_client_v17__get_unconfirmed_balance!();
139139
crate::impl_client_v17__get_wallet_info!();
140+
crate::impl_client_v17__import_address!();
140141
crate::impl_client_v17__import_privkey!();
141142
crate::impl_client_v17__list_address_groupings!();
142143
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ crate::impl_client_v17__get_received_by_address!();
139139
crate::impl_client_v17__get_transaction!();
140140
crate::impl_client_v17__get_unconfirmed_balance!();
141141
crate::impl_client_v17__get_wallet_info!();
142+
crate::impl_client_v17__import_address!();
142143
crate::impl_client_v17__import_privkey!();
143144
crate::impl_client_v17__list_address_groupings!();
144145
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ crate::impl_client_v17__get_received_by_address!();
136136
crate::impl_client_v17__get_transaction!();
137137
crate::impl_client_v17__get_unconfirmed_balance!();
138138
crate::impl_client_v17__get_wallet_info!();
139+
crate::impl_client_v17__import_address!();
139140
crate::impl_client_v17__import_privkey!();
140141
crate::impl_client_v17__list_address_groupings!();
141142
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ crate::impl_client_v17__get_received_by_address!();
136136
crate::impl_client_v17__get_transaction!();
137137
crate::impl_client_v17__get_unconfirmed_balance!();
138138
crate::impl_client_v17__get_wallet_info!();
139+
crate::impl_client_v17__import_address!();
139140
crate::impl_client_v17__import_privkey!();
140141
crate::impl_client_v17__list_address_groupings!();
141142
crate::impl_client_v18__list_received_by_label!();

0 commit comments

Comments
 (0)