corepc_client/client_sync/v22/
wallet.rs

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 `== Wallet ==` 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 `listdescriptors`.
13#[macro_export]
14macro_rules! impl_client_v22__list_descriptors {
15    () => {
16        impl Client {
17            pub fn list_descriptors(&self) -> Result<ListDescriptors> {
18                self.call("listdescriptors", &[])
19            }
20        }
21    };
22}
23
24/// Implements Bitcoin Core JSON-RPC API method `loadwallet`.
25#[macro_export]
26macro_rules! impl_client_v22__load_wallet {
27    () => {
28        impl Client {
29            pub fn load_wallet(&self, wallet: &str) -> Result<LoadWallet> {
30                self.call("loadwallet", &[wallet.into()])
31            }
32        }
33    };
34}
35
36/// Implements Bitcoin Core JSON-RPC API method `walletdisplayaddress`.
37#[macro_export]
38macro_rules! impl_client_v22__wallet_display_address {
39    () => {
40        impl Client {
41            pub fn wallet_display_address(&self, address: &str) -> Result<WalletDisplayAddress> {
42                self.call("walletdisplayaddress", &[address.into()])
43            }
44        }
45    };
46}