bitcoind_json_rpc_client/client_sync/
v23.rs1use bitcoin::address::{Address, NetworkChecked};
8use bitcoin::{Amount, Block, BlockHash, Txid};
9use serde::{Deserialize, Serialize};
10
11use crate::client_sync::{handle_defaults, into_json};
12use crate::json::v23::*;
13
14crate::define_jsonrpc_minreq_client!("v23");
15
16crate::impl_client_v17__getblockchaininfo!();
18crate::impl_client_v17__getbestblockhash!();
19crate::impl_client_v17__getblock!();
20crate::impl_client_v17__gettxout!();
21
22crate::impl_client_v17__stop!();
24
25crate::impl_client_v17__generatetoaddress!();
27
28crate::impl_client_v17__getnetworkinfo!();
30crate::impl_client_check_expected_server_version!({ [230000, 230100, 230200] });
31
32crate::impl_client_v17__sendrawtransaction!();
34
35crate::impl_client_v17__createwallet!();
37crate::impl_client_v22__unloadwallet!();
38crate::impl_client_v22__loadwallet!();
39crate::impl_client_v17__getbalance!();
40crate::impl_client_v19__getbalances!();
41crate::impl_client_v17__getnewaddress!();
42crate::impl_client_v17__sendtoaddress!();
43crate::impl_client_v17__gettransaction!();
44
45#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)]
47#[serde(rename_all = "kebab-case")]
48pub enum AddressType {
49 Legacy,
50 P2shSegwit,
51 Bech32,
52 Bech32m,
53}
54
55impl fmt::Display for AddressType {
56 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
57 use AddressType::*;
58
59 let s = match *self {
60 Legacy => "legacy",
61 P2shSegwit => "p2sh-segwit",
62 Bech32 => "bech32",
63 Bech32m => "bech32m",
64 };
65 fmt::Display::fmt(s, f)
66 }
67}