corepc_client/client_sync/v17/
mod.rs

1// SPDX-License-Identifier: CC0-1.0
2
3//! A JSON-RPC client for testing against Bitcoin Core `v0.17`.
4//!
5//! We ignore option arguments unless they effect the shape of the returned JSON data.
6
7pub mod blockchain;
8pub mod control;
9pub mod generating;
10pub mod network;
11pub mod raw_transactions;
12pub mod wallet;
13
14use std::collections::BTreeMap;
15use std::path::Path;
16
17use bitcoin::address::{Address, NetworkChecked};
18use bitcoin::{Amount, Block, BlockHash, PublicKey, Txid};
19use serde::{Deserialize, Serialize};
20
21use crate::client_sync::into_json;
22use crate::types::v17::*;
23
24/// An element in the `inputs` argument of method `walletcreatefundedpsbt`.
25#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
26pub struct WalletCreateFundedPsbtInput {
27    txid: Txid,
28    vout: u32,
29}
30
31/// Argument to the `Client::get_new_address_with_type` function.
32///
33/// For Core versions 0.17 through to v22. For Core v23 and onwards use `v23::AddressType`.
34#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
35#[serde(rename_all = "kebab-case")]
36pub enum AddressType {
37    Legacy,
38    P2shSegwit,
39    Bech32,
40}
41
42impl fmt::Display for AddressType {
43    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
44        use AddressType::*;
45
46        let s = match *self {
47            Legacy => "legacy",
48            P2shSegwit => "p2sh-segwit",
49            Bech32 => "bech32",
50        };
51        fmt::Display::fmt(s, f)
52    }
53}
54
55crate::define_jsonrpc_minreq_client!("v17");
56crate::impl_client_check_expected_server_version!({ [170100] });
57
58// == Blockchain ==
59crate::impl_client_v17__getbestblockhash!();
60crate::impl_client_v17__getblock!();
61crate::impl_client_v17__getblockchaininfo!();
62crate::impl_client_v17__getblockcount!();
63crate::impl_client_v17__getblockhash!();
64crate::impl_client_v17__getblockheader!();
65crate::impl_client_v17__getblockstats!();
66crate::impl_client_v17__getchaintips!();
67crate::impl_client_v17__getchaintxstats!();
68crate::impl_client_v17__getdifficulty!();
69crate::impl_client_v17__getmempoolancestors!();
70crate::impl_client_v17__getmempooldescendants!();
71crate::impl_client_v17__getmempoolentry!();
72crate::impl_client_v17__getmempoolinfo!();
73crate::impl_client_v17__getrawmempool!();
74crate::impl_client_v17__gettxout!();
75crate::impl_client_v17__gettxoutproof!();
76crate::impl_client_v17__gettxoutsetinfo!();
77crate::impl_client_v17__verifytxoutproof!();
78
79// == Control ==
80crate::impl_client_v17__getmemoryinfo!();
81crate::impl_client_v17__logging!();
82crate::impl_client_v17__stop!();
83crate::impl_client_v17__uptime!();
84
85// == Generating ==
86crate::impl_client_v17__generatetoaddress!();
87crate::impl_client_v17__generate!();
88crate::impl_client_v17__invalidateblock!();
89
90// == Network ==
91crate::impl_client_v17__getaddednodeinfo!();
92crate::impl_client_v17__getnettotals!();
93crate::impl_client_v17__getnetworkinfo!();
94crate::impl_client_v17__getpeerinfo!();
95
96// == Rawtransactions ==
97crate::impl_client_v17__sendrawtransaction!();
98
99// == Wallet ==
100crate::impl_client_v17__addmultisigaddress!();
101crate::impl_client_v17__bumpfee!();
102crate::impl_client_v17__createwallet!();
103crate::impl_client_v17__dumpprivkey!();
104crate::impl_client_v17__dumpwallet!();
105crate::impl_client_v17__getaddressesbylabel!();
106crate::impl_client_v17__getaddressinfo!();
107crate::impl_client_v17__getbalance!();
108crate::impl_client_v17__getnewaddress!();
109crate::impl_client_v17__getrawchangeaddress!();
110crate::impl_client_v17__getreceivedbyaddress!();
111crate::impl_client_v17__gettransaction!();
112crate::impl_client_v17__getunconfirmedbalance!();
113crate::impl_client_v17__getwalletinfo!();
114crate::impl_client_v17__listaddressgroupings!();
115crate::impl_client_v17__listlabels!();
116crate::impl_client_v17__listlockunspent!();
117crate::impl_client_v17__listreceivedbyaddress!();
118crate::impl_client_v17__listsinceblock!();
119crate::impl_client_v17__listtransactions!();
120crate::impl_client_v17__listunspent!();
121crate::impl_client_v17__listwallets!();
122crate::impl_client_v17__loadwallet!();
123crate::impl_client_v17__rescanblockchain!();
124crate::impl_client_v17__sendmany!();
125crate::impl_client_v17__sendtoaddress!();
126crate::impl_client_v17__signmessage!();
127crate::impl_client_v17__signrawtransactionwithwallet!();
128crate::impl_client_v17__walletcreatefundedpsbt!();
129crate::impl_client_v17__walletprocesspsbt!();