Skip to content

Commit 4fa58a2

Browse files
committed
Add enumeratesigners struct
Add the struct to types. Add the client macro. Update the table to version, no model is required. Currently untested. Add the reexports.
1 parent d726f28 commit 4fa58a2

File tree

26 files changed

+104
-16
lines changed

26 files changed

+104
-16
lines changed

client/src/client_sync/v22/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
//!
55
//! We ignore option arguments unless they effect the shape of the returned JSON data.
66
7+
mod signer;
78
mod wallet;
89

910
use std::collections::BTreeMap;
@@ -110,6 +111,9 @@ crate::impl_client_v17__sign_raw_transaction_with_key!();
110111
crate::impl_client_v17__test_mempool_accept!();
111112
crate::impl_client_v18__utxo_update_psbt!();
112113

114+
// == Signer ==
115+
crate::impl_client_v22__enumerate_signers!();
116+
113117
// == Util ==
114118
crate::impl_client_v17__create_multisig!();
115119
crate::impl_client_v18__derive_addresses!();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
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 `== Signer ==` section of the
6+
//! API docs of Bitcoin Core `v22`.
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 `enumeratesigners`
13+
#[macro_export]
14+
macro_rules! impl_client_v22__enumerate_signers {
15+
() => {
16+
impl Client {
17+
pub fn enumerate_signers(&self) -> Result<EnumerateSigners> {
18+
self.call("enumeratesigners", &[])
19+
}
20+
}
21+
};
22+
}

client/src/client_sync/v23/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,9 @@ crate::impl_client_v17__sign_raw_transaction_with_key!();
112112
crate::impl_client_v17__test_mempool_accept!();
113113
crate::impl_client_v18__utxo_update_psbt!();
114114

115+
// == Signer ==
116+
crate::impl_client_v22__enumerate_signers!();
117+
115118
// == Util ==
116119
crate::impl_client_v17__create_multisig!();
117120
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v24/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,9 @@ crate::impl_client_v17__sign_raw_transaction_with_key!();
109109
crate::impl_client_v17__test_mempool_accept!();
110110
crate::impl_client_v18__utxo_update_psbt!();
111111

112+
// == Signer ==
113+
crate::impl_client_v22__enumerate_signers!();
114+
112115
// == Util ==
113116
crate::impl_client_v17__create_multisig!();
114117
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v25/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ crate::impl_client_v17__sign_raw_transaction_with_key!();
111111
crate::impl_client_v17__test_mempool_accept!();
112112
crate::impl_client_v18__utxo_update_psbt!();
113113

114+
// == Signer ==
115+
crate::impl_client_v22__enumerate_signers!();
116+
114117
// == Util ==
115118
crate::impl_client_v17__create_multisig!();
116119
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v26/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ crate::impl_client_v26__submit_package!();
115115
crate::impl_client_v17__test_mempool_accept!();
116116
crate::impl_client_v18__utxo_update_psbt!();
117117

118+
// == Signer ==
119+
crate::impl_client_v22__enumerate_signers!();
120+
118121
// == Util ==
119122
crate::impl_client_v17__create_multisig!();
120123
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v27/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ crate::impl_client_v26__submit_package!();
111111
crate::impl_client_v17__test_mempool_accept!();
112112
crate::impl_client_v18__utxo_update_psbt!();
113113

114+
// == Signer ==
115+
crate::impl_client_v22__enumerate_signers!();
116+
114117
// == Util ==
115118
crate::impl_client_v17__create_multisig!();
116119
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v28/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ crate::impl_client_v28__submit_package!();
113113
crate::impl_client_v17__test_mempool_accept!();
114114
crate::impl_client_v18__utxo_update_psbt!();
115115

116+
// == Signer ==
117+
crate::impl_client_v22__enumerate_signers!();
118+
116119
// == Util ==
117120
crate::impl_client_v17__create_multisig!();
118121
crate::impl_client_v18__derive_addresses!();

client/src/client_sync/v29/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ crate::impl_client_v28__submit_package!();
113113
crate::impl_client_v17__test_mempool_accept!();
114114
crate::impl_client_v18__utxo_update_psbt!();
115115

116+
// == Signer ==
117+
crate::impl_client_v22__enumerate_signers!();
118+
116119
// == Util ==
117120
crate::impl_client_v17__create_multisig!();
118121
crate::impl_client_v18__derive_addresses!();

types/src/v22/mod.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@
144144
//!
145145
//! | JSON-RPC Method Name | Returns | Notes |
146146
//! |:-----------------------------------|:---------------:|:--------------------------------------:|
147-
//! | enumeratesigners | version + model | TODO |
147+
//! | enumeratesigners | version | UNTESTED |
148148
//!
149149
//! </details>
150150
//!
@@ -247,13 +247,15 @@ mod blockchain;
247247
mod control;
248248
mod network;
249249
mod raw_transactions;
250+
mod signer;
250251

251252
#[doc(inline)]
252253
pub use self::{
253254
blockchain::GetMempoolInfo,
254255
control::Logging,
255256
network::{Banned, GetPeerInfo, ListBanned},
256257
raw_transactions::{DecodeScript, DecodeScriptError},
258+
signer::EnumerateSigners,
257259
};
258260
#[doc(inline)]
259261
pub use crate::{

0 commit comments

Comments
 (0)