corepc_client/client_sync/v29/
mod.rs1pub mod blockchain;
8
9use std::collections::BTreeMap;
10use std::path::Path;
11
12use bitcoin::address::{Address, NetworkChecked};
13use bitcoin::{sign_message, Amount, Block, BlockHash, PublicKey, Txid};
14use serde::{Deserialize, Serialize};
15use serde_json::json;
16
17use crate::client_sync::into_json;
18use crate::types::v29::*;
19
20#[rustfmt::skip] pub use crate::client_sync::{
22 v17::{Input, Output, WalletCreateFundedPsbtInput},
23 v23::AddressType,
24};
25
26crate::define_jsonrpc_minreq_client!("v29");
27crate::impl_client_check_expected_server_version!({ [290000] });
28
29crate::impl_client_v17__getbestblockhash!();
31crate::impl_client_v17__getblock!();
32crate::impl_client_v17__getblockchaininfo!();
33crate::impl_client_v17__getblockcount!();
34crate::impl_client_v19__getblockfilter!();
35crate::impl_client_v17__getblockhash!();
36crate::impl_client_v17__getblockheader!();
37crate::impl_client_v17__getblockstats!();
38crate::impl_client_v17__getchaintips!();
39crate::impl_client_v17__getchaintxstats!();
40crate::impl_client_v29__getdescriptoractivity!();
41crate::impl_client_v17__getdifficulty!();
42crate::impl_client_v17__getmempoolancestors!();
43crate::impl_client_v17__getmempooldescendants!();
44crate::impl_client_v17__getmempoolentry!();
45crate::impl_client_v17__getmempoolinfo!();
46crate::impl_client_v17__getrawmempool!();
47crate::impl_client_v17__gettxout!();
48crate::impl_client_v17__gettxoutproof!();
49crate::impl_client_v26__gettxoutsetinfo!();
50crate::impl_client_v17__preciousblock!();
51crate::impl_client_v17__pruneblockchain!();
52crate::impl_client_v23__savemempool!();
53crate::impl_client_v17__verifychain!();
54crate::impl_client_v17__verifytxoutproof!();
55
56crate::impl_client_v17__getmemoryinfo!();
58crate::impl_client_v18__getrpcinfo!();
59crate::impl_client_v17__help!();
60crate::impl_client_v17__logging!();
61crate::impl_client_v17__stop!();
62crate::impl_client_v17__uptime!();
63
64crate::impl_client_v17__generatetoaddress!();
66crate::impl_client_v17__invalidateblock!();
67
68crate::impl_client_v17__getblocktemplate!();
70crate::impl_client_v17__getmininginfo!();
71crate::impl_client_v17__getnetworkhashps!();
72crate::impl_client_v26__get_prioritised_transactions!();
73crate::impl_client_v17__prioritisetransaction!();
74crate::impl_client_v17__submitblock!();
75
76crate::impl_client_v17__getaddednodeinfo!();
78crate::impl_client_v17__getnettotals!();
79crate::impl_client_v17__getnetworkinfo!();
80crate::impl_client_v18__getnodeaddresses!();
81crate::impl_client_v17__getpeerinfo!();
82
83crate::impl_client_v18__analyzepsbt!();
85crate::impl_client_v17__combinepsbt!();
86crate::impl_client_v17__combinerawtransaction!();
87crate::impl_client_v17__converttopsbt!();
88crate::impl_client_v17__createpsbt!();
89crate::impl_client_v17__createrawtransaction!();
90crate::impl_client_v17__decodepsbt!();
91crate::impl_client_v17__decoderawtransaction!();
92crate::impl_client_v17__decodescript!();
93crate::impl_client_v17__finalizepsbt!();
94crate::impl_client_v17__fundrawtransaction!();
95crate::impl_client_v17__getrawtransaction!();
96crate::impl_client_v18__joinpsbts!();
97crate::impl_client_v17__sendrawtransaction!();
98crate::impl_client_v17__signrawtransaction!();
99crate::impl_client_v17__signrawtransactionwithkey!();
100crate::impl_client_v28__submitpackage!();
101crate::impl_client_v17__testmempoolaccept!();
102crate::impl_client_v18__utxoupdatepsbt!();
103
104crate::impl_client_v17__createmultisig!();
106crate::impl_client_v17__estimatesmartfee!();
107crate::impl_client_v17__signmessagewithprivkey!();
108crate::impl_client_v17__validateaddress!();
109crate::impl_client_v17__verifymessage!();
110
111crate::impl_client_v17__addmultisigaddress!();
113crate::impl_client_v17__bumpfee!();
114crate::impl_client_v23__createwallet!();
115crate::impl_client_v17__dumpprivkey!();
116crate::impl_client_v17__dumpwallet!();
117crate::impl_client_v17__getaddressesbylabel!();
118crate::impl_client_v17__getaddressinfo!();
119crate::impl_client_v17__getbalance!();
120crate::impl_client_v19__getbalances!();
121crate::impl_client_v17__getnewaddress!();
122crate::impl_client_v17__getrawchangeaddress!();
123crate::impl_client_v17__getreceivedbyaddress!();
124crate::impl_client_v17__gettransaction!();
125crate::impl_client_v17__getunconfirmedbalance!();
126crate::impl_client_v17__getwalletinfo!();
127crate::impl_client_v17__listaddressgroupings!();
128crate::impl_client_v17__listlabels!();
129crate::impl_client_v17__listlockunspent!();
130crate::impl_client_v17__listreceivedbyaddress!();
131crate::impl_client_v17__listsinceblock!();
132crate::impl_client_v17__listtransactions!();
133crate::impl_client_v17__listunspent!();
134crate::impl_client_v17__listwallets!();
135crate::impl_client_v22__loadwallet!();
136crate::impl_client_v17__rescanblockchain!();
137crate::impl_client_v17__sendmany!();
138crate::impl_client_v17__sendtoaddress!();
139crate::impl_client_v17__signmessage!();
140crate::impl_client_v17__signrawtransactionwithwallet!();
141crate::impl_client_v21__unloadwallet!();
142crate::impl_client_v17__walletcreatefundedpsbt!();
143crate::impl_client_v17__walletprocesspsbt!();
144
145#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq, Default)]
147pub struct TemplateRequest {
148 #[serde(skip_serializing_if = "Option::is_none")]
149 pub mode: Option<String>,
150 #[serde(default, skip_serializing_if = "Vec::is_empty")]
151 pub capabilities: Vec<String>,
152 #[serde(default, skip_serializing_if = "Vec::is_empty")]
153 pub rules: Vec<TemplateRules>,
154 #[serde(skip_serializing_if = "Option::is_none")]
155 pub longpollid: Option<String>,
156 #[serde(skip_serializing_if = "Option::is_none")]
157 pub data: Option<String>,
158}
159
160#[derive(Copy, Clone, PartialEq, Eq, Debug, Deserialize, Serialize)]
162#[serde(rename_all = "lowercase")]
163pub enum TemplateRules {
164 Segwit,
166 Signet,
168 Csv,
170 Taproot,
172}