Skip to content

Commit e8a7c49

Browse files
committed
Merge rust-bitcoin#76: Add support for invalidateblock
8d56072 Add support for `invalidateblock` (Elias Rohrer) Pull request description: Fixes rust-bitcoin#67. While this is RPC call is not listed as part of the official RPC API, we add support here as it can be crucial for regtest testing (e.g. writing reorg tests). ACKs for top commit: tcharding: ACK 8d56072 Tree-SHA512: 7afc359b338c53a1fe5a1d2c1ece5e200c10fbab3a6239ed883fb5e67f0efbf2ced01f900bd64d964dec8ba2d4b5bebf1a0c205ffb29d7b4502f4e1b5db45c65
2 parents 33b0b12 + 8d56072 commit e8a7c49

File tree

14 files changed

+41
-0
lines changed

14 files changed

+41
-0
lines changed

client/src/client_sync/v17/generating.rs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,15 @@ macro_rules! impl_client_v17__generate {
3636
}
3737
};
3838
}
39+
40+
/// Implements Bitcoin Core JSON-RPC API method `invalidateblock`
41+
#[macro_export]
42+
macro_rules! impl_client_v17__invalidateblock {
43+
() => {
44+
impl Client {
45+
pub fn invalidate_block(&self, hash: BlockHash) -> Result<()> {
46+
self.call("invalidateblock", &[into_json(hash)?])
47+
}
48+
}
49+
};
50+
}

client/src/client_sync/v17/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ crate::impl_client_v17__uptime!();
8585
// == Generating ==
8686
crate::impl_client_v17__generatetoaddress!();
8787
crate::impl_client_v17__generate!();
88+
crate::impl_client_v17__invalidateblock!();
8889

8990
// == Network ==
9091
crate::impl_client_v17__getaddednodeinfo!();

client/src/client_sync/v18.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ crate::impl_client_v17__uptime!();
4848
// == Generating ==
4949
crate::impl_client_v17__generatetoaddress!();
5050
crate::impl_client_v17__generate!();
51+
crate::impl_client_v17__invalidateblock!();
5152

5253
// == Network ==
5354
crate::impl_client_v17__getaddednodeinfo!();

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ crate::impl_client_v17__stop!();
2525

2626
// == Generating ==
2727
crate::impl_client_v17__generatetoaddress!();
28+
crate::impl_client_v17__invalidateblock!();
2829

2930
// == Network ==
3031
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v20.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ crate::impl_client_v17__stop!();
2626

2727
// == Generating ==
2828
crate::impl_client_v17__generatetoaddress!();
29+
crate::impl_client_v17__invalidateblock!();
2930

3031
// == Network ==
3132
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v21.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ crate::impl_client_v17__stop!();
2525

2626
// == Generating ==
2727
crate::impl_client_v17__generatetoaddress!();
28+
crate::impl_client_v17__invalidateblock!();
2829

2930
// == Network ==
3031
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ crate::impl_client_v17__stop!();
2525

2626
// == Generating ==
2727
crate::impl_client_v17__generatetoaddress!();
28+
crate::impl_client_v17__invalidateblock!();
2829

2930
// == Network ==
3031
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v23.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ crate::impl_client_v17__stop!();
2424

2525
// == Generating ==
2626
crate::impl_client_v17__generatetoaddress!();
27+
crate::impl_client_v17__invalidateblock!();
2728

2829
// == Network ==
2930
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v24.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ crate::impl_client_v17__stop!();
2626

2727
// == Generating ==
2828
crate::impl_client_v17__generatetoaddress!();
29+
crate::impl_client_v17__invalidateblock!();
2930

3031
// == Network ==
3132
crate::impl_client_v17__getnetworkinfo!();

client/src/client_sync/v25.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ crate::impl_client_v17__stop!();
2626

2727
// == Generating ==
2828
crate::impl_client_v17__generatetoaddress!();
29+
crate::impl_client_v17__invalidateblock!();
2930

3031
// == Network ==
3132
crate::impl_client_v17__getnetworkinfo!();

0 commit comments

Comments
 (0)