diff --git a/client/src/client_sync/v17/hidden.rs b/client/src/client_sync/v17/hidden.rs index 05e305da..d3b400fd 100644 --- a/client/src/client_sync/v17/hidden.rs +++ b/client/src/client_sync/v17/hidden.rs @@ -9,6 +9,18 @@ //! //! See or use the `define_jsonrpc_bitreq_client!` macro to define a `Client`. +/// Implements Bitcoin Core JSON-RPC API method `estimaterawfee`. +#[macro_export] +macro_rules! impl_client_v17__estimate_raw_fee { + () => { + impl Client { + pub fn estimate_raw_fee(&self, conf_target: u32) -> Result { + self.call("estimaterawfee", &[conf_target.into()]) + } + } + }; +} + /// Implements Bitcoin Core JSON-RPC API method `waitforblock`. #[macro_export] macro_rules! impl_client_v17__wait_for_block { diff --git a/client/src/client_sync/v17/mod.rs b/client/src/client_sync/v17/mod.rs index 7921840d..7ad22305 100644 --- a/client/src/client_sync/v17/mod.rs +++ b/client/src/client_sync/v17/mod.rs @@ -66,6 +66,7 @@ crate::impl_client_v17__generate!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v18/mod.rs b/client/src/client_sync/v18/mod.rs index 73a4f048..cb3d9e47 100644 --- a/client/src/client_sync/v18/mod.rs +++ b/client/src/client_sync/v18/mod.rs @@ -71,6 +71,7 @@ crate::impl_client_v17__generate!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v19/mod.rs b/client/src/client_sync/v19/mod.rs index 8bed0e35..dfc00400 100644 --- a/client/src/client_sync/v19/mod.rs +++ b/client/src/client_sync/v19/mod.rs @@ -66,6 +66,7 @@ crate::impl_client_v17__generate_to_address!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v20/mod.rs b/client/src/client_sync/v20/mod.rs index 067caf4c..40c2eed6 100644 --- a/client/src/client_sync/v20/mod.rs +++ b/client/src/client_sync/v20/mod.rs @@ -66,6 +66,7 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v21/mod.rs b/client/src/client_sync/v21/mod.rs index 029a1c94..f532abdb 100644 --- a/client/src/client_sync/v21/mod.rs +++ b/client/src/client_sync/v21/mod.rs @@ -72,6 +72,7 @@ crate::impl_client_v17__invalidate_block!(); // == Hidden == crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v22/hidden.rs b/client/src/client_sync/v22/hidden.rs new file mode 100644 index 00000000..d6f23df5 --- /dev/null +++ b/client/src/client_sync/v22/hidden.rs @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Macros for implementing JSON-RPC methods on a client. +//! +//! Specifically this is `== Hidden ==` methods that are not listed in the +//! API docs of Bitcoin Core `v22`. +//! +//! All macros require `Client` to be in scope. +//! +//! See, or use the `define_jsonrpc_bitreq_client!` macro to define a `Client`. + +/// Implements Bitcoin Core JSON-RPC API method `addconnection`. +#[macro_export] +macro_rules! impl_client_v22__add_connection { + () => { + impl Client { + pub fn add_connection( + &self, + address: &str, + connection_type: &str, + ) -> Result { + self.call("addconnection", &[into_json(address)?, into_json(connection_type)?]) + } + } + }; +} diff --git a/client/src/client_sync/v22/mod.rs b/client/src/client_sync/v22/mod.rs index 75658cb4..1e0b542b 100644 --- a/client/src/client_sync/v22/mod.rs +++ b/client/src/client_sync/v22/mod.rs @@ -4,6 +4,7 @@ //! //! We ignore option arguments unless they effect the shape of the returned JSON data. +mod hidden; mod signer; mod wallet; @@ -69,7 +70,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v22__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v23/mod.rs b/client/src/client_sync/v23/mod.rs index f6bed4b9..aba9cd2b 100644 --- a/client/src/client_sync/v23/mod.rs +++ b/client/src/client_sync/v23/mod.rs @@ -72,7 +72,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v22__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v24/mod.rs b/client/src/client_sync/v24/mod.rs index 427250df..617dba69 100644 --- a/client/src/client_sync/v24/mod.rs +++ b/client/src/client_sync/v24/mod.rs @@ -73,7 +73,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v22__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v25/mod.rs b/client/src/client_sync/v25/mod.rs index d4fa9aca..b17d955d 100644 --- a/client/src/client_sync/v25/mod.rs +++ b/client/src/client_sync/v25/mod.rs @@ -74,7 +74,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v22__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v26/mod.rs b/client/src/client_sync/v26/mod.rs index d06fefc7..b1f021a3 100644 --- a/client/src/client_sync/v26/mod.rs +++ b/client/src/client_sync/v26/mod.rs @@ -80,7 +80,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v22__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v27/hidden.rs b/client/src/client_sync/v27/hidden.rs new file mode 100644 index 00000000..86edb7b3 --- /dev/null +++ b/client/src/client_sync/v27/hidden.rs @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Macros for implementing JSON-RPC methods on a client. +//! +//! Specifically this is `== Hidden ==` methods that are not listed in the +//! API docs of Bitcoin Core `v29`. +//! +//! All macros require `Client` to be in scope. +//! +//! See, or use the `define_jsonrpc_bitreq_client!` macro to define a `Client`. + +/// Implements Bitcoin Core JSON-RPC API method `addconnection`. +#[macro_export] +macro_rules! impl_client_v27__add_connection { + () => { + impl Client { + pub fn add_connection( + &self, + address: &str, + connection_type: &str, + v2transport: bool, + ) -> Result { + self.call( + "addconnection", + &[into_json(address)?, into_json(connection_type)?, into_json(v2transport)?], + ) + } + } + }; +} diff --git a/client/src/client_sync/v27/mod.rs b/client/src/client_sync/v27/mod.rs index c924ab49..385a122a 100644 --- a/client/src/client_sync/v27/mod.rs +++ b/client/src/client_sync/v27/mod.rs @@ -4,6 +4,8 @@ //! //! We ignore option arguments unless they effect the shape of the returned JSON data. +pub mod hidden; + use std::collections::BTreeMap; use std::path::Path; @@ -74,7 +76,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v27__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v28/mod.rs b/client/src/client_sync/v28/mod.rs index 881758d9..422ad4e0 100644 --- a/client/src/client_sync/v28/mod.rs +++ b/client/src/client_sync/v28/mod.rs @@ -77,7 +77,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v27__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v29/mod.rs b/client/src/client_sync/v29/mod.rs index 16160bbb..9fe5d04e 100644 --- a/client/src/client_sync/v29/mod.rs +++ b/client/src/client_sync/v29/mod.rs @@ -77,7 +77,9 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v27__add_connection!(); crate::impl_client_v21__add_peer_address!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); diff --git a/client/src/client_sync/v30/mod.rs b/client/src/client_sync/v30/mod.rs index 3446ae0e..d22722ac 100644 --- a/client/src/client_sync/v30/mod.rs +++ b/client/src/client_sync/v30/mod.rs @@ -58,6 +58,7 @@ crate::impl_client_v23__save_mempool!(); crate::impl_client_v25__scan_blocks!(); crate::impl_client_v17__verify_chain!(); crate::impl_client_v17__verify_tx_out_proof!(); +crate::impl_client_v17__estimate_raw_fee!(); crate::impl_client_v17__wait_for_block!(); crate::impl_client_v17__wait_for_block_height!(); crate::impl_client_v17__wait_for_new_block!(); @@ -77,6 +78,7 @@ crate::impl_client_v20__generate_to_descriptor!(); crate::impl_client_v17__invalidate_block!(); // == Hidden == +crate::impl_client_v27__add_connection!(); crate::impl_client_v21__add_peer_address!(); // == Mining == diff --git a/integration_test/tests/hidden.rs b/integration_test/tests/hidden.rs new file mode 100644 index 00000000..886c172e --- /dev/null +++ b/integration_test/tests/hidden.rs @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Tests for methods that are `== Hidden ==` and not in the API docs of Bitcoin Core. + +#![allow(non_snake_case)] // Test names intentionally use double underscore. + +use integration_test::{Node, NodeExt as _, Wallet}; +use node::mtype; +use node::vtype::*; // All the version specific types. +#[cfg(not(feature = "v21_and_below"))] +use node::P2P; + +#[test] +#[cfg(not(feature = "v21_and_below"))] +fn hidden__add_connection__modelled() { + let (listener, dialer, _node3) = integration_test::three_node_network(); + + let p2p = listener.p2p_connect(false).expect("p2p address"); + let address = match p2p { + P2P::Connect(socket, _) => socket.to_string(), + _ => unreachable!("p2p_connect should return P2P::Connect"), + }; + + let json: AddConnection = { + #[cfg(feature = "v26_and_below")] + { + dialer.client.add_connection(&address, "outbound-full-relay").expect("addconnection") + } + #[cfg(not(feature = "v26_and_below"))] + { + dialer + .client + .add_connection(&address, "outbound-full-relay", false) + .expect("addconnection") + } + }; + + let model: mtype::AddConnection = json.into_model(); + + assert_eq!(model.address, address); + assert_eq!(model.connection_type, "outbound-full-relay"); + assert!(dialer.peers_connected() >= 1); +} + +#[test] +fn hidden__estimate_raw_fee__modelled() { + let node = Node::with_wallet(Wallet::Default, &[]); + node.fund_wallet(); + + // Give the fee estimator some confirmation history. + for _ in 0..10 { + node.create_mined_transaction(); + } + + let json: EstimateRawFee = node.client.estimate_raw_fee(2).expect("estimaterawfee"); + let json_range: &RawFeeRange = json.long.fail.as_ref().unwrap(); + + assert!(json_range.total_confirmed > 0.0); + + let model: Result = json.into_model(); + let estimate = model.unwrap(); + + assert!(estimate.long.scale > 0); +} diff --git a/types/src/model/hidden.rs b/types/src/model/hidden.rs new file mode 100644 index 00000000..8f36533e --- /dev/null +++ b/types/src/model/hidden.rs @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! Types for methods that are `== Hidden ==` and not in the API docs of Bitcoin Core. +//! +//! These structs model the types returned by the JSON-RPC API but have concrete types +//! and are not specific to a specific version of Bitcoin Core. + +use bitcoin::FeeRate; +use serde::{Deserialize, Serialize}; + +/// Models the result of JSON-RPC method `addconnection`. +#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize)] +pub struct AddConnection { + /// The address of the newly added connection. + pub address: String, + /// Type of connection. + pub connection_type: String, +} + +/// Models the result of JSON-RPC method `estimaterawfee`. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +pub struct EstimateRawFee { + /// Estimate for short time horizon. + pub short: Option, + /// Estimate for medium time horizon. + pub medium: Option, + /// Estimate for long time horizon. + pub long: RawFeeDetail, +} + +/// Estimate for a time horizon. Part of `estimaterawfee`. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +pub struct RawFeeDetail { + /// Estimate fee rate in BTC/kB. + pub fee_rate: Option, + /// Exponential decay (per block) for historical moving average of confirmation data. + pub decay: f64, + /// The resolution of confirmation targets at this time horizon. + pub scale: u32, + /// Information about the lowest range of feerates to succeed in meeting the threshold. + pub pass: Option, + /// Information about the highest range of feerates to fail to meet the threshold. + pub fail: Option, + /// Errors encountered during processing. + pub errors: Option>, +} + +/// Information about a feerate range. Part of `estimaterawfee`. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +pub struct RawFeeRange { + /// Start of feerate range. + pub start_range: Option, + /// End of feerate range. + pub end_range: Option, + /// Number of txs over history horizon in the feerate range that were confirmed within target. + pub within_target: f64, + /// Number of txs over history horizon in the feerate range that were confirmed at any point. + pub total_confirmed: f64, + /// Current number of txs in mempool in the feerate range unconfirmed for at least target blocks. + pub in_mempool: f64, + /// Number of txs over history horizon in the feerate range that left mempool unconfirmed after target. + pub left_mempool: f64, +} diff --git a/types/src/model/mod.rs b/types/src/model/mod.rs index 189b4ca2..8fbd0fd1 100644 --- a/types/src/model/mod.rs +++ b/types/src/model/mod.rs @@ -11,6 +11,7 @@ mod blockchain; mod control; mod generating; +mod hidden; mod mining; mod network; mod raw_transactions; @@ -38,6 +39,7 @@ pub use self::{ WaitForBlockHeight, WaitForNewBlock, }, generating::{Generate, GenerateBlock, GenerateToAddress, GenerateToDescriptor}, + hidden::{AddConnection, EstimateRawFee, RawFeeDetail, RawFeeRange}, mining::{ BlockTemplateTransaction, GetBlockTemplate, GetMiningInfo, GetPrioritisedTransactions, NextBlockInfo, PrioritisedTransaction, diff --git a/types/src/v17/hidden/error.rs b/types/src/v17/hidden/error.rs index f326b6df..1ca8334e 100644 --- a/types/src/v17/hidden/error.rs +++ b/types/src/v17/hidden/error.rs @@ -2,11 +2,36 @@ use core::fmt; +use bitcoin::amount::ParseAmountError; use bitcoin::hex; use crate::error::write_err; use crate::NumericError; +/// Error when converting an `EstimateRawFee` type into the model type. +#[derive(Debug)] +pub enum EstimateRawFeeError { + /// Conversion of the `feerate` field failed. + FeeRate(ParseAmountError), +} + +impl fmt::Display for EstimateRawFeeError { + fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { + match *self { + Self::FeeRate(ref e) => write_err!(f, "conversion of the `feerate` field failed"; e), + } + } +} + +#[cfg(feature = "std")] +impl std::error::Error for EstimateRawFeeError { + fn source(&self) -> Option<&(dyn std::error::Error + 'static)> { + match *self { + Self::FeeRate(ref e) => Some(e), + } + } +} + /// Error when converting a `WaitForBlock` type into the model type. #[derive(Debug)] pub enum WaitForBlockError { diff --git a/types/src/v17/hidden/into.rs b/types/src/v17/hidden/into.rs index 9027bf4a..8698edd7 100644 --- a/types/src/v17/hidden/into.rs +++ b/types/src/v17/hidden/into.rs @@ -3,11 +3,61 @@ use bitcoin::BlockHash; use super::{ - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, + EstimateRawFee, EstimateRawFeeError, RawFeeDetail, RawFeeRange, WaitForBlock, + WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, }; use crate::model; +impl EstimateRawFee { + /// Converts version specific type to a version nonspecific, more strongly typed type. + pub fn into_model(self) -> Result { + let short = self.short.map(|d| d.into_model()).transpose()?; + let medium = self.medium.map(|d| d.into_model()).transpose()?; + let long = self.long.into_model()?; + + Ok(model::EstimateRawFee { short, medium, long }) + } +} + +impl RawFeeDetail { + /// Converts version specific type to a version nonspecific, more strongly typed type. + pub fn into_model(self) -> Result { + use EstimateRawFeeError as E; + + let fee_rate = + self.fee_rate.map(crate::btc_per_kb).transpose().map_err(E::FeeRate)?.flatten(); + let pass = self.pass.map(|p| p.into_model()).transpose()?; + let fail = self.fail.map(|p| p.into_model()).transpose()?; + + Ok(model::RawFeeDetail { + fee_rate, + decay: self.decay, + scale: self.scale, + pass, + fail, + errors: self.errors, + }) + } +} + +impl RawFeeRange { + /// Converts version specific type to a version nonspecific, more strongly typed type. + pub fn into_model(self) -> Result { + let start_range = crate::btc_per_kb(self.start_range).ok().flatten(); + let end_range = crate::btc_per_kb(self.end_range).ok().flatten(); + + Ok(model::RawFeeRange { + start_range, + end_range, + within_target: self.within_target, + total_confirmed: self.total_confirmed, + in_mempool: self.in_mempool, + left_mempool: self.left_mempool, + }) + } +} + impl WaitForBlock { /// Converts version specific type to a version nonspecific, more strongly typed type. pub fn into_model(self) -> Result { diff --git a/types/src/v17/hidden/mod.rs b/types/src/v17/hidden/mod.rs index 2001c0d3..d00af53e 100644 --- a/types/src/v17/hidden/mod.rs +++ b/types/src/v17/hidden/mod.rs @@ -9,7 +9,79 @@ mod into; use serde::{Deserialize, Serialize}; -pub use self::error::{WaitForBlockError, WaitForBlockHeightError, WaitForNewBlockError}; +pub use self::error::{ + EstimateRawFeeError, WaitForBlockError, WaitForBlockHeightError, WaitForNewBlockError, +}; + +/// Result of JSON-RPC method `estimaterawfee`. +/// +/// > estimaterawfee conf_target (threshold) +/// > +/// > WARNING: This interface is unstable and may disappear or change! +/// > +/// > WARNING: This is an advanced API call that is tightly coupled to the specific +/// > implementation of fee estimation. The parameters it can be called with +/// > and the results it returns will change if the internal implementation changes. +/// > +/// > Estimates the approximate fee per kilobyte needed for a transaction to begin +/// > confirmation within conf_target blocks if possible. Uses virtual transaction size as +/// > defined in BIP 141 (witness data is discounted). +/// > +/// > Arguments: +/// > 1. conf_target (numeric) Confirmation target in blocks (1 - 1008) +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))] +pub struct EstimateRawFee { + /// Estimate for short time horizon. + pub short: Option, + /// Estimate for medium time horizon. + pub medium: Option, + /// Estimate for long time horizon. + pub long: RawFeeDetail, +} + +/// Estimate for a time horizon. Part of `estimaterawfee`. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))] +pub struct RawFeeDetail { + /// Estimate fee rate in BTC/kB. + #[serde(rename = "feerate")] + pub fee_rate: Option, + /// Exponential decay (per block) for historical moving average of confirmation data. + pub decay: f64, + /// The resolution of confirmation targets at this time horizon. + pub scale: u32, + /// Information about the lowest range of feerates to succeed in meeting the threshold. + pub pass: Option, + /// Information about the highest range of feerates to fail to meet the threshold. + pub fail: Option, + /// Errors encountered during processing. + pub errors: Option>, +} + +/// Information about a feerate range. Part of `estimaterawfee`. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))] +pub struct RawFeeRange { + /// Start of feerate range. + #[serde(rename = "startrange")] + pub start_range: f64, + /// End of feerate range. + #[serde(rename = "endrange")] + pub end_range: f64, + /// Number of txs over history horizon in the feerate range that were confirmed within target. + #[serde(rename = "withintarget")] + pub within_target: f64, + /// Number of txs over history horizon in the feerate range that were confirmed at any point. + #[serde(rename = "totalconfirmed")] + pub total_confirmed: f64, + /// Current number of txs in mempool in the feerate range unconfirmed for at least target blocks. + #[serde(rename = "inmempool")] + pub in_mempool: f64, + /// Number of txs over history horizon in the feerate range that left mempool unconfirmed after target. + #[serde(rename = "leftmempool")] + pub left_mempool: f64, +} /// Result of JSON-RPC method `waitforblock`. /// diff --git a/types/src/v17/mod.rs b/types/src/v17/mod.rs index bd6ab153..7f96e791 100644 --- a/types/src/v17/mod.rs +++ b/types/src/v17/mod.rs @@ -250,8 +250,9 @@ pub use self::{ control::{GetMemoryInfoStats, Locked, Logging}, generating::{Generate, GenerateToAddress}, hidden::{ - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, - WaitForNewBlock, WaitForNewBlockError, + EstimateRawFee, EstimateRawFeeError, RawFeeDetail, RawFeeRange, WaitForBlock, + WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, + WaitForNewBlockError, }, mining::{ BlockTemplateTransaction, BlockTemplateTransactionError, GetBlockTemplate, diff --git a/types/src/v18/mod.rs b/types/src/v18/mod.rs index 45c60d87..cbc8c5e9 100644 --- a/types/src/v18/mod.rs +++ b/types/src/v18/mod.rs @@ -262,33 +262,33 @@ pub use crate::v17::{ CombineRawTransaction, ConvertToPsbt, CreateMultisig, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodePsbt, DecodePsbtError, DecodeRawTransaction, DecodeScript, DecodeScriptError, DecodeScriptSegwit, DumpPrivKey, DumpWallet, EncryptWallet, - EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, - Generate, GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, - GetAddressInfoLabel, GetAddressesByLabel, GetBalance, GetBestBlockHash, GetBlockCount, - GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, - GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, - GetBlockchainInfo, GetBlockchainInfoError, GetChainTips, GetChainTxStats, GetChainTxStatsError, - GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfo, GetMempoolInfoError, - GetMiningInfo, GetNetTotals, GetNetworkInfo, GetNetworkInfoAddress, GetNetworkInfoError, - GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, GetRawTransaction, - GetRawTransactionVerbose, GetRawTransactionVerboseError, GetReceivedByAddress, GetTransaction, - GetTransactionDetail, GetTransactionDetailError, GetTransactionError, GetTxOut, GetTxOutError, - GetTxOutSetInfo, GetTxOutSetInfoError, GetUnconfirmedBalance, GetWalletInfoError, - ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListBanned, - ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, - ListReceivedByAddressError, ListSinceBlock, ListSinceBlockError, ListTransactions, - ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, Logging, + EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, + FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, + GetAddressInfoEmbeddedError, GetAddressInfoLabel, GetAddressesByLabel, GetBalance, + GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, + GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, + GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, + GetBlockVerboseZero, GetBlockchainInfo, GetBlockchainInfoError, GetChainTips, GetChainTxStats, + GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfo, + GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfo, GetNetworkInfoAddress, + GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, + GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, + GetReceivedByAddress, GetTransaction, GetTransactionDetail, GetTransactionDetailError, + GetTransactionError, GetTxOut, GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, + GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + ListAddressGroupingsItem, ListBanned, ListLabels, ListLockUnspent, ListLockUnspentItem, + ListLockUnspentItemError, ListReceivedByAddressError, ListSinceBlock, ListSinceBlockError, + ListTransactions, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, Logging, MapMempoolEntryError, MempoolAcceptance, MempoolEntryError, MempoolEntryFees, MempoolEntryFeesError, NumericError, PartialSignatureError, PruneBlockchain, PsbtInput, - PsbtInputError, PsbtOutput, PsbtOutputError, PsbtScript, RawTransaction, RawTransactionError, - RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, SendMany, - SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, - SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, - SignRawTransactionWithKey, SignRawTransactionWithWallet, Softfork, SoftforkReject, - TestMempoolAccept, TransactionCategory, TransactionItem, TransactionItemError, UploadTarget, - ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, - WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, - WitnessUtxo, WitnessUtxoError, + PsbtInputError, PsbtOutput, PsbtOutputError, PsbtScript, RawFeeDetail, RawFeeRange, + RawTransaction, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, Softfork, + SoftforkReject, TestMempoolAccept, TransactionCategory, TransactionItem, TransactionItemError, + UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, + VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, + WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, + WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, }; diff --git a/types/src/v19/mod.rs b/types/src/v19/mod.rs index e481cbf2..7ea527ef 100644 --- a/types/src/v19/mod.rs +++ b/types/src/v19/mod.rs @@ -257,10 +257,11 @@ pub use crate::v17::{ ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisig, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodePsbt, DecodePsbtError, DecodeRawTransaction, DecodeScript, DecodeScriptError, - DecodeScriptSegwit, DumpPrivKey, DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, - FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, - GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressInfoLabel, GetAddressesByLabel, - GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, + DecodeScriptSegwit, DumpPrivKey, DumpWallet, EncryptWallet, EstimateRawFee, + EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, + FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, + GetAddressInfoEmbeddedError, GetAddressInfoLabel, GetAddressesByLabel, GetBalance, + GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, @@ -274,15 +275,16 @@ pub use crate::v17::{ ListReceivedByAddressError, ListSinceBlock, ListSinceBlockError, ListTransactions, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, Logging, MempoolAcceptance, NumericError, PartialSignatureError, PruneBlockchain, PsbtInput, PsbtInputError, PsbtOutput, - PsbtOutputError, RawTransactionError, RawTransactionInput, RawTransactionOutput, - RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress, SetNetworkActive, - SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, - SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, - SoftforkReject, TestMempoolAccept, TransactionCategory, TransactionItem, TransactionItemError, - UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, - VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, - WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, - WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + PsbtOutputError, RawFeeDetail, RawFeeRange, RawTransactionError, RawTransactionInput, + RawTransactionOutput, RescanBlockchain, ScriptType, SendMany, SendRawTransaction, + SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, + SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, + SignRawTransactionWithWallet, SoftforkReject, TestMempoolAccept, TransactionCategory, + TransactionItem, TransactionItemError, UploadTarget, ValidateAddress, ValidateAddressError, + VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, + WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, + WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, + WitnessUtxoError, }; #[doc(inline)] pub use crate::v18::{ diff --git a/types/src/v20/mod.rs b/types/src/v20/mod.rs index 2d29314f..f7e9ac20 100644 --- a/types/src/v20/mod.rs +++ b/types/src/v20/mod.rs @@ -253,32 +253,32 @@ pub use crate::{ ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodePsbt, DecodePsbtError, DecodeRawTransaction, DecodeScript, DecodeScriptError, DecodeScriptSegwit, DumpPrivKey, - DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, - FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, - GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, - GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTransactionError, GetTxOut, - GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, GetUnconfirmedBalance, - GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + DumpWallet, EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, + FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, + GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, + GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, + GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, + GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, + GetNewAddress, GetRawChangeAddress, GetRawTransaction, GetRawTransactionVerbose, + GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, + GetTransactionError, GetTxOut, GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, + GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, MempoolAcceptance, NumericError, PartialSignatureError, - PruneBlockchain, PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, - RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, - ScriptType, SendMany, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, - SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, - SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, - SoftforkReject, TestMempoolAccept, TransactionCategory, UploadTarget, ValidateAddress, - ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, - WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, - WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, - WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + PruneBlockchain, PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, RawFeeDetail, + RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendMany, SendRawTransaction, SendToAddress, + SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, + SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, + SignRawTransactionWithWallet, SoftforkReject, TestMempoolAccept, TransactionCategory, + UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, + VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, + WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, + WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, diff --git a/types/src/v21/mod.rs b/types/src/v21/mod.rs index fb83edc8..b5c05f4d 100644 --- a/types/src/v21/mod.rs +++ b/types/src/v21/mod.rs @@ -270,31 +270,32 @@ pub use crate::{ ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodePsbt, DecodePsbtError, DecodeRawTransaction, DecodeScript, DecodeScriptError, DecodeScriptSegwit, DumpPrivKey, - DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, - FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, - GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, - GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTransactionError, GetTxOut, - GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, GetUnconfirmedBalance, - GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + DumpWallet, EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, + FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, + GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, + GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, + GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, + GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, + GetNewAddress, GetRawChangeAddress, GetRawTransaction, GetRawTransactionVerbose, + GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, + GetTransactionError, GetTxOut, GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, + GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, RawTransactionError, - RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, - SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, - SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, - SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, - TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, - VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, - WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, - WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, RawFeeDetail, RawFeeRange, + RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, + ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, + SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, + SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, + VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, + WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, + WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, + WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, diff --git a/types/src/v22/hidden/into.rs b/types/src/v22/hidden/into.rs new file mode 100644 index 00000000..af8f9769 --- /dev/null +++ b/types/src/v22/hidden/into.rs @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: CC0-1.0 + +use super::AddConnection; +use crate::model; + +impl AddConnection { + /// Converts version specific type to a version nonspecific, more strongly typed type. + pub fn into_model(self) -> model::AddConnection { + model::AddConnection { address: self.address, connection_type: self.connection_type } + } +} diff --git a/types/src/v22/hidden/mod.rs b/types/src/v22/hidden/mod.rs new file mode 100644 index 00000000..fa63eb1f --- /dev/null +++ b/types/src/v22/hidden/mod.rs @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: CC0-1.0 + +//! The JSON-RPC API for Bitcoin Core `v22` - hidden. +//! +//! Types for methods that are excluded from the API docs by default. + +mod into; + +use serde::{Deserialize, Serialize}; + +/// Result of JSON-RPC method `addconnection`. +/// +/// > addconnection "address" "connection_type" +/// > +/// > Open an outbound connection to a specified node. +/// > This RPC is for testing only. +#[derive(Clone, Debug, PartialEq, Deserialize, Serialize)] +#[cfg_attr(feature = "serde-deny-unknown-fields", serde(deny_unknown_fields))] +pub struct AddConnection { + /// The address of the newly added connection. + pub address: String, + /// Type of connection. + pub connection_type: String, +} diff --git a/types/src/v22/mod.rs b/types/src/v22/mod.rs index efe44a15..625eb65e 100644 --- a/types/src/v22/mod.rs +++ b/types/src/v22/mod.rs @@ -245,6 +245,7 @@ // JSON-RPC types by API section. mod blockchain; mod control; +mod hidden; mod network; mod raw_transactions; mod signer; @@ -254,6 +255,7 @@ mod wallet; pub use self::{ blockchain::GetMempoolInfo, control::Logging, + hidden::AddConnection, network::{Banned, GetNodeAddresses, GetPeerInfo, ListBanned, NodeAddress, PeerInfo}, raw_transactions::{ DecodeScript, DecodeScriptError, DecodeScriptSegwit, MempoolAcceptance, @@ -273,31 +275,33 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodePsbt, DecodePsbtError, - DecodeRawTransaction, DumpPrivKey, DumpWallet, EncryptWallet, EstimateSmartFee, - FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, - GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, - GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, - GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, - GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, - GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, - GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, - GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, - GetNewAddress, GetRawChangeAddress, GetRawTransaction, GetRawTransactionVerbose, - GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, - GetTransactionError, GetTxOut, GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, - GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + DecodeRawTransaction, DumpPrivKey, DumpWallet, EncryptWallet, EstimateRawFee, + EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, + FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, + GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, + GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, + GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, + GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, + GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, + GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, + GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, + GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, + GetReceivedByAddress, GetTransactionDetailError, GetTransactionError, GetTxOut, + GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, GetUnconfirmedBalance, + GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, RawTransactionError, - RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, - SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, - SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, - SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, - TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, - VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, - WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, - WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + PsbtInput, PsbtInputError, PsbtOutput, PsbtOutputError, RawFeeDetail, RawFeeRange, + RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, + ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, + SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, + SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, + VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, + WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, + WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, + WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, diff --git a/types/src/v23/mod.rs b/types/src/v23/mod.rs index ff562eef..8751859c 100644 --- a/types/src/v23/mod.rs +++ b/types/src/v23/mod.rs @@ -273,30 +273,31 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodeRawTransaction, DumpPrivKey, - DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, - FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, - GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, - GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, GetTxOutSetInfo, - GetTxOutSetInfoError, GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, - ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, - ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, - ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, NumericError, - PartialSignatureError, PruneBlockchain, RawTransactionError, RawTransactionInput, - RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, - SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, - SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, - SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, - ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, - WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, - WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + DumpWallet, EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, + FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, + GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, + GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, + GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, + GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, + GetNewAddress, GetRawChangeAddress, GetRawTransaction, GetRawTransactionVerbose, + GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, + GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, GetUnconfirmedBalance, + GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, + ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, + LoadWallet, LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, + RawFeeDetail, RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, + SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, + VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, + WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, + WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, + WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, @@ -320,9 +321,9 @@ pub use crate::{ SendMany, SendManyVerbose, UnloadWallet, UpgradeWallet, }, v22::{ - Banned, DescriptorInfo, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, - GetMempoolInfo, GetNodeAddresses, ListBanned, ListDescriptors, MempoolAcceptance, - MempoolAcceptanceError, MempoolAcceptanceFees, NodeAddress, ScriptPubkey, Signers, - TestMempoolAccept, TestMempoolAcceptError, WalletDisplayAddress, + AddConnection, Banned, DescriptorInfo, EnumerateSigners, GetAddressInfo, + GetAddressInfoEmbedded, GetMempoolInfo, GetNodeAddresses, ListBanned, ListDescriptors, + MempoolAcceptance, MempoolAcceptanceError, MempoolAcceptanceFees, NodeAddress, + ScriptPubkey, Signers, TestMempoolAccept, TestMempoolAcceptError, WalletDisplayAddress, }, }; diff --git a/types/src/v24/mod.rs b/types/src/v24/mod.rs index d9b9904a..4e232980 100644 --- a/types/src/v24/mod.rs +++ b/types/src/v24/mod.rs @@ -273,30 +273,31 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, CreateWallet, DecodeRawTransaction, DumpPrivKey, - DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, - FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStats, GetBlockStatsError, GetBlockTemplate, - GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, - GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, GetTxOutSetInfo, - GetTxOutSetInfoError, GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, - ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, - ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, - ListUnspentItemError, ListWallets, LoadWallet, LockUnspent, Locked, NumericError, - PartialSignatureError, PruneBlockchain, RawTransactionError, RawTransactionInput, - RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, - SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, - SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, - SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, - ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, - WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, - WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + DumpWallet, EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, + FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStats, + GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, + GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, + GetConnectionCount, GetDifficulty, GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, + GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, + GetNewAddress, GetRawChangeAddress, GetRawMempool, GetRawTransaction, + GetRawTransactionVerbose, GetRawTransactionVerboseError, GetReceivedByAddress, + GetTransactionDetailError, GetTxOut, GetTxOutError, GetTxOutSetInfo, GetTxOutSetInfoError, + GetUnconfirmedBalance, GetWalletInfoError, ListAddressGroupings, ListAddressGroupingsError, + ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, + ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, + LoadWallet, LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, + RawFeeDetail, RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, + SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, + VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, + WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, + WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, + WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, @@ -320,10 +321,10 @@ pub use crate::{ SendMany, SendManyVerbose, UnloadWallet, UpgradeWallet, }, v22::{ - Banned, DescriptorInfo, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, - GetNodeAddresses, ListBanned, ListDescriptors, MempoolAcceptance, MempoolAcceptanceError, - MempoolAcceptanceFees, NodeAddress, ScriptPubkey, Signers, TestMempoolAccept, - TestMempoolAcceptError, WalletDisplayAddress, + AddConnection, Banned, DescriptorInfo, EnumerateSigners, GetAddressInfo, + GetAddressInfoEmbedded, GetNodeAddresses, ListBanned, ListDescriptors, MempoolAcceptance, + MempoolAcceptanceError, MempoolAcceptanceFees, NodeAddress, ScriptPubkey, Signers, + TestMempoolAccept, TestMempoolAcceptError, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v25/mod.rs b/types/src/v25/mod.rs index 7a31ef90..899c3947 100644 --- a/types/src/v25/mod.rs +++ b/types/src/v25/mod.rs @@ -267,8 +267,8 @@ pub use crate::{ BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, DecodeRawTransaction, DumpPrivKey, DumpWallet, EncryptWallet, - EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, - FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, + EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, + FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, @@ -282,15 +282,15 @@ pub use crate::{ ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, LockUnspent, Locked, NumericError, - PartialSignatureError, PruneBlockchain, RawTransactionError, RawTransactionInput, - RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, - SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, - SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, - SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, - ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, - WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, - WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, - WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, + PartialSignatureError, PruneBlockchain, RawFeeDetail, RawFeeRange, RawTransactionError, + RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, + SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, + SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, + SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, + TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, + VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, + WaitForBlockHeightError, WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, + WalletCreateFundedPsbtError, WalletProcessPsbt, WitnessUtxo, WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, @@ -314,8 +314,8 @@ pub use crate::{ SendManyVerbose, UpgradeWallet, }, v22::{ - Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses, - ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, + GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v26/mod.rs b/types/src/v26/mod.rs index 482fa991..9886bc97 100644 --- a/types/src/v26/mod.rs +++ b/types/src/v26/mod.rs @@ -284,24 +284,24 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, DecodeRawTransaction, DumpPrivKey, DumpWallet, - EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, - FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, - GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, - GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, - GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, + EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, + FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStatsError, + GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, + GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, + GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, GetNetTotals, + GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, + GetRawChangeAddress, GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, + GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, + GetTxOutError, GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, - LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, - ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, - SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, RawFeeDetail, + RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, @@ -329,8 +329,8 @@ pub use crate::{ SendManyVerbose, UpgradeWallet, }, v22::{ - Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses, - ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, + GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v27/mod.rs b/types/src/v27/mod.rs index 63c4bf47..a79980fe 100644 --- a/types/src/v27/mod.rs +++ b/types/src/v27/mod.rs @@ -260,24 +260,24 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, DecodeRawTransaction, DumpPrivKey, DumpWallet, - EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, - FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, - GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, - GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetMiningInfo, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, - GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, - GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, + EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, + FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStatsError, + GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, + GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, + GetMemoryInfoStats, GetMempoolInfoError, GetMiningInfo, GetNetTotals, + GetNetworkInfoAddress, GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, + GetRawChangeAddress, GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, + GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, + GetTxOutError, GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, - LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, - ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, - SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, RawFeeDetail, + RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, @@ -305,8 +305,8 @@ pub use crate::{ SendManyVerbose, UpgradeWallet, }, v22::{ - Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, GetNodeAddresses, - ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetAddressInfo, GetAddressInfoEmbedded, + GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v28/mod.rs b/types/src/v28/mod.rs index 66fbc130..c904851a 100644 --- a/types/src/v28/mod.rs +++ b/types/src/v28/mod.rs @@ -281,24 +281,24 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, DecodeRawTransaction, DumpPrivKey, DumpWallet, - EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, - FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockHeader, GetBlockHeaderError, GetBlockHeaderVerbose, - GetBlockHeaderVerboseError, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, - GetBlockVerboseOne, GetBlockVerboseOneError, GetBlockVerboseZero, GetChainTips, - GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, - GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, GetRawMempool, - GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, + EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, + FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockHeader, + GetBlockHeaderError, GetBlockHeaderVerbose, GetBlockHeaderVerboseError, GetBlockStatsError, + GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseOne, GetBlockVerboseOneError, + GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, + GetMemoryInfoStats, GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, + GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, + GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, - LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, - ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, - SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, RawFeeDetail, + RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, SoftforkReject, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, @@ -325,8 +325,8 @@ pub use crate::{ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, UpgradeWallet, }, v22::{ - Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, - WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, + ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v29/mod.rs b/types/src/v29/mod.rs index bd683ca9..024d01bc 100644 --- a/types/src/v29/mod.rs +++ b/types/src/v29/mod.rs @@ -276,22 +276,23 @@ pub use crate::{ BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, CreatePsbt, CreateRawTransaction, DecodeRawTransaction, DecodeScriptSegwit, DumpPrivKey, - DumpWallet, EncryptWallet, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, - FundRawTransaction, FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, - GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, - GetBlockCount, GetBlockHash, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, - GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, - GetMemoryInfoStats, GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, - GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, - GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, + DumpWallet, EncryptWallet, EstimateRawFee, EstimateRawFeeError, EstimateSmartFee, + FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, + GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, + GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockStatsError, + GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseZero, GetChainTips, + GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, + GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, + GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, GetRawMempool, + GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, GetUnconfirmedBalance, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, - LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, - RawTransactionError, RawTransactionInput, RawTransactionOutput, RescanBlockchain, - ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, - SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, + LockUnspent, Locked, NumericError, PartialSignatureError, PruneBlockchain, RawFeeDetail, + RawFeeRange, RawTransactionError, RawTransactionInput, RawTransactionOutput, + RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, SetNetworkActive, + SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, SignRawTransactionWithWallet, TransactionCategory, UploadTarget, ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, WaitForBlockError, WaitForBlockHeight, @@ -318,8 +319,8 @@ pub use crate::{ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, UpgradeWallet, }, v22::{ - Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, - WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, + ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ AddMultisigAddress, Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, diff --git a/types/src/v30/mod.rs b/types/src/v30/mod.rs index 9fd6453f..786e5085 100644 --- a/types/src/v30/mod.rs +++ b/types/src/v30/mod.rs @@ -270,28 +270,28 @@ pub use crate::{ Bip125Replaceable, Bip32DerivError, BlockTemplateTransaction, BlockTemplateTransactionError, BumpFee, BumpFeeError, ChainTips, ChainTipsError, ChainTipsStatus, CombinePsbt, CombineRawTransaction, ConvertToPsbt, CreateMultisigError, - CreatePsbt, CreateRawTransaction, DecodeRawTransaction, EncryptWallet, EstimateSmartFee, - FinalizePsbt, FinalizePsbtError, FundRawTransaction, FundRawTransactionError, Generate, - GenerateToAddress, GetAddedNodeInfo, GetAddressInfoEmbeddedError, GetAddressesByLabel, - GetBalance, GetBestBlockHash, GetBlockCount, GetBlockHash, GetBlockStatsError, - GetBlockTemplate, GetBlockTemplateError, GetBlockVerboseZero, GetChainTips, - GetChainTxStatsError, GetConnectionCount, GetDifficulty, GetMemoryInfoStats, - GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, GetNetworkInfoError, - GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, GetRawMempool, - GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, + CreatePsbt, CreateRawTransaction, DecodeRawTransaction, EncryptWallet, EstimateRawFee, + EstimateRawFeeError, EstimateSmartFee, FinalizePsbt, FinalizePsbtError, FundRawTransaction, + FundRawTransactionError, Generate, GenerateToAddress, GetAddedNodeInfo, + GetAddressInfoEmbeddedError, GetAddressesByLabel, GetBalance, GetBestBlockHash, + GetBlockCount, GetBlockHash, GetBlockStatsError, GetBlockTemplate, GetBlockTemplateError, + GetBlockVerboseZero, GetChainTips, GetChainTxStatsError, GetConnectionCount, GetDifficulty, + GetMemoryInfoStats, GetMempoolInfoError, GetNetTotals, GetNetworkInfoAddress, + GetNetworkInfoError, GetNetworkInfoNetwork, GetNewAddress, GetRawChangeAddress, + GetRawMempool, GetRawTransaction, GetRawTransactionVerbose, GetRawTransactionVerboseError, GetReceivedByAddress, GetTransactionDetailError, GetTxOut, GetTxOutError, ListAddressGroupings, ListAddressGroupingsError, ListAddressGroupingsItem, ListLabels, ListLockUnspent, ListLockUnspentItem, ListLockUnspentItemError, ListReceivedByAddressError, ListUnspentItemError, ListWallets, LockUnspent, Locked, NumericError, - PartialSignatureError, PruneBlockchain, RawTransactionError, RawTransactionInput, - RawTransactionOutput, RescanBlockchain, ScriptType, SendRawTransaction, SendToAddress, - SetNetworkActive, SetTxFee, SignFail, SignFailError, SignMessage, SignMessageWithPrivKey, - SignRawTransaction, SignRawTransactionError, SignRawTransactionWithKey, - SignRawTransactionWithWallet, TransactionCategory, UploadTarget, ValidateAddress, - ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, WaitForBlock, - WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, WaitForNewBlock, - WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, WitnessUtxo, - WitnessUtxoError, + PartialSignatureError, PruneBlockchain, RawFeeDetail, RawFeeRange, RawTransactionError, + RawTransactionInput, RawTransactionOutput, RescanBlockchain, ScriptType, + SendRawTransaction, SendToAddress, SetNetworkActive, SetTxFee, SignFail, SignFailError, + SignMessage, SignMessageWithPrivKey, SignRawTransaction, SignRawTransactionError, + SignRawTransactionWithKey, SignRawTransactionWithWallet, TransactionCategory, UploadTarget, + ValidateAddress, ValidateAddressError, VerifyChain, VerifyMessage, VerifyTxOutProof, + WaitForBlock, WaitForBlockError, WaitForBlockHeight, WaitForBlockHeightError, + WaitForNewBlock, WaitForNewBlockError, WalletCreateFundedPsbt, WalletCreateFundedPsbtError, + WitnessUtxo, WitnessUtxoError, }, v18::{ ActiveCommand, AnalyzePsbt, AnalyzePsbtError, AnalyzePsbtInput, AnalyzePsbtInputMissing, @@ -312,8 +312,8 @@ pub use crate::{ PsbtBumpFee, PsbtBumpFeeError, Send, SendError, SendMany, SendManyVerbose, }, v22::{ - Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, ScriptPubkey, Signers, - WalletDisplayAddress, + AddConnection, Banned, EnumerateSigners, GetNodeAddresses, ListBanned, NodeAddress, + ScriptPubkey, Signers, WalletDisplayAddress, }, v23::{ Bip9Info, Bip9Statistics, CreateMultisig, DecodeScript, DecodeScriptError,