1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
//! util RPC method wrappers
//!
//! This module contains transport wrappers for util methods.
use ;
use crate;
/// Creates a multi-signature address with n signatures of m keys required.
/// It returns a json object with the address and redeemScript.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.createmultisig(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::createmultisig(&transport, ...).await`
///
/// Calls the `createmultisig` RPC method.
pub async
/// Derives one or more addresses corresponding to an output descriptor.
/// Examples of output descriptors are:
/// pkh(<pubkey>) P2PKH outputs for the given pubkey
/// wpkh(<pubkey>) Native segwit P2PKH outputs for the given pubkey
/// sh(multi(<n>,<pubkey>,<pubkey>,...)) P2SH-multisig outputs for the given threshold and pubkeys
/// raw(<hex script>) Outputs whose output script equals the specified hex-encoded bytes
/// tr(<pubkey>,multi_a(<n>,<pubkey>,<pubkey>,...)) P2TR-multisig outputs for the given threshold and pubkeys
/// In the above, <pubkey> either refers to a fixed public key in hexadecimal notation, or to an xpub/xprv optionally followed by one
/// or more path elements separated by "/", where "h" represents a hardened child key.
/// For more information on output descriptors, see the documentation in the doc/descriptors.md file.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.deriveaddresses(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::deriveaddresses(&transport, ...).await`
///
/// Calls the `deriveaddresses` RPC method.
pub async
/// Estimates the approximate fee per kilobyte needed for a transaction to begin
/// confirmation within conf_target blocks if possible and return the number of blocks
/// for which the estimate is valid. Uses virtual transaction size as defined
/// in BIP 141 (witness data is discounted).
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.estimatesmartfee(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::estimatesmartfee(&transport, ...).await`
///
/// Calls the `estimatesmartfee` RPC method.
pub async
/// Analyses a descriptor.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.getdescriptorinfo(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::getdescriptorinfo(&transport, ...).await`
///
/// Calls the `getdescriptorinfo` RPC method.
pub async
/// Returns the status of one or all available indices currently running in the node.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.getindexinfo(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::getindexinfo(&transport, ...).await`
///
/// Calls the `getindexinfo` RPC method.
pub async
/// Sign a message with the private key of an address
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.signmessagewithprivkey(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::signmessagewithprivkey(&transport, ...).await`
///
/// Calls the `signmessagewithprivkey` RPC method.
pub async
/// Return information about the given bitcoin address.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.validateaddress(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::validateaddress(&transport, ...).await`
///
/// Calls the `validateaddress` RPC method.
pub async
/// Verify a signed message.
///
/// # Usage
/// This method can be called using the high-level client interface:
/// - `client.verifymessage(...).await`
/// Or directly via the transport layer for advanced use cases:
/// - `transport::verifymessage(&transport, ...).await`
///
/// Calls the `verifymessage` RPC method.
pub async