Skip to content

Commit 2e76667

Browse files
committed
Implement pruneblock method and test
1 parent 3a059f8 commit 2e76667

File tree

40 files changed

+113
-57
lines changed

40 files changed

+113
-57
lines changed

client/src/client_sync/v17/blockchain.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,19 @@ macro_rules! impl_client_v17__preciousblock {
289289
};
290290
}
291291

292+
/// Implements Bitcoin Core JSON-RPC API method `pruneblockchain`
293+
#[macro_export]
294+
macro_rules! impl_client_v17__pruneblockchain {
295+
() => {
296+
impl Client {
297+
/// Instructs the node to prune the blockchain up to a specified height or timestamp.
298+
pub fn prune_blockchain(&self, target: u64) -> Result<PruneBlockchain> {
299+
self.call("pruneblockchain", &[target.into()])
300+
}
301+
}
302+
};
303+
}
304+
292305
/// Implements Bitcoin Core JSON-RPC API method `verifytxoutproof`
293306
#[macro_export]
294307
macro_rules! impl_client_v17__verifytxoutproof {

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ crate::impl_client_v17__gettxout!();
4848
crate::impl_client_v17__gettxoutproof!();
4949
crate::impl_client_v17__gettxoutsetinfo!();
5050
crate::impl_client_v17__preciousblock!();
51+
crate::impl_client_v17__pruneblockchain!();
5152
crate::impl_client_v17__verifytxoutproof!();
5253

5354
// == Control ==

client/src/client_sync/v18/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ crate::impl_client_v17__gettxout!();
4242
crate::impl_client_v17__gettxoutproof!();
4343
crate::impl_client_v17__gettxoutsetinfo!();
4444
crate::impl_client_v17__preciousblock!();
45+
crate::impl_client_v17__pruneblockchain!();
4546
crate::impl_client_v17__verifytxoutproof!();
4647

4748
// == Control ==

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ crate::impl_client_v17__gettxout!();
4343
crate::impl_client_v17__gettxoutproof!();
4444
crate::impl_client_v17__gettxoutsetinfo!();
4545
crate::impl_client_v17__preciousblock!();
46+
crate::impl_client_v17__pruneblockchain!();
4647
crate::impl_client_v17__verifytxoutproof!();
4748

4849
// == Control ==

client/src/client_sync/v20.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ crate::impl_client_v17__gettxout!();
4040
crate::impl_client_v17__gettxoutproof!();
4141
crate::impl_client_v17__gettxoutsetinfo!();
4242
crate::impl_client_v17__preciousblock!();
43+
crate::impl_client_v17__pruneblockchain!();
4344
crate::impl_client_v17__verifytxoutproof!();
4445

4546
// == Control ==

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ crate::impl_client_v17__gettxout!();
4242
crate::impl_client_v17__gettxoutproof!();
4343
crate::impl_client_v17__gettxoutsetinfo!();
4444
crate::impl_client_v17__preciousblock!();
45+
crate::impl_client_v17__pruneblockchain!();
4546
crate::impl_client_v17__verifytxoutproof!();
4647

4748
// == Control ==

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ crate::impl_client_v22__gettxout!();
4343
crate::impl_client_v17__gettxoutproof!();
4444
crate::impl_client_v17__gettxoutsetinfo!();
4545
crate::impl_client_v17__preciousblock!();
46+
crate::impl_client_v17__pruneblockchain!();
4647
crate::impl_client_v17__verifytxoutproof!();
4748

4849
// == Control ==

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ crate::impl_client_v22__gettxout!();
4343
crate::impl_client_v17__gettxoutproof!();
4444
crate::impl_client_v17__gettxoutsetinfo!();
4545
crate::impl_client_v17__preciousblock!();
46+
crate::impl_client_v17__pruneblockchain!();
4647
crate::impl_client_v17__verifytxoutproof!();
4748

4849
// == Control ==

client/src/client_sync/v24.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ crate::impl_client_v22__gettxout!();
4040
crate::impl_client_v17__gettxoutproof!();
4141
crate::impl_client_v17__gettxoutsetinfo!();
4242
crate::impl_client_v17__preciousblock!();
43+
crate::impl_client_v17__pruneblockchain!();
4344
crate::impl_client_v17__verifytxoutproof!();
4445

4546
// == Control ==

client/src/client_sync/v25.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ crate::impl_client_v22__gettxout!();
4040
crate::impl_client_v17__gettxoutproof!();
4141
crate::impl_client_v17__gettxoutsetinfo!();
4242
crate::impl_client_v17__preciousblock!();
43+
crate::impl_client_v17__pruneblockchain!();
4344
crate::impl_client_v17__verifytxoutproof!();
4445

4546
// == Control ==

0 commit comments

Comments
 (0)