Skip to content

Commit 414ba10

Browse files
committed
Merge #266: Implement importprunedfunds and test
4eef869 Format code (GideonBature) e6d00b9 Implement importprunedfunds and test (GideonBature) Pull request description: The JSON-RPC method `importprunedfunds` 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: tcharding: ACK 4eef869 Tree-SHA512: a589ac5cefd2510546e1621c268d10d223727d76c4dce05689de4f5a894bd653857a8ea537f5b345fdfa990479db05eb400aa2d91c1dc5ec8c37e7b0deddc657
2 parents b1eb82b + 4eef869 commit 414ba10

File tree

15 files changed

+50
-0
lines changed

15 files changed

+50
-0
lines changed

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ crate::impl_client_v17__get_unconfirmed_balance!();
129129
crate::impl_client_v17__get_wallet_info!();
130130
crate::impl_client_v17__import_address!();
131131
crate::impl_client_v17__import_privkey!();
132+
crate::impl_client_v17__import_pruned_funds!();
132133
crate::impl_client_v17__list_address_groupings!();
133134
crate::impl_client_v17__list_labels!();
134135
crate::impl_client_v17__list_lock_unspent!();

client/src/client_sync/v17/wallet.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,29 @@ macro_rules! impl_client_v17__import_privkey {
314314
};
315315
}
316316

317+
/// Implements Bitcoin Core JSON-RPC API method `importprunedfunds`.
318+
#[macro_export]
319+
macro_rules! impl_client_v17__import_pruned_funds {
320+
() => {
321+
impl Client {
322+
pub fn import_pruned_funds(
323+
&self,
324+
raw_transaction: &str,
325+
tx_out_proof: &str,
326+
) -> Result<()> {
327+
match self.call(
328+
"importprunedfunds",
329+
&[into_json(raw_transaction)?, into_json(tx_out_proof)?],
330+
) {
331+
Ok(serde_json::Value::Null) => Ok(()),
332+
Ok(res) => Err(Error::Returned(res.to_string())),
333+
Err(err) => Err(err.into()),
334+
}
335+
}
336+
}
337+
};
338+
}
339+
317340
/// Implements Bitcoin Core JSON-RPC API method `listaddressgroupings`.
318341
#[macro_export]
319342
macro_rules! impl_client_v17__list_address_groupings {

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ crate::impl_client_v17__get_unconfirmed_balance!();
144144
crate::impl_client_v17__get_wallet_info!();
145145
crate::impl_client_v17__import_address!();
146146
crate::impl_client_v17__import_privkey!();
147+
crate::impl_client_v17__import_pruned_funds!();
147148
crate::impl_client_v17__list_address_groupings!();
148149
crate::impl_client_v17__list_labels!();
149150
crate::impl_client_v17__list_lock_unspent!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ crate::impl_client_v17__get_unconfirmed_balance!();
140140
crate::impl_client_v17__get_wallet_info!();
141141
crate::impl_client_v17__import_address!();
142142
crate::impl_client_v17__import_privkey!();
143+
crate::impl_client_v17__import_pruned_funds!();
143144
crate::impl_client_v17__list_address_groupings!();
144145
crate::impl_client_v18__list_received_by_label!();
145146
crate::impl_client_v17__list_labels!();

client/src/client_sync/v20/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_unconfirmed_balance!();
137137
crate::impl_client_v17__get_wallet_info!();
138138
crate::impl_client_v17__import_address!();
139139
crate::impl_client_v17__import_privkey!();
140+
crate::impl_client_v17__import_pruned_funds!();
140141
crate::impl_client_v17__list_address_groupings!();
141142
crate::impl_client_v17__list_labels!();
142143
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v21/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_unconfirmed_balance!();
139139
crate::impl_client_v17__get_wallet_info!();
140140
crate::impl_client_v17__import_address!();
141141
crate::impl_client_v17__import_privkey!();
142+
crate::impl_client_v17__import_pruned_funds!();
142143
crate::impl_client_v17__list_address_groupings!();
143144
crate::impl_client_v17__list_labels!();
144145
crate::impl_client_v18__list_received_by_label!();

client/src/client_sync/v22/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_unconfirmed_balance!();
139139
crate::impl_client_v17__get_wallet_info!();
140140
crate::impl_client_v17__import_address!();
141141
crate::impl_client_v17__import_privkey!();
142+
crate::impl_client_v17__import_pruned_funds!();
142143
crate::impl_client_v17__list_address_groupings!();
143144
crate::impl_client_v18__list_received_by_label!();
144145
crate::impl_client_v17__list_labels!();

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ crate::impl_client_v17__get_unconfirmed_balance!();
141141
crate::impl_client_v17__get_wallet_info!();
142142
crate::impl_client_v17__import_address!();
143143
crate::impl_client_v17__import_privkey!();
144+
crate::impl_client_v17__import_pruned_funds!();
144145
crate::impl_client_v17__list_address_groupings!();
145146
crate::impl_client_v18__list_received_by_label!();
146147
crate::impl_client_v17__list_labels!();

client/src/client_sync/v24/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_unconfirmed_balance!();
138138
crate::impl_client_v17__get_wallet_info!();
139139
crate::impl_client_v17__import_address!();
140140
crate::impl_client_v17__import_privkey!();
141+
crate::impl_client_v17__import_pruned_funds!();
141142
crate::impl_client_v17__list_address_groupings!();
142143
crate::impl_client_v18__list_received_by_label!();
143144
crate::impl_client_v17__list_labels!();

client/src/client_sync/v25/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_unconfirmed_balance!();
138138
crate::impl_client_v17__get_wallet_info!();
139139
crate::impl_client_v17__import_address!();
140140
crate::impl_client_v17__import_privkey!();
141+
crate::impl_client_v17__import_pruned_funds!();
141142
crate::impl_client_v17__list_address_groupings!();
142143
crate::impl_client_v18__list_received_by_label!();
143144
crate::impl_client_v17__list_labels!();

0 commit comments

Comments
 (0)