Skip to content

Commit 371d4ec

Browse files
committed
Implement scantxoutset method and test
Split single return type to three types Rename some fields for readability Rename some fields for readability
1 parent 0f0dec1 commit 371d4ec

File tree

41 files changed

+678
-49
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+678
-49
lines changed

client/src/client_sync/v17/blockchain.rs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,30 @@ macro_rules! impl_client_v17__save_mempool {
318318
};
319319
}
320320

321-
/// Implements Bitcoin Core JSON-RPC API method `verifychain`.
321+
/// Implements Bitcoin Core JSON-RPC API method `scantxoutset`
322+
#[macro_export]
323+
macro_rules! impl_client_v17__scan_tx_out_set {
324+
() => {
325+
impl Client {
326+
/// Aborts an ongoing `scantxoutset` scan.
327+
pub fn scan_tx_out_set_abort(&self) -> Result<ScanTxOutSetAbort> {
328+
self.call("scantxoutset", &[into_json("abort")?])
329+
}
330+
331+
/// Starts a scan of the UTXO set for specified descriptors.
332+
pub fn scan_tx_out_set_start(&self, scan_objects: &[&str]) -> Result<ScanTxOutSetStart> {
333+
self.call("scantxoutset", &[into_json("start")?, into_json(scan_objects)?])
334+
}
335+
336+
/// Checks the status of an ongoing `scantxoutset` scan.
337+
pub fn scan_tx_out_set_status(&self) -> Result<Option<ScanTxOutSetStatus>> {
338+
self.call("scantxoutset", &[into_json("status")?])
339+
}
340+
}
341+
};
342+
}
343+
344+
/// Implements Bitcoin Core JSON-RPC API method `verifychain`
322345
#[macro_export]
323346
macro_rules! impl_client_v17__verify_chain {
324347
() => {

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5050
crate::impl_client_v17__precious_block!();
5151
crate::impl_client_v17__prune_blockchain!();
5252
crate::impl_client_v17__save_mempool!();
53+
crate::impl_client_v17__scan_tx_out_set!();
5354
crate::impl_client_v17__verify_chain!();
5455
crate::impl_client_v17__verify_tx_out_proof!();
5556

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5454
crate::impl_client_v17__precious_block!();
5555
crate::impl_client_v17__prune_blockchain!();
5656
crate::impl_client_v17__save_mempool!();
57+
crate::impl_client_v17__scan_tx_out_set!();
5758
crate::impl_client_v17__verify_chain!();
5859
crate::impl_client_v17__verify_tx_out_proof!();
5960

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5050
crate::impl_client_v17__precious_block!();
5151
crate::impl_client_v17__prune_blockchain!();
5252
crate::impl_client_v17__save_mempool!();
53+
crate::impl_client_v17__scan_tx_out_set!();
5354
crate::impl_client_v17__verify_chain!();
5455
crate::impl_client_v17__verify_tx_out_proof!();
5556

client/src/client_sync/v20/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
4949
crate::impl_client_v17__precious_block!();
5050
crate::impl_client_v17__prune_blockchain!();
5151
crate::impl_client_v17__save_mempool!();
52+
crate::impl_client_v17__scan_tx_out_set!();
5253
crate::impl_client_v17__verify_chain!();
5354
crate::impl_client_v17__verify_tx_out_proof!();
5455

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5353
crate::impl_client_v17__precious_block!();
5454
crate::impl_client_v17__prune_blockchain!();
5555
crate::impl_client_v17__save_mempool!();
56+
crate::impl_client_v17__scan_tx_out_set!();
5657
crate::impl_client_v17__verify_chain!();
5758
crate::impl_client_v17__verify_tx_out_proof!();
5859

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5151
crate::impl_client_v17__precious_block!();
5252
crate::impl_client_v17__prune_blockchain!();
5353
crate::impl_client_v17__save_mempool!();
54+
crate::impl_client_v17__scan_tx_out_set!();
5455
crate::impl_client_v17__verify_chain!();
5556
crate::impl_client_v17__verify_tx_out_proof!();
5657

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ crate::impl_client_v17__get_tx_out_set_info!();
5454
crate::impl_client_v17__precious_block!();
5555
crate::impl_client_v17__prune_blockchain!();
5656
crate::impl_client_v23__save_mempool!();
57+
crate::impl_client_v17__scan_tx_out_set!();
5758
crate::impl_client_v17__verify_chain!();
5859
crate::impl_client_v17__verify_tx_out_proof!();
5960

client/src/client_sync/v24/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ crate::impl_client_v24__get_tx_spending_prevout!();
5555
crate::impl_client_v17__precious_block!();
5656
crate::impl_client_v17__prune_blockchain!();
5757
crate::impl_client_v23__save_mempool!();
58+
crate::impl_client_v17__scan_tx_out_set!();
5859
crate::impl_client_v17__verify_chain!();
5960
crate::impl_client_v17__verify_tx_out_proof!();
6061

client/src/client_sync/v25/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ crate::impl_client_v17__precious_block!();
5656
crate::impl_client_v17__prune_blockchain!();
5757
crate::impl_client_v23__save_mempool!();
5858
crate::impl_client_v25__scan_blocks!();
59+
crate::impl_client_v17__scan_tx_out_set!();
5960
crate::impl_client_v17__verify_chain!();
6061
crate::impl_client_v17__verify_tx_out_proof!();
6162

0 commit comments

Comments
 (0)