pub struct ExtendedBitcoinRpc {
url: String,
client: Arc<Client>,
retry_config: RetryConfig,
}
Expand description
Bitcoin RPC wrapper. Extended RPC provides useful wrapper functions for common operations, as well as direct access to Bitcoin RPC.
Fields§
§url: String
§client: Arc<Client>
§retry_config: RetryConfig
Implementations§
Source§impl ExtendedBitcoinRpc
impl ExtendedBitcoinRpc
Sourcepub async fn connect(
url: String,
user: SecretString,
password: SecretString,
retry_config: Option<RetryConfig>,
) -> Result<Self, BitcoinRPCError>
pub async fn connect( url: String, user: SecretString, password: SecretString, retry_config: Option<RetryConfig>, ) -> Result<Self, BitcoinRPCError>
Connects to Bitcoin RPC server with built-in retry mechanism.
This method attempts to connect to the Bitcoin RPC server and creates a new
ExtendedBitcoinRpc
instance. It includes retry logic that will retry
connection attempts for retryable errors using exponential backoff.
§Parameters
url
- The RPC server URLuser
- Username for RPC authenticationpassword
- Password for RPC authenticationretry_config
- Optional retry configuration. If None, uses default config.
§Returns
Result<ExtendedBitcoinRpc>
: A new ExtendedBitcoinRpc instance on success
§Errors
BitcoinRPCError
: If connection fails after all retry attempts or ping fails
Sourcepub async fn get_new_wallet_address(&self) -> Result<Address, BitcoinRPCError>
pub async fn get_new_wallet_address(&self) -> Result<Address, BitcoinRPCError>
Generates a new Bitcoin address for the wallet.
Sourcepub async fn confirmation_blocks(
&self,
txid: &Txid,
) -> Result<u32, BitcoinRPCError>
pub async fn confirmation_blocks( &self, txid: &Txid, ) -> Result<u32, BitcoinRPCError>
Returns the number of confirmations for a transaction.
§Parameters
txid
: TXID of the transaction to check.
§Returns
u32
: The number of confirmations for the transaction.
§Errors
BitcoinRPCError
: If the transaction is not confirmed (0) or if there was an error retrieving the transaction info.
Sourcepub async fn get_current_chain_height(&self) -> Result<u32, BitcoinRPCError>
pub async fn get_current_chain_height(&self) -> Result<u32, BitcoinRPCError>
Sourcepub async fn collateral_check(
&self,
operator_data: &OperatorData,
kickoff_wpks: &KickoffWinternitzKeys,
paramset: &'static ProtocolParamset,
) -> Result<bool, BridgeError>
pub async fn collateral_check( &self, operator_data: &OperatorData, kickoff_wpks: &KickoffWinternitzKeys, paramset: &'static ProtocolParamset, ) -> Result<bool, BridgeError>
Checks if an operator’s collateral is valid and available for use.
This function validates the operator’s collateral by:
- Verifying the collateral UTXO exists and has the correct amount
- Creating the round transaction chain to track current collateral position
- Determining if the current collateral UTXO in the chain is spent in a non-protocol tx, signaling the exit of operator from the protocol
§Parameters
operator_data
: Data about the operator including collateral funding outpointkickoff_wpks
: Kickoff Winternitz public keys for round transaction creationparamset
: Protocol parameters
§Returns
bool
:true
if the collateral is still usable, thus operator is still in protocol,false
if the collateral is spent, thus operator is not in protocol anymore
§Errors
BridgeError
: If there was an error retrieving transaction data, creating round transactions, or checking UTXO status
Sourcepub async fn get_blockhash_of_tx(
&self,
txid: &Txid,
) -> Result<BlockHash, BitcoinRPCError>
pub async fn get_blockhash_of_tx( &self, txid: &Txid, ) -> Result<BlockHash, BitcoinRPCError>
Returns block hash of a transaction, if confirmed.
§Parameters
txid
: TXID of the transaction to check.
§Returns
- [
bitcoin::BlockHash
]: Block hash of the block that the transaction is in.
§Errors
BitcoinRPCError
: If the transaction is not confirmed (0) or if there was an error retrieving the transaction info.
Sourcepub async fn get_block_info_by_height(
&self,
height: u64,
) -> Result<(BlockHash, Header), BitcoinRPCError>
pub async fn get_block_info_by_height( &self, height: u64, ) -> Result<(BlockHash, Header), BitcoinRPCError>
Sourcepub async fn get_prevout_txs(
&self,
tx: &Transaction,
) -> Result<Vec<Transaction>, BitcoinRPCError>
pub async fn get_prevout_txs( &self, tx: &Transaction, ) -> Result<Vec<Transaction>, BitcoinRPCError>
Sourcepub async fn get_tx_of_txid(
&self,
txid: &Txid,
) -> Result<Transaction, BitcoinRPCError>
pub async fn get_tx_of_txid( &self, txid: &Txid, ) -> Result<Transaction, BitcoinRPCError>
Sourcepub async fn is_tx_on_chain(&self, txid: &Txid) -> Result<bool, BitcoinRPCError>
pub async fn is_tx_on_chain(&self, txid: &Txid) -> Result<bool, BitcoinRPCError>
Sourcepub async fn check_utxo_address_and_amount(
&self,
outpoint: &OutPoint,
address: &ScriptBuf,
amount_sats: Amount,
) -> Result<bool, BitcoinRPCError>
pub async fn check_utxo_address_and_amount( &self, outpoint: &OutPoint, address: &ScriptBuf, amount_sats: Amount, ) -> Result<bool, BitcoinRPCError>
Sourcepub async fn is_utxo_spent(
&self,
outpoint: &OutPoint,
) -> Result<bool, BitcoinRPCError>
pub async fn is_utxo_spent( &self, outpoint: &OutPoint, ) -> Result<bool, BitcoinRPCError>
Checks if an UTXO is spent.
§Parameters
outpoint
: The outpoint to check
§Returns
bool
:true
if the UTXO is spent,false
otherwise.
§Errors
BitcoinRPCError
: If the transaction is not confirmed or if there was an error retrieving the transaction output.
Sourcepub async fn mempool_size(&self) -> Result<usize, BitcoinRPCError>
pub async fn mempool_size(&self) -> Result<usize, BitcoinRPCError>
Sourcepub async fn send_to_address(
&self,
address: &Address,
amount_sats: Amount,
) -> Result<OutPoint, BitcoinRPCError>
pub async fn send_to_address( &self, address: &Address, amount_sats: Amount, ) -> Result<OutPoint, BitcoinRPCError>
Sourcepub async fn get_txout_from_outpoint(
&self,
outpoint: &OutPoint,
) -> Result<TxOut, BitcoinRPCError>
pub async fn get_txout_from_outpoint( &self, outpoint: &OutPoint, ) -> Result<TxOut, BitcoinRPCError>
Sourcepub async fn bump_fee_with_fee_rate(
&self,
txid: Txid,
fee_rate: FeeRate,
) -> Result<Txid, BitcoinRPCError>
pub async fn bump_fee_with_fee_rate( &self, txid: Txid, fee_rate: FeeRate, ) -> Result<Txid, BitcoinRPCError>
Bumps the fee of a transaction to meet or exceed a target fee rate. Does nothing if the transaction is already confirmed. Returns the original txid if no bump was needed.
This function implements Replace-By-Fee (RBF) to increase the fee of an unconfirmed transaction. It works as follows:
- If the transaction is already confirmed, returns Err(TransactionAlreadyInBlock)
- If the current fee rate is already >= the requested fee rate, returns the original txid
- Otherwise, increases the fee rate by adding the node’s incremental fee to the current fee rate, then
bump_fee
s the transaction
Note: This function currently only supports fee payer TXs.
§Arguments
txid
- The transaction ID to bumpfee_rate
- The target fee rate to achieve
§Returns
- [
Txid
]: The txid of the bumped transaction (which may be the same as the input txid if no bump was needed).
§Errors
TransactionAlreadyInBlock
- If the transaction is already confirmedBumpFeeUTXOSpent
- If the UTXO being spent by the transaction is already spentBumpFeeError
- For other errors with fee bumping
Sourcepub async fn clone_inner(&self) -> Result<Self, Error>
pub async fn clone_inner(&self) -> Result<Self, Error>
Creates a new instance of the ExtendedBitcoinRpc
with a new client
connection for cloning. This is needed when you need a separate
connection to the Bitcoin RPC server.
§Returns
ExtendedBitcoinRpc
: A new instance of ExtendedBitcoinRpc with a new client connection.
Trait Implementations§
Source§impl Clone for ExtendedBitcoinRpc
impl Clone for ExtendedBitcoinRpc
Source§fn clone(&self) -> ExtendedBitcoinRpc
fn clone(&self) -> ExtendedBitcoinRpc
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ExtendedBitcoinRpc
impl Debug for ExtendedBitcoinRpc
Source§impl RpcApi for ExtendedBitcoinRpc
Implementation of the RpcApi
trait for ExtendedBitcoinRpc
. All RPC calls
are made with retry logic that only retries when errors are retryable.
impl RpcApi for ExtendedBitcoinRpc
Implementation of the RpcApi
trait for ExtendedBitcoinRpc
. All RPC calls
are made with retry logic that only retries when errors are retryable.
Source§fn call<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
cmd: &'life1 str,
args: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where
T: 'async_trait + for<'a> Deserialize<'a>,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn call<'life0, 'life1, 'life2, 'async_trait, T>(
&'life0 self,
cmd: &'life1 str,
args: &'life2 [Value],
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>where
T: 'async_trait + for<'a> Deserialize<'a>,
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
cmd
rpc with given args
list§fn get_by_id<'life0, 'life1, 'async_trait, T>(
&'life0 self,
id: &'life1 <T as Queryable<Self>>::Id,
) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>
fn get_by_id<'life0, 'life1, 'async_trait, T>( &'life0 self, id: &'life1 <T as Queryable<Self>>::Id, ) -> Pin<Box<dyn Future<Output = Result<T, Error>> + Send + 'async_trait>>
Querable
typefn get_network_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetNetworkInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_index_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetIndexInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn version<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn add_multisig_address<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
nrequired: usize,
keys: &'life1 [PubKeyOrAddress<'_>],
label: Option<&'life2 str>,
address_type: Option<AddressType>,
) -> Pin<Box<dyn Future<Output = Result<AddMultiSigAddressResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn bump_fee<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
options: Option<&'life2 BumpFeeOptions>,
) -> Pin<Box<dyn Future<Output = Result<BumpFeeResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn psbt_bump_fee<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
options: Option<&'life2 BumpFeeOptions>,
) -> Pin<Box<dyn Future<Output = Result<BumpFeeResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn load_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<LoadWalletResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn unload_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
wallet: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Option<UnloadWalletResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn create_wallet<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
wallet: &'life1 str,
disable_private_keys: Option<bool>,
blank: Option<bool>,
passphrase: Option<&'life2 str>,
avoid_reuse: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<LoadWalletResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn list_wallets<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn list_wallet_dir<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<String>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_wallet_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetWalletInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn backup_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
destination: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn dump_private_key<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 Address,
) -> Pin<Box<dyn Future<Output = Result<PrivateKey, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn encrypt_wallet<'life0, 'life1, 'async_trait>(
&'life0 self,
passphrase: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_difficulty<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<f64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_connection_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<usize, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<Block, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_hex<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_info<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<GetBlockResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_verbose<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<GetBlockVerboseResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_header<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<Header, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_header_info<'life0, 'life1, 'async_trait>(
&'life0 self,
hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<GetBlockHeaderResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_mining_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetMiningInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_template<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
mode: GetBlockTemplateModes,
rules: &'life1 [GetBlockTemplateRules],
capabilities: &'life2 [GetBlockTemplateCapabilities],
) -> Pin<Box<dyn Future<Output = Result<GetBlockTemplateResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
§fn get_blockchain_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetBlockchainInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_blockchain_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetBlockchainInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_block_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_count<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_best_block_hash<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_best_block_hash<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_block_hash<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_hash<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockHash, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_stats<'life0, 'async_trait>(
&'life0 self,
height: u64,
) -> Pin<Box<dyn Future<Output = Result<GetBlockStatsResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_stats_fields<'life0, 'life1, 'async_trait>(
&'life0 self,
height: u64,
fields: &'life1 [BlockStatsFields],
) -> Pin<Box<dyn Future<Output = Result<GetBlockStatsResultPartial, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_transaction<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
block_hash: Option<&'life2 BlockHash>,
) -> Pin<Box<dyn Future<Output = Result<Transaction, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_transaction_hex<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
block_hash: Option<&'life2 BlockHash>,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_transaction_info<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
block_hash: Option<&'life2 BlockHash>,
) -> Pin<Box<dyn Future<Output = Result<GetRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn get_block_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<GetBlockFilterResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_balance<'life0, 'async_trait>(
&'life0 self,
minconf: Option<usize>,
include_watchonly: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<Amount, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_balances<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetBalancesResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_received_by_address<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 Address,
minconf: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<Amount, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
include_watchonly: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<GetTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn list_transactions<'life0, 'life1, 'async_trait>(
&'life0 self,
label: Option<&'life1 str>,
count: Option<usize>,
skip: Option<usize>,
include_watchonly: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListTransactionResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn list_since_block<'life0, 'life1, 'async_trait>(
&'life0 self,
blockhash: Option<&'life1 BlockHash>,
target_confirmations: Option<usize>,
include_watchonly: Option<bool>,
include_removed: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<ListSinceBlockResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_tx_out<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
vout: u32,
include_mempool: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<Option<GetTxOutResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_tx_out_proof<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
txids: &'life1 [Txid],
block_hash: Option<&'life2 BlockHash>,
) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_public_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
pubkey: &'life1 PublicKey,
label: Option<&'life2 str>,
rescan: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_private_key<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
privkey: &'life1 PrivateKey,
label: Option<&'life2 str>,
rescan: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_address<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
address: &'life1 Address,
label: Option<&'life2 str>,
rescan: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_address_script<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
script: &'life1 Script,
label: Option<&'life2 str>,
rescan: Option<bool>,
p2sh: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_multi<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
requests: &'life1 [ImportMultiRequest<'_>],
options: Option<&'life2 ImportMultiOptions>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImportMultiResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn import_descriptors<'life0, 'async_trait>(
&'life0 self,
req: ImportDescriptors,
) -> Pin<Box<dyn Future<Output = Result<Vec<ImportMultiResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn set_label<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
address: &'life1 Address,
label: &'life2 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn key_pool_refill<'life0, 'async_trait>(
&'life0 self,
new_size: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn list_unspent<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
minconf: Option<usize>,
maxconf: Option<usize>,
addresses: Option<&'life1 [&'life2 Address]>,
include_unsafe: Option<bool>,
query_options: Option<ListUnspentQueryOptions>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListUnspentResultEntry>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
§fn lock_unspent<'life0, 'life1, 'async_trait>(
&'life0 self,
outputs: &'life1 [OutPoint],
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn lock_unspent<'life0, 'life1, 'async_trait>(
&'life0 self,
outputs: &'life1 [OutPoint],
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn unlock_unspent<'life0, 'life1, 'async_trait>(
&'life0 self,
outputs: &'life1 [OutPoint],
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn unlock_unspent_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn unlock_unspent_all<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn list_received_by_address<'life0, 'life1, 'async_trait>(
&'life0 self,
address_filter: Option<&'life1 Address>,
minconf: Option<u32>,
include_empty: Option<bool>,
include_watchonly: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListReceivedByAddressResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn create_psbt<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
inputs: &'life1 [CreateRawTransactionInput],
outputs: &'life2 HashMap<String, Amount>,
locktime: Option<i64>,
replaceable: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn create_raw_transaction_hex<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
utxos: &'life1 [CreateRawTransactionInput],
outs: &'life2 HashMap<String, Amount>,
locktime: Option<i64>,
replaceable: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn create_raw_transaction<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
utxos: &'life1 [CreateRawTransactionInput],
outs: &'life2 HashMap<String, Amount>,
locktime: Option<i64>,
replaceable: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<Transaction, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Self: Sync + 'async_trait,
fn decode_raw_transaction<'life0, 'async_trait, R>(
&'life0 self,
tx: R,
is_witness: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<DecodeRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn fund_raw_transaction<'life0, 'life1, 'async_trait, R>(
&'life0 self,
tx: R,
options: Option<&'life1 FundRawTransactionOptions>,
is_witness: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<FundRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
§fn sign_raw_transaction<'life0, 'life1, 'life2, 'async_trait, R>(
&'life0 self,
tx: R,
utxos: Option<&'life1 [SignRawTransactionInput]>,
private_keys: Option<&'life2 [PrivateKey]>,
sighash_type: Option<SigHashType>,
) -> Pin<Box<dyn Future<Output = Result<SignRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn sign_raw_transaction<'life0, 'life1, 'life2, 'async_trait, R>(
&'life0 self,
tx: R,
utxos: Option<&'life1 [SignRawTransactionInput]>,
private_keys: Option<&'life2 [PrivateKey]>,
sighash_type: Option<SigHashType>,
) -> Pin<Box<dyn Future<Output = Result<SignRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn sign_raw_transaction_with_wallet<'life0, 'life1, 'async_trait, R>(
&'life0 self,
tx: R,
utxos: Option<&'life1 [SignRawTransactionInput]>,
sighash_type: Option<SigHashType>,
) -> Pin<Box<dyn Future<Output = Result<SignRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn sign_raw_transaction_with_key<'life0, 'life1, 'life2, 'async_trait, R>(
&'life0 self,
tx: R,
privkeys: &'life1 [PrivateKey],
prevtxs: Option<&'life2 [SignRawTransactionInput]>,
sighash_type: Option<SigHashType>,
) -> Pin<Box<dyn Future<Output = Result<SignRawTransactionResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn test_mempool_accept<'life0, 'life1, 'async_trait, R>( &'life0 self, rawtxs: &'life1 [R], ) -> Pin<Box<dyn Future<Output = Result<Vec<TestMempoolAcceptResult>, Error>> + Send + 'async_trait>>
fn submit_package<'life0, 'life1, 'async_trait, R>( &'life0 self, rawtxs: &'life1 [R], maxfeerate: Option<Amount>, maxburnamount: Option<Amount>, ) -> Pin<Box<dyn Future<Output = Result<PackageSubmissionResult, Error>> + Send + 'async_trait>>
fn stop<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn verify_message<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
address: &'life1 Address,
signature: &'life2 Signature,
message: &'life3 str,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: Sync + 'async_trait,
§fn get_new_address<'life0, 'life1, 'async_trait>(
&'life0 self,
label: Option<&'life1 str>,
address_type: Option<AddressType>,
) -> Pin<Box<dyn Future<Output = Result<Address<NetworkUnchecked>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_new_address<'life0, 'life1, 'async_trait>(
&'life0 self,
label: Option<&'life1 str>,
address_type: Option<AddressType>,
) -> Pin<Box<dyn Future<Output = Result<Address<NetworkUnchecked>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn get_raw_change_address<'life0, 'async_trait>(
&'life0 self,
address_type: Option<AddressType>,
) -> Pin<Box<dyn Future<Output = Result<Address<NetworkUnchecked>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_change_address<'life0, 'async_trait>(
&'life0 self,
address_type: Option<AddressType>,
) -> Pin<Box<dyn Future<Output = Result<Address<NetworkUnchecked>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_address_info<'life0, 'life1, 'async_trait>(
&'life0 self,
address: &'life1 Address,
) -> Pin<Box<dyn Future<Output = Result<GetAddressInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn generate_to_address<'life0, 'life1, 'async_trait>(
&'life0 self,
block_num: u64,
address: &'life1 Address,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHash>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn generate_to_address<'life0, 'life1, 'async_trait>(
&'life0 self,
block_num: u64,
address: &'life1 Address,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHash>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn generate<'life0, 'async_trait>(
&'life0 self,
block_num: u64,
maxtries: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHash>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn generate<'life0, 'async_trait>(
&'life0 self,
block_num: u64,
maxtries: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<Vec<BlockHash>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn invalidate_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn invalidate_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
block_hash
§fn reconsider_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn reconsider_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hash: &'life1 BlockHash,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
block_hash
§fn get_mempool_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetMempoolInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_mempool_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetMempoolInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_raw_mempool<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Txid>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_mempool<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<Txid>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_raw_mempool_verbose<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Txid, GetMempoolEntryResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_raw_mempool_verbose<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<HashMap<Txid, GetMempoolEntryResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_mempool_entry<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
) -> Pin<Box<dyn Future<Output = Result<GetMempoolEntryResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_mempool_entry<'life0, 'life1, 'async_trait>(
&'life0 self,
txid: &'life1 Txid,
) -> Pin<Box<dyn Future<Output = Result<GetMempoolEntryResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn get_chain_tips<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetChainTipsResultTip>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_chain_tips<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetChainTipsResultTip>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn send_to_address<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
address: &'life1 Address,
amount: Amount,
comment: Option<&'life2 str>,
comment_to: Option<&'life3 str>,
subtract_fee: Option<bool>,
replaceable: Option<bool>,
confirmation_target: Option<u32>,
estimate_mode: Option<EstimateMode>,
) -> Pin<Box<dyn Future<Output = Result<Txid, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
Self: Sync + 'async_trait,
§fn add_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn add_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn remove_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn remove_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn onetry_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn onetry_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn disconnect_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn disconnect_node<'life0, 'life1, 'async_trait>(
&'life0 self,
addr: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn disconnect_node_by_id<'life0, 'async_trait>(
&'life0 self,
node_id: u32,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_added_node_info<'life0, 'life1, 'async_trait>(
&'life0 self,
node: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetAddedNodeInfoResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_added_node_info<'life0, 'life1, 'async_trait>(
&'life0 self,
node: Option<&'life1 str>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetAddedNodeInfoResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn get_node_addresses<'life0, 'async_trait>(
&'life0 self,
count: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetNodeAddressesResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_node_addresses<'life0, 'async_trait>(
&'life0 self,
count: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetNodeAddressesResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn list_banned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListBannedResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn list_banned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<ListBannedResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn clear_banned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn clear_banned<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn add_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
subnet: &'life1 str,
bantime: u64,
absolute: bool,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn add_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
subnet: &'life1 str,
bantime: u64,
absolute: bool,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn remove_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
subnet: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn remove_ban<'life0, 'life1, 'async_trait>(
&'life0 self,
subnet: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn set_network_active<'life0, 'async_trait>(
&'life0 self,
state: bool,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn set_network_active<'life0, 'async_trait>(
&'life0 self,
state: bool,
) -> Pin<Box<dyn Future<Output = Result<bool, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_peer_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetPeerInfoResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_peer_info<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Vec<GetPeerInfoResult>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
PeerInfo
§fn ping<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn ping<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn send_raw_transaction<'life0, 'async_trait, R>(
&'life0 self,
tx: R,
) -> Pin<Box<dyn Future<Output = Result<Txid, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
R: 'async_trait + RawTx,
Self: Sync + 'async_trait,
fn estimate_smart_fee<'life0, 'async_trait>(
&'life0 self,
conf_target: u16,
estimate_mode: Option<EstimateMode>,
) -> Pin<Box<dyn Future<Output = Result<EstimateSmartFeeResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn wait_for_new_block<'life0, 'async_trait>(
&'life0 self,
timeout: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockRef, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn wait_for_new_block<'life0, 'async_trait>(
&'life0 self,
timeout: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockRef, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn wait_for_block<'life0, 'life1, 'async_trait>(
&'life0 self,
blockhash: &'life1 BlockHash,
timeout: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockRef, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn wait_for_block<'life0, 'life1, 'async_trait>(
&'life0 self,
blockhash: &'life1 BlockHash,
timeout: u64,
) -> Pin<Box<dyn Future<Output = Result<BlockRef, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn wallet_create_funded_psbt<'a, 'b, 'async_trait>(
&'b self,
inputs: &'b [CreateRawTransactionInput],
outputs: impl Into<WalletCreateFundedPsbtOutputs> + Send + 'async_trait,
locktime: Option<i64>,
options: Option<WalletCreateFundedPsbtOptions>,
bip32derivs: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<WalletCreateFundedPsbtResult, Error>> + Send + 'async_trait>>where
'a: 'async_trait,
'b: 'async_trait,
Self: Sync + 'async_trait,
fn wallet_process_psbt<'life0, 'life1, 'async_trait>(
&'life0 self,
psbt: &'life1 str,
sign: Option<bool>,
sighash_type: Option<SigHashType>,
bip32derivs: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<WalletProcessPsbtResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn get_descriptor_info<'life0, 'life1, 'async_trait>(
&'life0 self,
desc: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<GetDescriptorInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn join_psbt<'life0, 'life1, 'async_trait>(
&'life0 self,
psbts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn combine_psbt<'life0, 'life1, 'async_trait>(
&'life0 self,
psbts: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn combine_raw_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
hex_strings: &'life1 [String],
) -> Pin<Box<dyn Future<Output = Result<String, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn finalize_psbt<'life0, 'life1, 'async_trait>(
&'life0 self,
psbt: &'life1 str,
extract: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<FinalizePsbtResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn derive_addresses<'life0, 'life1, 'async_trait>(
&'life0 self,
descriptor: &'life1 str,
range: Option<[u32; 2]>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Address<NetworkUnchecked>>, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn rescan_blockchain<'life0, 'async_trait>(
&'life0 self,
start_from: Option<usize>,
stop_height: Option<usize>,
) -> Pin<Box<dyn Future<Output = Result<(usize, Option<usize>), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_tx_out_set_info<'life0, 'async_trait>(
&'life0 self,
hash_type: Option<TxOutSetHashType>,
hash_or_height: Option<HashOrHeight>,
use_index: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<GetTxOutSetInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_tx_out_set_info<'life0, 'async_trait>(
&'life0 self,
hash_type: Option<TxOutSetHashType>,
hash_or_height: Option<HashOrHeight>,
use_index: Option<bool>,
) -> Pin<Box<dyn Future<Output = Result<GetTxOutSetInfoResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_net_totals<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetNetTotalsResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_net_totals<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<GetNetTotalsResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn get_network_hash_ps<'life0, 'async_trait>(
&'life0 self,
nblocks: Option<u64>,
height: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<f64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn get_network_hash_ps<'life0, 'async_trait>(
&'life0 self,
nblocks: Option<u64>,
height: Option<u64>,
) -> Pin<Box<dyn Future<Output = Result<f64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn uptime<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
fn uptime<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
Self: Sync + 'async_trait,
§fn submit_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block: &'life1 Block,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn submit_block<'life0, 'life1, 'async_trait>(
&'life0 self,
block: &'life1 Block,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn submit_block_bytes<'life0, 'life1, 'async_trait>(
&'life0 self,
block_bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn submit_block_bytes<'life0, 'life1, 'async_trait>(
&'life0 self,
block_bytes: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
§fn submit_block_hex<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hex: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn submit_block_hex<'life0, 'life1, 'async_trait>(
&'life0 self,
block_hex: &'life1 str,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
fn scan_tx_out_set_blocking<'life0, 'life1, 'async_trait>(
&'life0 self,
descriptors: &'life1 [ScanTxOutRequest],
) -> Pin<Box<dyn Future<Output = Result<ScanTxOutResult, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
Self: Sync + 'async_trait,
Auto Trait Implementations§
impl Freeze for ExtendedBitcoinRpc
impl !RefUnwindSafe for ExtendedBitcoinRpc
impl Send for ExtendedBitcoinRpc
impl Sync for ExtendedBitcoinRpc
impl Unpin for ExtendedBitcoinRpc
impl !UnwindSafe for ExtendedBitcoinRpc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T, U> ExactFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> ExactFrom<T> for Uwhere
U: TryFrom<T>,
fn exact_from(value: T) -> U
§impl<T, U> ExactInto<U> for Twhere
U: ExactFrom<T>,
impl<T, U> ExactInto<U> for Twhere
U: ExactFrom<T>,
fn exact_into(self) -> U
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg
] or
a color-specific method, such as [OwoColorize::green
], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg
] or
a color-specific method, such as [OwoColorize::on_yellow
], Read more§fn fg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn bg_rgb<const R: u8, const G: u8, const B: u8>(
&self,
) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>
§fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>
§fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.