File tree Expand file tree Collapse file tree 35 files changed +440
-28
lines changed Expand file tree Collapse file tree 35 files changed +440
-28
lines changed Original file line number Diff line number Diff line change 1+ // SPDX-License-Identifier: CC0-1.0
2+
3+ //! Macros for implementing JSON-RPC methods on a client.
4+ //!
5+ //! Specifically this is `== Hidden ==` methods that are not listed in the
6+ //! API docs of Bitcoin Core `v0.17`.
7+ //!
8+ //! All macros require `Client` to be in scope.
9+ //!
10+ //! See or use the `define_jsonrpc_minreq_client!` macro to define a `Client`.
11+
12+ /// Implements Bitcoin Core JSON-RPC API method `waitforblock`.
13+ #[ macro_export]
14+ macro_rules! impl_client_v17__wait_for_block {
15+ ( ) => {
16+ impl Client {
17+ pub fn wait_for_block( & self , hash: & bitcoin:: BlockHash ) -> Result <WaitForBlock > {
18+ self . call( "waitforblock" , & [ into_json( hash) ?] )
19+ }
20+ }
21+ } ;
22+ }
23+
24+ /// Implements Bitcoin Core JSON-RPC API method `waitforblockheight`.
25+ #[ macro_export]
26+ macro_rules! impl_client_v17__wait_for_block_height {
27+ ( ) => {
28+ impl Client {
29+ pub fn wait_for_block_height( & self , height: u64 ) -> Result <WaitForBlockHeight > {
30+ self . call( "waitforblockheight" , & [ into_json( height) ?] )
31+ }
32+ }
33+ } ;
34+ }
35+
36+ /// Implements Bitcoin Core JSON-RPC API method `waitfornewblock`.
37+ #[ macro_export]
38+ macro_rules! impl_client_v17__wait_for_new_block {
39+ ( ) => {
40+ impl Client {
41+ pub fn wait_for_new_block( & self ) -> Result <WaitForNewBlock > {
42+ self . call( "waitfornewblock" , & [ ] )
43+ }
44+ }
45+ } ;
46+ }
Original file line number Diff line number Diff line change 77pub mod blockchain;
88pub mod control;
99pub mod generating;
10+ pub mod hidden;
1011pub mod mining;
1112pub mod network;
1213pub mod raw_transactions;
@@ -64,6 +65,11 @@ crate::impl_client_v17__generate_to_address!();
6465crate :: impl_client_v17__generate!( ) ;
6566crate :: impl_client_v17__invalidate_block!( ) ;
6667
68+ // == Hidden ==
69+ crate :: impl_client_v17__wait_for_block!( ) ;
70+ crate :: impl_client_v17__wait_for_block_height!( ) ;
71+ crate :: impl_client_v17__wait_for_new_block!( ) ;
72+
6773// == Mining ==
6874crate :: impl_client_v17__get_block_template!( ) ;
6975crate :: impl_client_v17__get_mining_info!( ) ;
Original file line number Diff line number Diff line change @@ -70,6 +70,11 @@ crate::impl_client_v17__generate_to_address!();
7070crate :: impl_client_v17__generate!( ) ;
7171crate :: impl_client_v17__invalidate_block!( ) ;
7272
73+ // == Hidden ==
74+ crate :: impl_client_v17__wait_for_block!( ) ;
75+ crate :: impl_client_v17__wait_for_block_height!( ) ;
76+ crate :: impl_client_v17__wait_for_new_block!( ) ;
77+
7378// == Mining ==
7479crate :: impl_client_v17__get_block_template!( ) ;
7580crate :: impl_client_v17__get_mining_info!( ) ;
Original file line number Diff line number Diff line change @@ -65,6 +65,11 @@ crate::impl_client_v17__uptime!();
6565crate :: impl_client_v17__generate_to_address!( ) ;
6666crate :: impl_client_v17__invalidate_block!( ) ;
6767
68+ // == Hidden ==
69+ crate :: impl_client_v17__wait_for_block!( ) ;
70+ crate :: impl_client_v17__wait_for_block_height!( ) ;
71+ crate :: impl_client_v17__wait_for_new_block!( ) ;
72+
6873// == Mining ==
6974crate :: impl_client_v17__get_block_template!( ) ;
7075crate :: impl_client_v17__get_mining_info!( ) ;
Original file line number Diff line number Diff line change @@ -65,6 +65,11 @@ crate::impl_client_v17__generate_to_address!();
6565crate :: impl_client_v20__generate_to_descriptor!( ) ;
6666crate :: impl_client_v17__invalidate_block!( ) ;
6767
68+ // == Hidden ==
69+ crate :: impl_client_v17__wait_for_block!( ) ;
70+ crate :: impl_client_v17__wait_for_block_height!( ) ;
71+ crate :: impl_client_v17__wait_for_new_block!( ) ;
72+
6873// == Mining ==
6974crate :: impl_client_v17__get_block_template!( ) ;
7075crate :: impl_client_v17__get_mining_info!( ) ;
Original file line number Diff line number Diff line change @@ -72,6 +72,9 @@ crate::impl_client_v17__invalidate_block!();
7272
7373// == Hidden ==
7474crate :: impl_client_v21__add_peer_address!( ) ;
75+ crate :: impl_client_v17__wait_for_block!( ) ;
76+ crate :: impl_client_v17__wait_for_block_height!( ) ;
77+ crate :: impl_client_v17__wait_for_new_block!( ) ;
7578
7679// == Mining ==
7780crate :: impl_client_v17__get_block_template!( ) ;
Original file line number Diff line number Diff line change @@ -70,6 +70,9 @@ crate::impl_client_v17__invalidate_block!();
7070
7171// == Hidden ==
7272crate :: impl_client_v21__add_peer_address!( ) ;
73+ crate :: impl_client_v17__wait_for_block!( ) ;
74+ crate :: impl_client_v17__wait_for_block_height!( ) ;
75+ crate :: impl_client_v17__wait_for_new_block!( ) ;
7376
7477// == Mining ==
7578crate :: impl_client_v17__get_block_template!( ) ;
Original file line number Diff line number Diff line change @@ -73,6 +73,9 @@ crate::impl_client_v17__invalidate_block!();
7373
7474// == Hidden ==
7575crate :: impl_client_v21__add_peer_address!( ) ;
76+ crate :: impl_client_v17__wait_for_block!( ) ;
77+ crate :: impl_client_v17__wait_for_block_height!( ) ;
78+ crate :: impl_client_v17__wait_for_new_block!( ) ;
7679
7780// == Mining ==
7881crate :: impl_client_v17__get_block_template!( ) ;
Original file line number Diff line number Diff line change @@ -74,6 +74,9 @@ crate::impl_client_v17__invalidate_block!();
7474
7575// == Hidden ==
7676crate :: impl_client_v21__add_peer_address!( ) ;
77+ crate :: impl_client_v17__wait_for_block!( ) ;
78+ crate :: impl_client_v17__wait_for_block_height!( ) ;
79+ crate :: impl_client_v17__wait_for_new_block!( ) ;
7780
7881// == Mining ==
7982crate :: impl_client_v17__get_block_template!( ) ;
Original file line number Diff line number Diff line change @@ -75,6 +75,9 @@ crate::impl_client_v17__invalidate_block!();
7575
7676// == Hidden ==
7777crate :: impl_client_v21__add_peer_address!( ) ;
78+ crate :: impl_client_v17__wait_for_block!( ) ;
79+ crate :: impl_client_v17__wait_for_block_height!( ) ;
80+ crate :: impl_client_v17__wait_for_new_block!( ) ;
7881
7982// == Mining ==
8083crate :: impl_client_v17__get_block_template!( ) ;
You can’t perform that action at this time.
0 commit comments