Skip to content

Commit c633a03

Browse files
committed
Merge #284: Address all TODO in v20
aa91a26 Check validateaddress and remove TODO (Jamil Lambert, PhD) 3f8efb9 Check signmessagewithprivkey and remove TODO (Jamil Lambert, PhD) 5804290 Check createmultisig and remove TODO (Jamil Lambert, PhD) da6fc87 Add generatetodescriptor type, model and test (Jamil Lambert, PhD) Pull request description: Go through all the `TODO` in v20 types. NB. v17 to v19 are all done already. Add the new RPC `generatetodescriptor`. Other 3 RPCs require no further action, remove the `TODO` with the reason stated in the commit log. ACKs for top commit: tcharding: ACK aa91a26 Tree-SHA512: 121a855cc5c285c36b5ffd4ef31b5b977ab20778205c51992116ff1e127c88ec3e2b3eafd19bb810e22da179a87038ac5e1023e8f489855134c4876743b9e2e7
2 parents e422371 + aa91a26 commit c633a03

File tree

25 files changed

+148
-37
lines changed

25 files changed

+148
-37
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// SPDX-License-Identifier: CC0-1.0
2+
3+
//! Macros for implementing JSON-RPC methods on a client.
4+
//!
5+
//! Specifically this is methods found under the `== Generating ==` section of the
6+
//! API docs of Bitcoin Core `v0.20`.
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 `generatetodescriptor`
13+
#[macro_export]
14+
macro_rules! impl_client_v20__generate_to_descriptor {
15+
() => {
16+
impl Client {
17+
pub fn generate_to_descriptor(
18+
&self,
19+
nblocks: usize,
20+
descriptor: &str,
21+
) -> Result<GenerateToDescriptor> {
22+
self.call("generatetodescriptor", &[nblocks.into(), descriptor.into()])
23+
}
24+
}
25+
};
26+
}

client/src/client_sync/v20/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
//!
55
//! We ignore option arguments unless they effect the shape of the returned JSON data.
66
7+
pub mod generating;
8+
79
use std::collections::BTreeMap;
810
use std::path::Path;
911

@@ -60,6 +62,7 @@ crate::impl_client_v17__uptime!();
6062

6163
// == Generating ==
6264
crate::impl_client_v17__generate_to_address!();
65+
crate::impl_client_v20__generate_to_descriptor!();
6366
crate::impl_client_v17__invalidate_block!();
6467

6568
// == Mining ==

client/src/client_sync/v21/mod.rs

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

6363
// == Generating ==
6464
crate::impl_client_v17__generate_to_address!();
65+
crate::impl_client_v20__generate_to_descriptor!();
6566
crate::impl_client_v17__invalidate_block!();
6667

6768
// == Mining ==

client/src/client_sync/v22/mod.rs

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

6363
// == Generating ==
6464
crate::impl_client_v17__generate_to_address!();
65+
crate::impl_client_v20__generate_to_descriptor!();
6566
crate::impl_client_v17__invalidate_block!();
6667

6768
// == Mining ==

client/src/client_sync/v23/mod.rs

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

6565
// == Generating ==
6666
crate::impl_client_v17__generate_to_address!();
67+
crate::impl_client_v20__generate_to_descriptor!();
6768
crate::impl_client_v17__invalidate_block!();
6869

6970
// == Mining ==

client/src/client_sync/v24/mod.rs

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

6262
// == Generating ==
6363
crate::impl_client_v17__generate_to_address!();
64+
crate::impl_client_v20__generate_to_descriptor!();
6465
crate::impl_client_v17__invalidate_block!();
6566

6667
// == Mining ==

client/src/client_sync/v25/mod.rs

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

6262
// == Generating ==
6363
crate::impl_client_v17__generate_to_address!();
64+
crate::impl_client_v20__generate_to_descriptor!();
6465
crate::impl_client_v17__invalidate_block!();
6566

6667
// == Mining ==

client/src/client_sync/v26/mod.rs

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

6666
// == Generating ==
6767
crate::impl_client_v17__generate_to_address!();
68+
crate::impl_client_v20__generate_to_descriptor!();
6869
crate::impl_client_v17__invalidate_block!();
6970

7071
// == Mining ==

client/src/client_sync/v27/mod.rs

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

6262
// == Generating ==
6363
crate::impl_client_v17__generate_to_address!();
64+
crate::impl_client_v20__generate_to_descriptor!();
6465
crate::impl_client_v17__invalidate_block!();
6566

6667
// == Mining ==

client/src/client_sync/v28/mod.rs

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

6464
// == Generating ==
6565
crate::impl_client_v17__generate_to_address!();
66+
crate::impl_client_v20__generate_to_descriptor!();
6667
crate::impl_client_v17__invalidate_block!();
6768

6869
// == Mining ==

0 commit comments

Comments
 (0)