Skip to content

Commit 0c676c7

Browse files
committed
Add v18 getnodeaddresses, test and reexport
Add `GetNodeAddresses` and `NodeAddress` to v18 types. Remove the todo in the tables and reexport the methods in newer versions. Add macro to clients for v18 getnodeaddresses Add the macro for the new function and reexport for all newer versions. Add integration test for v18 getnodeaddresses
1 parent 1670c1c commit 0c676c7

File tree

25 files changed

+99
-11
lines changed

25 files changed

+99
-11
lines changed

client/src/client_sync/v18/mod.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
//! We ignore option arguments unless they effect the shape of the returned JSON data.
66
77
pub mod control;
8+
pub mod network;
89
pub mod raw_transactions;
910

1011
use std::collections::BTreeMap;
@@ -74,6 +75,7 @@ crate::impl_client_v17__submitblock!();
7475
crate::impl_client_v17__getaddednodeinfo!();
7576
crate::impl_client_v17__getnettotals!();
7677
crate::impl_client_v17__getnetworkinfo!();
78+
crate::impl_client_v18__getnodeaddresses!();
7779
crate::impl_client_v17__getpeerinfo!();
7880

7981
// == Rawtransactions ==

client/src/client_sync/v18/network.rs

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+
//! Requires `Client` to be in scope.
6+
//!
7+
//! Specifically this is methods found under the `== Network ==` section of the
8+
//! API docs of Bitcoin Core `v0.18`.
9+
//!
10+
//! See, or use the `define_jsonrpc_minreq_client!` macro to define a `Client`.
11+
12+
/// Implements Bitcoin Core JSON-RPC API method `getnodeaddresses`
13+
#[macro_export]
14+
macro_rules! impl_client_v18__getnodeaddresses {
15+
() => {
16+
impl Client {
17+
pub fn get_node_addresses(&self) -> Result<GetNodeAddresses> {
18+
self.call("getnodeaddresses", &[])
19+
}
20+
}
21+
};
22+
}

client/src/client_sync/v19/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ crate::impl_client_v17__submitblock!();
7373
crate::impl_client_v17__getaddednodeinfo!();
7474
crate::impl_client_v17__getnettotals!();
7575
crate::impl_client_v17__getnetworkinfo!();
76+
crate::impl_client_v18__getnodeaddresses!();
7677
crate::impl_client_v17__getpeerinfo!();
7778

7879
// == Rawtransactions ==

client/src/client_sync/v20.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ crate::impl_client_v17__submitblock!();
7070
crate::impl_client_v17__getaddednodeinfo!();
7171
crate::impl_client_v17__getnettotals!();
7272
crate::impl_client_v17__getnetworkinfo!();
73+
crate::impl_client_v18__getnodeaddresses!();
7374
crate::impl_client_v17__getpeerinfo!();
7475

7576
// == Rawtransactions ==

client/src/client_sync/v21/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ crate::impl_client_v17__submitblock!();
7272
crate::impl_client_v17__getaddednodeinfo!();
7373
crate::impl_client_v17__getnettotals!();
7474
crate::impl_client_v17__getnetworkinfo!();
75+
crate::impl_client_v18__getnodeaddresses!();
7576
crate::impl_client_v17__getpeerinfo!();
7677

7778
// == Rawtransactions ==

client/src/client_sync/v22/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ crate::impl_client_v17__submitblock!();
7373
crate::impl_client_v17__getaddednodeinfo!();
7474
crate::impl_client_v17__getnettotals!();
7575
crate::impl_client_v17__getnetworkinfo!();
76+
crate::impl_client_v18__getnodeaddresses!();
7677
crate::impl_client_v17__getpeerinfo!();
7778

7879
// == Rawtransactions ==

client/src/client_sync/v23/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ crate::impl_client_v17__submitblock!();
7474
crate::impl_client_v17__getaddednodeinfo!();
7575
crate::impl_client_v17__getnettotals!();
7676
crate::impl_client_v17__getnetworkinfo!();
77+
crate::impl_client_v18__getnodeaddresses!();
7778
crate::impl_client_v17__getpeerinfo!();
7879

7980
// == Rawtransactions ==

client/src/client_sync/v24.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ crate::impl_client_v17__submitblock!();
7171
crate::impl_client_v17__getaddednodeinfo!();
7272
crate::impl_client_v17__getnettotals!();
7373
crate::impl_client_v17__getnetworkinfo!();
74+
crate::impl_client_v18__getnodeaddresses!();
7475
crate::impl_client_v17__getpeerinfo!();
7576

7677
// == Rawtransactions ==

client/src/client_sync/v25.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ crate::impl_client_v17__submitblock!();
7171
crate::impl_client_v17__getaddednodeinfo!();
7272
crate::impl_client_v17__getnettotals!();
7373
crate::impl_client_v17__getnetworkinfo!();
74+
crate::impl_client_v18__getnodeaddresses!();
7475
crate::impl_client_v17__getpeerinfo!();
7576

7677
// == Rawtransactions ==

client/src/client_sync/v26/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ crate::impl_client_v17__submitblock!();
7676
crate::impl_client_v17__getaddednodeinfo!();
7777
crate::impl_client_v17__getnettotals!();
7878
crate::impl_client_v17__getnetworkinfo!();
79+
crate::impl_client_v18__getnodeaddresses!();
7980
crate::impl_client_v17__getpeerinfo!();
8081

8182
// == Rawtransactions ==

0 commit comments

Comments
 (0)