From: github-actions Date: Thu, 23 May 2024 15:11:41 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/enum.AnyDatabaseConfig.html?a=commitdiff_plain;h=3d08ee03caddca42e682a322a81fe67c04f3e89d;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html index 6011e8c345..b6a64fb3ab 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html @@ -1,18 +1,18 @@ BlockEvent in bdk_bitcoind_rpc - Rust

Struct bdk_bitcoind_rpc::BlockEvent

source ·
pub struct BlockEvent<B> {
     pub block: B,
-    pub checkpoint: CheckPoint,
+    pub checkpoint: CheckPoint,
 }
Expand description

A newly emitted block from Emitter.

Fields§

§block: B

Either a full [Block] or [Header] of the new block.

-
§checkpoint: CheckPoint

The checkpoint of the new block.

-

A [CheckPoint] is a node of a linked list of [BlockId]s. This checkpoint is linked to -all [BlockId]s originally passed in Emitter::new as well as emitted blocks since then. +

§checkpoint: CheckPoint

The checkpoint of the new block.

+

A CheckPoint is a node of a linked list of BlockIds. This checkpoint is linked to +all BlockIds originally passed in Emitter::new as well as emitted blocks since then. These blocks are guaranteed to be of the same chain.

This is important as BDK structures require block-to-apply to be connected with another block in the original chain.

Implementations§

source§

impl<B> BlockEvent<B>

source

pub fn block_height(&self) -> u32

The block height of this new block.

source

pub fn block_hash(&self) -> BlockHash

The block hash of this new block.

-
source

pub fn connected_to(&self) -> BlockId

The [BlockId] of a previous block that this block connects to.

-

This either returns a [BlockId] of a previously emitted block or from the chain we started +

source

pub fn connected_to(&self) -> BlockId

The BlockId of a previous block that this block connects to.

+

This either returns a BlockId of a previously emitted block or from the chain we started with (passed in as last_cp in Emitter::new).

This value is derived from BlockEvent::checkpoint.

Trait Implementations§

source§

impl<B: Debug> Debug for BlockEvent<B>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<B> Freeze for BlockEvent<B>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html index 83f1d60e54..0a9f4d3452 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html @@ -1,6 +1,6 @@ Emitter in bdk_bitcoind_rpc - Rust

Struct bdk_bitcoind_rpc::Emitter

source ·
pub struct Emitter<'c, C> { /* private fields */ }
Expand description

The Emitter is used to emit data sourced from [bitcoincore_rpc::Client].

Refer to module-level documentation for more.

-

Implementations§

source§

impl<'c, C: RpcApi> Emitter<'c, C>

source

pub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self

Construct a new Emitter.

+

Implementations§

source§

impl<'c, C: RpcApi> Emitter<'c, C>

source

pub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self

Construct a new Emitter.

last_cp informs the emitter of the chain we are starting off with. This way, the emitter can start emission from a block that connects to the original chain.

start_height starts emission from a given height (if there are no conflicts with the diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html index ee5aa5b0ac..36d5432118 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html @@ -1,4 +1,4 @@ -bdk_electrum - Rust

Crate bdk_electrum

source ·
Expand description

This crate is used for updating structures of [bdk_chain] with data from an Electrum server.

+bdk_electrum - Rust

Crate bdk_electrum

source ·
Expand description

This crate is used for updating structures of bdk_chain with data from an Electrum server.

The two primary methods are ElectrumExt::sync and ElectrumExt::full_scan. In most cases ElectrumExt::sync is used to sync the transaction histories of scripts that the application cares about, for example the scripts for all the receive addresses of a Wallet’s keychain that it @@ -6,6 +6,6 @@ has shown a user. bdk_chain.

Refer to example_electrum for a complete example.

-

Re-exports§

  • pub use bdk_chain;
  • pub use electrum_client;

Structs§

Traits§

  • Trait to extend [electrum_client::Client] functionality.
\ No newline at end of file +

Re-exports§

Structs§

Traits§

  • Trait to extend [electrum_client::Client] functionality.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumFullScanResult.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumFullScanResult.html index f31036ff08..e4f93d46cc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumFullScanResult.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumFullScanResult.html @@ -1,13 +1,13 @@ ElectrumFullScanResult in bdk_electrum - Rust

Struct bdk_electrum::ElectrumFullScanResult

source ·
pub struct ElectrumFullScanResult<K>(/* private fields */);
Expand description

The result of ElectrumExt::full_scan.

-

This can be transformed into a [FullScanResult] with either [ConfirmationHeightAnchor] or -[ConfirmationTimeHeightAnchor] anchor types.

+

This can be transformed into a FullScanResult with either ConfirmationHeightAnchor or +ConfirmationTimeHeightAnchor anchor types.

Implementations§

source§

impl<K> ElectrumFullScanResult<K>

source

pub fn with_confirmation_height_anchor( self -) -> FullScanResult<K, ConfirmationHeightAnchor>

Return [FullScanResult] with [ConfirmationHeightAnchor].

+) -> FullScanResult<K, ConfirmationHeightAnchor>

source

pub fn with_confirmation_time_height_anchor( self, client: &impl ElectrumApi -) -> Result<FullScanResult<K, ConfirmationTimeHeightAnchor>, Error>

Return [FullScanResult] with [ConfirmationTimeHeightAnchor].

+) -> Result<FullScanResult<K, ConfirmationTimeHeightAnchor>, Error>

Return FullScanResult with ConfirmationTimeHeightAnchor.

This requires additional calls to the Electrum server.

Auto Trait Implementations§

§

impl<K> Freeze for ElectrumFullScanResult<K>

§

impl<K> RefUnwindSafe for ElectrumFullScanResult<K>
where K: RefUnwindSafe,

§

impl<K> Send for ElectrumFullScanResult<K>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumSyncResult.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumSyncResult.html index 65287dcbdf..8a817440d6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumSyncResult.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.ElectrumSyncResult.html @@ -1,13 +1,13 @@ ElectrumSyncResult in bdk_electrum - Rust

Struct bdk_electrum::ElectrumSyncResult

source ·
pub struct ElectrumSyncResult(/* private fields */);
Expand description

The result of ElectrumExt::sync.

-

This can be transformed into a [SyncResult] with either [ConfirmationHeightAnchor] or -[ConfirmationTimeHeightAnchor] anchor types.

+

This can be transformed into a SyncResult with either ConfirmationHeightAnchor or +ConfirmationTimeHeightAnchor anchor types.

Implementations§

source§

impl ElectrumSyncResult

source

pub fn with_confirmation_height_anchor( self -) -> SyncResult<ConfirmationHeightAnchor>

Return [SyncResult] with [ConfirmationHeightAnchor].

+) -> SyncResult<ConfirmationHeightAnchor>

source

pub fn with_confirmation_time_height_anchor( self, client: &impl ElectrumApi -) -> Result<SyncResult<ConfirmationTimeHeightAnchor>, Error>

Return [SyncResult] with [ConfirmationTimeHeightAnchor].

+) -> Result<SyncResult<ConfirmationTimeHeightAnchor>, Error>

Return SyncResult with ConfirmationTimeHeightAnchor.

This requires additional calls to the Electrum server.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/trait.ElectrumExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/trait.ElectrumExt.html index ab48c1d8f6..d56191ae0c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/trait.ElectrumExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/trait.ElectrumExt.html @@ -2,29 +2,29 @@ // Required methods fn full_scan<K: Ord + Clone>( &self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, batch_size: usize, fetch_prev_txouts: bool ) -> Result<ElectrumFullScanResult<K>, Error>; fn sync( &self, - request: SyncRequest, + request: SyncRequest, batch_size: usize, fetch_prev_txouts: bool ) -> Result<ElectrumSyncResult, Error>; }
Expand description

Trait to extend [electrum_client::Client] functionality.

Required Methods§

source

fn full_scan<K: Ord + Clone>( &self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, batch_size: usize, fetch_prev_txouts: bool ) -> Result<ElectrumFullScanResult<K>, Error>

Full scan the keychain scripts specified with the blockchain (via an Electrum client) and -returns updates for [bdk_chain] data structures.

+returns updates for bdk_chain data structures.

  • request: struct with data required to perform a spk-based blockchain client full scan, -see [FullScanRequest]
  • +see FullScanRequest
  • stop_gap: the full scan for each keychain stops after a gap of script pubkeys with no associated transactions
  • batch_size: specifies the max number of script pubkeys to request for in a single batch @@ -34,14 +34,14 @@ calculation
source

fn sync( &self, - request: SyncRequest, + request: SyncRequest, batch_size: usize, fetch_prev_txouts: bool ) -> Result<ElectrumSyncResult, Error>

Sync a set of scripts with the blockchain (via an Electrum client) for the data specified -and returns updates for [bdk_chain] data structures.

+and returns updates for bdk_chain data structures.

  • request: struct with data required to perform a spk-based blockchain client sync, -see [SyncRequest]
  • +see SyncRequest
  • batch_size: specifies the max number of script pubkeys to request for in a single batch request
  • fetch_prev_txouts: specifies whether or not we want previous TxOuts for fee diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html index 231fc484dc..653e9045d6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html @@ -27,6 +27,6 @@ has shown a user. bdk_chain -via a new TxGraph to be appended to any existing TxGraph data.

    +via a new TxGraph to be appended to any existing TxGraph data.

    Refer to example_esplora for a complete example.

Re-exports§

  • pub use esplora_client;

Traits§

  • Trait to extend the functionality of [esplora_client::AsyncClient].
  • Trait to extend the functionality of [esplora_client::BlockingClient].

Type Aliases§

  • [esplora_client::Error]

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html index 7f2133bc3c..6a2e5e07b5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html @@ -2,35 +2,35 @@ // Required methods fn full_scan<'life0, 'async_trait, K>( &'life0 self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize - ) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>> where K: 'async_trait + Ord + Clone + Send, Self: 'async_trait, 'life0: 'async_trait; fn sync<'life0, 'async_trait>( &'life0 self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize - ) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; }
Expand description

Trait to extend the functionality of [esplora_client::AsyncClient].

Refer to crate-level documentation for more.

Required Methods§

source

fn full_scan<'life0, 'async_trait, K>( &'life0 self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize -) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>>
where +) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>>
where K: 'async_trait + Ord + Clone + Send, Self: 'async_trait, 'life0: 'async_trait,

Scan keychain scripts for transactions against Esplora, returning an update that can be applied to the receiving structures.

  • request: struct with data required to perform a spk-based blockchain client full scan, -see [FullScanRequest]
  • +see FullScanRequest

The full scan for each keychain stops after a gap of stop_gap script pubkeys with no associated transactions. parallel_requests specifies the max number of HTTP requests to @@ -46,30 +46,30 @@ and

source

fn sync<'life0, 'async_trait>( &'life0 self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize -) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>>
where +) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Sync a set of scripts with the blockchain (via an Esplora client) for the data -specified and return a [TxGraph].

+specified and return a TxGraph.

  • request: struct with data required to perform a spk-based blockchain client sync, see -[SyncRequest]
  • +SyncRequest

If the scripts to sync are unknown, such as when restoring or importing a keychain that may include scripts that have been used, use full_scan with the keychain.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraAsyncExt for AsyncClient

source§

fn full_scan<'life0, 'async_trait, K>( &'life0 self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize -) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>>
where +) -> Pin<Box<dyn Future<Output = Result<FullScanResult<K>, Box<Error>>> + Send + 'async_trait>>
where K: 'async_trait + Ord + Clone + Send, Self: 'async_trait, 'life0: 'async_trait,

source§

fn sync<'life0, 'async_trait>( &'life0 self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize -) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>>
where +) -> Pin<Box<dyn Future<Output = Result<SyncResult, Box<Error>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html index db8773976b..858be8464d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html @@ -2,27 +2,27 @@ // Required methods fn full_scan<K: Ord + Clone>( &self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize - ) -> Result<FullScanResult<K>, Error>; + ) -> Result<FullScanResult<K>, Error>; fn sync( &self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize - ) -> Result<SyncResult, Error>; + ) -> Result<SyncResult, Error>; }
Expand description

Trait to extend the functionality of [esplora_client::BlockingClient].

Refer to crate-level documentation for more.

Required Methods§

source

fn full_scan<K: Ord + Clone>( &self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize -) -> Result<FullScanResult<K>, Error>

Scan keychain scripts for transactions against Esplora, returning an update that can be +) -> Result<FullScanResult<K>, Error>

Scan keychain scripts for transactions against Esplora, returning an update that can be applied to the receiving structures.

  • request: struct with data required to perform a spk-based blockchain client full scan, -see [FullScanRequest]
  • +see FullScanRequest

The full scan for each keychain stops after a gap of stop_gap script pubkeys with no associated transactions. parallel_requests specifies the max number of HTTP requests to @@ -38,23 +38,23 @@ and

source

fn sync( &self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize -) -> Result<SyncResult, Error>

Sync a set of scripts with the blockchain (via an Esplora client) for the data -specified and return a [TxGraph].

+) -> Result<SyncResult, Error>

Sync a set of scripts with the blockchain (via an Esplora client) for the data +specified and return a TxGraph.

  • request: struct with data required to perform a spk-based blockchain client sync, see -[SyncRequest]
  • +SyncRequest

If the scripts to sync are unknown, such as when restoring or importing a keychain that may include scripts that have been used, use full_scan with the keychain.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraExt for BlockingClient

source§

fn full_scan<K: Ord + Clone>( &self, - request: FullScanRequest<K>, + request: FullScanRequest<K>, stop_gap: usize, parallel_requests: usize -) -> Result<FullScanResult<K>, Error>

source§

fn sync( +) -> Result<FullScanResult<K>, Error>

source§

fn sync( &self, - request: SyncRequest, + request: SyncRequest, parallel_requests: usize -) -> Result<SyncResult, Error>

Implementors§

\ No newline at end of file +) -> Result<SyncResult, Error>

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html index 410417f2e6..ee8ca871d2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html @@ -1,7 +1,7 @@ Store in bdk_file_store - Rust

Struct bdk_file_store::Store

source ·
pub struct Store<C>
where C: Sync + Send,
{ /* private fields */ }
Expand description

Persists an append-only list of changesets (C) to a single file.

Implementations§

source§

impl<C> Store<C>
where - C: Append + Serialize + DeserializeOwned + Send + Sync,

source

pub fn create_new<P>(magic: &[u8], file_path: P) -> Result<Self, FileError>

source

pub fn create_new<P>(magic: &[u8], file_path: P) -> Result<Self, FileError>
where P: AsRef<Path>,

Create a new Store file in write-only mode; error if the file exists.

magic is the prefixed bytes to write to the new file. This will be checked when opening the Store in the future with open.

@@ -41,7 +41,7 @@ changeset.

directly after the appended changeset.

Trait Implementations§

source§

impl<C> Debug for Store<C>
where C: Sync + Send + Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<C> PersistBackend<C> for Store<C>
where - C: Append + Serialize + DeserializeOwned + Send + Sync,

source§

fn write_changes(&mut self, changeset: &C) -> Result<()>

Writes a changeset to the persistence backend. Read more
source§

fn load_from_persistence(&mut self) -> Result<Option<C>>

Return the aggregate changeset C from persistence.

Auto Trait Implementations§

§

impl<C> Freeze for Store<C>

§

impl<C> RefUnwindSafe for Store<C>

source§

fn write_changes(&mut self, changeset: &C) -> Result<()>

Writes a changeset to the persistence backend. Read more
source§

fn load_from_persistence(&mut self) -> Result<Option<C>>

Return the aggregate changeset C from persistence.

Auto Trait Implementations§

§

impl<C> Freeze for Store<C>

§

impl<C> RefUnwindSafe for Store<C>
where C: RefUnwindSafe,

§

impl<C> Send for Store<C>

§

impl<C> Sync for Store<C>

§

impl<C> Unpin for Store<C>
where C: Unpin,

§

impl<C> UnwindSafe for Store<C>
where C: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/index.html index 64d72b5e61..b72ac6f374 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/index.html @@ -1,5 +1,5 @@ bdk_persist - Rust

Crate bdk_persist

source ·
Expand description

§BDK Persist

This crate is home to the PersistBackend trait which defines the behavior of a database to perform the task of persisting changes made to BDK data structures.

The Persist type provides a convenient wrapper around a PersistBackend that allows staging changes before committing them.

-

Structs§

Structs§

Traits§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.CombinedChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.CombinedChangeSet.html index c44d6efd6a..1a1d53a257 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.CombinedChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.CombinedChangeSet.html @@ -1,15 +1,15 @@ CombinedChangeSet in bdk_persist - Rust

Struct bdk_persist::CombinedChangeSet

source ·
pub struct CombinedChangeSet<K, A> {
-    pub chain: ChangeSet,
-    pub indexed_tx_graph: ChangeSet<A, ChangeSet<K>>,
+    pub chain: ChangeSet,
+    pub indexed_tx_graph: ChangeSet<A, ChangeSet<K>>,
     pub network: Option<Network>,
-}
Expand description

Changes from a combination of [bdk_chain] structures.

-

Fields§

§chain: ChangeSet

Changes to the LocalChain.

-
§indexed_tx_graph: ChangeSet<A, ChangeSet<K>>

Changes to IndexedTxGraph.

+}
Expand description

Changes from a combination of bdk_chain structures.

+

Fields§

§chain: ChangeSet

Changes to the LocalChain.

+
§indexed_tx_graph: ChangeSet<A, ChangeSet<K>>

Changes to IndexedTxGraph.

§network: Option<Network>

Stores the network type of the transaction data.

-

Trait Implementations§

source§

impl<K: Ord, A: Anchor> Append for CombinedChangeSet<K, A>

source§

fn append(&mut self, other: Self)

Append another object of the same type onto self.
source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

impl<K: Clone, A: Clone> Clone for CombinedChangeSet<K, A>

source§

fn clone(&self) -> CombinedChangeSet<K, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<K: Debug, A: Debug> Debug for CombinedChangeSet<K, A>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<K, A> Default for CombinedChangeSet<K, A>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, K, A> Deserialize<'de> for CombinedChangeSet<K, A>
where +

Trait Implementations§

source§

impl<K: Ord, A: Anchor> Append for CombinedChangeSet<K, A>

source§

fn append(&mut self, other: Self)

Append another object of the same type onto self.
source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

impl<K: Clone, A: Clone> Clone for CombinedChangeSet<K, A>

source§

fn clone(&self) -> CombinedChangeSet<K, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<K: Debug, A: Debug> Debug for CombinedChangeSet<K, A>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<K, A> Default for CombinedChangeSet<K, A>

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl<'de, K, A> Deserialize<'de> for CombinedChangeSet<K, A>
where A: Ord + Deserialize<'de>, K: Ord + Deserialize<'de>,

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where - __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

source§

fn from(indexed_tx_graph: ChangeSet<A, ChangeSet<K>>) -> Self

Converts to this type from the input type.
source§

impl<K: PartialEq, A: PartialEq> PartialEq for CombinedChangeSet<K, A>

source§

fn eq(&self, other: &CombinedChangeSet<K, A>) -> bool

This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§

impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

source§

fn from(indexed_tx_graph: ChangeSet<A, ChangeSet<K>>) -> Self

Converts to this type from the input type.
source§

impl<K: PartialEq, A: PartialEq> PartialEq for CombinedChangeSet<K, A>

source§

fn eq(&self, other: &CombinedChangeSet<K, A>) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<K, A> Serialize for CombinedChangeSet<K, A>
where A: Ord + Serialize, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.Persist.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.Persist.html index 3ba80f0e5f..33fd3f900c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.Persist.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_persist/struct.Persist.html @@ -4,7 +4,7 @@ before they are persisted.

Persist::stage can be used to stage changes first and then Persist::commit can be used to write changes to disk.

Implementations§

source§

impl<C> Persist<C>
where - C: Default + Append,

source

pub fn new(backend: impl PersistBackend<C> + Send + Sync + 'static) -> Self

Create a new Persist from PersistBackend.

+ C: Default + Append,
source

pub fn new(backend: impl PersistBackend<C> + Send + Sync + 'static) -> Self

Create a new Persist from PersistBackend.

source

pub fn stage(&mut self, changeset: C)

Stage a changeset to be committed later with commit.

source

pub fn staged(&self) -> &C

Get the changes that have not been committed yet.

source

pub fn commit(&mut self) -> Result<Option<C>>

Commit the staged changes to the underlying persistence backend.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/struct.Store.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/struct.Store.html index d43e27d2c7..0b2703bf79 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/struct.Store.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/struct.Store.html @@ -2,10 +2,10 @@

The changesets loaded or stored represent changes to keychain and blockchain data.

Implementations§

source§

impl<K, A> Store<K, A>
where K: Ord + for<'de> Deserialize<'de> + Serialize + Send, - A: Anchor + for<'de> Deserialize<'de> + Serialize + Send,

source

pub fn new(conn: Connection) -> Result<Self, Error>

Creates a new store from a [Connection].

+ A: Anchor + for<'de> Deserialize<'de> + Serialize + Send,
source

pub fn new(conn: Connection) -> Result<Self, Error>

Creates a new store from a [Connection].

Trait Implementations§

source§

impl<K, A> Debug for Store<K, A>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<K, A, C> PersistBackend<C> for Store<K, A>
where K: Ord + for<'de> Deserialize<'de> + Serialize + Send, - A: Anchor + for<'de> Deserialize<'de> + Serialize + Send, + A: Anchor + for<'de> Deserialize<'de> + Serialize + Send, C: Clone + From<CombinedChangeSet<K, A>> + Into<CombinedChangeSet<K, A>>,

source§

fn write_changes(&mut self, changeset: &C) -> Result<()>

Writes a changeset to the persistence backend. Read more
source§

fn load_from_persistence(&mut self) -> Result<Option<C>>

Return the aggregate changeset C from persistence.

Auto Trait Implementations§

§

impl<K, A> !Freeze for Store<K, A>

§

impl<K, A> RefUnwindSafe for Store<K, A>

§

impl<K, A> Send for Store<K, A>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html index bc9d8bff95..fcc874b33b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html index c0376d21fe..ec53fe342f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html @@ -236,8 +236,8 @@ default(0x02) y-coordinate.

This function will return an error if hardened derivation is attempted.

Trait Implementations§

§

impl<Pk> Clone for Descriptor<Pk>
where Pk: Clone + MiniscriptKey,

§

fn clone(&self) -> Descriptor<Pk>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<Pk> Debug for Descriptor<Pk>
where - Pk: MiniscriptKey,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl DescriptorExt for Descriptor<DescriptorPublicKey>

§

fn dust_value(&self) -> u64

Returns the minimum value (in satoshis) at which an output is broadcastable. -Panics if the descriptor wildcard is hardened.
§

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor id, calculated as the sha256 of the descriptor, checksum not + Pk: MiniscriptKey,
§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl DescriptorExt for Descriptor<DescriptorPublicKey>

source§

fn dust_value(&self) -> u64

Returns the minimum value (in satoshis) at which an output is broadcastable. +Panics if the descriptor wildcard is hardened.
source§

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor id, calculated as the sha256 of the descriptor, checksum not included.
§

impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
where Pk: MiniscriptKey + FromStr, <Pk as MiniscriptKey>::Sha256: FromStr, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html index ae04ebf8a1..b286ee4ee7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html @@ -166,4 +166,4 @@ that the Wallet can use to update its view of the chain.

submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

-

Re-exports§

  • pub extern crate bitcoin;
  • pub extern crate miniscript;
  • pub use descriptor::template;
  • pub use descriptor::HdKeyPaths;
  • pub use wallet::signer;
  • pub use wallet::signer::SignOptions;
  • pub use wallet::tx_builder::TxBuilder;
  • pub use wallet::Wallet;
  • pub use bdk_chain as chain;

Modules§

Macros§

  • Macro to write full descriptors with code
  • Macro to write descriptor fragments with code

Structs§

Enums§

Functions§

  • Get the version of BDK at runtime
\ No newline at end of file +

Re-exports§

Modules§

Macros§

Structs§

Enums§

Functions§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html index 30b414ccf2..4b1f10c846 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html @@ -4,14 +4,14 @@ pub keychain: KeychainKind, pub is_spent: bool, pub derivation_index: u32, - pub confirmation_time: ConfirmationTime, + pub confirmation_time: ConfirmationTime, }
Expand description

An unspent output owned by a Wallet.

Fields§

§outpoint: OutPoint

Reference to a transaction output

§txout: TxOut

Transaction output

§keychain: KeychainKind

Type of keychain

§is_spent: bool

Whether this UTXO is spent or not

§derivation_index: u32

The derivation index for the script pubkey in the wallet

-
§confirmation_time: ConfirmationTime

The confirmation time for transaction containing this utxo

+
§confirmation_time: ConfirmationTime

The confirmation time for transaction containing this utxo

Trait Implementations§

source§

impl Clone for LocalOutput

source§

fn clone(&self) -> LocalOutput

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for LocalOutput

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for LocalOutput

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl Hash for LocalOutput

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html index 2929b59b03..c721691752 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html @@ -1,11 +1,11 @@ ApplyBlockError in bdk_wallet::wallet - Rust

Enum bdk_wallet::wallet::ApplyBlockError

source ·
pub enum ApplyBlockError {
-    CannotConnect(CannotConnectError),
+    CannotConnect(CannotConnectError),
     UnexpectedConnectedToHash {
         connected_to_hash: BlockHash,
         expected_hash: BlockHash,
     },
 }
Expand description

An error that may occur when applying a block to Wallet.

-

Variants§

§

CannotConnect(CannotConnectError)

Occurs when the update chain cannot connect with original chain.

+

Variants§

§

CannotConnect(CannotConnectError)

Occurs when the update chain cannot connect with original chain.

§

UnexpectedConnectedToHash

Occurs when the connected_to hash does not match the hash derived from block.

Fields

§connected_to_hash: BlockHash

Block hash of connected_to.

§expected_hash: BlockHash

Expected block hash of connected_to, as derived from block.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html index eb219444ee..801bbb76ac 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html @@ -1,4 +1,4 @@ -wallet_name_from_descriptor in bdk_wallet::wallet - Rust

Function bdk_wallet::wallet::wallet_name_from_descriptor

source ·
pub fn wallet_name_from_descriptor<T>(
+wallet_name_from_descriptor in bdk_wallet::wallet - Rust

Function bdk_wallet::wallet::wallet_name_from_descriptor

source ·
pub fn wallet_name_from_descriptor<T>(
     descriptor: T,
     change_descriptor: Option<T>,
     network: Network,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
index 61f954930c..d96ee756fb 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
@@ -1,4 +1,4 @@
-bdk_wallet::wallet - Rust

Module bdk_wallet::wallet

source ·
Expand description

Wallet

+bdk_wallet::wallet - Rust

Module bdk_wallet::wallet

source ·
Expand description

Wallet

This module defines the Wallet.

Modules§

Structs§

  • A derived address and the index it was found at. For convenience this automatically derefs to Address
  • Balance, differentiated into various categories.
  • An update to Wallet.
  • A Bitcoin wallet

Enums§

Traits§

source§

impl Display for Balance

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl PartialEq for Balance

source§

fn eq(&self, other: &Balance) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
§

impl Serialize for Balance

§

fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for Balance

source§

fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where - __S: Serializer,

Serialize this value into the given Serde serializer. Read more
§

impl Eq for Balance

§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

§

impl Freeze for Balance

§

impl RefUnwindSafe for Balance

§

impl Send for Balance

§

impl Sync for Balance

§

impl Unpin for Balance

§

impl UnwindSafe for Balance

Blanket Implementations§

source§

impl<T> Any for T
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for Balance

source§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

§

impl Freeze for Balance

§

impl RefUnwindSafe for Balance

§

impl Send for Balance

§

impl Sync for Balance

§

impl Unpin for Balance

§

impl UnwindSafe for Balance

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html index 43ad13ec34..864381c20f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html @@ -1,14 +1,14 @@ Update in bdk_wallet::wallet - Rust

Struct bdk_wallet::wallet::Update

source ·
pub struct Update {
     pub last_active_indices: BTreeMap<KeychainKind, u32>,
-    pub graph: TxGraph<ConfirmationTimeHeightAnchor>,
-    pub chain: Option<CheckPoint>,
+    pub graph: TxGraph<ConfirmationTimeHeightAnchor>,
+    pub chain: Option<CheckPoint>,
 }
Expand description

An update to Wallet.

-

It updates [bdk_chain::keychain::KeychainTxOutIndex], [bdk_chain::TxGraph] and [local_chain::LocalChain] atomically.

+

It updates bdk_chain::keychain::KeychainTxOutIndex, bdk_chain::TxGraph and local_chain::LocalChain atomically.

Fields§

§last_active_indices: BTreeMap<KeychainKind, u32>

Contains the last active derivation indices per keychain (K), which is used to update the -[KeychainTxOutIndex].

-
§graph: TxGraph<ConfirmationTimeHeightAnchor>

Update for the wallet’s internal [TxGraph].

-
§chain: Option<CheckPoint>

Update for the wallet’s internal LocalChain.

-

Trait Implementations§

source§

impl Clone for Update

source§

fn clone(&self) -> Update

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Update

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Update

source§

fn default() -> Update

Returns the “default value” for a type. Read more
source§

impl From<FullScanResult<KeychainKind>> for Update

source§

fn from(value: FullScanResult<KeychainKind>) -> Self

Converts to this type from the input type.
source§

impl From<SyncResult> for Update

source§

fn from(value: SyncResult) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T§graph: TxGraph<ConfirmationTimeHeightAnchor>

Update for the wallet’s internal TxGraph.

+
§chain: Option<CheckPoint>

Update for the wallet’s internal LocalChain.

+

Trait Implementations§

source§

impl Clone for Update

source§

fn clone(&self) -> Update

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Update

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Update

source§

fn default() -> Update

Returns the “default value” for a type. Read more
source§

impl From<FullScanResult<KeychainKind>> for Update

source§

fn from(value: FullScanResult<KeychainKind>) -> Self

Converts to this type from the input type.
source§

impl From<SyncResult> for Update

source§

fn from(value: SyncResult) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html index 9dfd2594f9..b5d907758f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html @@ -16,7 +16,7 @@ Its main components are:

network: Network, genesis_hash: BlockHash ) -> Result<Self, DescriptorError>

Creates a wallet that does not persist data, with a custom genesis hash.

-
source§

impl Wallet

source§

impl Wallet

source

pub fn new<E: IntoWalletDescriptor>( descriptor: E, change_descriptor: Option<E>, db: impl PersistBackend<ChangeSet> + Send + Sync + 'static, @@ -133,8 +133,8 @@ by using
source

pub fn list_unspent(&self) -> impl Iterator<Item = LocalOutput> + '_

Return the list of unspent outputs of this wallet

source

pub fn list_output(&self) -> impl Iterator<Item = LocalOutput> + '_

List all relevant outputs (includes both spent and unspent, confirmed and unconfirmed).

To list only unspent outputs (UTXOs), use Wallet::list_unspent instead.

-
source

pub fn checkpoints(&self) -> CheckPointIter

Get all the checkpoints the wallet is currently storing indexed by height.

-
source

pub fn latest_checkpoint(&self) -> CheckPoint

Returns the latest checkpoint.

+
source

pub fn checkpoints(&self) -> CheckPointIter

Get all the checkpoints the wallet is currently storing indexed by height.

+
source

pub fn latest_checkpoint(&self) -> CheckPoint

Returns the latest checkpoint.

source

pub fn all_unbounded_spk_iters( &self ) -> BTreeMap<KeychainKind, impl Iterator<Item = (u32, ScriptBuf)> + Clone>

Get unbounded script pubkey iterators for both Internal and External keychains.

@@ -157,7 +157,7 @@ not be returned in commit is called.

WARNING: This should only be used to add TxOuts that the wallet does not own. Only insert TxOuts that you trust the values for!

-
source

pub fn calculate_fee(&self, tx: &Transaction) -> Result<u64, CalculateFeeError>

Calculates the fee of a given transaction. Returns 0 if tx is a coinbase transaction.

+
source

pub fn calculate_fee(&self, tx: &Transaction) -> Result<u64, CalculateFeeError>

Calculates the fee of a given transaction. Returns 0 if tx is a coinbase transaction.

To calculate the fee for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

Note tx does not have to be in the graph for this to work.

@@ -170,7 +170,7 @@ manually insert the TxOut(s) into the tx graph using the
source

pub fn calculate_fee_rate( &self, tx: &Transaction -) -> Result<FeeRate, CalculateFeeError>

Calculate the [FeeRate] for a given transaction.

+) -> Result<FeeRate, CalculateFeeError>

Calculate the [FeeRate] for a given transaction.

To calculate the fee rate for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

Note tx does not have to be in the graph for this to work.

@@ -193,12 +193,12 @@ of this tx’s outputs that send to script pubkeys tracked by this wallet.

source

pub fn get_tx( &self, txid: Txid -) -> Option<CanonicalTx<'_, Arc<Transaction>, ConfirmationTimeHeightAnchor>>

Get a single transaction from the wallet as a [CanonicalTx] (if the transaction exists).

+) -> Option<CanonicalTx<'_, Arc<Transaction>, ConfirmationTimeHeightAnchor>>

Get a single transaction from the wallet as a CanonicalTx (if the transaction exists).

CanonicalTx contains the full transaction alongside meta-data such as:

    -
  • Blocks that the transaction is Anchored in. These may or may not be blocks that exist +
  • Blocks that the transaction is Anchored in. These may or may not be blocks that exist in the best chain.
  • -
  • The [ChainPosition] of the transaction in the best chain - whether the transaction is +
  • The ChainPosition of the transaction in the best chain - whether the transaction is confirmed or unconfirmed. If the transaction is confirmed, the anchor which proves the confirmation is provided. If the transaction is unconfirmed, the unix timestamp of when the transaction was last seen in the mempool is provided.
  • @@ -233,15 +233,15 @@ the transaction was last seen in the mempool is provided. }
source

pub fn insert_checkpoint( &mut self, - block_id: BlockId -) -> Result<bool, AlterCheckPointError>

Add a new checkpoint to the wallet’s internal view of the chain. + block_id: BlockId +) -> Result<bool, AlterCheckPointError>

Add a new checkpoint to the wallet’s internal view of the chain. This stages but does not commit the change.

Returns whether anything changed with the insertion (e.g. false if checkpoint was already there).

source

pub fn insert_tx( &mut self, tx: Transaction, - position: ConfirmationTime + position: ConfirmationTime ) -> Result<bool, InsertTxError>

Add a transaction to the wallet’s internal view of the chain. This stages but does not commit the change.

Returns whether anything changed with the transaction insertion (e.g. false if the @@ -254,7 +254,7 @@ is >= the position’s height. The caller is responsible for ens local view of the best chain’s history.

source

pub fn transactions( &self -) -> impl Iterator<Item = CanonicalTx<'_, Arc<Transaction>, ConfirmationTimeHeightAnchor>> + '_

Iterate over the transactions in the wallet.

+) -> impl Iterator<Item = CanonicalTx<'_, Arc<Transaction>, ConfirmationTimeHeightAnchor>> + '_

Iterate over the transactions in the wallet.

source

pub fn get_balance(&self) -> Balance

Return the balance, separated into available, trusted-pending, untrusted-pending and immature values.

source

pub fn add_signer( @@ -273,9 +273,7 @@ values.

} Ok::<(), Box<dyn std::error::Error>>(())

-
source

pub fn build_tx( - &mut self -) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm, CreateTx>

Start building a transaction.

+
source

pub fn build_tx(&mut self) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm>

Start building a transaction.

This returns a blank TxBuilder from which you can specify the parameters for the transaction.

§Example
let psbt = {
@@ -286,10 +284,10 @@ values.

}; // sign and broadcast ...
-
source

pub fn build_fee_bump( +

source

pub fn build_fee_bump( &mut self, txid: Txid -) -> Result<TxBuilder<'_, DefaultCoinSelectionAlgorithm, BumpFee>, BuildFeeBumpError>

Bump the fee of a transaction previously created with this wallet.

+) -> Result<TxBuilder<'_, DefaultCoinSelectionAlgorithm>, BuildFeeBumpError>

Bump the fee of a transaction previously created with this wallet.

Returns an error if the transaction is already confirmed or doesn’t explicitly signal replace by fee (RBF). If the transaction can be fee bumped then it returns a TxBuilder pre-populated with the inputs and outputs of the original transaction.

@@ -314,7 +312,7 @@ pre-populated with the inputs and outputs of the original transaction.

let _ = wallet.sign(&mut psbt, SignOptions::default())?; let fee_bumped_tx = psbt.extract_tx(); // broadcast fee_bumped_tx to replace original
-
source

pub fn sign( +

source

pub fn sign( &self, psbt: &mut Psbt, sign_options: SignOptions @@ -332,17 +330,17 @@ in this library will.

}; let finalized = wallet.sign(&mut psbt, SignOptions::default())?; assert!(finalized, "we should have signed all the inputs"); -

source

pub fn policies( +

source

pub fn policies( &self, keychain: KeychainKind ) -> Result<Option<Policy>, DescriptorError>

Return the spending policies for the wallet’s descriptor

-
source

pub fn public_descriptor( +

source

pub fn public_descriptor( &self, keychain: KeychainKind ) -> Option<&ExtendedDescriptor>

Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has the same structure but with every secret key removed

This can be used to build a watch-only version of a wallet

-
source

pub fn finalize_psbt( +

source

pub fn finalize_psbt( &self, psbt: &mut Psbt, sign_options: SignOptions @@ -352,56 +350,56 @@ validation and construct the respective scriptSig or scriptWi for further information.

Returns true if the PSBT could be finalized, and false otherwise.

The SignOptions can be used to tweak the behavior of the finalizer.

-

source

pub fn secp_ctx(&self) -> &Secp256k1<All>

Return the secp256k1 context used for all signing operations

-
source

pub fn get_descriptor_for_keychain( +

source

pub fn secp_ctx(&self) -> &Secp256k1<All>

Return the secp256k1 context used for all signing operations

+
source

pub fn get_descriptor_for_keychain( &self, keychain: KeychainKind ) -> &ExtendedDescriptor

Returns the descriptor used to create addresses for a particular keychain.

-
source

pub fn derivation_index(&self, keychain: KeychainKind) -> Option<u32>

The derivation index of this wallet. It will return None if it has not derived any addresses. +

source

pub fn derivation_index(&self, keychain: KeychainKind) -> Option<u32>

The derivation index of this wallet. It will return None if it has not derived any addresses. Otherwise, it will return the index of the highest address it has derived.

-
source

pub fn next_derivation_index(&self, keychain: KeychainKind) -> u32

The index of the next address that you would get if you were to ask the wallet for a new address

-
source

pub fn cancel_tx(&mut self, tx: &Transaction)

Informs the wallet that you no longer intend to broadcast a tx that was built from it.

+
source

pub fn next_derivation_index(&self, keychain: KeychainKind) -> u32

The index of the next address that you would get if you were to ask the wallet for a new address

+
source

pub fn cancel_tx(&mut self, tx: &Transaction)

Informs the wallet that you no longer intend to broadcast a tx that was built from it.

This frees up the change address used when creating the tx for use in future transactions.

-
source

pub fn get_psbt_input( +

source

pub fn get_psbt_input( &self, utxo: LocalOutput, sighash_type: Option<PsbtSighashType>, only_witness_utxo: bool ) -> Result<Input, CreateTxError>

get the corresponding PSBT Input for a LocalUtxo

-
source

pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

Return the checksum of the public descriptor associated to keychain

+
source

pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

Return the checksum of the public descriptor associated to keychain

Internally calls Self::get_descriptor_for_keychain to fetch the right descriptor

-
source

pub fn apply_update( +

source

pub fn apply_update( &mut self, update: impl Into<Update> -) -> Result<(), CannotConnectError>

Applies an update to the wallet and stages the changes (but does not commit them).

+) -> Result<(), CannotConnectError>

Applies an update to the wallet and stages the changes (but does not commit them).

Usually you create an update by interacting with some blockchain data source and inserting transactions related to your wallet into it.

-
source

pub fn commit(&mut self) -> Result<bool>

Commits all currently staged changed to the persistence backend returning and error when +

source

pub fn commit(&mut self) -> Result<bool>

Commits all currently staged changed to the persistence backend returning and error when this fails.

This returns whether the update resulted in any changes.

-
source

pub fn staged(&self) -> &ChangeSet

Returns the changes that will be committed with the next call to commit.

-
source

pub fn tx_graph(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

Get a reference to the inner [TxGraph].

-
source

pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

Get a reference to the inner [KeychainTxOutIndex].

-
source

pub fn local_chain(&self) -> &LocalChain

Get a reference to the inner [LocalChain].

-
source

pub fn apply_block( +

source

pub fn staged(&self) -> &ChangeSet

Returns the changes that will be committed with the next call to commit.

+
source

pub fn tx_graph(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

Get a reference to the inner TxGraph.

+
source

pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

Get a reference to the inner KeychainTxOutIndex.

+
source

pub fn local_chain(&self) -> &LocalChain

Get a reference to the inner LocalChain.

+
source

pub fn apply_block( &mut self, block: &Block, height: u32 -) -> Result<(), CannotConnectError>

Introduces a block of height to the wallet, and tries to connect it to the +) -> Result<(), CannotConnectError>

Introduces a block of height to the wallet, and tries to connect it to the prev_blockhash of the block’s header.

This is a convenience method that is equivalent to calling apply_block_connected_to with prev_blockhash and height-1 as the connected_to parameter.

-
source

pub fn apply_block_connected_to( +

source

pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, - connected_to: BlockId -) -> Result<(), ApplyHeaderError>

Applies relevant transactions from block of height to the wallet, and connects the + connected_to: BlockId +) -> Result<(), ApplyHeaderError>

Applies relevant transactions from block of height to the wallet, and connects the block to the internal chain.

The connected_to parameter informs the wallet how this block connects to the internal -[LocalChain]. Relevant transactions are filtered from the block and inserted into the -internal [TxGraph].

-
source

pub fn apply_unconfirmed_txs<'t>( +LocalChain. Relevant transactions are filtered from the block and inserted into the +internal TxGraph.

+

source

pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

Apply relevant unconfirmed transactions to the wallet.

@@ -410,18 +408,18 @@ internal [TxGraph].

when the transaction was last seen in the mempool. This is used for conflict resolution when there is conflicting unconfirmed transactions. The transaction with the later last_seen is prioritized.

-
source§

impl Wallet

Methods to construct sync/full-scan requests for spk-based chain sources.

-
source

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

Create a partial [SyncRequest] for this wallet for all revealed spks.

+
source§

impl Wallet

Methods to construct sync/full-scan requests for spk-based chain sources.

+
source

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

Create a partial SyncRequest for this wallet for all revealed spks.

This is the first step when performing a spk-based wallet partial sync, the returned -[SyncRequest] collects all revealed script pubkeys from the wallet keychain needed to +SyncRequest collects all revealed script pubkeys from the wallet keychain needed to start a blockchain sync with a spk based blockchain client.

-
source

pub fn start_full_scan(&self) -> FullScanRequest<KeychainKind>

Create a [`FullScanRequest] for this wallet.

+
source

pub fn start_full_scan(&self) -> FullScanRequest<KeychainKind>

Create a `FullScanRequest for this wallet.

This is the first step when performing a spk-based wallet full scan, the returned -[`FullScanRequest] collects iterators for the wallet’s keychain script pub keys needed to +`FullScanRequest collects iterators for the wallet’s keychain script pub keys needed to start a blockchain full scan with a spk based blockchain client.

This operation is generally only used when importing or restoring a previously used wallet in which the list of used scripts is not known.

-

Trait Implementations§

source§

impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet

source§

fn as_ref(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Wallet

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Wallet

§

impl !RefUnwindSafe for Wallet

§

impl Send for Wallet

§

impl Sync for Wallet

§

impl Unpin for Wallet

§

impl !UnwindSafe for Wallet

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet

source§

fn as_ref(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

Converts this type into a shared reference of the (usually inferred) input type.
source§

impl Debug for Wallet

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Wallet

§

impl !RefUnwindSafe for Wallet

§

impl Send for Wallet

§

impl Sync for Wallet

§

impl Unpin for Wallet

§

impl !UnwindSafe for Wallet

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html index c225e64c4c..a36d4f1259 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html @@ -1,4 +1,4 @@ -AddForeignUtxoError in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::AddForeignUtxoError

source ·
pub enum AddForeignUtxoError {
+AddForeignUtxoError in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::AddForeignUtxoError

source ·
pub enum AddForeignUtxoError {
     InvalidTxid {
         input_txid: Txid,
         foreign_utxo: OutPoint,
@@ -11,7 +11,7 @@
 
§foreign_utxo: OutPoint

Foreign UTXO outpoint

§

InvalidOutpoint(OutPoint)

Requested outpoint doesn’t exist in the tx (vout greater than available outputs)

§

MissingUtxo

Foreign utxo missing witness_utxo or non_witness_utxo

-

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AddForeignUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AddForeignUtxoError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AddForeignUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AddForeignUtxoError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html index 1d7e6f1cec..47f94d5182 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html @@ -1,8 +1,8 @@ -AddUtxoError in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::AddUtxoError

source ·
pub enum AddUtxoError {
+AddUtxoError in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::AddUtxoError

source ·
pub enum AddUtxoError {
     UnknownUtxo(OutPoint),
 }
Expand description

Error returned from TxBuilder::add_utxo and TxBuilder::add_utxos

Variants§

§

UnknownUtxo(OutPoint)

Happens when trying to spend an UTXO that is not in the internal database

-

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AddUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AddUtxoError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AddUtxoError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AddUtxoError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AllowShrinkingError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AllowShrinkingError.html deleted file mode 100644 index a6f3b1bfe9..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AllowShrinkingError.html +++ /dev/null @@ -1,17 +0,0 @@ -AllowShrinkingError in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::AllowShrinkingError

source ·
pub enum AllowShrinkingError {
-    MissingScriptPubKey(ScriptBuf),
-}
Expand description

Error returned from TxBuilder::allow_shrinking

-

Variants§

§

MissingScriptPubKey(ScriptBuf)

Script/PubKey was not in the original transaction

-

Trait Implementations§

source§

impl Debug for AllowShrinkingError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for AllowShrinkingError

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Error for AllowShrinkingError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html index dd2b8a65cf..727fcbd132 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html @@ -1,4 +1,4 @@ -ChangeSpendPolicy in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy

source ·
pub enum ChangeSpendPolicy {
+ChangeSpendPolicy in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy

source ·
pub enum ChangeSpendPolicy {
     ChangeAllowed,
     OnlyChange,
     ChangeForbidden,
@@ -6,16 +6,16 @@
 

Variants§

§

ChangeAllowed

Use both change and non-change outputs (default)

§

OnlyChange

Only use change outputs (see TxBuilder::only_spend_change)

§

ChangeForbidden

Only use non-change outputs (see TxBuilder::do_not_spend_change)

-

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

Returns the “default value” for a type. Read more
source§

impl Hash for ChangeSpendPolicy

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

Returns the “default value” for a type. Read more
source§

impl Hash for ChangeSpendPolicy

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ChangeSpendPolicy

source§

fn cmp(&self, other: &ChangeSpendPolicy) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for ChangeSpendPolicy

source§

fn cmp(&self, other: &ChangeSpendPolicy) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for ChangeSpendPolicy

source§

fn eq(&self, other: &ChangeSpendPolicy) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
source§

impl PartialEq for ChangeSpendPolicy

source§

fn eq(&self, other: &ChangeSpendPolicy) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ChangeSpendPolicy

source§

fn partial_cmp(&self, other: &ChangeSpendPolicy) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for ChangeSpendPolicy

source§

fn partial_cmp(&self, other: &ChangeSpendPolicy) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +operator. Read more

source§

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

§

impl Freeze for ChangeSpendPolicy

§

impl RefUnwindSafe for ChangeSpendPolicy

§

impl Send for ChangeSpendPolicy

§

impl Sync for ChangeSpendPolicy

§

impl Unpin for ChangeSpendPolicy

§

impl UnwindSafe for ChangeSpendPolicy

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html index b52ab8177d..159749e52a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html @@ -1,4 +1,4 @@ -TxOrdering in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::TxOrdering

source ·
pub enum TxOrdering {
+TxOrdering in bdk_wallet::wallet::tx_builder - Rust

Enum bdk_wallet::wallet::tx_builder::TxOrdering

source ·
pub enum TxOrdering {
     Shuffle,
     Untouched,
     Bip69Lexicographic,
@@ -6,17 +6,17 @@
 

Variants§

§

Shuffle

Randomized (default)

§

Untouched

Unchanged

§

Bip69Lexicographic

BIP69 / Lexicographic

-

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant

-

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TxOrdering

source§

fn default() -> TxOrdering

Returns the “default value” for a type. Read more
source§

impl Hash for TxOrdering

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where +

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant

+

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for TxOrdering

source§

fn default() -> TxOrdering

Returns the “default value” for a type. Read more
source§

impl Hash for TxOrdering

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, - Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for TxOrdering

source§

fn cmp(&self, other: &TxOrdering) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where + Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl Ord for TxOrdering

source§

fn cmp(&self, other: &TxOrdering) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where - Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
source§

impl PartialEq for TxOrdering

source§

fn eq(&self, other: &TxOrdering) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,
Restrict a value to a certain interval. Read more
source§

impl PartialEq for TxOrdering

source§

fn eq(&self, other: &TxOrdering) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for TxOrdering

source§

fn partial_cmp(&self, other: &TxOrdering) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for TxOrdering

source§

fn partial_cmp(&self, other: &TxOrdering) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
source§

impl Copy for TxOrdering

source§

impl Eq for TxOrdering

source§

impl StructuralPartialEq for TxOrdering

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +operator. Read more

source§

impl Copy for TxOrdering

source§

impl Eq for TxOrdering

source§

impl StructuralPartialEq for TxOrdering

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html index fd542f8b68..d52c33ecee 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html @@ -1,4 +1,4 @@ -bdk_wallet::wallet::tx_builder - Rust

Module bdk_wallet::wallet::tx_builder

source ·
Expand description

Transaction builder

+bdk_wallet::wallet::tx_builder - Rust

Module bdk_wallet::wallet::tx_builder

source ·
Expand description

Transaction builder

§Example

// create a TxBuilder from a wallet
 let mut tx_builder = wallet.build_tx();
@@ -13,5 +13,4 @@ tx_builder
     // Turn on RBF signaling
     .enable_rbf();
 let psbt = tx_builder.finish()?;
-

Structs§

  • Marker type to indicate the TxBuilder is being used to bump the fee of an existing transaction.
  • Marker type to indicate the TxBuilder is being used to create a new transaction (as opposed -to bumping the fee of an existing one).
  • A transaction builder

Enums§

Traits§

\ No newline at end of file +

Structs§

Enums§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/sidebar-items.js index fe18d73ca1..55f2e14703 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/sidebar-items.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["AddForeignUtxoError","AddUtxoError","AllowShrinkingError","ChangeSpendPolicy","TxOrdering"],"struct":["BumpFee","CreateTx","TxBuilder"],"trait":["TxBuilderContext"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AddForeignUtxoError","AddUtxoError","ChangeSpendPolicy","TxOrdering"],"struct":["TxBuilder"]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.BumpFee.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.BumpFee.html deleted file mode 100644 index 56f28807f7..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.BumpFee.html +++ /dev/null @@ -1,14 +0,0 @@ -BumpFee in bdk_wallet::wallet::tx_builder - Rust

Struct bdk_wallet::wallet::tx_builder::BumpFee

source ·
pub struct BumpFee;
Expand description

Marker type to indicate the TxBuilder is being used to bump the fee of an existing transaction.

-

Trait Implementations§

source§

impl Clone for BumpFee

source§

fn clone(&self) -> BumpFee

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BumpFee

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for BumpFee

source§

fn default() -> BumpFee

Returns the “default value” for a type. Read more
source§

impl TxBuilderContext for BumpFee

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.CreateTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.CreateTx.html deleted file mode 100644 index b2f4b7e83a..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.CreateTx.html +++ /dev/null @@ -1,15 +0,0 @@ -CreateTx in bdk_wallet::wallet::tx_builder - Rust

Struct bdk_wallet::wallet::tx_builder::CreateTx

source ·
pub struct CreateTx;
Expand description

Marker type to indicate the TxBuilder is being used to create a new transaction (as opposed -to bumping the fee of an existing one).

-

Trait Implementations§

source§

impl Clone for CreateTx

source§

fn clone(&self) -> CreateTx

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for CreateTx

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for CreateTx

source§

fn default() -> CreateTx

Returns the “default value” for a type. Read more
source§

impl TxBuilderContext for CreateTx

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where - T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where - T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where - T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

-
source§

impl<T, U> Into<U> for T
where - U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-
source§

impl<T> ToOwned for T
where - T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where - U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where - U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html index b2c7628659..cf8dfc7950 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html @@ -1,4 +1,4 @@ -TxBuilder in bdk_wallet::wallet::tx_builder - Rust

Struct bdk_wallet::wallet::tx_builder::TxBuilder

source ·
pub struct TxBuilder<'a, Cs, Ctx> { /* private fields */ }
Expand description

A transaction builder

+TxBuilder in bdk_wallet::wallet::tx_builder - Rust

Struct bdk_wallet::wallet::tx_builder::TxBuilder

source ·
pub struct TxBuilder<'a, Cs> { /* private fields */ }
Expand description

A transaction builder

A TxBuilder is created by calling build_tx or build_fee_bump on a wallet. After assigning it, you set options on it until finally calling finish to consume the builder and generate the transaction.

@@ -29,7 +29,7 @@ as in the following example:

At the moment coin_selection is an exception to the rule as it consumes self. This means it is usually best to call coin_selection on the return value of build_tx before assigning it.

For further examples see this module’s documentation;

-

Implementations§

source§

impl<'a, Cs, Ctx> TxBuilder<'a, Cs, Ctx>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

+

Implementations§

source§

impl<'a, Cs> TxBuilder<'a, Cs>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

This method sets the mining fee paid by the transaction as a rate on its size. This means that the total fee paid is equal to fee_rate times the size of the transaction. Default is 1 sat/vB in accordance with Bitcoin Core’s default @@ -37,7 +37,7 @@ relay policy.

Note that this is really a minimum feerate – it’s possible to overshoot it slightly since adding a change output to drain the remaining excess might not be viable.

-
source

pub fn fee_absolute(&mut self, fee_amount: u64) -> &mut Self

Set an absolute fee +

source

pub fn fee_absolute(&mut self, fee_amount: Amount) -> &mut Self

Set an absolute fee The fee_absolute method refers to the absolute transaction fee in satoshis (sats). If anyone sets both the fee_absolute method and the fee_rate method, the FeePolicy enum will be set by whichever method was called last, @@ -45,7 +45,7 @@ as the FeeRate and FeeAmount are mutually exclusive.

Note that this is really a minimum absolute fee – it’s possible to overshoot it slightly since adding a change output to drain the remaining excess might not be viable.

-
source

pub fn policy_path( +

source

pub fn policy_path( &mut self, policy_path: BTreeMap<String, Vec<usize>>, keychain: KeychainKind @@ -96,20 +96,20 @@ path.insert("aabbccdd".to_string(), 50_000)) .policy_path(path, KeychainKind::External);

-
source

pub fn add_utxos( +

source

pub fn add_utxos( &mut self, outpoints: &[OutPoint] ) -> Result<&mut Self, AddUtxoError>

Add the list of outpoints to the internal list of UTXOs that must be spent.

If an error occurs while adding any of the UTXOs then none of them are added and the error is returned.

These have priority over the “unspendable” utxos, meaning that if a utxo is present both in the “utxos” and the “unspendable” list, it will be spent.

-
source

pub fn add_utxo( +

source

pub fn add_utxo( &mut self, outpoint: OutPoint ) -> Result<&mut Self, AddUtxoError>

Add a utxo to the internal list of utxos that must be spent

These have priority over the “unspendable” utxos, meaning that if a utxo is present both in the “utxos” and the “unspendable” list, it will be spent.

-
source

pub fn add_foreign_utxo( +

source

pub fn add_foreign_utxo( &mut self, outpoint: OutPoint, psbt_input: Input, @@ -149,64 +149,64 @@ graph using the only_witness_utxo any non-taproot psbt_input you pass to this method must have non_witness_utxo set otherwise you will get an error when finish is called.

-

source

pub fn add_foreign_utxo_with_sequence( +

source

pub fn add_foreign_utxo_with_sequence( &mut self, outpoint: OutPoint, psbt_input: Input, satisfaction_weight: usize, sequence: Sequence ) -> Result<&mut Self, AddForeignUtxoError>

Same as add_foreign_utxo but allows to set the nSequence value.

-
source

pub fn manually_selected_only(&mut self) -> &mut Self

Only spend utxos added by add_utxo.

+
source

pub fn manually_selected_only(&mut self) -> &mut Self

Only spend utxos added by add_utxo.

The wallet will not add additional utxos to the transaction even if they are needed to make the transaction valid.

-
source

pub fn unspendable(&mut self, unspendable: Vec<OutPoint>) -> &mut Self

Replace the internal list of unspendable utxos with a new list

+
source

pub fn unspendable(&mut self, unspendable: Vec<OutPoint>) -> &mut Self

Replace the internal list of unspendable utxos with a new list

It’s important to note that the “must-be-spent” utxos added with TxBuilder::add_utxo have priority over these. See the docs of the two linked methods for more details.

-
source

pub fn add_unspendable(&mut self, unspendable: OutPoint) -> &mut Self

Add a utxo to the internal list of unspendable utxos

+
source

pub fn add_unspendable(&mut self, unspendable: OutPoint) -> &mut Self

Add a utxo to the internal list of unspendable utxos

It’s important to note that the “must-be-spent” utxos added with TxBuilder::add_utxo have priority over this. See the docs of the two linked methods for more details.

-
source

pub fn sighash(&mut self, sighash: PsbtSighashType) -> &mut Self

Sign with a specific sig hash

+
source

pub fn sighash(&mut self, sighash: PsbtSighashType) -> &mut Self

Sign with a specific sig hash

Use this option very carefully

-
source

pub fn ordering(&mut self, ordering: TxOrdering) -> &mut Self

Choose the ordering for inputs and outputs of the transaction

-
source

pub fn nlocktime(&mut self, locktime: LockTime) -> &mut Self

Use a specific nLockTime while creating the transaction

+
source

pub fn ordering(&mut self, ordering: TxOrdering) -> &mut Self

Choose the ordering for inputs and outputs of the transaction

+
source

pub fn nlocktime(&mut self, locktime: LockTime) -> &mut Self

Use a specific nLockTime while creating the transaction

This can cause conflicts if the wallet’s descriptors contain an “after” (OP_CLTV) operator.

-
source

pub fn version(&mut self, version: i32) -> &mut Self

Build a transaction with a specific version

+
source

pub fn version(&mut self, version: i32) -> &mut Self

Build a transaction with a specific version

The version should always be greater than 0 and greater than 1 if the wallet’s descriptors contain an “older” (OP_CSV) operator.

-
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

+
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

This effectively adds all the change outputs to the “unspendable” list. See TxBuilder::unspendable.

-
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

+
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

This effectively adds all the non-change outputs to the “unspendable” list. See TxBuilder::unspendable.

-
source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from +

source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from SegWit descriptors.

This reduces the size of the PSBT, but some signers might reject them due to the lack of the non_witness_utxo.

-
source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and +

source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and psbt::Output::witness_script fields.

This is useful for signers which always require it, like ColdCard hardware wallets.

-
source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external +

source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external and internal descriptors

This is useful for offline signers that take part to a multisig. Some hardware wallets like BitBox and ColdCard are known to require this.

-
source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

-
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( +

source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

+
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( self, coin_selection: P -) -> TxBuilder<'a, P, Ctx>

Choose the coin selection algorithm

-

Overrides the DefaultCoinSelectionAlgorithm.

+) -> TxBuilder<'a, P>

Choose the coin selection algorithm

+

Overrides the CoinSelectionAlgorithm.

Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.

-
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

+
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

This will use the default nSequence value of 0xFFFFFFFD.

-
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

+
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

This can cause conflicts if the wallet’s descriptors contain an “older” (OP_CSV) operator and the given nsequence is lower than the CSV value.

If the nsequence is higher than 0xFFFFFFFD an error will be thrown, since it would not be a valid nSequence to signal RBF.

-
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

+
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

This will be used to:

  1. Set the nLockTime for preventing fee sniping. @@ -217,31 +217,27 @@ If you want to create a transaction that spends immature coinbase inputs, manual add them using TxBuilder::add_utxos.

In both cases, if you don’t provide a current height, we use the last sync height.

-
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

+
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

Note: by avoiding a dust limit check you may end up with a transaction that is non-standard.

-
source§

impl<'a, Cs: CoinSelectionAlgorithm, Ctx> TxBuilder<'a, Cs, Ctx>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

-

Returns a new [Psbt] per BIP174.

-
source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs, CreateTx>

source

pub fn set_recipients( &mut self, recipients: Vec<(ScriptBuf, Amount)> ) -> &mut Self

Replace the recipients already added with a new list

-
source

pub fn add_recipient( +

source

pub fn add_recipient( &mut self, script_pubkey: ScriptBuf, amount: Amount ) -> &mut Self

Add a recipient to the internal list

-
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

-
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

+
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

+
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

Usually, when there are excess coins they are sent to a change address generated by the wallet. This option replaces the usual change address with an arbitrary script_pubkey of your choosing. Just as with a change output, if the drain output is not needed (the excess coins are too small) it will not be included in the resulting transaction. The only difference is that it is valid to use drain_to without setting any ordinary recipients with add_recipient (but it is perfectly fine to add recipients as well).

-

If you choose not to set any recipients, you should either provide the utxos that the -transaction should spend via add_utxos, or set drain_wallet to spend all of them.

-

When bumping the fees of a transaction made with this option, you probably want to -use allow_shrinking to allow this output to be reduced to pay for the extra fees.

+

If you choose not to set any recipients, you should provide the utxos that the +transaction should spend via add_utxos.

§Example

drain_to is very useful for draining all the coins in a wallet with drain_wallet to a single address.

@@ -259,21 +255,11 @@ tx_builder .fee_rate(FeeRate::from_sat_per_vb(5).expect("valid feerate")) .enable_rbf(); let psbt = tx_builder.finish()?;
-
source§

impl<'a> TxBuilder<'a, DefaultCoinSelectionAlgorithm, BumpFee>

source

pub fn allow_shrinking( - &mut self, - script_pubkey: ScriptBuf -) -> Result<&mut Self, AllowShrinkingError>

Explicitly tells the wallet that it is allowed to reduce the amount of the output matching this -script_pubkey in order to bump the transaction fee. Without specifying this the wallet -will attempt to find a change output to shrink instead.

-

Note that the output may shrink to below the dust limit and therefore be removed. If it is -preserved then it is currently not guaranteed to be in the same position as it was -originally.

-

Returns an Err if script_pubkey can’t be found among the recipients of the -transaction we are bumping.

-

Trait Implementations§

source§

impl<'a, Cs: Clone, Ctx> Clone for TxBuilder<'a, Cs, Ctx>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, Cs: Debug, Ctx: Debug> Debug for TxBuilder<'a, Cs, Ctx>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, Cs, Ctx> Freeze for TxBuilder<'a, Cs, Ctx>
where - Cs: Freeze,

§

impl<'a, Cs, Ctx> !RefUnwindSafe for TxBuilder<'a, Cs, Ctx>

§

impl<'a, Cs, Ctx> !Send for TxBuilder<'a, Cs, Ctx>

§

impl<'a, Cs, Ctx> !Sync for TxBuilder<'a, Cs, Ctx>

§

impl<'a, Cs, Ctx> Unpin for TxBuilder<'a, Cs, Ctx>
where - Cs: Unpin, - Ctx: Unpin,

§

impl<'a, Cs, Ctx> !UnwindSafe for TxBuilder<'a, Cs, Ctx>

Blanket Implementations§

source§

impl<T> Any for T
where +

source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

+

Returns a new [Psbt] per BIP174.

+

Trait Implementations§

source§

impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, Cs: Debug> Debug for TxBuilder<'a, Cs>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a, Cs> Freeze for TxBuilder<'a, Cs>
where + Cs: Freeze,

§

impl<'a, Cs> !RefUnwindSafe for TxBuilder<'a, Cs>

§

impl<'a, Cs> !Send for TxBuilder<'a, Cs>

§

impl<'a, Cs> !Sync for TxBuilder<'a, Cs>

§

impl<'a, Cs> Unpin for TxBuilder<'a, Cs>
where + Cs: Unpin,

§

impl<'a, Cs> !UnwindSafe for TxBuilder<'a, Cs>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.html deleted file mode 100644 index e286615e0d..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.html +++ /dev/null @@ -1,2 +0,0 @@ -TxBuilderContext in bdk_wallet::wallet::tx_builder - Rust

Trait bdk_wallet::wallet::tx_builder::TxBuilderContext

source ·
pub trait TxBuilderContext: Debug + Default + Clone { }
Expand description

Context in which the TxBuilder is valid

-

Object Safety§

This trait is not object safe.

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html index 345673b189..a19e8c467d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html @@ -1,9 +1,9 @@ -ChangeSet in bdk_wallet::wallet - Rust

Type Alias bdk_wallet::wallet::ChangeSet

source ·
pub type ChangeSet = CombinedChangeSet<KeychainKind, ConfirmationTimeHeightAnchor>;
Expand description

The changes made to a wallet by applying an Update.

+ChangeSet in bdk_wallet::wallet - Rust

Type Alias bdk_wallet::wallet::ChangeSet

source ·
pub type ChangeSet = CombinedChangeSet<KeychainKind, ConfirmationTimeHeightAnchor>;
Expand description

The changes made to a wallet by applying an Update.

Aliased Type§

struct ChangeSet {
     pub chain: BTreeMap<u32, Option<BlockHash>>,
-    pub indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<KeychainKind>>,
+    pub indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<KeychainKind>>,
     pub network: Option<Network>,
 }

Fields§

§chain: BTreeMap<u32, Option<BlockHash>>

Changes to the LocalChain.

-
§indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<KeychainKind>>

Changes to IndexedTxGraph.

+
§indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<KeychainKind>>

Changes to IndexedTxGraph.

§network: Option<Network>

Stores the network type of the transaction data.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html index d5d66e6bf7..45b0aec17f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_bitcoind_rpc_polling - Rust

Type Alias example_bitcoind_rpc_polling::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file +ChangeSet in example_bitcoind_rpc_polling - Rust

Type Alias example_bitcoind_rpc_polling::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html index ddc241fe6e..fc1c0f76c1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html @@ -1,4 +1,4 @@ -create_tx in example_cli - Rust

Function example_cli::create_tx

source ·
pub fn create_tx<A: Anchor, O: ChainOracle>(
+create_tx in example_cli - Rust

Function example_cli::create_tx

source ·
pub fn create_tx<A: Anchor, O: ChainOracle>(
     graph: &mut KeychainTxGraph<A>,
     chain: &O,
     keymap: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>,
@@ -6,4 +6,4 @@
     address: Address,
     value: u64
 ) -> Result<(Transaction, Option<CreateTxChange>)>
where - O::Error: Error + Send + Sync + 'static,
\ No newline at end of file + O::Error: Error + Send + Sync + 'static,
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html index 413ffd69d3..dbc5bb5ede 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html @@ -1,4 +1,4 @@ -handle_commands in example_cli - Rust

Function example_cli::handle_commands

source ·
pub fn handle_commands<CS: Subcommand, S: Args, A: Anchor, O: ChainOracle, C>(
+handle_commands in example_cli - Rust

Function example_cli::handle_commands

source ·
pub fn handle_commands<CS: Subcommand, S: Args, A: Anchor, O: ChainOracle, C>(
     graph: &Mutex<KeychainTxGraph<A>>,
     db: &Mutex<Persist<C>>,
     chain: &Mutex<O>,
@@ -7,5 +7,5 @@
     broadcast: impl FnOnce(S, &Transaction) -> Result<()>,
     cmd: Commands<CS, S>
 ) -> Result<()>
where - O::Error: Error + Send + Sync + 'static, - C: Default + Append + DeserializeOwned + Serialize + From<KeychainChangeSet<A>>,
\ No newline at end of file + O::Error: Error + Send + Sync + 'static, + C: Default + Append + DeserializeOwned + Serialize + From<KeychainChangeSet<A>>,
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.init.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.init.html index 0355566d49..206a871f95 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.init.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.init.html @@ -2,6 +2,6 @@ db_magic: &[u8], db_default_path: &str ) -> Result<Init<CS, S, C>>
where - C: Default + Append + Serialize + DeserializeOwned + Send + Sync + 'static,
Expand description

Parses command line arguments and initializes all components, creating + C: Default + Append + Serialize + DeserializeOwned + Send + Sync + 'static,

Expand description

Parses command line arguments and initializes all components, creating a file store with the given parameters, or loading one if it exists.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html index d1ac50fd8f..d536fd689e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html @@ -1,5 +1,5 @@ -planned_utxos in example_cli - Rust

Function example_cli::planned_utxos

source ·
pub fn planned_utxos<A: Anchor, O: ChainOracle, K: Clone + CanDerive>(
+planned_utxos in example_cli - Rust

Function example_cli::planned_utxos

source ·
pub fn planned_utxos<A: Anchor, O: ChainOracle, K: Clone + CanDerive>(
     graph: &KeychainTxGraph<A>,
     chain: &O,
     assets: &Assets<K>
-) -> Result<Vec<PlannedUtxo<K, A>>, O::Error>
\ No newline at end of file +) -> Result<Vec<PlannedUtxo<K, A>>, O::Error>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.CreateTxChange.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.CreateTxChange.html index 5aaa356a40..82fe0c39e4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.CreateTxChange.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.CreateTxChange.html @@ -1,8 +1,8 @@ CreateTxChange in example_cli - Rust

Struct example_cli::CreateTxChange

source ·
pub struct CreateTxChange {
-    pub index_changeset: ChangeSet<Keychain>,
+    pub index_changeset: ChangeSet<Keychain>,
     pub change_keychain: Keychain,
     pub index: u32,
-}

Fields§

§index_changeset: ChangeSet<Keychain>§change_keychain: Keychain§index: u32

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

§index_changeset: ChangeSet<Keychain>§change_keychain: Keychain§index: u32

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html index a8054682ce..fd4adf5c0e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html @@ -1,13 +1,13 @@ Init in example_cli - Rust

Struct example_cli::Init

source ·
pub struct Init<CS: Subcommand, S: Args, C> {
     pub args: Args<CS, S>,
     pub keymap: KeyMap,
-    pub index: KeychainTxOutIndex<Keychain>,
+    pub index: KeychainTxOutIndex<Keychain>,
     pub db: Mutex<Persist<C>>,
     pub init_changeset: C,
 }
Expand description

The initial state returned by init.

Fields§

§args: Args<CS, S>

Arguments parsed by the cli.

§keymap: KeyMap

Descriptor keymap.

-
§index: KeychainTxOutIndex<Keychain>

Keychain-txout index.

+
§index: KeychainTxOutIndex<Keychain>

Keychain-txout index.

§db: Mutex<Persist<C>>

Persistence backend.

§init_changeset: C

Initial changeset.

Auto Trait Implementations§

§

impl<CS, S, C> !Freeze for Init<CS, S, C>

§

impl<CS, S, C> RefUnwindSafe for Init<CS, S, C>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html index 0ecea609e6..ed9191b483 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html @@ -1 +1 @@ -KeychainChangeSet in example_cli - Rust

Type Alias example_cli::KeychainChangeSet

source ·
pub type KeychainChangeSet<A> = (ChangeSet, ChangeSet<A, ChangeSet<Keychain>>);
\ No newline at end of file +KeychainChangeSet in example_cli - Rust

Type Alias example_cli::KeychainChangeSet

source ·
pub type KeychainChangeSet<A> = (ChangeSet, ChangeSet<A, ChangeSet<Keychain>>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html index 1a92e2720e..0c4c6027c4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html @@ -1,5 +1,5 @@ -KeychainTxGraph in example_cli - Rust

Type Alias example_cli::KeychainTxGraph

source ·
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;

Aliased Type§

struct KeychainTxGraph<A> {
-    pub index: KeychainTxOutIndex<Keychain>,
+KeychainTxGraph in example_cli - Rust

Type Alias example_cli::KeychainTxGraph

source ·
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;

Aliased Type§

struct KeychainTxGraph<A> {
+    pub index: KeychainTxOutIndex<Keychain>,
     /* private fields */
-}

Fields§

§index: KeychainTxOutIndex<Keychain>

Transaction index.

+}

Fields§

§index: KeychainTxOutIndex<Keychain>

Transaction index.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html index 426d5cfa9a..dd4f1dafe0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html @@ -1 +1 @@ -PlannedUtxo in example_cli - Rust

Type Alias example_cli::PlannedUtxo

source ·
pub type PlannedUtxo<K, A> = (Plan<K>, FullTxOut<A>);
\ No newline at end of file +PlannedUtxo in example_cli - Rust

Type Alias example_cli::PlannedUtxo

source ·
pub type PlannedUtxo<K, A> = (Plan<K>, FullTxOut<A>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html index be32deed0e..b0594e467a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_electrum - Rust

Type Alias example_electrum::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file +ChangeSet in example_electrum - Rust

Type Alias example_electrum::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html index f5b9f8ca41..182d9d1563 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_esplora - Rust

Type Alias example_esplora::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file +ChangeSet in example_esplora - Rust

Type Alias example_esplora::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html index 08ff977b9d..ed83b068d6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index 42657543ba..c229951d8d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js @@ -10,7 +10,7 @@ var searchIndex = new Map(JSON.parse('[\ ["bdk_sqlite",{"t":"GPPFNNNNNNNNNNNNNENNNNNNNNNNOO","n":["Error","Network","Sqlite","Store","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","fmt","from","from","into","into","load_from_persistence","new","rusqlite","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_changes","expected","given"],"q":[[0,"bdk_sqlite"],[28,"bdk_sqlite::Error"],[30,"bdk_sqlite::store"],[31,"core::fmt"],[32,"core::option"],[33,"anyhow"],[34,"core::cmp"],[35,"serde::de"],[36,"serde::ser"],[37,"core::marker"],[38,"bdk_chain::tx_data_traits"],[39,"core::clone"],[40,"bdk_persist::changeset"],[41,"core::convert"],[42,"rusqlite"],[43,"rusqlite::error"],[44,"core::result"],[45,"alloc::string"],[46,"core::any"]],"i":[0,6,6,0,3,6,3,6,3,6,6,3,6,3,6,3,3,0,6,3,6,3,6,3,6,3,6,3,24,24],"f":"````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{f{ce}}}}{b{dh}}}j{}{}}{{{b{l}}{b{dh}}}j}0{cc{}}0{ce{}{}}0{{{b{d{f{ce}}}}}{{A`{{n{g}}}}}{AbAdAfAh}{AjAdAfAh}{Al{B`{{An{ce}}}}{Bb{{An{ce}}}}}}{Bd{{Bh{{f{ce}}Bf}}}{AbAdAfAh}{AjAdAfAh}}`{{{b{c}}}Bj{}}{c{{Bh{e}}}{}{}}000{{{b{c}}}Bl{}}055{{{b{d{f{ce}}}}{b{g}}}{{A`{Bn}}}{AbAdAfAh}{AjAdAfAh}{Al{B`{{An{ce}}}}{Bb{{An{ce}}}}}}``","D":"Ad","p":[[1,"reference"],[0,"mut"],[5,"Store",0,30],[5,"Formatter",31],[8,"Result",31],[6,"Error",0],[6,"Option",32],[8,"Result",33],[10,"Ord",34],[10,"Deserialize",35],[10,"Serialize",36],[10,"Send",37],[10,"Anchor",38],[10,"Clone",39],[5,"CombinedChangeSet",40],[10,"From",41],[10,"Into",41],[5,"Connection",42],[6,"Error",43],[6,"Result",44],[5,"String",45],[5,"TypeId",46],[1,"unit"],[15,"Network",28]],"r":[[3,30]],"b":[[9,"impl-Debug-for-Error"],[10,"impl-Display-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABQAAwAFAAYAEAAAABIADAA="}],\ ["bdk_testenv",{"t":"FEEEONNEOENNNNNNNNNNNNNNNNNNN","n":["TestEnv","anyhow","bitcoincore_rpc","bitcoind","bitcoind","borrow","borrow_mut","electrsd","electrsd","electrum_client","electrum_client","from","genesis_hash","into","invalidate_blocks","make_checkpoint_tip","mine_blocks","mine_empty_block","new","reorg","reorg_empty_blocks","reset_electrsd","rpc_client","send","try_from","try_into","type_id","vzip","wait_until_electrum_sees_block"],"q":[[0,"bdk_testenv"],[29,"electrum_client::api"],[30,"bitcoin::hash_types::newtypes"],[31,"anyhow"],[32,"bdk_chain::local_chain"],[33,"bitcoin::address"],[34,"core::option"],[35,"alloc::vec"],[36,"bitcoincore_rpc::client"],[37,"bitcoin::amount"],[38,"core::result"],[39,"core::any"]],"i":[0,0,0,0,3,3,3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}```{{{b{f}}}{{b{{`{h}}}}}}{cc{}}{{{b{f}}}{{l{j}}}}{ce{}{}}{{{b{f}}n}{{l{A`}}}}{{{b{f}}}Ab}{{{b{f}}n{Af{Ad}}}{{l{{Ah{j}}}}}}{{{b{f}}}{{l{{Aj{nj}}}}}}{{}{{l{f}}}}{{{b{f}}n}{{l{{Ah{j}}}}}}{{{b{f}}n}{{l{{Ah{{Aj{nj}}}}}}}}{f{{l{f}}}}{{{b{f}}}{{b{{`{Al}}}}}}{{{b{f}}{b{{Ad{An}}}}B`}{{l{Bb}}}}{c{{Bd{e}}}{}{}}0{{{b{c}}}Bf{}}<{{{b{f}}}{{l{A`}}}}","D":"An","p":[[1,"reference"],[0,"mut"],[5,"TestEnv",0],[10,"ElectrumApi",29],[5,"BlockHash",30],[8,"Result",31],[1,"usize"],[1,"unit"],[5,"CheckPoint",32],[5,"Address",33],[6,"Option",34],[5,"Vec",35],[1,"tuple"],[10,"RpcApi",36],[6,"NetworkChecked",33],[5,"Amount",37],[5,"Txid",30],[6,"Result",38],[5,"TypeId",39]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA4ABAAAAAAAAgAIABYAAAAZAAMA"}],\ ["bdk_tmp_plan",{"t":"FKPPPPFFGGFFPPGPPONNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOONHNNNNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOOOOOOOO","n":["Assets","CanDerive","Complete","DerivationError","Incomplete","Legacy","Plan","PlanKey","PlanState","RequiredSignatures","Requirements","SatisfactionMaterial","Segwitv0","SigHashError","SigningError","TapKey","TapScript","asset_key","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_derive","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","derivation_hint","descriptor_key","ecdsa_sigs","expected_weight","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash160","hash160_images","hash160_preimages","hash256","hash256_images","hash256_preimages","into","into","into","into","into","into","into","into","keys","max_locktime","min_version","plan_satisfaction","required_locktime","required_sequence","requirements","requires_hash_preimages","ripemd160","ripemd160_images","ripemd160_preimages","schnorr_sigs","sha256","sha256_images","sha256_preimages","sign_with_keymap","signatures","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_complete","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txo_age","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness_version","final_script_sig","final_script_witness","keys","keys","leaf_hash","merkle_root","plan_key","plan_keys"],"q":[[0,"bdk_tmp_plan"],[149,"bdk_tmp_plan::PlanState"],[151,"bdk_tmp_plan::RequiredSignatures"],[157,"miniscript::descriptor::key"],[158,"bitcoin::bip32"],[159,"core::option"],[160,"bdk_tmp_plan::requirements"],[161,"core::clone"],[162,"bdk_tmp_plan::template"],[163,"core::fmt"],[164,"bitcoin::crypto::sighash"],[165,"miniscript::descriptor"],[166,"bitcoin::blockdata::locktime::absolute"],[167,"bitcoin::blockdata::transaction"],[168,"secp256k1"],[169,"core::result"],[170,"core::borrow"],[171,"secp256k1::context"],[172,"alloc::string"],[173,"core::any"],[174,"bitcoin::blockdata::script::witness_version"]],"i":[0,0,41,10,41,9,0,0,0,0,0,0,9,10,0,9,9,11,41,7,9,10,11,12,13,14,41,7,9,10,11,12,13,14,3,7,9,10,11,12,13,14,7,9,10,11,12,13,14,7,9,13,14,11,11,13,12,7,9,10,10,11,12,13,14,41,7,9,10,10,10,11,12,13,14,14,7,13,14,7,13,41,7,9,10,11,12,13,14,14,14,12,0,12,12,12,7,14,7,13,13,14,7,13,9,7,7,9,10,11,12,13,14,10,12,41,7,9,10,11,12,13,14,41,7,9,10,11,12,13,14,14,41,7,9,10,11,12,13,14,41,7,9,10,11,12,13,14,12,44,44,45,46,47,48,48,47],"f":"``````````````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{f}}{b{h}}}{{l{j}}}}{{{b{{n{c}}}}}{{n{c}}}A`}{{{b{{Ab{c}}}}}{{Ab{c}}}A`}{{{b{Ad}}}Ad}{{{b{{Af{c}}}}}{{Af{c}}}A`}{{{b{{Ah{c}}}}}{{Ah{c}}}A`}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}A`}{{{b{c}}{b{de}}}An{}{}}000000{{}{{n{c}}}{}}{{}{{Ab{c}}}{}}{{}Aj}{{}{{Al{c}}}{}}```{{{b{{Ah{c}}}}}B`A`}{{{b{{n{c}}}}{b{dBb}}}BdBf}{{{b{{Ab{c}}}}{b{dBb}}}BdBf}{{{b{Ad}}{b{dBb}}}Bd}0{{{b{{Af{c}}}}{b{dBb}}}BdBf}{{{b{{Ah{c}}}}{b{dBb}}}BdBf}{{{b{Aj}}{b{dBb}}}Bd}{{{b{{Al{c}}}}{b{dBb}}}BdBf}{cc{}}00{BhAd}{BjAd}22222``````{ce{}{}}0000000``{{{b{{Ah{c}}}}}{{l{Bl}}}A`}{{{b{{Bn{h}}}}{b{{Al{c}}}}}{{l{{Ah{c}}}}}{fA`}}{{{b{{Ah{c}}}}}{{l{C`}}}A`}{{{b{{Ah{c}}}}}{{l{Cb}}}A`}{{{b{{Ah{c}}}}}{{n{c}}}A`}{{{b{{n{c}}}}}Cd{}}```````{{{b{{Ab{Cf}}}}B`{b{Ch}}{b{{Cj{c}}}}{l{Cl}}{l{Cn}}{b{d{D`{e}}}}{b{dAj}}{b{{Db{g}}}}}{{Dd{CdAd}}}{{Dh{Df}}}{{Dh{Dj}}}{DlDn}}`{{{b{c}}}e{}{}}000000{{{b{c}}}E`{}}{{{b{{Ah{c}}}}{b{Aj}}}{{Eb{c}}}A`}{c{{Dd{e}}}{}{}}000000000000000`{{{b{c}}}Ed{}}0000000<<<<<<<<{{{b{{Ah{c}}}}}{{l{Ef}}}A`}````````","D":"Fl","p":[[1,"reference"],[0,"mut"],[10,"CanDerive",0],[5,"DefiniteDescriptorKey",157],[5,"DerivationPath",158],[6,"Option",159],[5,"Requirements",0,160],[10,"Clone",161],[6,"RequiredSignatures",0,160],[6,"SigningError",0,160],[5,"PlanKey",0,162],[5,"Plan",0],[5,"SatisfactionMaterial",0],[5,"Assets",0],[1,"unit"],[1,"usize"],[5,"Formatter",163],[8,"Result",163],[10,"Debug",163],[6,"Error",164],[6,"Error",158],[1,"u32"],[6,"Descriptor",165],[6,"LockTime",166],[5,"Sequence",167],[1,"bool"],[6,"DescriptorPublicKey",157],[8,"KeyMap",165],[6,"Prevouts",164],[6,"TapSighashType",164],[6,"EcdsaSighashType",164],[5,"SighashCache",164],[5,"Secp256k1",168],[6,"Result",169],[5,"TxOut",167],[10,"Borrow",170],[5,"Transaction",167],[10,"Signing",171],[10,"Verification",171],[5,"String",172],[6,"PlanState",0],[5,"TypeId",173],[6,"WitnessVersion",174],[15,"Complete",149],[15,"Legacy",151],[15,"Segwitv0",151],[15,"TapScript",151],[15,"TapKey",151]],"r":[[7,162],[9,160],[10,160],[14,160]],"b":[[59,"impl-Display-for-SigningError"],[60,"impl-Debug-for-SigningError"],[68,"impl-From%3CError%3E-for-SigningError"],[69,"impl-From%3CError%3E-for-SigningError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGcAEAABAAEABAABAA4AAQATACIAOgAHAEUAAQBMAAAATwAAAFoAAQBdAAAAYAAAAGIAAABmAAAAaQAAAGsAKQCYAAEA"}],\ -["bdk_wallet",{"t":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKIKRGFPPPPEKGPPPPIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNOOONHNMNNHMNNOONNNNNNMONNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPPGKGPPPPPPGGPPPPPPPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCNONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNNHOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPPGPPPPPPPPGPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNOOMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGGPFPPGFPPPPPPFKGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","calc_checksum_bytes","Base58","Bip32","Error","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","ConfirmationHeightCannotBeGreaterThanTip","Descriptor","Descriptor","Descriptor","InsertTxError","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","NonEmptyDatabase","NotInitialized","NotInitialized","Persist","Persist","Persist","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","commit","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","get_balance","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","local_chain","mark_used","network","network","new","new_no_persist","new_no_persist_with_genesis_hash","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","tip_height","tx_height","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","ChangePolicyDescriptor","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","InsufficientFunds","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Persist","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","available","csv","needed","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Segwitv0","SighashError","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","remove_partial_sigs","remove_taproot_extras","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","AllowShrinkingError","Bip69Lexicographic","BumpFee","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","CreateTx","InvalidOutpoint","InvalidTxid","MissingScriptPubKey","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxBuilderContext","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","allow_shrinking","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","coin_selection","current_height","default","default","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","eq","fee_absolute","fee_rate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","hash","hash","include_output_redeem_witness_script","into","into","into","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","partial_cmp","policy_path","set_recipients","sighash","sort_tx","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[350,"bdk_wallet::descriptor::checksum"],[352,"bdk_wallet::descriptor::error"],[383,"bdk_wallet::descriptor::policy"],[530,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[533,"bdk_wallet::descriptor::policy::Satisfaction"],[544,"bdk_wallet::descriptor::policy::SatisfiableItem"],[554,"bdk_wallet::descriptor::template"],[690,"bdk_wallet::keys"],[988,"bdk_wallet::psbt"],[992,"bdk_wallet::wallet"],[1215,"bdk_wallet::wallet::ApplyBlockError"],[1217,"bdk_wallet::wallet::InsertTxError"],[1219,"bdk_wallet::wallet::NewOrLoadError"],[1225,"bdk_wallet::wallet::coin_selection"],[1317,"bdk_wallet::wallet::coin_selection::Error"],[1319,"bdk_wallet::wallet::coin_selection::Excess"],[1324,"bdk_wallet::wallet::error"],[1398,"bdk_wallet::wallet::error::CreateTxError"],[1406,"bdk_wallet::wallet::export"],[1429,"bdk_wallet::wallet::signer"],[1608,"bdk_wallet::wallet::signer::SignerContext"],[1609,"bdk_wallet::wallet::tx_builder"],[1767,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1769,"bdk_wallet::types"],[1770,"core::cmp"],[1771,"core::result"],[1772,"serde::de"],[1773,"core::fmt"],[1774,"core::hash"],[1775,"bitcoin::blockdata::transaction"],[1776,"core::option"],[1777,"serde::ser"],[1778,"core::any"],[1779,"miniscript::descriptor"],[1780,"bitcoin::network"],[1781,"bitcoin::address"],[1782,"miniscript"],[1783,"miniscript::miniscript"],[1784,"miniscript::miniscript::decode"],[1785,"miniscript::miniscript::context"],[1786,"miniscript::iter::tree"],[1787,"miniscript::descriptor::key"],[1788,"alloc::vec"],[1789,"miniscript::miniscript::satisfy"],[1790,"miniscript::plan"],[1791,"bitcoin_hashes::sha256"],[1792,"miniscript::miniscript::hash256"],[1793,"bitcoin_hashes::ripemd160"],[1794,"bitcoin_hashes::hash160"],[1795,"core::clone"],[1796,"secp256k1"],[1797,"bitcoin::crypto::key"],[1798,"secp256k1::context"],[1799,"bdk_chain::descriptor_ext"],[1800,"core::str::traits"],[1801,"bitcoin::blockdata::script::owned"],[1802,"miniscript::miniscript::analyzable"],[1803,"secp256k1::context::alloc_only"],[1804,"bitcoin::blockdata::script::borrowed"],[1805,"core::ops::range"],[1806,"core::ops::function"],[1807,"miniscript::descriptor::bare"],[1808,"miniscript::descriptor::segwitv0"],[1809,"miniscript::descriptor::sh"],[1810,"miniscript::descriptor::tr"],[1811,"miniscript::miniscript::types"],[1812,"miniscript::miniscript::types::extra_props"],[1813,"miniscript::expression"],[1814,"miniscript::miniscript::iter"],[1815,"miniscript::policy::semantic"],[1816,"miniscript::policy"],[1817,"alloc::collections::btree::map"],[1818,"alloc::string"],[1819,"bitcoin::bip32"],[1820,"bitcoin::base58"],[1821,"hex_conservative::parse"],[1822,"miniscript::descriptor::sortedmulti"],[1823,"core::convert"],[1824,"core::default"],[1825,"bitcoin::blockdata::fee_rate"],[1826,"bdk_chain::keychain"],[1827,"alloc::sync"],[1828,"core::iter::traits::iterator"],[1829,"bitcoin::blockdata::block"],[1830,"bdk_chain::local_chain"],[1831,"bdk_chain::chain_data"],[1832,"core::iter::traits::collect"],[1833,"bdk_chain::tx_graph"],[1834,"bitcoin::hash_types::newtypes"],[1835,"anyhow"],[1836,"bitcoin::psbt"],[1837,"bdk_chain::spk_client"],[1838,"bitcoin::psbt::map::input"],[1839,"bdk_wallet::wallet::utils"],[1840,"core::iter::traits::double_ended"],[1841,"bdk_persist::persist"],[1842,"core::marker"],[1843,"bitcoin::amount"],[1844,"bdk_chain::keychain::txout_index"],[1845,"bitcoin::psbt::error"],[1846,"bitcoin::crypto::sighash"],[1847,"bitcoin::blockdata::script::push_bytes::primitive"],[1848,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,252,252,252,94,253,24,0,0,0,0,0,0,0,0,33,0,0,35,94,253,24,0,0,0,94,253,24,35,0,94,253,24,94,253,24,94,253,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,120,114,114,0,121,0,0,120,119,0,120,120,114,114,114,120,121,71,114,121,121,0,0,0,71,71,119,120,120,0,0,120,120,120,119,119,120,121,73,122,114,71,119,120,121,73,122,114,71,119,120,121,73,122,71,119,120,121,73,122,71,73,122,122,119,120,121,73,122,114,119,120,121,73,122,114,114,71,119,120,121,121,73,73,122,114,71,73,119,122,120,73,119,120,121,73,122,114,71,120,121,122,73,122,73,73,119,120,121,73,122,122,119,120,121,73,122,71,114,119,120,121,73,122,114,71,119,120,121,73,122,114,71,119,120,121,73,122,114,71,119,120,121,73,122,114,71,254,254,254,255,256,257,256,257,256,257,256,257,256,257,258,259,260,261,262,263,263,262,264,265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,123,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,124,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,118,0,0,0,0,156,156,0,0,146,0,0,0,0,118,118,118,33,0,0,30,118,118,102,35,156,150,0,150,0,0,30,35,102,0,0,0,0,30,0,146,102,35,0,266,35,150,142,147,30,143,118,141,35,102,144,145,146,150,142,147,30,143,118,141,35,102,144,145,146,141,33,33,33,33,33,33,33,33,33,142,30,143,141,35,102,144,145,146,142,30,143,141,35,102,144,145,146,141,35,144,146,143,143,142,35,35,141,30,141,35,102,144,145,146,147,30,143,118,118,141,141,35,35,102,102,144,145,146,141,150,150,150,142,147,30,143,118,118,118,141,35,35,102,144,145,146,147,147,35,102,141,35,35,156,159,156,159,150,35,141,35,144,146,150,142,147,30,143,118,141,35,102,144,145,146,35,126,132,142,142,147,35,102,132,150,142,142,35,102,150,150,35,266,30,35,102,266,30,266,30,35,35,141,144,145,141,0,35,33,141,141,0,33,141,35,144,145,33,147,141,35,144,146,33,141,141,141,141,35,33,141,0,142,30,143,141,35,102,144,145,146,102,118,141,35,102,33,33,141,150,142,147,30,143,118,141,35,102,144,145,146,150,142,147,30,143,118,141,35,102,144,145,146,150,142,147,30,143,118,141,35,102,144,145,146,150,142,147,30,143,118,141,35,102,144,145,146,0,164,164,164,0,0,0,200,0,199,196,197,198,0,0,0,198,198,198,197,197,197,0,0,196,197,198,196,197,198,200,0,0,166,167,192,167,167,167,167,167,167,166,167,179,192,196,197,198,199,200,166,167,179,192,196,197,198,199,200,167,167,167,167,167,212,179,167,166,179,166,179,0,167,166,166,179,192,167,167,167,166,166,192,0,0,167,166,166,167,179,192,192,196,196,197,197,198,198,199,199,200,200,166,167,179,179,179,192,196,197,198,199,200,167,167,167,167,167,167,179,166,192,212,167,167,167,166,167,179,192,196,197,198,199,200,209,167,192,167,179,167,167,167,167,167,167,167,167,212,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,166,167,0,167,167,167,167,166,179,166,192,196,197,198,199,200,166,167,166,166,166,167,179,192,196,197,198,199,200,166,167,179,192,196,197,198,199,200,0,167,166,167,179,192,196,197,198,199,200,167,167,166,166,167,179,192,196,197,198,199,200,0,267,267,268,268,269,270,269,270,271,271,227,227,0,228,0,0,0,0,0,227,0,228,0,227,228,226,222,223,224,227,228,226,222,223,224,222,223,224,222,223,224,225,222,223,224,0,222,223,224,226,226,227,227,228,226,222,223,224,227,228,226,222,223,224,227,228,226,222,223,224,226,224,226,226,222,223,224,227,227,228,226,222,223,224,227,228,226,222,223,224,227,228,226,222,223,224,227,228,226,222,223,224,272,272,273,274,274,273,274,0,205,205,229,0,205,205,187,205,205,187,205,205,0,205,205,205,205,205,229,205,205,205,205,205,205,187,187,205,187,229,205,205,229,205,187,229,205,187,229,229,229,229,205,205,187,187,229,205,205,205,205,205,205,187,229,205,187,229,229,205,187,229,205,187,229,205,187,229,205,187,229,205,187,275,276,275,276,277,277,278,279,0,0,280,231,231,231,231,231,231,231,231,231,231,231,231,280,231,231,231,231,231,231,231,236,232,236,195,232,236,195,0,195,195,195,233,195,195,195,195,195,195,195,236,232,233,195,0,0,0,0,0,0,0,0,233,0,0,195,70,194,194,70,194,232,195,233,234,168,70,194,236,232,195,233,234,168,70,194,236,70,232,233,234,168,70,194,236,232,233,234,168,70,194,236,232,168,168,70,194,236,234,237,234,234,234,232,233,168,236,70,232,195,195,233,234,168,70,194,236,232,232,232,195,195,233,234,168,70,194,236,232,237,234,234,234,70,232,195,233,234,168,70,194,236,234,70,232,168,70,194,194,242,234,234,234,169,234,194,70,194,232,233,234,168,70,194,236,195,194,194,232,195,233,234,168,70,194,236,232,195,233,234,168,70,194,236,232,195,233,234,168,70,194,236,232,195,233,234,168,70,194,236,281,0,0,0,249,0,248,248,0,0,245,245,247,245,248,249,0,0,0,246,249,186,186,186,186,186,186,186,186,186,186,188,185,186,246,245,247,249,248,188,185,186,246,245,247,249,248,186,188,185,186,249,248,188,185,186,249,248,249,248,186,186,188,185,249,248,186,186,186,186,186,249,248,186,186,186,188,185,186,246,246,245,245,247,247,249,248,188,185,186,246,245,247,249,248,249,248,186,188,185,186,246,245,247,249,248,186,186,186,186,186,249,248,186,186,186,249,188,185,186,249,248,246,245,247,188,185,186,246,245,247,249,248,188,185,186,246,245,247,249,248,188,185,186,246,245,247,249,248,186,186,188,185,186,246,245,247,249,248,282,282],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}Ah{ChGn}}{c{{Af{{Cn{eg}}}}}Ah{ChGn}Db}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{cc{}}{{{Jl{c}}}{{C`{c}}}Ch}111{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}{ChGn}}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}{ChGn}}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}10{{}{{d{Bn}}}}00{{{Cn{cLh}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Lj{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{Ln{DfLl}}}}Cf}}}M`}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MbCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Md{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMf}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mh}00{{{d{{Cn{ce}}}}{d{{Ln{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Mj{}}0{{{d{{C`{Df}}}}{d{{Ln{DfLl}}}}}Mj}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Ml{g}}}}}ChCh{}{{Mn{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Ml{i}}}}}ChDbCh{}{{Mn{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MjId}}}}{{{d{Bn}}}{{Af{{N`{f}}Id}}}}`````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{cc{}}{NbId}{NdId}{NfId}{NhId}{NjId}{CfId}{NlId}>{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Ib}}}Ib}{{{d{Od}}}Od}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Od}{{{d{Nn}}{d{Nn}}}Aj}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Nd}}{d{Nd}}}Aj}{{{d{Nn}}{d{jAl}}}An}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Nd}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}0{AjOb}11{O`Ib}222{{{d{Ib}}{d{{Ln{Mj{Dn{Kd}}}}}}}{{Af{OdNd}}}}{{{d{Nn}}{d{jc}}}AbB`}{{{d{Od}}{d{jc}}}AbB`}{{{d{O`}}}Mj}`{ce{}{}}000000{{{d{O`}}}Aj}{{{d{Ob}}}Aj}{{{d{Od}}}Aj}`{{{d{Od}}{d{Od}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{Nn}}c}AfBh}{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Od}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OfCb}{{Af{OhId}}}}{{{Oj{c}}Cb}{{Af{OhId}}}{{Ol{Fl}}}}{{{On{c}}Cb}{{Af{OhId}}}{{Ol{Fn}}}}{{{A@`{c}}Cb}{{Af{OhId}}}{{Ol{Fn}}}}{{{A@b{c}}Cb}{{Af{OhId}}}{{Ol{A@d}}}}{{{A@f{c}}Cb}{{Af{OhId}}}{{A@h{Fl}}}}{{{A@j{c}}Cb}{{Af{OhId}}}{{A@h{Fl}}}}{{{A@l{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{A@n{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AA`{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AAb{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AAd{c}}Cb}{{Af{OhId}}}{{A@h{A@d}}}}{{{AAf{c}}Cb}{{Af{OhId}}}{{A@h{A@d}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oh{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{Ln{DfLl}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAh}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAj{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAl{ce}}}}}{{AAl{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AAn}}}AAn}{{{d{{AAj{ce}}}}}{{AAj{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ll}}}Ll}{{{d{AB`}}}AB`}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{AB`}}{d{AB`}}}Ad}{{{d{ABd}}{d{ABd}}}Ad}`{{}AAn}{{{d{{AAl{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAj{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ll}}{d{Ll}}}Aj}{{{d{AB`}}{d{AB`}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{{ABf{c}}}}{d{jAl}}}An{ABhDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AAn}}{d{jAl}}}An}{{{d{Nl}}{d{jAl}}}An}0{{{d{{AAj{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ll}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AB`}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAj{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{ABj{{ABl{c}}}Db}{ABn{{ABl{c}}}Db}{cc{}}0000{NfNl}{CfNl}222{DjDf}3333{{DfAAh}{{ABf{c}}}Db}{{LlAAh}{{ABf{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ll}}}}{{{d{Kb}}}{{Af{{AAj{ce}}Cf}}}{GnCh}Db}{{{d{Df}}}{{Bd{AC`}}}}{{{d{Df}}}{{Dn{AC`}}}}{c{{Af{{AAl{{ACh{}{{ACb{e}}{ACd{c}}{ACf{g}}}}i}}g}}}{}{{ACj{{h{f}}}}ACl}ABhDb}{{}{{Af{{AAl{ACnc}}e}}}Db{}}{{ce}{{Af{{AAl{{ACh{}{{ACb{e}}{ACd{c}}{ACf{g}}}}i}}g}}}{}{{ACj{{h{f}}}}ACl}ABhDb}{c{{Af{{AAl{ACne}}g}}}{}Db{}}{{{d{{ABl{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAj{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{AB`}}{d{jc}}}AbB`}{{{d{ABd}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfAD`}{Ol{{Af{{ABf{c}}Nl}}}Db}{{A@h{Bd{ADb}}AC`}{{Af{{ABf{c}}Nl}}}Db}{{{AAl{ec}}{Bd{ADb}}AC`}{{Af{{ABf{c}}Nl}}}Db{{A@h{c}}}}{{{AAl{ec}}}{{Af{{ABf{c}}Nl}}}Db{{Ol{c}}}}{{{ABf{c}}}{{Af{{ABf{c}}Nl}}}Db}{Df{{Af{{ABf{c}}Nl}}}Db}{Ll{{Af{{ABf{c}}Nl}}}Db}{A@h{{Af{{ABl{c}}Nl}}}Db}{{{ABl{c}}}{{Af{{ABl{c}}Nl}}}Db}{{{AAl{ec}}}{{Af{{ABl{c}}Nl}}}Db{{A@h{c}}}}{{{AAl{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ll{{Dn{Ll}}}}{{{ABl{c}}Cb}{{Bd{ABj}}}Db}{{{ABl{c}}Cb{d{{Gd{e}}}}}ABnDbM`}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ll}}}Aj}212133```{{{d{{AAj{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAh}{{{d{Df}}}ADd}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{AAj{ce}}}}}KdChDb}0{{{d{AAh}}{d{AAh}}}AAh}{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAj{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABf{c}}AAh}{{ABf{c}}}Db}{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}{{Bd{Ad}}}{MbCh}{MbDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{AB`}}{d{AB`}}}{{Bd{Ad}}}}{{{d{ABd}}{d{ABd}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}`{{{d{{AAj{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAj{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}={{{d{Df}}c}AfBh}{{}Mh}{{{d{{AAj{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAh}{{{d{c}}}e{}{}}00000000{{{d{Ll}}{d{{Gd{c}}}}}{{Af{DfADf}}}M`}{{{d{c}}}Mj{}}000??{{{d{{AAj{ce}}}}{d{jk}}}{{Af{{AAj{ge}}{Ml{i}}}}}ChDbCh{}{{Mn{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{ADh}}}{{Bd{H`}}}}{{{d{ADh}}}{{Bd{ADj}}}}{{{d{ADh}}Kd}{{Bd{Bj}}}}`````````````````````````````{{ADlADl}ADl}{{{d{jADn}}bAE`{AEd{AEb}}}Ab}`{{{d{ADn}}}{{Ln{b{`{{AEh{}{{AEf{{Ij{DhHb}}}}}}G`}}}}}}{{{d{jADn}}{d{AEj}}Dh}{{Af{AbAEl}}}}{{{d{jADn}}{d{AEj}}DhAEn}{{Af{AbAF`}}}}{{{d{jADn}}c}Ab{{AFd{}{{AEf{{Ij{{d{AFb}}H`}}}}}}}}{{{d{jADn}}c}{{Af{AbAEl}}}{{AFh{AFf}}}}{{{d{ADn}}}{{d{{AFl{AFj}}}}}}{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{{d{jADn}}AFn}{{Af{{AGd{AG`AGb}}AGf}}}}{{{d{jADn}}}{{AGd{AG`AGh}}}}{{{d{ADn}}{d{AFb}}}{{Af{H`AGj}}}}{{{d{ADn}}{d{AFb}}}{{Af{ADjAGj}}}}{{{d{jADn}}{d{AFb}}}Ab}``{{{d{ADn}}}AGl}{{{d{ADl}}}ADl}{{{d{AFf}}}AFf}{{{d{c}}{d{je}}}Ab{}{}}0`{{{d{jADn}}}{{AGn{Aj}}}}`{{}ADl}{{}AFf}{{{d{AH`}}}{{d{c}}}{}}{{{d{ADn}}b}{{Bd{Dh}}}}{{{d{ADn}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{ADn}}b}Mj}{c{{Af{ADl}}}Ah}{{{d{ADl}}{d{ADl}}}Aj}{{{d{AH`}}{d{AH`}}}Aj}``{{{d{ADn}}{d{jAHb}}AHd}{{Af{AjAHf}}}}{{{d{ADl}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ADn}}{d{jAl}}}An}{{{d{AFf}}{d{jAl}}}An}{{{d{AH`}}{d{jAl}}}An}0{{{d{AHh}}{d{jAl}}}An}0{{{d{AHj}}{d{jAl}}}An}0{{{d{AHl}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{cc{}}00{{{AIb{b}}}AFf}{AIdAFf}222222{{{d{ADn}}}ADl}{{{d{ADn}}b}{{d{Kl}}}}{{{d{ADn}}l{Bd{AIf}}Aj}{{Af{AIhAIj}}}}{{{d{ADn}}b}{{AEd{Hl}}}}{{{d{ADn}}AFn}{{Bd{{AIl{{AEd{AFb}}AFj}}}}}}{{{d{ADn}}Bb}{{Bd{l}}}}````{{{d{jADn}}AEn}{{Af{AjAIn}}}}{{{d{jADn}}AFbAJ`}{{Af{AjAHn}}}}{{{d{jADn}}BbBj}Ab}{ce{}{}}00000000{{{d{AJb}}{d{If}}}Aj}{{{d{ADn}}{d{If}}}Aj}`{{{d{ADn}}}{{`{{AEh{}{{AEf{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{ADn}}}AJd}{{{d{ADn}}}{{`{{AEh{}{{AEf{l}}}}}}}}0{{{d{ADn}}b}{{`{{AJf{}{{AEf{AH`}}}}}}}}{c{{Af{ADnAHj}}}{{AJj{AJh}}AJlAJn}}{{{d{ADn}}}{{d{AK`}}}}{{{d{jADn}}bDh}Aj}{{{d{ADn}}}Cb}`{{c{Bd{c}}eCb}{{Af{ADnAHh}}}Kj{{AJj{AJh}}AJlAJn}}{{c{Bd{c}}Cb}{{Af{ADnId}}}Kj}{{c{Bd{c}}CbAKb}{{Af{ADnId}}}Kj}{{c{Bd{c}}eCb}{{Af{ADnAHl}}}Kj{{AJj{AJh}}AJlAJn}}{{c{Bd{c}}eCbAKb}{{Af{ADnAHl}}}Kj{{AJj{AJh}}AJlAJn}}{{c{Bd{c}}eCbAKb}{{Af{ADnAHh}}}Kj{{AJj{AJh}}AJlAJn}}{{{d{ADn}}b}Dh}{{{d{jADn}}b}{{AGn{AH`}}}}{{{d{ADn}}bDh}AH`}{{{d{ADn}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{ADn}}b}{{Bd{{d{Kl}}}}}}{{{d{jADn}}bDh}{{AGn{{`{{AEh{}{{AEf{AH`}}}}}}}}}}4{{{d{ADn}}}{{d{{Gd{I`}}}}}}{{{d{ADn}}{d{AFb}}}{{Ij{AKdAKd}}}}{{{d{ADl}}c}AfBh}{{{d{ADn}}{d{jAHb}}AHd}{{Af{AjAHf}}}}`{{{d{ADn}}}{{d{{AKf{b}}}}}}{{{d{ADn}}}{{d{AJh}}}}{{{d{ADn}}}{{AKh{b}}}}{{{d{ADn}}}AKj}{{{d{c}}}e{}{}}0{{{d{c}}}Mj{}}000000{{{d{ADl}}}AKd}{{{d{ADn}}}{{`{{AEh{}{{AEf{{AIl{{AEd{AFb}}AFj}}}}}}}}}}`1{c{{Af{e}}}{}{}}00000000000000000`{{{d{ADn}}}{{d{{AFl{AFj}}}}}}{{{d{c}}}Bl{}}00000000{{{d{ADn}}b}{{`{{AEh{}{{AEf{{Ij{DhHb}}}}}}G`}}}}{{{d{jADn}}bDh}Aj}`{ce{}{}}00000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MjId}}}Kj}```````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKl}}}AKl}{{{d{AKn}}}AKn}{{{d{AL`}}}AL`}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ALb}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{ALdALf}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{ALdALf}}}}{{{d{AKn}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{ALdALf}}}}{{{d{AL`}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{ALdALf}}}}{{H`ADj{d{If}}}ALh}{{}AKl}{{}AKn}{{}AL`}``{{{d{ALf}}{d{jAl}}}An}0{{{d{ALh}}{d{jAl}}}An}{{{d{ALd}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{{{d{AKn}}{d{jAl}}}An}{{{d{AL`}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{ALd}}}H`}{H`AL`}`1{{{d{c}}}e{}{}}00{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666````````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALj}}}ALj}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALj}}{d{jAl}}}An}0{{{d{AIj}}{d{jAl}}}An}0{{{d{AGf}}{d{jAl}}}An}0>{ALlAIj}{ALjAIj}{cc{}}{NdAIj}{ALfAIj}{IdAIj}3{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Mj{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALn}}}{{Bd{Mj}}}}{{{d{ALn}}}Mj}{c{{Af{ALn}}}Ah}{{{d{ADn}}{d{Bn}}Aj}{{Af{ALn{d{Bn}}}}}}{{{d{ALn}}{d{jAl}}}An}0?{{{d{Bn}}}{{Af{ALnc}}}{}}<``{{{d{ALn}}c}AfBh};::9=```````````````````````````````````{{{d{jHl}}AM`AE`{AEd{AEb}}}{{Bd{{AEd{AEb}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{AM`}}}AM`}{{{d{AMb}}}AMb}{{{d{{AMd{c}}}}}{{AMd{c}}}{G`AMfABhG`}}{{{d{AE`}}}AE`}{{{d{Hl}}}Hl}{{{d{AHd}}}AHd}{{{d{AMh}}}AMh}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{AM`}}{d{AM`}}}Ad}{{{d{AE`}}{d{AE`}}}Ad}{{}AE`}{{}Hl}{{}AHd}{{}AMh}{{{d{{AMd{c}}}}}{{d{e}}}{AMfABhG`}{}}{{{d{AMj}}}{{Bd{Ll}}}}{{{d{{AMd{AMl}}}}}{{Bd{Ll}}}}{{{d{{AMd{{AMn{ABj}}}}}}}{{Bd{Ll}}}}{{{d{{AMd{{AN`{ABj}}}}}}}{{Bd{Ll}}}}{{{d{AM`}}{d{AM`}}}Aj}{{{d{AMb}}{d{AMb}}}Aj}{{{d{AE`}}{d{AE`}}}Aj}{{{d{AMh}}{d{AMh}}}Aj}{{{d{Hl}}AM`}{{Bd{{d{{AEd{AEb}}}}}}}}{{{d{AM`}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}0{{{d{AMb}}{d{jAl}}}An}{{{d{{AMd{c}}}}{d{jAl}}}An{ABhAMfABhG`}}{{{d{AE`}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHd}}{d{jAl}}}An}{{{d{AMh}}{d{jAl}}}An}{cc{}}{FhAM`}{ADdAM`}{ANbAHf}3333333{{{d{AM`}}{d{jc}}}AbB`}{{{d{AMj}}{d{{Gd{I`}}}}}AM`}{{{d{{AMd{{AMn{ABj}}}}}}{d{{Gd{I`}}}}}AM`}{{{d{{AMd{AMl}}}}{d{{Gd{I`}}}}}AM`}{{{d{{AMd{{AN`{ABj}}}}}}{d{{Gd{I`}}}}}AM`}{{{d{Hl}}}{{Dn{{d{AM`}}}}}}{ce{}{}}0000000{{cAMb}{{AMd{c}}}{AMfABhG`}}{{}Hl}{{{d{AM`}}{d{AM`}}}{{Bd{Ad}}}}{{{d{AE`}}{d{AE`}}}{{Bd{Ad}}}}{{{d{jHl}}AM`AE`}{{Bd{{AEd{AEb}}}}}}``{{{d{ANd}}{d{jAHb}}Kd{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}}{{{d{{AMd{{AMn{ABj}}}}}}{d{jAHb}}Kd{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}}{{{d{{AMd{{AN`{ABj}}}}}}{d{jAHb}}Kd{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}}{{{d{{AMd{AMl}}}}{d{jAHb}}Kd{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}}{{{d{AEb}}{d{jAHb}}{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}}{{{d{c}}{d{jAHb}}{d{AHd}}{d{{Gd{I`}}}}}{{Af{AbAHf}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEd{AEb}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Mj{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000`````````````````````{{{d{j{AGd{cAGh}}}}{d{e}}}{{d{j{AGd{cAGh}}}}}ALb{{ANh{ANf}}}}{{{d{j{AGd{ce}}}}BbAIhKd}{{Af{{d{j{AGd{ce}}}}ANj}}}{}{}}{{{d{j{AGd{ce}}}}BbAIhKdBf}{{Af{{d{j{AGd{ce}}}}ANj}}}{}{}}{{{d{j{AGd{ce}}}}}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{cAGh}}}}HbAKd}{{d{j{AGd{cAGh}}}}}ALb}{{{d{j{AGd{ce}}}}Bb}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{ce}}}}Bb}{{Af{{d{j{AGd{ce}}}}ANl}}}{}{}}{{{d{j{AGd{ce}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGd{ce}}}}ANl}}}{}{}}{{{d{j{AGd{ce}}}}Aj}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{AG`AGb}}}}Hb}{{Af{{d{j{AGd{AG`AGb}}}}ANn}}}}{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{jc}}}{{d{je}}}{}{}}0000000{{{d{j{AGd{ce}}}}AO`}{{d{j{AGd{ce}}}}}{}{}}{{{d{AGh}}}AGh}{{{d{AGb}}}AGb}{{{d{{AGd{ce}}}}}{{AGd{ce}}}G`{}}{{{d{AOb}}}AOb}{{{d{AO`}}}AO`}{{{d{c}}{d{je}}}Ab{}{}}0000{{{d{AOb}}{d{AOb}}}Ad}{{{d{AO`}}{d{AO`}}}Ad}{{{AGd{ce}}g}{{AGd{ge}}}{}{}ALb}{{{d{j{AGd{ce}}}}Dh}{{d{j{AGd{ce}}}}}{}{}}{{}AGh}{{}AGb}{{}AOb}{{}AO`}{{{d{j{AGd{ce}}}}}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{cAGh}}}}Hb}{{d{j{AGd{cAGh}}}}}ALb}11{{{d{j{AGd{ce}}}}Bf}{{d{j{AGd{ce}}}}}{}{}}{{{d{AOb}}{d{AOb}}}Aj}{{{d{AO`}}{d{AO`}}}Aj}{{{d{j{AGd{ce}}}}H`}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{ce}}}}ADj}{{d{j{AGd{ce}}}}}{}{}}{{{AGd{ce}}}{{Af{AHbAIj}}}ALb{}}{{{d{AGh}}{d{jAl}}}An}{{{d{AGb}}{d{jAl}}}An}{{{d{{AGd{ce}}}}{d{jAl}}}AnABhABh}{{{d{ANl}}{d{jAl}}}An}0{{{d{ANj}}{d{jAl}}}An}0{{{d{ANn}}{d{jAl}}}An}0{{{d{AOb}}{d{jAl}}}An}{{{d{AO`}}{d{jAl}}}An}{cc{}}0000000{{{d{AOb}}{d{jc}}}AbB`}{{{d{AO`}}{d{jc}}}AbB`}{{{d{j{AGd{ce}}}}}{{d{j{AGd{ce}}}}}{}{}}{ce{}{}}00000001{{{d{j{AGd{ce}}}}AOd}{{d{j{AGd{ce}}}}}{}{}}22{{{d{j{AGd{ce}}}}AOb}{{d{j{AGd{ce}}}}}{}{}}{{{d{AOb}}{d{AOb}}}{{Bd{Ad}}}}{{{d{AO`}}{d{AO`}}}{{Bd{Ad}}}}{{{d{j{AGd{ce}}}}{Ln{Mj{Dn{Kd}}}}b}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{cAGh}}}}{Dn{{Ij{HbAKd}}}}}{{d{j{AGd{cAGh}}}}}ALb}{{{d{j{AGd{ce}}}}AIf}{{d{j{AGd{ce}}}}}{}{}}{{{d{AOb}}{d{jAFb}}}Ab}{{{d{c}}}e{}{}}0000{{{d{c}}}Mj{}}00{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{{{d{j{AGd{ce}}}}{Dn{Bb}}}{{d{j{AGd{ce}}}}}{}{}}{{{d{j{AGd{ce}}}}AOf}{{d{j{AGd{ce}}}}}{}{}}>>>>>>>>``","D":"FIn","p":[[6,"KeychainKind",0,1769],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1769],[5,"WeightedUtxo",0,1769],[6,"Utxo",0,1769],[1,"unit"],[6,"Ordering",1770],[6,"Result",1771],[10,"Deserializer",1772],[1,"bool"],[5,"Formatter",1773],[8,"Result",1773],[10,"Hasher",1774],[5,"OutPoint",1775],[6,"Option",1776],[5,"Sequence",1775],[10,"Serializer",1777],[5,"TxOut",1775],[5,"TypeId",1778],[1,"str"],[6,"Descriptor",100,1779],[6,"Network",1780],[5,"Address",1781],[6,"Error",1782],[10,"MiniscriptKey",1782],[10,"ToPublicKey",1782],[6,"ScriptContextEnum",690],[5,"Miniscript",100,1783],[6,"Terminal",1784],[10,"ScriptContext",690,1785],[6,"Tree",1786],[6,"DescriptorPublicKey",690,1787],[1,"u32"],[5,"DefiniteDescriptorKey",1787],[6,"ConversionError",1787],[5,"Vec",1788],[6,"Placeholder",1789],[5,"Satisfaction",1789],[10,"AssetProvider",1790],[17,"Key"],[6,"ScriptContextError",1785],[17,"Sha256"],[5,"Hash",1791],[17,"Hash256"],[5,"Hash",1792],[17,"Ripemd160"],[5,"Hash",1793],[17,"Hash160"],[5,"Hash",1794],[10,"ParseableKey",1784],[6,"Legacy",100,1785],[6,"Segwitv0",100,1785],[10,"Clone",1795],[10,"Ord",1770],[5,"Secp256k1",1796],[5,"PublicKey",1797],[10,"Verification",1798],[6,"DescriptorType",1779],[5,"DescriptorId",1799],[10,"FromStr",1800],[1,"u64"],[5,"ScriptBuf",1801],[10,"PartialEq",1770],[5,"ExtParams",1802],[6,"AnalysisError",1802],[10,"ExtractPolicy",100],[5,"SignersContainer",1429],[6,"BuildSatisfaction",383],[6,"All",1803],[5,"Policy",383],[6,"Error",352],[5,"Script",1804],[5,"Range",1805],[1,"tuple"],[5,"Error",1773],[17,"Output"],[10,"FnMut",1806],[5,"Pkh",1807],[5,"Bare",1807],[5,"Wsh",1808],[5,"Sh",1809],[5,"Wpkh",1808],[5,"Tr",1810],[5,"Type",1811],[5,"ExtData",1812],[5,"Tree",1813],[1,"usize"],[10,"Satisfier",1789],[10,"Hash",1774],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",690,1779],[5,"Iter",1814],[5,"PkIter",1814],[6,"Policy",1815],[6,"LiftError",1816],[6,"BareCtx",1785],[6,"TapTree",1810],[6,"DescriptorSecretKey",690,1787],[5,"BTreeMap",1817],[10,"Signing",1798],[10,"PartialOrd",1770],[5,"Plan",1790],[5,"TxIn",1775],[6,"SigType",1785],[5,"String",1818],[6,"TranslateErr",1782],[10,"Translator",1782],[1,"array"],[6,"Error",1797],[6,"PolicyError",383],[6,"Error",1819],[6,"Error",1820],[6,"HexToBytesError",1821],[6,"KeyError",690],[6,"PkOrF",383],[6,"SatisfiableItem",383],[6,"Satisfaction",383],[5,"Condition",383],[10,"DescriptorTemplate",554],[8,"DescriptorTemplateOut",554],[5,"P2Pkh",554],[10,"IntoDescriptorKey",690],[5,"P2Wpkh_P2Sh",554],[5,"P2Wpkh",554],[5,"P2TR",554],[6,"Tap",1785],[5,"Bip44",554],[10,"DerivableKey",690],[5,"Bip44Public",554],[5,"Bip49",554],[5,"Bip49Public",554],[5,"Bip84",554],[5,"Bip84Public",554],[5,"Bip86",554],[5,"Bip86Public",554],[8,"ValidNetworks",690],[5,"SortedMultiVec",690,1822],[5,"GeneratedKey",690],[5,"PrivateKeyGenerateOptions",690],[5,"SinglePub",690,1787],[5,"SinglePriv",690,1787],[6,"SinglePubKey",690,1787],[6,"DescriptorKey",690],[10,"Debug",1773],[5,"Xpriv",1819],[6,"ExtendedKey",690],[5,"Xpub",1819],[5,"DerivationPath",1819],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",690],[10,"AsMut",1823],[10,"Default",1824],[10,"GeneratableDefaultOptions",690],[5,"Assets",1790],[8,"KeySource",1819],[5,"Fingerprint",1819],[5,"DescriptorKeyParseError",1787],[10,"PsbtUtils",988],[5,"FeeRate",1825],[5,"Balance",992,1826],[5,"Wallet",992],[5,"SignerOrdering",1429],[10,"TransactionSigner",1429],[5,"Arc",1827],[17,"Item"],[10,"Iterator",1828],[5,"Block",1829],[5,"CannotConnectError",1830],[5,"BlockId",1831],[6,"ApplyHeaderError",1830],[5,"Transaction",1775],[10,"IntoIterator",1832],[5,"Update",992],[10,"Into",1823],[5,"ConfirmationTimeHeightAnchor",1831],[5,"TxGraph",1833],[5,"Txid",1834],[8,"DefaultCoinSelectionAlgorithm",1225],[5,"BumpFee",1609],[5,"TxBuilder",1609],[6,"BuildFeeBumpError",1324],[5,"CreateTx",1609],[6,"CalculateFeeError",1833],[5,"CheckPointIter",1830],[8,"Result",1835],[5,"AddressInfo",992],[5,"Psbt",1836],[5,"SignOptions",1429],[6,"SignerError",1429],[6,"NewError",992],[6,"LoadError",992],[6,"NewOrLoadError",992],[6,"InsertTxError",992],[6,"ApplyBlockError",992],[5,"FullScanResult",1837],[5,"SyncResult",1837],[5,"PsbtSighashType",1838],[5,"Input",1838],[6,"CreateTxError",1324],[5,"CanonicalTx",1833],[5,"AlterCheckPointError",1830],[6,"ConfirmationTime",1831],[10,"IsDust",992,1839],[5,"CheckPoint",1830],[10,"DoubleEndedIterator",1840],[8,"ChangeSet",992],[10,"PersistBackend",1841],[10,"Send",1842],[10,"Sync",1842],[5,"LocalChain",1830],[5,"BlockHash",1834],[5,"Amount",1843],[5,"KeychainTxOutIndex",1844],[5,"FullScanRequest",1837],[5,"SyncRequest",1837],[5,"LargestFirstCoinSelection",1225],[5,"OldestFirstCoinSelection",1225],[5,"BranchAndBoundCoinSelection",1225],[10,"CoinSelectionAlgorithm",1225],[5,"CoinSelectionResult",1225],[6,"Error",1225],[6,"Excess",1225],[6,"MiniscriptPsbtError",1324],[6,"Error",1845],[5,"FullyNodedExport",1406],[6,"SignerId",1429],[6,"SignerContext",1429],[5,"SignerWrapper",1429],[10,"Sized",1842],[6,"TapLeavesOptions",1429],[10,"SignerCommon",1429],[5,"PrivateKey",1797],[5,"DescriptorMultiXKey",1787],[5,"DescriptorXKey",1787],[6,"Error",1846],[10,"InputSigner",1429],[5,"PushBytes",1847],[10,"AsRef",1823],[6,"AddForeignUtxoError",1609],[6,"AddUtxoError",1609],[6,"AllowShrinkingError",1609],[6,"ChangeSpendPolicy",1609],[6,"TxOrdering",1609],[6,"LockTime",1848],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",530],[15,"Complete",533],[15,"Partial",533],[15,"PartialComplete",533],[15,"Sha256Preimage",544],[15,"Hash256Preimage",544],[15,"Ripemd160Preimage",544],[15,"Hash160Preimage",544],[15,"Thresh",544],[15,"Multisig",544],[15,"AbsoluteTimelock",544],[15,"RelativeTimelock",544],[10,"ExtScriptContext",690],[15,"UnexpectedConnectedToHash",1215],[15,"ConfirmationHeightCannotBeGreaterThanTip",1217],[15,"LoadedGenesisDoesNotMatch",1219],[15,"LoadedNetworkDoesNotMatch",1219],[15,"LoadedDescriptorDoesNotMatch",1219],[15,"InsufficientFunds",1317],[15,"Change",1319],[15,"NoChange",1319],[15,"InsufficientFunds",1398],[15,"RbfSequenceCsv",1398],[15,"LockTime",1398],[15,"FeeTooLow",1398],[15,"FeeRateTooLow",1398],[8,"WalletExport",1406],[15,"Tap",1608],[15,"InvalidTxid",1767]],"r":[[2,100],[4,1769],[6,1769],[7,1429],[8,1609],[9,1769],[10,992],[11,1769],[70,992],[71,100],[104,1779],[106,1787],[112,1785],[113,1783],[118,383],[119,1785],[120,1785],[153,350],[693,1787],[694,1787],[709,1779],[719,1785],[724,1787],[725,1787],[726,1787],[727,1822],[994,1826],[1002,1839]],"b":[[191,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[192,"impl-Descriptor%3CDescriptorPublicKey%3E"],[211,"impl-Debug-for-Descriptor%3CPk%3E"],[212,"impl-Display-for-Descriptor%3CPk%3E"],[215,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[216,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[219,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[220,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[221,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[222,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[367,"impl-Display-for-Error"],[368,"impl-Debug-for-Error"],[370,"impl-From%3CError%3E-for-Error"],[371,"impl-From%3CPolicyError%3E-for-Error"],[372,"impl-From%3CError%3E-for-Error"],[373,"impl-From%3CError%3E-for-Error"],[374,"impl-From%3CHexToBytesError%3E-for-Error"],[375,"impl-From%3CError%3E-for-Error"],[376,"impl-From%3CKeyError%3E-for-Error"],[458,"impl-Debug-for-PolicyError"],[459,"impl-Display-for-PolicyError"],[808,"impl-Debug-for-KeyError"],[809,"impl-Display-for-KeyError"],[810,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[811,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[812,"impl-Display-for-DescriptorPublicKey"],[813,"impl-Debug-for-DescriptorPublicKey"],[814,"impl-Debug-for-DescriptorSecretKey"],[815,"impl-Display-for-DescriptorSecretKey"],[820,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[821,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[827,"impl-From%3CError%3E-for-KeyError"],[828,"impl-From%3CError%3E-for-KeyError"],[869,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[870,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1075,"impl-Debug-for-Balance"],[1076,"impl-Display-for-Balance"],[1079,"impl-Debug-for-AddressInfo"],[1080,"impl-Display-for-AddressInfo"],[1081,"impl-Debug-for-NewError"],[1082,"impl-Display-for-NewError"],[1083,"impl-Display-for-LoadError"],[1084,"impl-Debug-for-LoadError"],[1085,"impl-Display-for-NewOrLoadError"],[1086,"impl-Debug-for-NewOrLoadError"],[1087,"impl-Display-for-InsertTxError"],[1088,"impl-Debug-for-InsertTxError"],[1089,"impl-Display-for-ApplyBlockError"],[1090,"impl-Debug-for-ApplyBlockError"],[1094,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1095,"impl-From%3CSyncResult%3E-for-Update"],[1266,"impl-Debug-for-Error"],[1267,"impl-Display-for-Error"],[1365,"impl-Display-for-MiniscriptPsbtError"],[1366,"impl-Debug-for-MiniscriptPsbtError"],[1367,"impl-Debug-for-CreateTxError"],[1368,"impl-Display-for-CreateTxError"],[1369,"impl-Display-for-BuildFeeBumpError"],[1370,"impl-Debug-for-BuildFeeBumpError"],[1372,"impl-From%3CError%3E-for-CreateTxError"],[1373,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1375,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1376,"impl-From%3CError%3E-for-CreateTxError"],[1377,"impl-From%3CError%3E-for-CreateTxError"],[1416,"impl-Debug-for-FullyNodedExport"],[1417,"impl-Display-for-FullyNodedExport"],[1508,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1509,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1510,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1517,"impl-Display-for-SignerError"],[1518,"impl-Debug-for-SignerError"],[1526,"impl-From%3CHash%3E-for-SignerId"],[1527,"impl-From%3CFingerprint%3E-for-SignerId"],[1538,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1539,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1540,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1558,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1559,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1560,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1687,"impl-Debug-for-AddUtxoError"],[1688,"impl-Display-for-AddUtxoError"],[1689,"impl-Display-for-AddForeignUtxoError"],[1690,"impl-Debug-for-AddForeignUtxoError"],[1691,"impl-Display-for-AllowShrinkingError"],[1692,"impl-Debug-for-AllowShrinkingError"]],"c":"OjAAAAEAAAAAAAUAEAAAAL8AAQENARwDcwOABQ==","e":"OzAAAAEAAJoDfQADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB3AAAAigABAI0AAACPAAcAmgAAAJwAAQCfAAAAogABAKUAAQCpAAEArAABAK8AAQCyAAsAwwADAMgAAwDRAAEA1AAMAOIAAADoAAAA9QADAAABAAAGAQEACgEBABEBAQAnAQMALAEBADoBAQA9AQEAQQEFAEwBBwBVAQMAWgEDAG4BAwBzAQYAewEEAKMBGQC/AQ4A0AEAANMBAADYAQEA5wEAAOoBBADwASIAOQIXAFICCwB2AjwA4QIXAAMDFQAaAwEAHQMAAB8DFwA8AwEAQQMAAEgDAQBTAwMAYwMAAGYDBABsAwEAfAMBAIEDAACKAwAAjwMDAJgDAACcAwgApgMDAK0DLwD+AwAABgQSACEEAwAoBAIALgQCADQEDwBHBAEAggQAAIkECACWBBEAqgQIALYECADXBBEA6gQCAO4EAgDzBAYACgUbAE4FDQBdBQEAYAUCAGcFDwCDBQEAhwUAAIkFAQCMBQAAkAUFAL4FDwDPBRQA5QUGAO0FCAD3BQIAAQYAAAMGAgARBgEAFwYCABsGAAAfBgcAKQYfAGgGDwB5BgsAhwYDAJAGAQCVBgoAqAYBALgGAQC+Bh8A4AYHAA=="}],\ +["bdk_wallet",{"t":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKIKRGFPPPPEKGPPPPIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNOOONHNMNNHMNNOONNNNNNMONNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPPGKGPPPPPPGGPPPPPPPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCNONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNNHOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPPGPPPPPPPPGPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNOOMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPPGPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","calc_checksum_bytes","Base58","Bip32","Error","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","ConfirmationHeightCannotBeGreaterThanTip","Descriptor","Descriptor","Descriptor","InsertTxError","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","NonEmptyDatabase","NotInitialized","NotInitialized","Persist","Persist","Persist","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","commit","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","get_balance","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","local_chain","mark_used","network","network","new","new_no_persist","new_no_persist_with_genesis_hash","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","tip_height","tx_height","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","ChangePolicyDescriptor","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","InsufficientFunds","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Persist","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","available","csv","needed","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Segwitv0","SighashError","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","remove_partial_sigs","remove_taproot_extras","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","Bip69Lexicographic","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","eq","fee_absolute","fee_rate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","partial_cmp","policy_path","set_recipients","sighash","sort_tx","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[350,"bdk_wallet::descriptor::checksum"],[352,"bdk_wallet::descriptor::error"],[383,"bdk_wallet::descriptor::policy"],[530,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[533,"bdk_wallet::descriptor::policy::Satisfaction"],[544,"bdk_wallet::descriptor::policy::SatisfiableItem"],[554,"bdk_wallet::descriptor::template"],[690,"bdk_wallet::keys"],[988,"bdk_wallet::psbt"],[992,"bdk_wallet::wallet"],[1215,"bdk_wallet::wallet::ApplyBlockError"],[1217,"bdk_wallet::wallet::InsertTxError"],[1219,"bdk_wallet::wallet::NewOrLoadError"],[1225,"bdk_wallet::wallet::coin_selection"],[1317,"bdk_wallet::wallet::coin_selection::Error"],[1319,"bdk_wallet::wallet::coin_selection::Excess"],[1324,"bdk_wallet::wallet::error"],[1398,"bdk_wallet::wallet::error::CreateTxError"],[1406,"bdk_wallet::wallet::export"],[1429,"bdk_wallet::wallet::signer"],[1608,"bdk_wallet::wallet::signer::SignerContext"],[1609,"bdk_wallet::wallet::tx_builder"],[1724,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1726,"bdk_wallet::types"],[1727,"core::cmp"],[1728,"core::result"],[1729,"serde::de"],[1730,"core::fmt"],[1731,"core::hash"],[1732,"bitcoin::blockdata::transaction"],[1733,"core::option"],[1734,"serde::ser"],[1735,"core::any"],[1736,"miniscript::descriptor"],[1737,"bitcoin::network"],[1738,"bitcoin::address"],[1739,"miniscript"],[1740,"miniscript::miniscript"],[1741,"miniscript::miniscript::decode"],[1742,"miniscript::miniscript::context"],[1743,"miniscript::iter::tree"],[1744,"miniscript::descriptor::key"],[1745,"alloc::vec"],[1746,"miniscript::miniscript::satisfy"],[1747,"miniscript::plan"],[1748,"bitcoin_hashes::sha256"],[1749,"miniscript::miniscript::hash256"],[1750,"bitcoin_hashes::ripemd160"],[1751,"bitcoin_hashes::hash160"],[1752,"core::clone"],[1753,"secp256k1"],[1754,"bitcoin::crypto::key"],[1755,"secp256k1::context"],[1756,"bdk_chain::descriptor_ext"],[1757,"core::str::traits"],[1758,"bitcoin::blockdata::script::owned"],[1759,"miniscript::miniscript::analyzable"],[1760,"secp256k1::context::alloc_only"],[1761,"bitcoin::blockdata::script::borrowed"],[1762,"core::ops::range"],[1763,"core::ops::function"],[1764,"miniscript::descriptor::segwitv0"],[1765,"miniscript::descriptor::tr"],[1766,"miniscript::descriptor::sh"],[1767,"miniscript::descriptor::bare"],[1768,"miniscript::miniscript::types"],[1769,"miniscript::miniscript::types::extra_props"],[1770,"miniscript::expression"],[1771,"miniscript::miniscript::iter"],[1772,"miniscript::policy::semantic"],[1773,"miniscript::policy"],[1774,"alloc::collections::btree::map"],[1775,"alloc::string"],[1776,"bitcoin::base58"],[1777,"bitcoin::bip32"],[1778,"hex_conservative::parse"],[1779,"miniscript::descriptor::sortedmulti"],[1780,"core::convert"],[1781,"core::default"],[1782,"bitcoin::blockdata::fee_rate"],[1783,"bdk_chain::keychain"],[1784,"alloc::sync"],[1785,"core::iter::traits::iterator"],[1786,"bitcoin::blockdata::block"],[1787,"bdk_chain::local_chain"],[1788,"bdk_chain::chain_data"],[1789,"core::iter::traits::collect"],[1790,"bdk_chain::tx_graph"],[1791,"bitcoin::hash_types::newtypes"],[1792,"anyhow"],[1793,"bitcoin::psbt"],[1794,"bdk_chain::spk_client"],[1795,"bitcoin::psbt::map::input"],[1796,"bdk_wallet::wallet::utils"],[1797,"core::iter::traits::double_ended"],[1798,"bdk_persist::persist"],[1799,"core::marker"],[1800,"bitcoin::amount"],[1801,"bdk_chain::keychain::txout_index"],[1802,"bitcoin::psbt::error"],[1803,"bitcoin::crypto::sighash"],[1804,"bitcoin::blockdata::script::push_bytes::primitive"],[1805,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,249,249,249,94,250,24,0,0,0,0,0,0,0,0,33,0,0,35,94,250,24,0,0,0,94,250,24,35,0,94,250,24,94,250,24,94,250,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,120,116,116,0,121,0,0,120,119,0,120,120,116,116,116,120,121,71,116,121,121,0,0,0,71,71,119,120,120,0,0,120,120,120,119,119,120,121,73,122,116,71,119,120,121,73,122,116,71,119,120,121,73,122,71,119,120,121,73,122,71,73,122,122,119,120,121,73,122,116,119,120,121,73,122,116,116,71,119,120,121,121,73,73,122,116,71,73,119,122,120,73,119,120,121,73,122,116,71,120,121,122,73,122,73,73,119,120,121,73,122,122,119,120,121,73,122,71,116,119,120,121,73,122,116,71,119,120,121,73,122,116,71,119,120,121,73,122,116,71,119,120,121,73,122,116,71,251,251,251,252,253,254,253,254,253,254,253,254,253,254,255,256,257,258,259,260,260,259,261,262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,123,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,124,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,125,127,128,129,131,133,134,135,136,137,138,139,115,0,0,0,0,156,156,0,0,146,0,0,0,0,115,115,115,33,0,0,30,115,115,102,35,156,150,0,150,0,0,30,35,102,0,0,0,0,30,0,146,102,35,0,263,35,150,142,147,30,143,115,141,35,102,144,145,146,150,142,147,30,143,115,141,35,102,144,145,146,141,33,33,33,33,33,33,33,33,33,142,30,143,141,35,102,144,145,146,142,30,143,141,35,102,144,145,146,141,35,144,146,143,143,142,35,35,141,30,141,35,102,144,145,146,147,30,143,115,115,141,141,35,35,102,102,144,145,146,141,150,150,150,142,147,30,143,115,115,115,141,35,35,102,144,145,146,147,147,35,102,141,35,35,156,159,156,159,150,35,141,35,144,146,150,142,147,30,143,115,141,35,102,144,145,146,35,126,132,142,142,147,35,102,132,150,142,142,35,102,150,150,35,263,30,35,102,263,30,263,30,35,35,141,144,145,141,0,35,33,141,141,0,33,141,35,144,145,33,147,141,35,144,146,33,141,141,141,141,35,33,141,0,142,30,143,141,35,102,144,145,146,102,115,141,35,102,33,33,141,150,142,147,30,143,115,141,35,102,144,145,146,150,142,147,30,143,115,141,35,102,144,145,146,150,142,147,30,143,115,141,35,102,144,145,146,150,142,147,30,143,115,141,35,102,144,145,146,0,164,164,164,0,0,0,198,0,197,194,195,196,0,0,0,196,196,196,195,195,195,0,0,194,195,196,194,195,196,198,0,0,166,167,190,167,167,167,167,167,167,166,167,179,190,194,195,196,197,198,166,167,179,190,194,195,196,197,198,167,167,167,167,167,210,179,167,166,179,166,179,0,167,166,166,179,190,167,167,167,166,166,190,0,0,167,166,166,167,179,190,190,194,194,195,195,196,196,197,197,198,198,166,167,179,179,179,190,194,195,196,197,198,167,167,167,167,167,167,179,166,190,210,167,167,167,166,167,179,190,194,195,196,197,198,207,167,190,167,179,167,167,167,167,167,167,167,167,210,167,167,167,167,167,167,167,167,167,167,167,167,167,167,167,166,167,0,167,167,167,167,166,179,166,190,194,195,196,197,198,166,167,166,166,166,167,179,190,194,195,196,197,198,166,167,179,190,194,195,196,197,198,0,167,166,167,179,190,194,195,196,197,198,167,167,166,166,167,179,190,194,195,196,197,198,0,264,264,265,265,266,267,266,267,268,268,225,225,0,226,0,0,0,0,0,225,0,226,0,225,226,224,220,221,222,225,226,224,220,221,222,220,221,222,220,221,222,223,220,221,222,0,220,221,222,224,224,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,224,222,224,224,220,221,222,225,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,225,226,224,220,221,222,269,269,270,271,271,270,271,0,203,203,227,0,203,203,186,203,203,186,203,203,0,203,203,203,203,203,227,203,203,203,203,203,203,186,186,203,186,227,203,203,227,203,186,227,203,186,227,227,227,227,203,203,186,186,227,203,203,203,203,203,203,186,227,203,186,227,227,203,186,227,203,186,227,203,186,227,203,186,227,203,186,272,273,272,273,274,274,275,276,0,0,277,229,229,229,229,229,229,229,229,229,229,229,229,277,229,229,229,229,229,229,229,234,230,234,193,230,234,193,0,193,193,193,231,193,193,193,193,193,193,193,234,230,231,193,0,0,0,0,0,0,0,0,231,0,0,193,70,192,192,70,192,230,193,231,232,168,70,192,234,230,193,231,232,168,70,192,234,70,230,231,232,168,70,192,234,230,231,232,168,70,192,234,230,168,168,70,192,234,232,235,232,232,232,230,231,168,234,70,230,193,193,231,232,168,70,192,234,230,230,230,193,193,231,232,168,70,192,234,230,235,232,232,232,70,230,193,231,232,168,70,192,234,232,70,230,168,70,192,192,240,232,232,232,169,232,192,70,192,230,231,232,168,70,192,234,193,192,192,230,193,231,232,168,70,192,234,230,193,231,232,168,70,192,234,230,193,231,232,168,70,192,234,230,193,231,232,168,70,192,234,278,0,0,246,245,245,0,243,243,243,245,246,0,0,244,246,185,185,185,185,185,185,185,185,185,185,244,243,246,245,185,244,243,246,245,185,185,246,245,185,246,245,246,245,185,185,246,245,185,185,185,185,185,246,245,185,185,185,185,244,244,243,243,246,245,185,244,243,246,245,246,245,185,185,244,243,246,245,185,185,185,185,185,246,245,185,185,185,246,185,246,245,244,243,185,244,243,246,245,185,244,243,246,245,185,244,243,246,245,185,185,185,244,243,246,245,279,279],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}Ah{ChGn}}{c{{Af{{Cn{eg}}}}}Ah{ChGn}Db}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{cc{}}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}333{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}{ChGn}}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}{ChGn}}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}{ChGn}Db}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}10{{}{{d{Bn}}}}00{{{Cn{cLh}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Lj{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{Ln{DfLl}}}}Cf}}}M`}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MbCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Md{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMf}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mh}00{{{d{{Cn{ce}}}}{d{{Ln{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Mj{}}0{{{d{{C`{Df}}}}{d{{Ln{DfLl}}}}}Mj}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Ml{g}}}}}ChCh{}{{Mn{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Ml{i}}}}}ChDbCh{}{{Mn{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MjId}}}}{{{d{Bn}}}{{Af{{N`{f}}Id}}}}`````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{NbId}{cc{}}{NdId}{NfId}{CfId}{NhId}{NjId}{NlId}>{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{Nn}}}Nn}{{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Ib}}}Ib}{{{d{Od}}}Od}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Od}{{{d{Nn}}{d{Nn}}}Aj}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Nh}}{d{Nh}}}Aj}{{{d{Nn}}{d{jAl}}}An}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Nh}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}00{AjOb}1{O`Ib}222{{{d{Ib}}{d{{Ln{Mj{Dn{Kd}}}}}}}{{Af{OdNh}}}}{{{d{Nn}}{d{jc}}}AbB`}{{{d{Od}}{d{jc}}}AbB`}{{{d{O`}}}Mj}`{ce{}{}}000000{{{d{O`}}}Aj}{{{d{Ob}}}Aj}{{{d{Od}}}Aj}`{{{d{Od}}{d{Od}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{Nn}}c}AfBh}{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Od}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OfCb}{{Af{OhId}}}}{{{Oj{c}}Cb}{{Af{OhId}}}{{Ol{Fl}}}}{{{On{c}}Cb}{{Af{OhId}}}{{Ol{Fn}}}}{{{A@`{c}}Cb}{{Af{OhId}}}{{Ol{Fn}}}}{{{A@b{c}}Cb}{{Af{OhId}}}{{Ol{A@d}}}}{{{A@f{c}}Cb}{{Af{OhId}}}{{A@h{Fl}}}}{{{A@j{c}}Cb}{{Af{OhId}}}{{A@h{Fl}}}}{{{A@l{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{A@n{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AA`{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AAb{c}}Cb}{{Af{OhId}}}{{A@h{Fn}}}}{{{AAd{c}}Cb}{{Af{OhId}}}{{A@h{A@d}}}}{{{AAf{c}}Cb}{{Af{OhId}}}{{A@h{A@d}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oh{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{Ln{DfLl}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAh}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAj{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAl{ce}}}}}{{AAl{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AAn}}}AAn}{{{d{{AAj{ce}}}}}{{AAj{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ll}}}Ll}{{{d{AB`}}}AB`}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{AB`}}{d{AB`}}}Ad}{{{d{ABd}}{d{ABd}}}Ad}`{{}AAn}{{{d{{AAl{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAj{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ll}}{d{Ll}}}Aj}{{{d{AB`}}{d{AB`}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{{ABf{c}}}}{d{jAl}}}An{ABhDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AAn}}{d{jAl}}}An}{{{d{Nf}}{d{jAl}}}An}0{{{d{{AAj{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ll}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AB`}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAj{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{cc{}}{ABj{{ABl{c}}}Db}{ABn{{ABl{c}}}Db}2222{NjNf}3{CfNf}44{DjDf}5555{{DfAAh}{{ABf{c}}}Db}{{LlAAh}{{ABf{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ll}}}}{{{d{Kb}}}{{Af{{AAj{ce}}Cf}}}{GnCh}Db}{{{d{Df}}}{{Bd{AC`}}}}{{{d{Df}}}{{Dn{AC`}}}}{c{{Af{{AAl{{ACh{}{{ACb{e}}{ACd{c}}{ACf{g}}}}i}}g}}}{}{{ACj{{h{f}}}}ACl}ABhDb}{{}{{Af{{AAl{ACnc}}e}}}Db{}}{{ce}{{Af{{AAl{{ACh{}{{ACb{e}}{ACd{c}}{ACf{g}}}}i}}g}}}{}{{ACj{{h{f}}}}ACl}ABhDb}{c{{Af{{AAl{ACne}}g}}}{}Db{}}{{{d{{ABl{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAj{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{AB`}}{d{jc}}}AbB`}{{{d{ABd}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfAD`}{Ol{{Af{{ABf{c}}Nf}}}Db}{{A@h{Bd{ADb}}AC`}{{Af{{ABf{c}}Nf}}}Db}{{{AAl{ec}}}{{Af{{ABf{c}}Nf}}}Db{{Ol{c}}}}{{{AAl{ec}}{Bd{ADb}}AC`}{{Af{{ABf{c}}Nf}}}Db{{A@h{c}}}}{{{ABf{c}}}{{Af{{ABf{c}}Nf}}}Db}{Df{{Af{{ABf{c}}Nf}}}Db}{Ll{{Af{{ABf{c}}Nf}}}Db}{A@h{{Af{{ABl{c}}Nf}}}Db}{{{ABl{c}}}{{Af{{ABl{c}}Nf}}}Db}{{{AAl{ec}}}{{Af{{ABl{c}}Nf}}}Db{{A@h{c}}}}{{{AAl{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ll{{Dn{Ll}}}}{{{ABl{c}}Cb}{{Bd{ABj}}}Db}{{{ABl{c}}Cb{d{{Gd{e}}}}}ABnDbM`}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ll}}}Aj}212133```{{{d{{AAj{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAh}{{{d{Df}}}ADd}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{AAj{ce}}}}}KdChDb}0{{{d{AAh}}{d{AAh}}}AAh}{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAj{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABf{c}}AAh}{{ABf{c}}}Db}{{{d{{AAj{ce}}}}{d{{AAj{ce}}}}}{{Bd{Ad}}}{MbCh}{MbDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{AB`}}{d{AB`}}}{{Bd{Ad}}}}{{{d{ABd}}{d{ABd}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}`{{{d{{AAj{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAj{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}={{{d{Df}}c}AfBh}{{}Mh}{{{d{{AAj{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAh}{{{d{c}}}e{}{}}00000000{{{d{Ll}}{d{{Gd{c}}}}}{{Af{DfADf}}}M`}{{{d{c}}}Mj{}}000??{{{d{{AAj{ce}}}}{d{jk}}}{{Af{{AAj{ge}}{Ml{i}}}}}ChDbCh{}{{Mn{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{ADh}}}{{Bd{H`}}}}{{{d{ADh}}}{{Bd{ADj}}}}{{{d{ADh}}Kd}{{Bd{Bj}}}}`````````````````````````````{{ADlADl}ADl}{{{d{jADn}}bAE`{AEd{AEb}}}Ab}`{{{d{ADn}}}{{Ln{b{`{{AEh{}{{AEf{{Ij{DhHb}}}}}}G`}}}}}}{{{d{jADn}}{d{AEj}}Dh}{{Af{AbAEl}}}}{{{d{jADn}}{d{AEj}}DhAEn}{{Af{AbAF`}}}}{{{d{jADn}}c}Ab{{AFd{}{{AEf{{Ij{{d{AFb}}H`}}}}}}}}{{{d{jADn}}c}{{Af{AbAEl}}}{{AFh{AFf}}}}{{{d{ADn}}}{{d{{AFl{AFj}}}}}}{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{{d{jADn}}AFn}{{Af{{AGb{AG`}}AGd}}}}{{{d{jADn}}}{{AGb{AG`}}}}{{{d{ADn}}{d{AFb}}}{{Af{H`AGf}}}}{{{d{ADn}}{d{AFb}}}{{Af{ADjAGf}}}}{{{d{jADn}}{d{AFb}}}Ab}``{{{d{ADn}}}AGh}{{{d{ADl}}}ADl}{{{d{AFf}}}AFf}{{{d{c}}{d{je}}}Ab{}{}}0`{{{d{jADn}}}{{AGj{Aj}}}}`{{}ADl}{{}AFf}{{{d{AGl}}}{{d{c}}}{}}{{{d{ADn}}b}{{Bd{Dh}}}}{{{d{ADn}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{ADn}}b}Mj}{c{{Af{ADl}}}Ah}{{{d{ADl}}{d{ADl}}}Aj}{{{d{AGl}}{d{AGl}}}Aj}``{{{d{ADn}}{d{jAGn}}AH`}{{Af{AjAHb}}}}{{{d{ADl}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ADn}}{d{jAl}}}An}{{{d{AFf}}{d{jAl}}}An}{{{d{AGl}}{d{jAl}}}An}0{{{d{AHd}}{d{jAl}}}An}0{{{d{AHf}}{d{jAl}}}An}0{{{d{AHh}}{d{jAl}}}An}0{{{d{AHj}}{d{jAl}}}An}0{{{d{AHl}}{d{jAl}}}An}0{cc{}}00{AHnAFf}{{{AI`{b}}}AFf}222222{{{d{ADn}}}ADl}{{{d{ADn}}b}{{d{Kl}}}}{{{d{ADn}}l{Bd{AIb}}Aj}{{Af{AIdAIf}}}}{{{d{ADn}}b}{{AEd{Hl}}}}{{{d{ADn}}AFn}{{Bd{{AIh{{AEd{AFb}}AFj}}}}}}{{{d{ADn}}Bb}{{Bd{l}}}}````{{{d{jADn}}AEn}{{Af{AjAIj}}}}{{{d{jADn}}AFbAIl}{{Af{AjAHj}}}}{{{d{jADn}}BbBj}Ab}{ce{}{}}00000000{{{d{AIn}}{d{If}}}Aj}{{{d{ADn}}{d{If}}}Aj}`{{{d{ADn}}}{{`{{AEh{}{{AEf{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{ADn}}}AJ`}{{{d{ADn}}}{{`{{AEh{}{{AEf{l}}}}}}}}0{{{d{ADn}}b}{{`{{AJb{}{{AEf{AGl}}}}}}}}{c{{Af{ADnAHf}}}{{AJf{AJd}}AJhAJj}}{{{d{ADn}}}{{d{AJl}}}}{{{d{jADn}}bDh}Aj}{{{d{ADn}}}Cb}`{{c{Bd{c}}eCb}{{Af{ADnAHd}}}Kj{{AJf{AJd}}AJhAJj}}{{c{Bd{c}}Cb}{{Af{ADnId}}}Kj}{{c{Bd{c}}CbAJn}{{Af{ADnId}}}Kj}{{c{Bd{c}}eCb}{{Af{ADnAHh}}}Kj{{AJf{AJd}}AJhAJj}}{{c{Bd{c}}eCbAJn}{{Af{ADnAHh}}}Kj{{AJf{AJd}}AJhAJj}}{{c{Bd{c}}eCbAJn}{{Af{ADnAHd}}}Kj{{AJf{AJd}}AJhAJj}}{{{d{ADn}}b}Dh}{{{d{jADn}}b}{{AGj{AGl}}}}{{{d{ADn}}bDh}AGl}{{{d{ADn}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{ADn}}b}{{Bd{{d{Kl}}}}}}{{{d{jADn}}bDh}{{AGj{{`{{AEh{}{{AEf{AGl}}}}}}}}}}4{{{d{ADn}}}{{d{{Gd{I`}}}}}}{{{d{ADn}}{d{AFb}}}{{Ij{AK`AK`}}}}{{{d{ADl}}c}AfBh}{{{d{ADn}}{d{jAGn}}AH`}{{Af{AjAHb}}}}`{{{d{ADn}}}{{d{{AKb{b}}}}}}{{{d{ADn}}}{{d{AJd}}}}{{{d{ADn}}}{{AKd{b}}}}{{{d{ADn}}}AKf}{{{d{c}}}e{}{}}0{{{d{c}}}Mj{}}000000{{{d{ADl}}}AK`}{{{d{ADn}}}{{`{{AEh{}{{AEf{{AIh{{AEd{AFb}}AFj}}}}}}}}}}`1{c{{Af{e}}}{}{}}00000000000000000`{{{d{ADn}}}{{d{{AFl{AFj}}}}}}{{{d{c}}}Bl{}}00000000{{{d{ADn}}b}{{`{{AEh{}{{AEf{{Ij{DhHb}}}}}}G`}}}}{{{d{jADn}}bDh}Aj}`{ce{}{}}00000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MjId}}}Kj}```````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKh}}}AKh}{{{d{AKj}}}AKj}{{{d{AKl}}}AKl}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AKn}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKh}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{AL`ALb}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}ADjH`{d{If}}}{{Af{AL`ALb}}}}{{H`ADj{d{If}}}ALd}{{}AKh}{{}AKj}{{}AKl}``{{{d{ALb}}{d{jAl}}}An}0{{{d{ALd}}{d{jAl}}}An}{{{d{AL`}}{d{jAl}}}An}{{{d{AKh}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{AL`}}}H`}{H`AKl}`1{{{d{c}}}e{}{}}00{{{d{c}}}Mj{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666````````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALf}}}ALf}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALf}}{d{jAl}}}An}0{{{d{AIf}}{d{jAl}}}An}0{{{d{AGd}}{d{jAl}}}An}0>{ALfAIf}{ALbAIf}{cc{}}{IdAIf}{ALhAIf}{NhAIf}3{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Mj{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALj}}}{{Bd{Mj}}}}{{{d{ALj}}}Mj}{c{{Af{ALj}}}Ah}{{{d{ADn}}{d{Bn}}Aj}{{Af{ALj{d{Bn}}}}}}{{{d{ALj}}{d{jAl}}}An}0?{{{d{Bn}}}{{Af{ALjc}}}{}}<``{{{d{ALj}}c}AfBh};::9=```````````````````````````````````{{{d{jHl}}ALlAE`{AEd{AEb}}}{{Bd{{AEd{AEb}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALl}}}ALl}{{{d{ALn}}}ALn}{{{d{{AM`{c}}}}}{{AM`{c}}}{G`AMbABhG`}}{{{d{AE`}}}AE`}{{{d{Hl}}}Hl}{{{d{AH`}}}AH`}{{{d{AMd}}}AMd}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALl}}{d{ALl}}}Ad}{{{d{AE`}}{d{AE`}}}Ad}{{}AE`}{{}Hl}{{}AH`}{{}AMd}{{{d{{AM`{c}}}}}{{d{e}}}{AMbABhG`}{}}{{{d{AMf}}}{{Bd{Ll}}}}{{{d{{AM`{{AMh{ABj}}}}}}}{{Bd{Ll}}}}{{{d{{AM`{{AMj{ABj}}}}}}}{{Bd{Ll}}}}{{{d{{AM`{AMl}}}}}{{Bd{Ll}}}}{{{d{ALl}}{d{ALl}}}Aj}{{{d{ALn}}{d{ALn}}}Aj}{{{d{AE`}}{d{AE`}}}Aj}{{{d{AMd}}{d{AMd}}}Aj}{{{d{Hl}}ALl}{{Bd{{d{{AEd{AEb}}}}}}}}{{{d{ALl}}{d{jAl}}}An}{{{d{AHb}}{d{jAl}}}An}0{{{d{ALn}}{d{jAl}}}An}{{{d{{AM`{c}}}}{d{jAl}}}An{ABhAMbABhG`}}{{{d{AE`}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AH`}}{d{jAl}}}An}{{{d{AMd}}{d{jAl}}}An}{cc{}}{ADdALl}{FhALl}{AMnAHb}3333333{{{d{ALl}}{d{jc}}}AbB`}{{{d{AMf}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMh{ABj}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{AMl}}}}{d{{Gd{I`}}}}}ALl}{{{d{{AM`{{AMj{ABj}}}}}}{d{{Gd{I`}}}}}ALl}{{{d{Hl}}}{{Dn{{d{ALl}}}}}}{ce{}{}}0000000{{cALn}{{AM`{c}}}{AMbABhG`}}{{}Hl}{{{d{ALl}}{d{ALl}}}{{Bd{Ad}}}}{{{d{AE`}}{d{AE`}}}{{Bd{Ad}}}}{{{d{jHl}}ALlAE`}{{Bd{{AEd{AEb}}}}}}``{{{d{AN`}}{d{jAGn}}Kd{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}}{{{d{{AM`{{AMj{ABj}}}}}}{d{jAGn}}Kd{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}}{{{d{{AM`{{AMh{ABj}}}}}}{d{jAGn}}Kd{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}}{{{d{{AM`{AMl}}}}{d{jAGn}}Kd{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}}{{{d{AEb}}{d{jAGn}}{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}}{{{d{c}}{d{jAGn}}{d{AH`}}{d{{Gd{I`}}}}}{{Af{AbAHb}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEd{AEb}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Mj{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGb{c}}}}{d{e}}}{{d{j{AGb{c}}}}}{}{{ANd{ANb}}}}{{{d{j{AGb{c}}}}BbAIdKd}{{Af{{d{j{AGb{c}}}}ANf}}}{}}{{{d{j{AGb{c}}}}BbAIdKdBf}{{Af{{d{j{AGb{c}}}}ANf}}}{}}{{{d{j{AGb{c}}}}}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}HbAK`}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}Bb}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}Bb}{{Af{{d{j{AGb{c}}}}ANh}}}{}}{{{d{j{AGb{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGb{c}}}}ANh}}}{}}{{{d{j{AGb{c}}}}Aj}{{d{j{AGb{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGb{c}}}}ANj}{{d{j{AGb{c}}}}}{}}{{{d{{AGb{c}}}}}{{AGb{c}}}G`}{{{d{ANl}}}ANl}{{{d{ANj}}}ANj}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ANl}}{d{ANl}}}Ad}{{{d{ANj}}{d{ANj}}}Ad}{{{AGb{c}}e}{{AGb{e}}}{}AKn}{{{d{j{AGb{c}}}}Dh}{{d{j{AGb{c}}}}}{}}{{}ANl}{{}ANj}{{{d{j{AGb{c}}}}}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}Hb}{{d{j{AGb{c}}}}}{}}11{{{d{j{AGb{c}}}}Bf}{{d{j{AGb{c}}}}}{}}{{{d{ANl}}{d{ANl}}}Aj}{{{d{ANj}}{d{ANj}}}Aj}{{{d{j{AGb{c}}}}AK`}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}ADj}{{d{j{AGb{c}}}}}{}}{{{AGb{c}}}{{Af{AGnAIf}}}AKn}{{{d{{AGb{c}}}}{d{jAl}}}AnABh}{{{d{ANh}}{d{jAl}}}An}0{{{d{ANf}}{d{jAl}}}An}0{{{d{ANl}}{d{jAl}}}An}{{{d{ANj}}{d{jAl}}}An}{cc{}}0000{{{d{ANl}}{d{jc}}}AbB`}{{{d{ANj}}{d{jc}}}AbB`}?{ce{}{}}0000{{{d{j{AGb{c}}}}}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}ANn}{{d{j{AGb{c}}}}}{}}11{{{d{j{AGb{c}}}}ANl}{{d{j{AGb{c}}}}}{}}{{{d{ANl}}{d{ANl}}}{{Bd{Ad}}}}{{{d{ANj}}{d{ANj}}}{{Bd{Ad}}}}{{{d{j{AGb{c}}}}{Ln{Mj{Dn{Kd}}}}b}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}{Dn{{Ij{HbAK`}}}}}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}AIb}{{d{j{AGb{c}}}}}{}}{{{d{ANl}}{d{jAFb}}}Ab}{{{d{c}}}e{}{}}00{{{d{c}}}Mj{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGb{c}}}}{Dn{Bb}}}{{d{j{AGb{c}}}}}{}}{{{d{j{AGb{c}}}}AO`}{{d{j{AGb{c}}}}}{}}?????``","D":"FHf","p":[[6,"KeychainKind",0,1726],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1726],[5,"WeightedUtxo",0,1726],[6,"Utxo",0,1726],[1,"unit"],[6,"Ordering",1727],[6,"Result",1728],[10,"Deserializer",1729],[1,"bool"],[5,"Formatter",1730],[8,"Result",1730],[10,"Hasher",1731],[5,"OutPoint",1732],[6,"Option",1733],[5,"Sequence",1732],[10,"Serializer",1734],[5,"TxOut",1732],[5,"TypeId",1735],[1,"str"],[6,"Descriptor",100,1736],[6,"Network",1737],[5,"Address",1738],[6,"Error",1739],[10,"MiniscriptKey",1739],[10,"ToPublicKey",1739],[6,"ScriptContextEnum",690],[5,"Miniscript",100,1740],[6,"Terminal",1741],[10,"ScriptContext",690,1742],[6,"Tree",1743],[6,"DescriptorPublicKey",690,1744],[1,"u32"],[5,"DefiniteDescriptorKey",1744],[6,"ConversionError",1744],[5,"Vec",1745],[6,"Placeholder",1746],[5,"Satisfaction",1746],[10,"AssetProvider",1747],[17,"Key"],[6,"ScriptContextError",1742],[17,"Sha256"],[5,"Hash",1748],[17,"Hash256"],[5,"Hash",1749],[17,"Ripemd160"],[5,"Hash",1750],[17,"Hash160"],[5,"Hash",1751],[10,"ParseableKey",1741],[6,"Legacy",100,1742],[6,"Segwitv0",100,1742],[10,"Clone",1752],[10,"Ord",1727],[5,"Secp256k1",1753],[5,"PublicKey",1754],[10,"Verification",1755],[6,"DescriptorType",1736],[5,"DescriptorId",1756],[10,"FromStr",1757],[1,"u64"],[5,"ScriptBuf",1758],[10,"PartialEq",1727],[5,"ExtParams",1759],[6,"AnalysisError",1759],[10,"ExtractPolicy",100],[5,"SignersContainer",1429],[6,"BuildSatisfaction",383],[6,"All",1760],[5,"Policy",383],[6,"Error",352],[5,"Script",1761],[5,"Range",1762],[1,"tuple"],[5,"Error",1730],[17,"Output"],[10,"FnMut",1763],[5,"Wpkh",1764],[5,"Tr",1765],[5,"Wsh",1764],[5,"Sh",1766],[5,"Bare",1767],[5,"Pkh",1767],[5,"Type",1768],[5,"ExtData",1769],[5,"Tree",1770],[1,"usize"],[10,"Satisfier",1746],[10,"Hash",1731],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",690,1736],[5,"Iter",1771],[5,"PkIter",1771],[6,"Policy",1772],[6,"LiftError",1773],[6,"BareCtx",1742],[6,"TapTree",1765],[6,"DescriptorSecretKey",690,1744],[5,"BTreeMap",1774],[10,"Signing",1755],[10,"PartialOrd",1727],[5,"Plan",1747],[5,"TxIn",1732],[6,"SigType",1742],[5,"String",1775],[6,"TranslateErr",1739],[10,"Translator",1739],[1,"array"],[6,"Error",1776],[6,"Error",1754],[6,"KeyError",690],[6,"PolicyError",383],[6,"Error",1777],[6,"HexToBytesError",1778],[6,"PkOrF",383],[6,"SatisfiableItem",383],[6,"Satisfaction",383],[5,"Condition",383],[10,"DescriptorTemplate",554],[8,"DescriptorTemplateOut",554],[5,"P2Pkh",554],[10,"IntoDescriptorKey",690],[5,"P2Wpkh_P2Sh",554],[5,"P2Wpkh",554],[5,"P2TR",554],[6,"Tap",1742],[5,"Bip44",554],[10,"DerivableKey",690],[5,"Bip44Public",554],[5,"Bip49",554],[5,"Bip49Public",554],[5,"Bip84",554],[5,"Bip84Public",554],[5,"Bip86",554],[5,"Bip86Public",554],[8,"ValidNetworks",690],[5,"SortedMultiVec",690,1779],[5,"GeneratedKey",690],[5,"PrivateKeyGenerateOptions",690],[5,"SinglePub",690,1744],[5,"SinglePriv",690,1744],[6,"SinglePubKey",690,1744],[6,"DescriptorKey",690],[10,"Debug",1730],[5,"Xpriv",1777],[6,"ExtendedKey",690],[5,"Xpub",1777],[5,"DerivationPath",1777],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",690],[10,"AsMut",1780],[10,"Default",1781],[10,"GeneratableDefaultOptions",690],[5,"Assets",1747],[8,"KeySource",1777],[5,"Fingerprint",1777],[5,"DescriptorKeyParseError",1744],[10,"PsbtUtils",988],[5,"FeeRate",1782],[5,"Balance",992,1783],[5,"Wallet",992],[5,"SignerOrdering",1429],[10,"TransactionSigner",1429],[5,"Arc",1784],[17,"Item"],[10,"Iterator",1785],[5,"Block",1786],[5,"CannotConnectError",1787],[5,"BlockId",1788],[6,"ApplyHeaderError",1787],[5,"Transaction",1732],[10,"IntoIterator",1789],[5,"Update",992],[10,"Into",1780],[5,"ConfirmationTimeHeightAnchor",1788],[5,"TxGraph",1790],[5,"Txid",1791],[8,"DefaultCoinSelectionAlgorithm",1225],[5,"TxBuilder",1609],[6,"BuildFeeBumpError",1324],[6,"CalculateFeeError",1790],[5,"CheckPointIter",1787],[8,"Result",1792],[5,"AddressInfo",992],[5,"Psbt",1793],[5,"SignOptions",1429],[6,"SignerError",1429],[6,"NewError",992],[6,"LoadError",992],[6,"NewOrLoadError",992],[6,"InsertTxError",992],[6,"ApplyBlockError",992],[5,"SyncResult",1794],[5,"FullScanResult",1794],[5,"PsbtSighashType",1795],[5,"Input",1795],[6,"CreateTxError",1324],[5,"CanonicalTx",1790],[5,"AlterCheckPointError",1787],[6,"ConfirmationTime",1788],[10,"IsDust",992,1796],[5,"CheckPoint",1787],[10,"DoubleEndedIterator",1797],[8,"ChangeSet",992],[10,"PersistBackend",1798],[10,"Send",1799],[10,"Sync",1799],[5,"LocalChain",1787],[5,"BlockHash",1791],[5,"Amount",1800],[5,"KeychainTxOutIndex",1801],[5,"FullScanRequest",1794],[5,"SyncRequest",1794],[5,"LargestFirstCoinSelection",1225],[5,"OldestFirstCoinSelection",1225],[5,"BranchAndBoundCoinSelection",1225],[10,"CoinSelectionAlgorithm",1225],[5,"CoinSelectionResult",1225],[6,"Error",1225],[6,"Excess",1225],[6,"MiniscriptPsbtError",1324],[6,"Error",1802],[5,"FullyNodedExport",1406],[6,"SignerId",1429],[6,"SignerContext",1429],[5,"SignerWrapper",1429],[10,"Sized",1799],[6,"TapLeavesOptions",1429],[10,"SignerCommon",1429],[5,"DescriptorMultiXKey",1744],[5,"DescriptorXKey",1744],[5,"PrivateKey",1754],[6,"Error",1803],[10,"InputSigner",1429],[5,"PushBytes",1804],[10,"AsRef",1780],[6,"AddForeignUtxoError",1609],[6,"AddUtxoError",1609],[6,"ChangeSpendPolicy",1609],[6,"TxOrdering",1609],[6,"LockTime",1805],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",530],[15,"Complete",533],[15,"Partial",533],[15,"PartialComplete",533],[15,"Sha256Preimage",544],[15,"Hash256Preimage",544],[15,"Ripemd160Preimage",544],[15,"Hash160Preimage",544],[15,"Thresh",544],[15,"Multisig",544],[15,"AbsoluteTimelock",544],[15,"RelativeTimelock",544],[10,"ExtScriptContext",690],[15,"UnexpectedConnectedToHash",1215],[15,"ConfirmationHeightCannotBeGreaterThanTip",1217],[15,"LoadedGenesisDoesNotMatch",1219],[15,"LoadedNetworkDoesNotMatch",1219],[15,"LoadedDescriptorDoesNotMatch",1219],[15,"InsufficientFunds",1317],[15,"Change",1319],[15,"NoChange",1319],[15,"InsufficientFunds",1398],[15,"RbfSequenceCsv",1398],[15,"LockTime",1398],[15,"FeeTooLow",1398],[15,"FeeRateTooLow",1398],[8,"WalletExport",1406],[15,"Tap",1608],[15,"InvalidTxid",1724]],"r":[[2,100],[4,1726],[6,1726],[7,1429],[8,1609],[9,1726],[10,992],[11,1726],[70,992],[71,100],[104,1736],[106,1744],[112,1742],[113,1740],[118,383],[119,1742],[120,1742],[153,350],[693,1744],[694,1744],[709,1736],[719,1742],[724,1744],[725,1744],[726,1744],[727,1779],[994,1783],[1002,1796]],"b":[[191,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[192,"impl-Descriptor%3CDescriptorPublicKey%3E"],[211,"impl-Debug-for-Descriptor%3CPk%3E"],[212,"impl-Display-for-Descriptor%3CPk%3E"],[215,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[216,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[219,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[220,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[221,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[367,"impl-Debug-for-Error"],[368,"impl-Display-for-Error"],[369,"impl-From%3CError%3E-for-Error"],[371,"impl-From%3CError%3E-for-Error"],[372,"impl-From%3CKeyError%3E-for-Error"],[373,"impl-From%3CError%3E-for-Error"],[374,"impl-From%3CPolicyError%3E-for-Error"],[375,"impl-From%3CError%3E-for-Error"],[376,"impl-From%3CHexToBytesError%3E-for-Error"],[458,"impl-Debug-for-PolicyError"],[459,"impl-Display-for-PolicyError"],[808,"impl-Display-for-KeyError"],[809,"impl-Debug-for-KeyError"],[810,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[811,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[812,"impl-Display-for-DescriptorPublicKey"],[813,"impl-Debug-for-DescriptorPublicKey"],[814,"impl-Display-for-DescriptorSecretKey"],[815,"impl-Debug-for-DescriptorSecretKey"],[821,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[822,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[827,"impl-From%3CError%3E-for-KeyError"],[829,"impl-From%3CError%3E-for-KeyError"],[869,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[870,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1075,"impl-Debug-for-Balance"],[1076,"impl-Display-for-Balance"],[1079,"impl-Display-for-AddressInfo"],[1080,"impl-Debug-for-AddressInfo"],[1081,"impl-Display-for-NewError"],[1082,"impl-Debug-for-NewError"],[1083,"impl-Display-for-LoadError"],[1084,"impl-Debug-for-LoadError"],[1085,"impl-Display-for-NewOrLoadError"],[1086,"impl-Debug-for-NewOrLoadError"],[1087,"impl-Debug-for-InsertTxError"],[1088,"impl-Display-for-InsertTxError"],[1089,"impl-Display-for-ApplyBlockError"],[1090,"impl-Debug-for-ApplyBlockError"],[1094,"impl-From%3CSyncResult%3E-for-Update"],[1095,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1266,"impl-Display-for-Error"],[1267,"impl-Debug-for-Error"],[1365,"impl-Display-for-MiniscriptPsbtError"],[1366,"impl-Debug-for-MiniscriptPsbtError"],[1367,"impl-Debug-for-CreateTxError"],[1368,"impl-Display-for-CreateTxError"],[1369,"impl-Display-for-BuildFeeBumpError"],[1370,"impl-Debug-for-BuildFeeBumpError"],[1372,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1373,"impl-From%3CError%3E-for-CreateTxError"],[1375,"impl-From%3CError%3E-for-CreateTxError"],[1376,"impl-From%3CError%3E-for-CreateTxError"],[1377,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1416,"impl-Display-for-FullyNodedExport"],[1417,"impl-Debug-for-FullyNodedExport"],[1508,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1509,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1510,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1517,"impl-Debug-for-SignerError"],[1518,"impl-Display-for-SignerError"],[1526,"impl-From%3CFingerprint%3E-for-SignerId"],[1527,"impl-From%3CHash%3E-for-SignerId"],[1538,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1539,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1540,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1558,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1559,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1560,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1667,"impl-Debug-for-AddUtxoError"],[1668,"impl-Display-for-AddUtxoError"],[1669,"impl-Debug-for-AddForeignUtxoError"],[1670,"impl-Display-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAL8AAQENARwDcwOABQ==","e":"OzAAAAEAAHsDfwADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB3AAAAigABAI0AAACPAAcAmgAAAJwAAQCfAAAAogABAKUAAQCpAAEArAABAK8AAQCyAAsAwwADAMgAAwDRAAEA1AAKAOAAAgDoAAAA9QADAAABAAAGAQEACgEBABEBAQAnAQMALAEBADoBAQA9AQEAQQEFAEwBBwBVAQMAWgEDAG4BBAB0AQUAewEEAKMBGQC/AQ4A0QEAANMBAADYAQEA5wEAAOoBBADwASIAOQIXAFICCwB2AjwA4QIXAAMDFQAaAwEAHQMAAB8DFQA2AwEAPAMAAD4DAABBAwAASAMBAFMDAwBjAwAAZgMEAGwDAQB8AwEAgQMAAIoDAACPAwMAmAMAAJwDCACmAwMArQMvAP4DAAAGBBIAIQQDACgEAgAuBAIANAQPAEcEAQCCBAAAiQQIAJYEEQCqBAgAtgQIANcEEQDqBAIA7gQCAPMEBgAKBRsATgUNAF0FAQBgBQIAZwUPAIMFAQCHBQAAiQUBAIwFAACQBQUAvgUPAM8FFADlBQYA7QUIAPcFAgABBgAAAwYCABEGAQAXBgIAGwYAAB8GBwApBh8AYgYJAG0GBwB3BgEAfgYBAIMGBgCPBgEAnAYBAKIGEwC4BgQA"}],\ ["example_bitcoind_rpc_polling",{"t":"PSISSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","ChangeSet","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[70,"example_bitcoind_rpc_polling::RpcCommands"],[72,"clap::builder::command"],[73,"core::sync::atomic"],[74,"core::time"],[75,"core::fmt"],[76,"clap::parser::matches::arg_matches"],[77,"clap::error"],[78,"core::result"],[79,"anyhow"],[80,"bitcoincore_rpc::client"],[81,"alloc::sync"],[82,"core::any"]],"i":[10,0,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"```````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",72],[5,"AtomicBool",73],[1,"reference"],[5,"Duration",74],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",75],[8,"Result",75],[5,"ArgMatches",76],[5,"Error",77],[6,"Result",78],[1,"str"],[8,"Result",79],[5,"Client",80],[5,"Arc",81],[5,"TypeId",82],[15,"Sync",70],[15,"Live",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcACgAAAAEAAwAAAAUAAgAKAAIADwAPACAAAgAmAAQALgABADMADwBEAAQA"}],\ ["example_cli",{"t":"PGFPPPGGFPPFPGIIPPPPPPPIPPPGEONNNNNNNNENNNNNNNNNNNNNNNNOOENNNNNNNNNNNOOHOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNOOOOHONNNNNNNNNNOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","CreateTxChange","External","Index","Init","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","PlannedUtxo","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db","db_path","default","descriptor","deserialize","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","index","index","index","index_changeset","init","init_changeset","into","into","into","into","into","into","into","into","into_app","into_app_for_update","keymap","network","partial_cmp","planned_utxos","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","chain_specific","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[176,"example_cli::AddressCmd"],[177,"example_cli::Commands"],[183,"example_cli::TxOutCmd"],[187,"clap::builder::command"],[188,"core::clone"],[189,"clap::derive"],[190,"core::cmp"],[191,"miniscript::descriptor::key"],[192,"alloc::collections::btree::map"],[193,"bitcoin::address"],[194,"bitcoin::blockdata::transaction"],[195,"core::option"],[196,"anyhow"],[197,"bdk_chain::tx_data_traits"],[198,"bdk_chain::chain_oracle"],[199,"core::result"],[200,"serde::de"],[201,"core::fmt"],[202,"clap::parser::matches::arg_matches"],[203,"clap::error"],[204,"std::sync::mutex"],[205,"bdk_persist::persist"],[206,"bitcoin::network"],[207,"core::default"],[208,"serde::ser"],[209,"core::convert"],[210,"core::ops::function"],[211,"core::marker"],[212,"bdk_tmp_plan"],[213,"alloc::vec"],[214,"alloc::string"],[215,"core::any"]],"i":[4,0,0,4,8,4,0,0,0,11,9,0,11,0,0,0,8,9,10,9,8,9,8,0,4,8,4,0,0,50,34,34,4,9,10,4,9,10,0,21,50,34,4,8,9,10,11,21,50,34,4,8,9,10,11,34,21,0,4,8,9,10,11,4,8,9,10,11,11,34,34,0,50,34,8,34,11,11,11,11,4,8,8,9,10,11,11,21,50,34,4,8,9,10,11,34,4,9,10,34,4,9,10,8,0,4,9,10,14,21,50,21,0,50,21,50,34,4,8,9,10,11,34,34,50,34,11,0,11,4,8,9,10,11,8,11,21,50,34,4,8,9,10,11,21,50,34,4,8,9,10,11,21,50,34,4,8,9,10,11,34,4,9,10,34,4,9,10,21,50,34,4,8,9,10,11,60,61,62,62,62,63,62,64,64,64,64],"f":"``````````````````````````````{bb}0000000`{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{fc}}}{{d{fe}}}{}{}}0000000```{{{d{{h{ce}}}}}{{h{ce}}}{jl}{jn}}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{Af}}}Af}{{{d{c}}{d{fe}}}Ah{}{}}0000{{{d{Af}}{d{Af}}}Aj}``{{{d{f{Al{c}}}}{d{e}}{d{{Bb{AnB`}}}}A`BdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}CbCd}``{{}A`}`{c{{Cf{Af}}}Ch}{{{d{Af}}{d{Af}}}Cj}{{{d{c}}{d{e}}}Cj{}{}}0{{{d{{h{ce}}}}{d{fCl}}}Cn{D`l}{D`n}}{{{d{A`}}{d{fCl}}}Cn}0{{{d{Ab}}{d{fCl}}}Cn}{{{d{Ad}}{d{fCl}}}Cn}{{{d{Af}}{d{fCl}}}Cn}0{cc{}}0000000{{{d{Db}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{Db}}}{{Cf{{h{ce}}Df}}}ln}{{{d{Db}}}{{Cf{AbDf}}}}{{{d{Db}}}{{Cf{AdDf}}}}{{{d{fDb}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{{h{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{AbDf}}}}{{{d{fDb}}}{{Cf{AdDf}}}}{{{d{Dh}}}{{Cf{A`c}}}{}}{{{d{{Dj{{Al{c}}}}}}{d{{Dj{{Dl{e}}}}}}{d{{Dj{g}}}}{d{{Bb{AnB`}}}}Dnk{h{mi}}}{{C`{Ah}}}Cb{E`EbEdEf{Ej{{Eh{c}}}}}Cdn{{En{i{d{Bh}}}{{El{{C`{Ah}}}}}}}l}{{{d{Dh}}}Cj}00````{{{d{{Fb{F`}}}}{d{Dh}}}{{C`{{Fd{ceg}}}}}ln{E`EbEfEdFfFh}}`{ce{}{}}0000000{{}b}0``{{{d{Af}}{d{Af}}}{{Bl{Aj}}}}{{{d{{Al{c}}}}{d{e}}{d{{Fj{g}}}}}{{Cf{{Fn{{Fl{gc}}}}}}}CbCd{jG`}}{{{d{Af}}c}CfGb}{{{d{c}}}e{}{}}0000{{{d{c}}}Gd{}}0{c{{Cf{e}}}{}{}}000000000000000{{{d{c}}}Gf{}}0000000{{{d{f{Dd{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{Db}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{Db}}}{{Cf{AhDf}}}}{{{d{f{Dd{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{fDb}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{fDb}}}{{Cf{AhDf}}}}{ce{}{}}0000000```````````","D":"E`","p":[[8,"Command",187],[1,"reference"],[0,"mut"],[6,"Commands",0],[10,"Clone",188],[10,"Subcommand",189],[10,"Args",189],[6,"CoinSelectionAlgo",0],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"Keychain",0],[1,"unit"],[6,"Ordering",190],[8,"KeychainTxGraph",0],[6,"DescriptorPublicKey",191],[6,"DescriptorSecretKey",191],[5,"BTreeMap",192],[5,"Address",193],[1,"u64"],[5,"Transaction",194],[5,"CreateTxChange",0],[6,"Option",195],[1,"tuple"],[8,"Result",196],[10,"Anchor",197],[10,"ChainOracle",198],[6,"Result",199],[10,"Deserializer",200],[1,"bool"],[5,"Formatter",201],[8,"Result",201],[10,"Debug",201],[5,"ArgMatches",202],[5,"Args",0],[5,"Error",203],[1,"str"],[5,"Mutex",204],[5,"Persist",205],[6,"Network",206],[10,"Default",207],[10,"Append",197],[10,"DeserializeOwned",200],[10,"Serialize",208],[8,"KeychainChangeSet",0],[10,"From",209],[17,"Output"],[10,"FnOnce",210],[1,"u8"],[1,"slice"],[5,"Init",0],[10,"Send",211],[10,"Sync",211],[5,"Assets",212],[8,"PlannedUtxo",0],[5,"Vec",213],[10,"CanDerive",212],[10,"Serializer",208],[5,"String",214],[5,"TypeId",215],[15,"List",176],[15,"Address",177],[15,"Send",177],[15,"TxOut",177],[15,"List",183]],"r":[],"b":[[81,"impl-Display-for-CoinSelectionAlgo"],[82,"impl-Debug-for-CoinSelectionAlgo"],[85,"impl-Display-for-Keychain"],[86,"impl-Debug-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA0AYAAMAG4AAABwAAAAewABAH4AMgCyAAAAtAACAA=="}],\ ["example_electrum",{"t":"ISSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[71,"example_electrum::ElectrumCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"electrum_client::client"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"````````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",80],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",81],[5,"Client",82],[8,"Result",83],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkABQAQAA0AHwADACYABgAwABcASQADAA=="}],\ diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js index d1adc8c911..7dae9eacce 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nExternal keychain, used for deriving recipient addresses.\nA UTXO owned by another wallet.\nInternal keychain, used for deriving change addresses.\nTypes of keychains\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nAn unspent transaction output (UTXO).\nA Utxo with its satisfaction_weight.\nReturn KeychainKind as a byte\nThe confirmation time for transaction containing this utxo\nThe derivation index for the script pubkey in the wallet\nDescriptors\nMacro to write full descriptors with code\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this UTXO is spent or not\nType of keychain\nKey formats\nGet the location of the UTXO\nReference to a transaction output\nAdditional functions on the rust-bitcoin Psbt structure.\nThe weight of the witness data and scriptSig expressed in …\nGet the sequence number if an explicit sequence number has …\nGet the TxOut of the UTXO\nTransaction output\nThe UTXO\nGet the version of BDK at runtime\nWallet\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nCompute the checksum bytes of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with a random entropy\nGenerate a key with the default options and a random …\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nsignatures required\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\npublic keys inside sorted Multi\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nThe changes made to a wallet by applying an Update.\nThe error variant that occurs when the caller attempts to …\nThere was problem with the passed-in descriptor(s).\nThere was a problem with the passed-in descriptor(s).\nThere is a problem with the passed-in descriptor.\nAn error that may occur when inserting a transaction into …\nTrait to check if a value is below the dust limit. We are …\nThe error type when loading a Wallet from persistence.\nThe loaded desccriptor does not match what was provided.\nThe loaded genesis hash does not match what was provided.\nThe loaded network type does not match what was provided.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nThe error type when constructing a fresh Wallet.\nError type for when we try load a Wallet from persistence …\nDatabase already has data.\nWallet not initialized, persistence backend is empty.\nWallet is not initialized, persistence backend is empty.\nWe were unable to write the wallet’s data to the …\nLoading data from the persistence backend failed.\nEither writing to or loading from the persistence backend …\nOccurs when the connected_to hash does not match the hash …\nAn update to Wallet.\nA Bitcoin wallet\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns 0 if tx …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nChanges to the LocalChain.\nUpdate for the wallet’s internal LocalChain.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nCommits all currently staged changed to the persistence …\nConfirmed and immediately spendable balance\nThe derivation index of this wallet. It will return None …\nFinds how the wallet derived the script pubkey spk.\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nFinalize a PSBT, i.e., for each input determine if …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the balance, separated into available, …\nReturns the descriptor used to create addresses for a …\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to IndexedTxGraph.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nType of keychain\nIterator over all keychains in this wallet\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad Wallet from the given persistence backend.\nGet a reference to the inner LocalChain.\nMarks an address used of the given keychain at index.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nInitialize an empty Wallet.\nCreates a wallet that does not persist data.\nCreates a wallet that does not persist data, with a custom …\nEither loads Wallet from persistence, or initializes it if …\nEither loads Wallet from persistence, or initializes it if …\nInitialize an empty Wallet with a custom genesis hash.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nPeek an address of the given keychain at index without …\nReturn the spending policies for the wallet’s descriptor\nReturn the “public” version of the wallet’s …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nSign a transaction with all the wallet’s signers, in the …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nReturns the changes that will be committed with the next …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nTransaction builder\nGet a reference to the inner TxGraph.\nGet an unbounded script pubkey iterator for the given …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nDeterministically generate a unique name given the …\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe internal chain’s tip height.\nThe introduced transaction’s confirmation height.\nThe expected genesis block hash.\nThe expected network type.\nThe block hash loaded from persistence.\nThe network type loaded from persistence.\nThe descriptor loaded from persistence.\nThe keychain of the descriptor not matching\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nError returned from Wallet::build_fee_bump\nThe change_policy was set but the wallet does not have a …\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nWallet’s UTXO set is not enough to cover recipient’s …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nWe were unable to load wallet data from or write wallet …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSats available for spending\nRequired OP_CSV Sequence\nSats needed for some transaction\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value (satoshi)\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nSegwit v0 context (BIP 143)\nError while computing the hash to sign\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nWhether to remove partial signatures from the PSBT inputs …\nWhether to remove taproot specific fields from the PSBT on …\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nError returned from TxBuilder::allow_shrinking\nBIP69 / Lexicographic\nMarker type to indicate the TxBuilder is being used to …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nMarker type to indicate the TxBuilder is being used to …\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nScript/PubKey was not in the original transaction\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nContext in which the TxBuilder is valid\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nExplicitly tells the wallet that it is allowed to reduce …\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid") \ No newline at end of file +searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nExternal keychain, used for deriving recipient addresses.\nA UTXO owned by another wallet.\nInternal keychain, used for deriving change addresses.\nTypes of keychains\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nAn unspent transaction output (UTXO).\nA Utxo with its satisfaction_weight.\nReturn KeychainKind as a byte\nThe confirmation time for transaction containing this utxo\nThe derivation index for the script pubkey in the wallet\nDescriptors\nMacro to write full descriptors with code\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this UTXO is spent or not\nType of keychain\nKey formats\nGet the location of the UTXO\nReference to a transaction output\nAdditional functions on the rust-bitcoin Psbt structure.\nThe weight of the witness data and scriptSig expressed in …\nGet the sequence number if an explicit sequence number has …\nGet the TxOut of the UTXO\nTransaction output\nThe UTXO\nGet the version of BDK at runtime\nWallet\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nCompute the checksum bytes of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with a random entropy\nGenerate a key with the default options and a random …\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nsignatures required\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\npublic keys inside sorted Multi\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nThe changes made to a wallet by applying an Update.\nThe error variant that occurs when the caller attempts to …\nThere was problem with the passed-in descriptor(s).\nThere was a problem with the passed-in descriptor(s).\nThere is a problem with the passed-in descriptor.\nAn error that may occur when inserting a transaction into …\nTrait to check if a value is below the dust limit. We are …\nThe error type when loading a Wallet from persistence.\nThe loaded desccriptor does not match what was provided.\nThe loaded genesis hash does not match what was provided.\nThe loaded network type does not match what was provided.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nThe error type when constructing a fresh Wallet.\nError type for when we try load a Wallet from persistence …\nDatabase already has data.\nWallet not initialized, persistence backend is empty.\nWallet is not initialized, persistence backend is empty.\nWe were unable to write the wallet’s data to the …\nLoading data from the persistence backend failed.\nEither writing to or loading from the persistence backend …\nOccurs when the connected_to hash does not match the hash …\nAn update to Wallet.\nA Bitcoin wallet\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns 0 if tx …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nChanges to the LocalChain.\nUpdate for the wallet’s internal LocalChain.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nCommits all currently staged changed to the persistence …\nConfirmed and immediately spendable balance\nThe derivation index of this wallet. It will return None …\nFinds how the wallet derived the script pubkey spk.\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nFinalize a PSBT, i.e., for each input determine if …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the balance, separated into available, …\nReturns the descriptor used to create addresses for a …\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to IndexedTxGraph.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nType of keychain\nIterator over all keychains in this wallet\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad Wallet from the given persistence backend.\nGet a reference to the inner LocalChain.\nMarks an address used of the given keychain at index.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nInitialize an empty Wallet.\nCreates a wallet that does not persist data.\nCreates a wallet that does not persist data, with a custom …\nEither loads Wallet from persistence, or initializes it if …\nEither loads Wallet from persistence, or initializes it if …\nInitialize an empty Wallet with a custom genesis hash.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nPeek an address of the given keychain at index without …\nReturn the spending policies for the wallet’s descriptor\nReturn the “public” version of the wallet’s …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nSign a transaction with all the wallet’s signers, in the …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nReturns the changes that will be committed with the next …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nTransaction builder\nGet a reference to the inner TxGraph.\nGet an unbounded script pubkey iterator for the given …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nDeterministically generate a unique name given the …\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe internal chain’s tip height.\nThe introduced transaction’s confirmation height.\nThe expected genesis block hash.\nThe expected network type.\nThe block hash loaded from persistence.\nThe network type loaded from persistence.\nThe descriptor loaded from persistence.\nThe keychain of the descriptor not matching\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nError returned from Wallet::build_fee_bump\nThe change_policy was set but the wallet does not have a …\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nWallet’s UTXO set is not enough to cover recipient’s …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nWe were unable to load wallet data from or write wallet …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nSats available for spending\nRequired OP_CSV Sequence\nSats needed for some transaction\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value (satoshi)\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nSegwit v0 context (BIP 143)\nError while computing the hash to sign\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nWhether to remove partial signatures from the PSBT inputs …\nWhether to remove taproot specific fields from the PSBT on …\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nBIP69 / Lexicographic\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html index d75e264032..3878c99472 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html index 46dceb9b7a..cf3bcf135c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html @@ -2640,8 +2640,6 @@ 2640 2641 2642 -2643 -2644
// Bitcoin Dev Kit
 // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
 //
@@ -2703,7 +2701,7 @@
 
 use coin_selection::DefaultCoinSelectionAlgorithm;
 use signer::{SignOptions, SignerOrdering, SignersContainer, TransactionSigner};
-use tx_builder::{BumpFee, CreateTx, FeePolicy, TxBuilder, TxParams};
+use tx_builder::{FeePolicy, TxBuilder, TxParams};
 use utils::{check_nsequence_rbf, After, Older, SecpCtx};
 
 use crate::descriptor::policy::BuildSatisfaction;
@@ -3937,12 +3935,11 @@
     /// ```
     ///
     /// [`TxBuilder`]: crate::TxBuilder
-    pub fn build_tx(&mut self) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm, CreateTx> {
+    pub fn build_tx(&mut self) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm> {
         TxBuilder {
             wallet: alloc::rc::Rc::new(core::cell::RefCell::new(self)),
             params: TxParams::default(),
             coin_selection: DefaultCoinSelectionAlgorithm::default(),
-            phantom: core::marker::PhantomData,
         }
     }
 
@@ -4328,7 +4325,7 @@
     pub fn build_fee_bump(
         &mut self,
         txid: Txid,
-    ) -> Result<TxBuilder<'_, DefaultCoinSelectionAlgorithm, BumpFee>, BuildFeeBumpError> {
+    ) -> Result<TxBuilder<'_, DefaultCoinSelectionAlgorithm>, BuildFeeBumpError> {
         let graph = self.indexed_graph.graph();
         let txout_index = &self.indexed_graph.index;
         let chain_tip = self.chain.tip().block_id();
@@ -4452,7 +4449,6 @@
             wallet: alloc::rc::Rc::new(core::cell::RefCell::new(self)),
             params,
             coin_selection: DefaultCoinSelectionAlgorithm::default(),
-            phantom: core::marker::PhantomData,
         })
     }
 
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
index ad2484c67b..9a661b8ed5 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
@@ -998,89 +998,6 @@
 998
 999
 1000
-1001
-1002
-1003
-1004
-1005
-1006
-1007
-1008
-1009
-1010
-1011
-1012
-1013
-1014
-1015
-1016
-1017
-1018
-1019
-1020
-1021
-1022
-1023
-1024
-1025
-1026
-1027
-1028
-1029
-1030
-1031
-1032
-1033
-1034
-1035
-1036
-1037
-1038
-1039
-1040
-1041
-1042
-1043
-1044
-1045
-1046
-1047
-1048
-1049
-1050
-1051
-1052
-1053
-1054
-1055
-1056
-1057
-1058
-1059
-1060
-1061
-1062
-1063
-1064
-1065
-1066
-1067
-1068
-1069
-1070
-1071
-1072
-1073
-1074
-1075
-1076
-1077
-1078
-1079
-1080
-1081
-1082
-1083
 

// Bitcoin Dev Kit
 // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
 //
@@ -1102,7 +1019,6 @@
 //! # use bdk_wallet::*;
 //! # use bdk_wallet::wallet::ChangeSet;
 //! # use bdk_wallet::wallet::error::CreateTxError;
-//! # use bdk_wallet::wallet::tx_builder::CreateTx;
 //! # use bdk_persist::PersistBackend;
 //! # use anyhow::Error;
 //! # let to_address = Address::from_str("2N4eQYCbKUHCCTUjBJeHcJp9ok6J2GZsTDt").unwrap().assume_checked();
@@ -1126,31 +1042,16 @@
 use alloc::{boxed::Box, rc::Rc, string::String, vec::Vec};
 use core::cell::RefCell;
 use core::fmt;
-use core::marker::PhantomData;
 
 use bitcoin::psbt::{self, Psbt};
 use bitcoin::script::PushBytes;
 use bitcoin::{absolute, Amount, FeeRate, OutPoint, ScriptBuf, Sequence, Transaction, Txid};
 
-use super::coin_selection::{CoinSelectionAlgorithm, DefaultCoinSelectionAlgorithm};
+use super::coin_selection::CoinSelectionAlgorithm;
 use super::{CreateTxError, Wallet};
 use crate::collections::{BTreeMap, HashSet};
 use crate::{KeychainKind, LocalOutput, Utxo, WeightedUtxo};
 
-/// Context in which the [`TxBuilder`] is valid
-pub trait TxBuilderContext: core::fmt::Debug + Default + Clone {}
-
-/// Marker type to indicate the [`TxBuilder`] is being used to create a new transaction (as opposed
-/// to bumping the fee of an existing one).
-#[derive(Debug, Default, Clone)]
-pub struct CreateTx;
-impl TxBuilderContext for CreateTx {}
-
-/// Marker type to indicate the [`TxBuilder`] is being used to bump the fee of an existing transaction.
-#[derive(Debug, Default, Clone)]
-pub struct BumpFee;
-impl TxBuilderContext for BumpFee {}
-
 /// A transaction builder
 ///
 /// A `TxBuilder` is created by calling [`build_tx`] or [`build_fee_bump`] on a wallet. After
@@ -1206,11 +1107,10 @@
 /// [`finish`]: Self::finish
 /// [`coin_selection`]: Self::coin_selection
 #[derive(Debug)]
-pub struct TxBuilder<'a, Cs, Ctx> {
+pub struct TxBuilder<'a, Cs> {
     pub(crate) wallet: Rc<RefCell<&'a mut Wallet>>,
     pub(crate) params: TxParams,
     pub(crate) coin_selection: Cs,
-    pub(crate) phantom: PhantomData<Ctx>,
 }
 
 /// The parameters for transaction creation sans coin selection algorithm.
@@ -1258,19 +1158,18 @@
     }
 }
 
-impl<'a, Cs: Clone, Ctx> Clone for TxBuilder<'a, Cs, Ctx> {
+impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs> {
     fn clone(&self) -> Self {
         TxBuilder {
             wallet: self.wallet.clone(),
             params: self.params.clone(),
             coin_selection: self.coin_selection.clone(),
-            phantom: PhantomData,
         }
     }
 }
 
-// methods supported by both contexts, for any CoinSelectionAlgorithm
-impl<'a, Cs, Ctx> TxBuilder<'a, Cs, Ctx> {
+// Methods supported for any CoinSelectionAlgorithm.
+impl<'a, Cs> TxBuilder<'a, Cs> {
     /// Set a custom fee rate.
     ///
     /// This method sets the mining fee paid by the transaction as a rate on its size.
@@ -1295,8 +1194,8 @@
     /// Note that this is really a minimum absolute fee -- it's possible to
     /// overshoot it slightly since adding a change output to drain the remaining
     /// excess might not be viable.
-    pub fn fee_absolute(&mut self, fee_amount: u64) -> &mut Self {
-        self.params.fee_policy = Some(FeePolicy::FeeAmount(fee_amount));
+    pub fn fee_absolute(&mut self, fee_amount: Amount) -> &mut Self {
+        self.params.fee_policy = Some(FeePolicy::FeeAmount(fee_amount.to_sat()));
         self
     }
 
@@ -1636,18 +1535,14 @@
 
     /// Choose the coin selection algorithm
     ///
-    /// Overrides the [`DefaultCoinSelectionAlgorithm`].
+    /// Overrides the [`CoinSelectionAlgorithm`].
     ///
     /// Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.
-    pub fn coin_selection<P: CoinSelectionAlgorithm>(
-        self,
-        coin_selection: P,
-    ) -> TxBuilder<'a, P, Ctx> {
+    pub fn coin_selection<P: CoinSelectionAlgorithm>(self, coin_selection: P) -> TxBuilder<'a, P> {
         TxBuilder {
             wallet: self.wallet,
             params: self.params,
             coin_selection,
-            phantom: PhantomData,
         }
     }
 
@@ -1695,106 +1590,7 @@
         self.params.allow_dust = allow_dust;
         self
     }
-}
-
-impl<'a, Cs: CoinSelectionAlgorithm, Ctx> TxBuilder<'a, Cs, Ctx> {
-    /// Finish building the transaction.
-    ///
-    /// Returns a new [`Psbt`] per [`BIP174`].
-    ///
-    /// [`BIP174`]: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
-    pub fn finish(self) -> Result<Psbt, CreateTxError> {
-        self.wallet
-            .borrow_mut()
-            .create_tx(self.coin_selection, self.params)
-    }
-}
-
-#[derive(Debug)]
-/// Error returned from [`TxBuilder::add_utxo`] and [`TxBuilder::add_utxos`]
-pub enum AddUtxoError {
-    /// Happens when trying to spend an UTXO that is not in the internal database
-    UnknownUtxo(OutPoint),
-}
-
-impl fmt::Display for AddUtxoError {
-    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        match self {
-            Self::UnknownUtxo(outpoint) => write!(
-                f,
-                "UTXO not found in the internal database for txid: {} with vout: {}",
-                outpoint.txid, outpoint.vout
-            ),
-        }
-    }
-}
-
-#[cfg(feature = "std")]
-impl std::error::Error for AddUtxoError {}
-
-#[derive(Debug)]
-/// Error returned from [`TxBuilder::add_foreign_utxo`].
-pub enum AddForeignUtxoError {
-    /// Foreign utxo outpoint txid does not match PSBT input txid
-    InvalidTxid {
-        /// PSBT input txid
-        input_txid: Txid,
-        /// Foreign UTXO outpoint
-        foreign_utxo: OutPoint,
-    },
-    /// Requested outpoint doesn't exist in the tx (vout greater than available outputs)
-    InvalidOutpoint(OutPoint),
-    /// Foreign utxo missing witness_utxo or non_witness_utxo
-    MissingUtxo,
-}
-
-impl fmt::Display for AddForeignUtxoError {
-    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        match self {
-            Self::InvalidTxid {
-                input_txid,
-                foreign_utxo,
-            } => write!(
-                f,
-                "Foreign UTXO outpoint txid: {} does not match PSBT input txid: {}",
-                foreign_utxo.txid, input_txid,
-            ),
-            Self::InvalidOutpoint(outpoint) => write!(
-                f,
-                "Requested outpoint doesn't exist for txid: {} with vout: {}",
-                outpoint.txid, outpoint.vout,
-            ),
-            Self::MissingUtxo => write!(f, "Foreign utxo missing witness_utxo or non_witness_utxo"),
-        }
-    }
-}
-
-#[cfg(feature = "std")]
-impl std::error::Error for AddForeignUtxoError {}
-
-#[derive(Debug)]
-/// Error returned from [`TxBuilder::allow_shrinking`]
-pub enum AllowShrinkingError {
-    /// Script/PubKey was not in the original transaction
-    MissingScriptPubKey(ScriptBuf),
-}
-
-impl fmt::Display for AllowShrinkingError {
-    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
-        match self {
-            Self::MissingScriptPubKey(script_buf) => write!(
-                f,
-                "Script/PubKey was not in the original transaction: {}",
-                script_buf,
-            ),
-        }
-    }
-}
-
-#[cfg(feature = "std")]
-impl std::error::Error for AllowShrinkingError {}
 
-impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs, CreateTx> {
     /// Replace the recipients already added with a new list
     pub fn set_recipients(&mut self, recipients: Vec<(ScriptBuf, Amount)>) -> &mut Self {
         self.params.recipients = recipients
@@ -1828,11 +1624,8 @@
     /// difference is that it is valid to use `drain_to` without setting any ordinary recipients
     /// with [`add_recipient`] (but it is perfectly fine to add recipients as well).
     ///
-    /// If you choose not to set any recipients, you should either provide the utxos that the
-    /// transaction should spend via [`add_utxos`], or set [`drain_wallet`] to spend all of them.
-    ///
-    /// When bumping the fees of a transaction made with this option, you probably want to
-    /// use [`allow_shrinking`] to allow this output to be reduced to pay for the extra fees.
+    /// If you choose not to set any recipients, you should provide the utxos that the
+    /// transaction should spend via [`add_utxos`].
     ///
     /// # Example
     ///
@@ -1845,7 +1638,6 @@
     /// # use bdk_wallet::*;
     /// # use bdk_wallet::wallet::ChangeSet;
     /// # use bdk_wallet::wallet::error::CreateTxError;
-    /// # use bdk_wallet::wallet::tx_builder::CreateTx;
     /// # use bdk_persist::PersistBackend;
     /// # use anyhow::Error;
     /// # let to_address =
@@ -1866,7 +1658,6 @@
     /// # Ok::<(), anyhow::Error>(())
     /// ```
     ///
-    /// [`allow_shrinking`]: Self::allow_shrinking
     /// [`add_recipient`]: Self::add_recipient
     /// [`add_utxos`]: Self::add_utxos
     /// [`drain_wallet`]: Self::drain_wallet
@@ -1876,38 +1667,81 @@
     }
 }
 
-// methods supported only by bump_fee
-impl<'a> TxBuilder<'a, DefaultCoinSelectionAlgorithm, BumpFee> {
-    /// Explicitly tells the wallet that it is allowed to reduce the amount of the output matching this
-    /// `script_pubkey` in order to bump the transaction fee. Without specifying this the wallet
-    /// will attempt to find a change output to shrink instead.
+impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs> {
+    /// Finish building the transaction.
     ///
-    /// **Note** that the output may shrink to below the dust limit and therefore be removed. If it is
-    /// preserved then it is currently not guaranteed to be in the same position as it was
-    /// originally.
+    /// Returns a new [`Psbt`] per [`BIP174`].
     ///
-    /// Returns an `Err` if `script_pubkey` can't be found among the recipients of the
-    /// transaction we are bumping.
-    pub fn allow_shrinking(
-        &mut self,
-        script_pubkey: ScriptBuf,
-    ) -> Result<&mut Self, AllowShrinkingError> {
-        match self
-            .params
-            .recipients
-            .iter()
-            .position(|(recipient_script, _)| *recipient_script == script_pubkey)
-        {
-            Some(position) => {
-                self.params.recipients.remove(position);
-                self.params.drain_to = Some(script_pubkey);
-                Ok(self)
-            }
-            None => Err(AllowShrinkingError::MissingScriptPubKey(script_pubkey)),
+    /// [`BIP174`]: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
+    pub fn finish(self) -> Result<Psbt, CreateTxError> {
+        self.wallet
+            .borrow_mut()
+            .create_tx(self.coin_selection, self.params)
+    }
+}
+
+#[derive(Debug)]
+/// Error returned from [`TxBuilder::add_utxo`] and [`TxBuilder::add_utxos`]
+pub enum AddUtxoError {
+    /// Happens when trying to spend an UTXO that is not in the internal database
+    UnknownUtxo(OutPoint),
+}
+
+impl fmt::Display for AddUtxoError {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            Self::UnknownUtxo(outpoint) => write!(
+                f,
+                "UTXO not found in the internal database for txid: {} with vout: {}",
+                outpoint.txid, outpoint.vout
+            ),
+        }
+    }
+}
+
+#[cfg(feature = "std")]
+impl std::error::Error for AddUtxoError {}
+
+#[derive(Debug)]
+/// Error returned from [`TxBuilder::add_foreign_utxo`].
+pub enum AddForeignUtxoError {
+    /// Foreign utxo outpoint txid does not match PSBT input txid
+    InvalidTxid {
+        /// PSBT input txid
+        input_txid: Txid,
+        /// Foreign UTXO outpoint
+        foreign_utxo: OutPoint,
+    },
+    /// Requested outpoint doesn't exist in the tx (vout greater than available outputs)
+    InvalidOutpoint(OutPoint),
+    /// Foreign utxo missing witness_utxo or non_witness_utxo
+    MissingUtxo,
+}
+
+impl fmt::Display for AddForeignUtxoError {
+    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+        match self {
+            Self::InvalidTxid {
+                input_txid,
+                foreign_utxo,
+            } => write!(
+                f,
+                "Foreign UTXO outpoint txid: {} does not match PSBT input txid: {}",
+                foreign_utxo.txid, input_txid,
+            ),
+            Self::InvalidOutpoint(outpoint) => write!(
+                f,
+                "Requested outpoint doesn't exist for txid: {} with vout: {}",
+                outpoint.txid, outpoint.vout,
+            ),
+            Self::MissingUtxo => write!(f, "Foreign utxo missing witness_utxo or non_witness_utxo"),
         }
     }
 }
 
+#[cfg(feature = "std")]
+impl std::error::Error for AddForeignUtxoError {}
+
 /// Ordering of the transaction's inputs and outputs
 #[derive(Default, Debug, Ord, PartialOrd, Eq, PartialEq, Hash, Clone, Copy)]
 pub enum TxOrdering {
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Append.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Append.js
index f233683400..07fbb5e61e 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Append.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Append.js
@@ -1,4 +1,4 @@
 (function() {var implementors = {
 "bdk_chain":[],
-"bdk_persist":[["impl<K: Ord, A: Anchor> Append for CombinedChangeSet<K, A>"]]
+"bdk_persist":[["impl<K: Ord, A: Anchor> Append for CombinedChangeSet<K, A>"]]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_persist/persist/trait.PersistBackend.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_persist/persist/trait.PersistBackend.js
index 040c345f68..52aecb17a4 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_persist/persist/trait.PersistBackend.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_persist/persist/trait.PersistBackend.js
@@ -1,5 +1,5 @@
 (function() {var implementors = {
-"bdk_file_store":[["impl<C> PersistBackend<C> for Store<C>
where\n C: Append + Serialize + DeserializeOwned + Send + Sync,
"]], +"bdk_file_store":[["impl<C> PersistBackend<C> for Store<C>"]], "bdk_persist":[], -"bdk_sqlite":[["impl<K, A, C> PersistBackend<C> for Store<K, A>
where\n K: Ord + for<'de> Deserialize<'de> + Serialize + Send,\n A: Anchor + for<'de> Deserialize<'de> + Serialize + Send,\n C: Clone + From<CombinedChangeSet<K, A>> + Into<CombinedChangeSet<K, A>>,
"]] +"bdk_sqlite":[["impl<K, A, C> PersistBackend<C> for Store<K, A>
where\n K: Ord + for<'de> Deserialize<'de> + Serialize + Send,\n A: Anchor + for<'de> Deserialize<'de> + Serialize + Send,\n C: Clone + From<CombinedChangeSet<K, A>> + Into<CombinedChangeSet<K, A>>,
"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.js deleted file mode 100644 index e69e7865df..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/tx_builder/trait.TxBuilderContext.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = { -"bdk_wallet":[] -};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js index f808d51c49..63ca09f61c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js @@ -3,7 +3,7 @@ "bdk_coin_select":[["impl Clone for ExcessStrategyKind"],["impl Clone for SelectionConstraint"],["impl Clone for CoinSelectorOpt"],["impl Clone for ExcessStrategy"],["impl Clone for Selection"],["impl Clone for SelectionError"],["impl Clone for WeightedValue"],["impl<'a> Clone for CoinSelector<'a>"]], "bdk_persist":[["impl<K: Clone, A: Clone> Clone for CombinedChangeSet<K, A>"]], "bdk_tmp_plan":[["impl Clone for SigningError"],["impl Clone for SatisfactionMaterial"],["impl<AK: Clone> Clone for Plan<AK>"],["impl<Ak: Clone> Clone for RequiredSignatures<Ak>"],["impl<Ak: Clone> Clone for PlanKey<Ak>"],["impl<Ak: Clone> Clone for Requirements<Ak>"],["impl<K: Clone> Clone for Assets<K>"]], -"bdk_wallet":[["impl Clone for PkOrF"],["impl Clone for Satisfaction"],["impl Clone for SatisfiableItem"],["impl Clone for KeychainKind"],["impl Clone for Utxo"],["impl Clone for ScriptContextEnum"],["impl Clone for MiniscriptPsbtError"],["impl Clone for SignerContext"],["impl Clone for SignerId"],["impl Clone for TapLeavesOptions"],["impl Clone for ChangeSpendPolicy"],["impl Clone for TxOrdering"],["impl Clone for Condition"],["impl Clone for Policy"],["impl Clone for PrivateKeyGenerateOptions"],["impl Clone for LocalOutput"],["impl Clone for WeightedUtxo"],["impl Clone for BranchAndBoundCoinSelection"],["impl Clone for LargestFirstCoinSelection"],["impl Clone for OldestFirstCoinSelection"],["impl Clone for SignOptions"],["impl Clone for SignerOrdering"],["impl Clone for SignersContainer"],["impl Clone for Update"],["impl Clone for BumpFee"],["impl Clone for CreateTx"],["impl<'a> Clone for BuildSatisfaction<'a>"],["impl<'a, Cs: Clone, Ctx> Clone for TxBuilder<'a, Cs, Ctx>"],["impl<K: Clone, Ctx: ScriptContext> Clone for GeneratedKey<K, Ctx>"],["impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>"]], +"bdk_wallet":[["impl Clone for PkOrF"],["impl Clone for Satisfaction"],["impl Clone for SatisfiableItem"],["impl Clone for KeychainKind"],["impl Clone for Utxo"],["impl Clone for ScriptContextEnum"],["impl Clone for MiniscriptPsbtError"],["impl Clone for SignerContext"],["impl Clone for SignerId"],["impl Clone for TapLeavesOptions"],["impl Clone for ChangeSpendPolicy"],["impl Clone for TxOrdering"],["impl Clone for Condition"],["impl Clone for Policy"],["impl Clone for PrivateKeyGenerateOptions"],["impl Clone for LocalOutput"],["impl Clone for WeightedUtxo"],["impl Clone for BranchAndBoundCoinSelection"],["impl Clone for LargestFirstCoinSelection"],["impl Clone for OldestFirstCoinSelection"],["impl Clone for SignOptions"],["impl Clone for SignerOrdering"],["impl Clone for SignersContainer"],["impl Clone for Update"],["impl<'a> Clone for BuildSatisfaction<'a>"],["impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs>"],["impl<K: Clone, Ctx: ScriptContext> Clone for GeneratedKey<K, Ctx>"],["impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>"]], "example_bitcoind_rpc_polling":[["impl Clone for RpcCommands"],["impl Clone for RpcArgs"]], "example_cli":[["impl Clone for AddressCmd"],["impl Clone for CoinSelectionAlgo"],["impl Clone for Keychain"],["impl Clone for TxOutCmd"],["impl<CS: Clone + Subcommand, S: Clone + Args> Clone for Commands<CS, S>"]], "example_electrum":[["impl Clone for ElectrumCommands"],["impl Clone for ElectrumArgs"],["impl Clone for ScanOptions"]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js index bd91ccd2c9..a8b6b47c60 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js @@ -1,4 +1,4 @@ (function() {var implementors = { "bdk_chain":[["impl AsRef<[u8; 32]> for DescriptorId"],["impl AsRef<[u8]> for DescriptorId"],["impl<A> AsRef<TxGraph<A>> for TxGraph<A>"]], -"bdk_wallet":[["impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]] +"bdk_wallet":[["impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js index 1330e6aa11..51e9b2ccac 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js @@ -2,8 +2,8 @@ "bdk_chain":[["impl From<(&u32, &BlockHash)> for BlockId"],["impl From<(u32, BlockHash)> for BlockId"],["impl From<ChainPosition<ConfirmationTimeHeightAnchor>> for ConfirmationTime"],["impl From<BlockId> for (u32, BlockHash)"],["impl From<DescriptorId> for Hash"],["impl From<Hash> for DescriptorId"],["impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>"],["impl<A, K> From<ChangeSet<K>> for ChangeSet<A, ChangeSet<K>>"]], "bdk_coin_select":[["impl From<usize> for BnbLimit"],["impl From<Duration> for BnbLimit"]], "bdk_file_store":[["impl From<Error> for FileError"],["impl From<Error> for IterError"]], -"bdk_persist":[["impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>"],["impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>"]], +"bdk_persist":[["impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>"],["impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>"]], "bdk_tmp_plan":[["impl From<Error> for SigningError"],["impl From<Error> for SigningError"]], -"bdk_wallet":[["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<KeyError> for Error"],["impl From<Error> for CreateTxError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<bool> for Satisfaction"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Error> for CreateTxError"],["impl From<Error> for SignerError"],["impl From<Fingerprint> for SignerId"],["impl From<FullScanResult<KeychainKind>> for Update"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<SyncResult> for Update"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"]], +"bdk_wallet":[["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<KeyError> for Error"],["impl From<Error> for CreateTxError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<bool> for Satisfaction"],["impl From<FullScanResult<KeychainKind>> for Update"],["impl From<SyncResult> for Update"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Error> for CreateTxError"],["impl From<Error> for SignerError"],["impl From<Fingerprint> for SignerId"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"]], "example_bitcoind_rpc_polling":[["impl From<RpcArgs> for Auth"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js index 6fcbd6c0e7..9a56fbd908 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js @@ -2,6 +2,6 @@ "bdk_chain":[["impl Default for Balance"],["impl Default for BlockId"],["impl Default for ConfirmationHeightAnchor"],["impl Default for ConfirmationTimeHeightAnchor"],["impl<A> Default for ChangeSet<A>"],["impl<A> Default for TxGraph<A>"],["impl<A, I: Default> Default for IndexedTxGraph<A, I>"],["impl<A, IA: Default> Default for ChangeSet<A, IA>"],["impl<I> Default for SpkTxOutIndex<I>"],["impl<K> Default for ChangeSet<K>"],["impl<K> Default for KeychainTxOutIndex<K>"]], "bdk_persist":[["impl<K, A> Default for CombinedChangeSet<K, A>"]], "bdk_tmp_plan":[["impl Default for SatisfactionMaterial"],["impl<Ak> Default for RequiredSignatures<Ak>"],["impl<Ak> Default for Requirements<Ak>"],["impl<K> Default for Assets<K>"]], -"bdk_wallet":[["impl Default for TapLeavesOptions"],["impl Default for ChangeSpendPolicy"],["impl Default for TxOrdering"],["impl Default for Condition"],["impl Default for PrivateKeyGenerateOptions"],["impl Default for BranchAndBoundCoinSelection"],["impl Default for LargestFirstCoinSelection"],["impl Default for OldestFirstCoinSelection"],["impl Default for SignOptions"],["impl Default for SignerOrdering"],["impl Default for SignersContainer"],["impl Default for Update"],["impl Default for BumpFee"],["impl Default for CreateTx"]], +"bdk_wallet":[["impl Default for TapLeavesOptions"],["impl Default for ChangeSpendPolicy"],["impl Default for TxOrdering"],["impl Default for Condition"],["impl Default for PrivateKeyGenerateOptions"],["impl Default for BranchAndBoundCoinSelection"],["impl Default for LargestFirstCoinSelection"],["impl Default for OldestFirstCoinSelection"],["impl Default for SignOptions"],["impl Default for SignerOrdering"],["impl Default for SignersContainer"],["impl Default for Update"]], "example_cli":[["impl Default for CoinSelectionAlgo"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/error/trait.Error.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/error/trait.Error.js index 1c031af778..3767f03388 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/error/trait.Error.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/error/trait.Error.js @@ -4,5 +4,5 @@ "bdk_file_store":[["impl Error for FileError"],["impl Error for IterError"],["impl<C: Debug> Error for AggregateChangesetsError<C>"]], "bdk_sqlite":[["impl Error for Error"]], "bdk_tmp_plan":[["impl Error for SigningError"]], -"bdk_wallet":[["impl Error for Error"],["impl Error for PolicyError"],["impl Error for KeyError"],["impl Error for Error"],["impl Error for ApplyBlockError"],["impl Error for InsertTxError"],["impl Error for LoadError"],["impl Error for NewError"],["impl Error for NewOrLoadError"],["impl Error for BuildFeeBumpError"],["impl Error for CreateTxError"],["impl Error for MiniscriptPsbtError"],["impl Error for SignerError"],["impl Error for AddForeignUtxoError"],["impl Error for AddUtxoError"],["impl Error for AllowShrinkingError"]] +"bdk_wallet":[["impl Error for Error"],["impl Error for PolicyError"],["impl Error for KeyError"],["impl Error for Error"],["impl Error for ApplyBlockError"],["impl Error for InsertTxError"],["impl Error for LoadError"],["impl Error for NewError"],["impl Error for NewOrLoadError"],["impl Error for BuildFeeBumpError"],["impl Error for CreateTxError"],["impl Error for MiniscriptPsbtError"],["impl Error for SignerError"],["impl Error for AddForeignUtxoError"],["impl Error for AddUtxoError"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js index 020631b308..98c6210c72 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js @@ -7,7 +7,7 @@ "bdk_persist":[["impl<C: Debug> Debug for Persist<C>"],["impl<K: Debug, A: Debug> Debug for CombinedChangeSet<K, A>"]], "bdk_sqlite":[["impl Debug for Error"],["impl<K, A> Debug for Store<K, A>"]], "bdk_tmp_plan":[["impl Debug for SigningError"],["impl Debug for SatisfactionMaterial"],["impl<AK: Debug> Debug for Plan<AK>"],["impl<Ak: Debug> Debug for RequiredSignatures<Ak>"],["impl<Ak: Debug> Debug for PlanKey<Ak>"],["impl<Ak: Debug> Debug for Requirements<Ak>"],["impl<K: Debug> Debug for Assets<K>"]], -"bdk_wallet":[["impl Debug for Error"],["impl Debug for PkOrF"],["impl Debug for PolicyError"],["impl Debug for Satisfaction"],["impl Debug for SatisfiableItem"],["impl Debug for KeychainKind"],["impl Debug for Utxo"],["impl Debug for KeyError"],["impl Debug for ScriptContextEnum"],["impl Debug for Error"],["impl Debug for Excess"],["impl Debug for ApplyBlockError"],["impl Debug for InsertTxError"],["impl Debug for LoadError"],["impl Debug for NewError"],["impl Debug for NewOrLoadError"],["impl Debug for BuildFeeBumpError"],["impl Debug for CreateTxError"],["impl Debug for MiniscriptPsbtError"],["impl Debug for SignerContext"],["impl Debug for SignerError"],["impl Debug for SignerId"],["impl Debug for TapLeavesOptions"],["impl Debug for AddForeignUtxoError"],["impl Debug for AddUtxoError"],["impl Debug for AllowShrinkingError"],["impl Debug for ChangeSpendPolicy"],["impl Debug for TxOrdering"],["impl Debug for Condition"],["impl Debug for Policy"],["impl Debug for PrivateKeyGenerateOptions"],["impl Debug for LocalOutput"],["impl Debug for WeightedUtxo"],["impl Debug for BranchAndBoundCoinSelection"],["impl Debug for CoinSelectionResult"],["impl Debug for LargestFirstCoinSelection"],["impl Debug for OldestFirstCoinSelection"],["impl Debug for FullyNodedExport"],["impl Debug for SignOptions"],["impl Debug for SignerOrdering"],["impl Debug for SignersContainer"],["impl Debug for AddressInfo"],["impl Debug for Update"],["impl Debug for Wallet"],["impl Debug for BumpFee"],["impl Debug for CreateTx"],["impl<'a> Debug for BuildSatisfaction<'a>"],["impl<'a, Cs: Debug, Ctx: Debug> Debug for TxBuilder<'a, Cs, Ctx>"],["impl<Ctx: Debug + ScriptContext> Debug for DescriptorKey<Ctx>"],["impl<S: Debug + Sized + Debug + Clone> Debug for SignerWrapper<S>"]], +"bdk_wallet":[["impl Debug for Error"],["impl Debug for PkOrF"],["impl Debug for PolicyError"],["impl Debug for Satisfaction"],["impl Debug for SatisfiableItem"],["impl Debug for KeychainKind"],["impl Debug for Utxo"],["impl Debug for KeyError"],["impl Debug for ScriptContextEnum"],["impl Debug for Error"],["impl Debug for Excess"],["impl Debug for ApplyBlockError"],["impl Debug for InsertTxError"],["impl Debug for LoadError"],["impl Debug for NewError"],["impl Debug for NewOrLoadError"],["impl Debug for BuildFeeBumpError"],["impl Debug for CreateTxError"],["impl Debug for MiniscriptPsbtError"],["impl Debug for SignerContext"],["impl Debug for SignerError"],["impl Debug for SignerId"],["impl Debug for TapLeavesOptions"],["impl Debug for AddForeignUtxoError"],["impl Debug for AddUtxoError"],["impl Debug for ChangeSpendPolicy"],["impl Debug for TxOrdering"],["impl Debug for Condition"],["impl Debug for Policy"],["impl Debug for PrivateKeyGenerateOptions"],["impl Debug for LocalOutput"],["impl Debug for WeightedUtxo"],["impl Debug for BranchAndBoundCoinSelection"],["impl Debug for CoinSelectionResult"],["impl Debug for LargestFirstCoinSelection"],["impl Debug for OldestFirstCoinSelection"],["impl Debug for FullyNodedExport"],["impl Debug for SignOptions"],["impl Debug for SignerOrdering"],["impl Debug for SignersContainer"],["impl Debug for AddressInfo"],["impl Debug for Update"],["impl Debug for Wallet"],["impl<'a> Debug for BuildSatisfaction<'a>"],["impl<'a, Cs: Debug> Debug for TxBuilder<'a, Cs>"],["impl<Ctx: Debug + ScriptContext> Debug for DescriptorKey<Ctx>"],["impl<S: Debug + Sized + Debug + Clone> Debug for SignerWrapper<S>"]], "example_bitcoind_rpc_polling":[["impl Debug for Emission"],["impl Debug for RpcCommands"],["impl Debug for RpcArgs"]], "example_cli":[["impl Debug for AddressCmd"],["impl Debug for CoinSelectionAlgo"],["impl Debug for Keychain"],["impl Debug for TxOutCmd"],["impl<CS: Debug + Subcommand, S: Debug + Args> Debug for Commands<CS, S>"]], "example_electrum":[["impl Debug for ElectrumCommands"],["impl Debug for ElectrumArgs"],["impl Debug for ScanOptions"]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Display.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Display.js index 32ec50f7b9..82aafac8c4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Display.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Display.js @@ -4,6 +4,6 @@ "bdk_file_store":[["impl Display for FileError"],["impl Display for IterError"],["impl<C> Display for AggregateChangesetsError<C>"]], "bdk_sqlite":[["impl Display for Error"]], "bdk_tmp_plan":[["impl Display for SigningError"]], -"bdk_wallet":[["impl Display for Error"],["impl Display for PolicyError"],["impl Display for KeyError"],["impl Display for Error"],["impl Display for ApplyBlockError"],["impl Display for InsertTxError"],["impl Display for LoadError"],["impl Display for NewError"],["impl Display for NewOrLoadError"],["impl Display for BuildFeeBumpError"],["impl Display for CreateTxError"],["impl Display for MiniscriptPsbtError"],["impl Display for SignerError"],["impl Display for AddForeignUtxoError"],["impl Display for AddUtxoError"],["impl Display for AllowShrinkingError"],["impl Display for FullyNodedExport"],["impl Display for AddressInfo"]], +"bdk_wallet":[["impl Display for Error"],["impl Display for PolicyError"],["impl Display for KeyError"],["impl Display for Error"],["impl Display for ApplyBlockError"],["impl Display for InsertTxError"],["impl Display for LoadError"],["impl Display for NewError"],["impl Display for NewOrLoadError"],["impl Display for BuildFeeBumpError"],["impl Display for CreateTxError"],["impl Display for MiniscriptPsbtError"],["impl Display for SignerError"],["impl Display for AddForeignUtxoError"],["impl Display for AddUtxoError"],["impl Display for FullyNodedExport"],["impl Display for AddressInfo"]], "example_cli":[["impl Display for CoinSelectionAlgo"],["impl Display for Keychain"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js index 40901b5737..175a99c462 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl Freeze for Error",1,["bdk_sqlite::Error"]],["impl<K, A> !Freeze for Store<K, A>",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl !Freeze for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl Freeze for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl Freeze for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> !Freeze for Plan<AK>",1,["bdk_tmp_plan::Plan"]],["impl<Ak> Freeze for PlanState<Ak>
where\n Ak: Freeze,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> Freeze for RequiredSignatures<Ak>
where\n Ak: Freeze,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> Freeze for PlanKey<Ak>
where\n Ak: Freeze,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> Freeze for Requirements<Ak>
where\n Ak: Freeze,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> Freeze for Assets<K>",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl !Freeze for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Freeze for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Freeze for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Freeze for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Freeze for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Freeze for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Freeze for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Freeze for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Freeze for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Freeze for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Freeze for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Freeze for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Freeze for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Freeze for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Freeze for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Freeze for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Freeze for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Freeze for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Freeze for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Freeze for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Freeze for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Freeze for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Freeze for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Freeze for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Freeze for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Freeze for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl Freeze for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Freeze for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Freeze for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Freeze for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Freeze for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Freeze for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Freeze for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Freeze for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Freeze for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Freeze for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Freeze for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Freeze for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Freeze for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Freeze for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Freeze for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Freeze for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Freeze for Update",1,["bdk_wallet::wallet::Update"]],["impl Freeze for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl Freeze for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl Freeze for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> Freeze for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> Freeze for TxBuilder<'a, Cs, Ctx>
where\n Cs: Freeze,
",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Freeze for DescriptorKey<Ctx>",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Freeze for ExtendedKey<Ctx>",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Freeze for Bip44<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Freeze for Bip44Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Freeze for Bip49<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Freeze for Bip49Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Freeze for Bip84<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Freeze for Bip84Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Freeze for Bip86<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Freeze for Bip86Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Freeze for P2Pkh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Freeze for P2TR<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Freeze for P2Wpkh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Freeze for P2Wpkh_P2Sh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Freeze for GeneratedKey<K, Ctx>
where\n K: Freeze,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Freeze for SignerWrapper<S>
where\n S: Freeze,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl !Freeze for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Freeze for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Freeze for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Freeze for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Freeze for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Freeze for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Freeze for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Freeze for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Freeze for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Freeze for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Freeze for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Freeze for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Freeze for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Freeze for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Freeze for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Freeze for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Freeze for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Freeze for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Freeze for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Freeze for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Freeze for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Freeze for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Freeze for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Freeze for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Freeze for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Freeze for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Freeze for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Freeze for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Freeze for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Freeze for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Freeze for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Freeze for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Freeze for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Freeze for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Freeze for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Freeze for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Freeze for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Freeze for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Freeze for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Freeze for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Freeze for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Freeze for Update",1,["bdk_wallet::wallet::Update"]],["impl Freeze for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl<'a> Freeze for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> Freeze for TxBuilder<'a, Cs>
where\n Cs: Freeze,
",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Freeze for DescriptorKey<Ctx>",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Freeze for ExtendedKey<Ctx>",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Freeze for Bip44<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Freeze for Bip44Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Freeze for Bip49<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Freeze for Bip49Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Freeze for Bip84<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Freeze for Bip84Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Freeze for Bip86<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Freeze for Bip86Public<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Freeze for P2Pkh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Freeze for P2TR<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Freeze for P2Wpkh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Freeze for P2Wpkh_P2Sh<K>
where\n K: Freeze,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Freeze for GeneratedKey<K, Ctx>
where\n K: Freeze,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Freeze for SignerWrapper<S>
where\n S: Freeze,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl Freeze for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl Freeze for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl Freeze for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl Freeze for AddressCmd",1,["example_cli::AddressCmd"]],["impl Freeze for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Freeze for Keychain",1,["example_cli::Keychain"]],["impl Freeze for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Freeze for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> Freeze for Commands<CS, S>
where\n CS: Freeze,\n S: Freeze,
",1,["example_cli::Commands"]],["impl<CS, S> Freeze for Args<CS, S>
where\n CS: Freeze,\n S: Freeze,
",1,["example_cli::Args"]],["impl<CS, S, C> !Freeze for Init<CS, S, C>",1,["example_cli::Init"]]], "example_electrum":[["impl Freeze for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Freeze for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl Freeze for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js index 8e8e1eaf4b..972493b3f6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl Send for Error",1,["bdk_sqlite::Error"]],["impl<K, A> Send for Store<K, A>
where\n K: Send,\n A: Send,
",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl Send for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl Send for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl Send for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> Send for Plan<AK>
where\n AK: Send,
",1,["bdk_tmp_plan::Plan"]],["impl<Ak> Send for PlanState<Ak>
where\n Ak: Send,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> Send for RequiredSignatures<Ak>
where\n Ak: Send,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> Send for PlanKey<Ak>
where\n Ak: Send,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> Send for Requirements<Ak>
where\n Ak: Send,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> Send for Assets<K>
where\n K: Send,
",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl Send for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Send for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Send for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Send for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Send for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Send for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Send for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Send for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Send for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Send for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Send for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Send for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Send for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Send for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Send for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Send for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Send for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Send for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Send for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Send for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Send for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Send for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Send for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Send for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Send for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Send for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl Send for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Send for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Send for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Send for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Send for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Send for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Send for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Send for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Send for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Send for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Send for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Send for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Send for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Send for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Send for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Send for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Send for Update",1,["bdk_wallet::wallet::Update"]],["impl Send for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl Send for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl Send for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> Send for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> !Send for TxBuilder<'a, Cs, Ctx>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Send for DescriptorKey<Ctx>
where\n Ctx: Send,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Send for ExtendedKey<Ctx>
where\n Ctx: Send,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Send for Bip44<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Send for Bip44Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Send for Bip49<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Send for Bip49Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Send for Bip84<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Send for Bip84Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Send for Bip86<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Send for Bip86Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Send for P2Pkh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Send for P2TR<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Send for P2Wpkh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Send for P2Wpkh_P2Sh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Send for GeneratedKey<K, Ctx>
where\n K: Send,\n Ctx: Send,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Send for SignerWrapper<S>
where\n S: Send,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl Send for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Send for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Send for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Send for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Send for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Send for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Send for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Send for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Send for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Send for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Send for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Send for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Send for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Send for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Send for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Send for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Send for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Send for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Send for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Send for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Send for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Send for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Send for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Send for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Send for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Send for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Send for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Send for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Send for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Send for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Send for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Send for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Send for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Send for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Send for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Send for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Send for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Send for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Send for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Send for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Send for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Send for Update",1,["bdk_wallet::wallet::Update"]],["impl Send for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl<'a> Send for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> !Send for TxBuilder<'a, Cs>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Send for DescriptorKey<Ctx>
where\n Ctx: Send,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Send for ExtendedKey<Ctx>
where\n Ctx: Send,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Send for Bip44<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Send for Bip44Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Send for Bip49<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Send for Bip49Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Send for Bip84<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Send for Bip84Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Send for Bip86<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Send for Bip86Public<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Send for P2Pkh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Send for P2TR<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Send for P2Wpkh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Send for P2Wpkh_P2Sh<K>
where\n K: Send,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Send for GeneratedKey<K, Ctx>
where\n K: Send,\n Ctx: Send,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Send for SignerWrapper<S>
where\n S: Send,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl Send for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl Send for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl Send for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl Send for AddressCmd",1,["example_cli::AddressCmd"]],["impl Send for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Send for Keychain",1,["example_cli::Keychain"]],["impl Send for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Send for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> Send for Commands<CS, S>
where\n CS: Send,\n S: Send,
",1,["example_cli::Commands"]],["impl<CS, S> Send for Args<CS, S>
where\n CS: Send,\n S: Send,
",1,["example_cli::Args"]],["impl<CS, S, C> Send for Init<CS, S, C>
where\n C: Send,\n CS: Send,\n S: Send,
",1,["example_cli::Init"]]], "example_electrum":[["impl Send for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Send for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl Send for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js index 3d98a734d0..9f49575ffc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl Sync for Error",1,["bdk_sqlite::Error"]],["impl<K, A> Sync for Store<K, A>
where\n K: Sync,\n A: Sync,
",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl Sync for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl Sync for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl Sync for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> Sync for Plan<AK>
where\n AK: Sync,
",1,["bdk_tmp_plan::Plan"]],["impl<Ak> Sync for PlanState<Ak>
where\n Ak: Sync,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> Sync for RequiredSignatures<Ak>
where\n Ak: Sync,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> Sync for PlanKey<Ak>
where\n Ak: Sync,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> Sync for Requirements<Ak>
where\n Ak: Sync,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> Sync for Assets<K>
where\n K: Sync,
",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl Sync for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Sync for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Sync for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Sync for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Sync for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Sync for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Sync for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Sync for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Sync for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Sync for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Sync for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Sync for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Sync for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Sync for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Sync for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Sync for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Sync for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Sync for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Sync for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Sync for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Sync for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Sync for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Sync for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Sync for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Sync for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Sync for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl Sync for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Sync for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Sync for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Sync for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Sync for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Sync for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Sync for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Sync for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Sync for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Sync for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Sync for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Sync for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Sync for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Sync for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Sync for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Sync for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Sync for Update",1,["bdk_wallet::wallet::Update"]],["impl Sync for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl Sync for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl Sync for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> Sync for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> !Sync for TxBuilder<'a, Cs, Ctx>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Sync for DescriptorKey<Ctx>
where\n Ctx: Sync,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Sync for ExtendedKey<Ctx>
where\n Ctx: Sync,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Sync for Bip44<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Sync for Bip44Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Sync for Bip49<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Sync for Bip49Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Sync for Bip84<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Sync for Bip84Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Sync for Bip86<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Sync for Bip86Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Sync for P2Pkh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Sync for P2TR<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Sync for P2Wpkh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Sync for P2Wpkh_P2Sh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Sync for GeneratedKey<K, Ctx>
where\n K: Sync,\n Ctx: Sync,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Sync for SignerWrapper<S>
where\n S: Sync,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl Sync for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Sync for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Sync for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Sync for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Sync for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Sync for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Sync for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Sync for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Sync for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Sync for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Sync for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Sync for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Sync for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Sync for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Sync for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Sync for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Sync for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Sync for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Sync for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Sync for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Sync for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Sync for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Sync for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Sync for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Sync for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Sync for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Sync for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Sync for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Sync for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Sync for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Sync for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Sync for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Sync for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Sync for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Sync for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Sync for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Sync for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Sync for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Sync for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Sync for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Sync for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Sync for Update",1,["bdk_wallet::wallet::Update"]],["impl Sync for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl<'a> Sync for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> !Sync for TxBuilder<'a, Cs>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Sync for DescriptorKey<Ctx>
where\n Ctx: Sync,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Sync for ExtendedKey<Ctx>
where\n Ctx: Sync,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Sync for Bip44<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Sync for Bip44Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Sync for Bip49<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Sync for Bip49Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Sync for Bip84<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Sync for Bip84Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Sync for Bip86<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Sync for Bip86Public<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Sync for P2Pkh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Sync for P2TR<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Sync for P2Wpkh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Sync for P2Wpkh_P2Sh<K>
where\n K: Sync,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Sync for GeneratedKey<K, Ctx>
where\n K: Sync,\n Ctx: Sync,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Sync for SignerWrapper<S>
where\n S: Sync,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl Sync for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl Sync for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl Sync for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl Sync for AddressCmd",1,["example_cli::AddressCmd"]],["impl Sync for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Sync for Keychain",1,["example_cli::Keychain"]],["impl Sync for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Sync for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> Sync for Commands<CS, S>
where\n CS: Sync,\n S: Sync,
",1,["example_cli::Commands"]],["impl<CS, S> Sync for Args<CS, S>
where\n CS: Sync,\n S: Sync,
",1,["example_cli::Args"]],["impl<CS, S, C> Sync for Init<CS, S, C>
where\n C: Sync + Send,\n CS: Sync,\n S: Sync,
",1,["example_cli::Init"]]], "example_electrum":[["impl Sync for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Sync for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl Sync for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js index c2db48a19b..27c8957560 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl Unpin for Error",1,["bdk_sqlite::Error"]],["impl<K, A> Unpin for Store<K, A>
where\n K: Unpin,\n A: Unpin,
",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl Unpin for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl Unpin for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl Unpin for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> Unpin for Plan<AK>
where\n AK: Unpin,
",1,["bdk_tmp_plan::Plan"]],["impl<Ak> Unpin for PlanState<Ak>
where\n Ak: Unpin,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> Unpin for RequiredSignatures<Ak>
where\n Ak: Unpin,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> Unpin for PlanKey<Ak>
where\n Ak: Unpin,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> Unpin for Requirements<Ak>
where\n Ak: Unpin,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> Unpin for Assets<K>
where\n K: Unpin,
",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl Unpin for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Unpin for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Unpin for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Unpin for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Unpin for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Unpin for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Unpin for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Unpin for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Unpin for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Unpin for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Unpin for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Unpin for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Unpin for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Unpin for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Unpin for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Unpin for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Unpin for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Unpin for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Unpin for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Unpin for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Unpin for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Unpin for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Unpin for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Unpin for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Unpin for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Unpin for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl Unpin for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Unpin for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Unpin for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Unpin for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Unpin for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Unpin for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Unpin for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Unpin for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Unpin for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Unpin for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Unpin for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Unpin for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Unpin for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Unpin for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Unpin for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Unpin for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Unpin for Update",1,["bdk_wallet::wallet::Update"]],["impl Unpin for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl Unpin for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl Unpin for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> Unpin for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> Unpin for TxBuilder<'a, Cs, Ctx>
where\n Cs: Unpin,\n Ctx: Unpin,
",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Unpin for DescriptorKey<Ctx>
where\n Ctx: Unpin,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Unpin for ExtendedKey<Ctx>
where\n Ctx: Unpin,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Unpin for Bip44<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Unpin for Bip44Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Unpin for Bip49<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Unpin for Bip49Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Unpin for Bip84<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Unpin for Bip84Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Unpin for Bip86<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Unpin for Bip86Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Unpin for P2Pkh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Unpin for P2TR<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Unpin for P2Wpkh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Unpin for P2Wpkh_P2Sh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Unpin for GeneratedKey<K, Ctx>
where\n K: Unpin,\n Ctx: Unpin,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Unpin for SignerWrapper<S>
where\n S: Unpin,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl Unpin for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl Unpin for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl Unpin for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl Unpin for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl Unpin for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl Unpin for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl Unpin for Utxo",1,["bdk_wallet::types::Utxo"]],["impl Unpin for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl Unpin for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl Unpin for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl Unpin for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl Unpin for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl Unpin for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl Unpin for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl Unpin for NewError",1,["bdk_wallet::wallet::NewError"]],["impl Unpin for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl Unpin for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl Unpin for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl Unpin for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl Unpin for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl Unpin for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl Unpin for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl Unpin for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl Unpin for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl Unpin for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl Unpin for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl Unpin for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl Unpin for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl Unpin for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl Unpin for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl Unpin for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl Unpin for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl Unpin for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Unpin for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl Unpin for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Unpin for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Unpin for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl Unpin for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl Unpin for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl Unpin for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl Unpin for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl Unpin for Update",1,["bdk_wallet::wallet::Update"]],["impl Unpin for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl<'a> Unpin for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> Unpin for TxBuilder<'a, Cs>
where\n Cs: Unpin,
",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> Unpin for DescriptorKey<Ctx>
where\n Ctx: Unpin,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> Unpin for ExtendedKey<Ctx>
where\n Ctx: Unpin,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> Unpin for Bip44<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> Unpin for Bip44Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> Unpin for Bip49<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> Unpin for Bip49Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> Unpin for Bip84<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> Unpin for Bip84Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> Unpin for Bip86<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> Unpin for Bip86Public<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> Unpin for P2Pkh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> Unpin for P2TR<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> Unpin for P2Wpkh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> Unpin for P2Wpkh_P2Sh<K>
where\n K: Unpin,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> Unpin for GeneratedKey<K, Ctx>
where\n K: Unpin,\n Ctx: Unpin,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> Unpin for SignerWrapper<S>
where\n S: Unpin,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl Unpin for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl Unpin for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl Unpin for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl Unpin for AddressCmd",1,["example_cli::AddressCmd"]],["impl Unpin for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Unpin for Keychain",1,["example_cli::Keychain"]],["impl Unpin for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Unpin for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> Unpin for Commands<CS, S>
where\n CS: Unpin,\n S: Unpin,
",1,["example_cli::Commands"]],["impl<CS, S> Unpin for Args<CS, S>
where\n CS: Unpin,\n S: Unpin,
",1,["example_cli::Args"]],["impl<CS, S, C> Unpin for Init<CS, S, C>
where\n C: Unpin,\n CS: Unpin,\n S: Unpin,
",1,["example_cli::Init"]]], "example_electrum":[["impl Unpin for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Unpin for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl Unpin for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index 0cc8778d55..bd39b4849b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl !RefUnwindSafe for Error",1,["bdk_sqlite::Error"]],["impl<K, A> RefUnwindSafe for Store<K, A>
where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl !RefUnwindSafe for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl RefUnwindSafe for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl RefUnwindSafe for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> RefUnwindSafe for Plan<AK>
where\n AK: RefUnwindSafe,
",1,["bdk_tmp_plan::Plan"]],["impl<Ak> RefUnwindSafe for PlanState<Ak>
where\n Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> RefUnwindSafe for RequiredSignatures<Ak>
where\n Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> RefUnwindSafe for PlanKey<Ak>
where\n Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> RefUnwindSafe for Requirements<Ak>
where\n Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> RefUnwindSafe for Assets<K>
where\n K: RefUnwindSafe,
",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl !RefUnwindSafe for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl !RefUnwindSafe for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl !RefUnwindSafe for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl RefUnwindSafe for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl RefUnwindSafe for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl RefUnwindSafe for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl RefUnwindSafe for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl RefUnwindSafe for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl RefUnwindSafe for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl RefUnwindSafe for Utxo",1,["bdk_wallet::types::Utxo"]],["impl RefUnwindSafe for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl RefUnwindSafe for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl RefUnwindSafe for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl RefUnwindSafe for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl RefUnwindSafe for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl RefUnwindSafe for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl RefUnwindSafe for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl RefUnwindSafe for NewError",1,["bdk_wallet::wallet::NewError"]],["impl RefUnwindSafe for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl RefUnwindSafe for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl RefUnwindSafe for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl RefUnwindSafe for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl RefUnwindSafe for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl RefUnwindSafe for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl RefUnwindSafe for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl RefUnwindSafe for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl RefUnwindSafe for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl RefUnwindSafe for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl RefUnwindSafe for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl RefUnwindSafe for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl RefUnwindSafe for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl RefUnwindSafe for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl RefUnwindSafe for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl RefUnwindSafe for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl RefUnwindSafe for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl RefUnwindSafe for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl RefUnwindSafe for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl RefUnwindSafe for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl RefUnwindSafe for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl RefUnwindSafe for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl RefUnwindSafe for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl RefUnwindSafe for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl RefUnwindSafe for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl RefUnwindSafe for Update",1,["bdk_wallet::wallet::Update"]],["impl RefUnwindSafe for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl RefUnwindSafe for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> RefUnwindSafe for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> !RefUnwindSafe for TxBuilder<'a, Cs, Ctx>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> RefUnwindSafe for DescriptorKey<Ctx>
where\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
where\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> RefUnwindSafe for Bip44<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> RefUnwindSafe for Bip44Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> RefUnwindSafe for Bip49<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> RefUnwindSafe for Bip49Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> RefUnwindSafe for Bip84<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> RefUnwindSafe for Bip84Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> RefUnwindSafe for Bip86<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> RefUnwindSafe for Bip86Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> RefUnwindSafe for P2Pkh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> RefUnwindSafe for P2TR<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> RefUnwindSafe for P2Wpkh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> RefUnwindSafe for P2Wpkh_P2Sh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> RefUnwindSafe for GeneratedKey<K, Ctx>
where\n K: RefUnwindSafe,\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> RefUnwindSafe for SignerWrapper<S>
where\n S: RefUnwindSafe,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl !RefUnwindSafe for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl !RefUnwindSafe for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl !RefUnwindSafe for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl RefUnwindSafe for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl RefUnwindSafe for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl RefUnwindSafe for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl RefUnwindSafe for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl RefUnwindSafe for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl RefUnwindSafe for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl RefUnwindSafe for Utxo",1,["bdk_wallet::types::Utxo"]],["impl RefUnwindSafe for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl RefUnwindSafe for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl RefUnwindSafe for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl RefUnwindSafe for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl RefUnwindSafe for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl RefUnwindSafe for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl RefUnwindSafe for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl RefUnwindSafe for NewError",1,["bdk_wallet::wallet::NewError"]],["impl RefUnwindSafe for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl RefUnwindSafe for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl RefUnwindSafe for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl RefUnwindSafe for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl RefUnwindSafe for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl RefUnwindSafe for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl RefUnwindSafe for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl RefUnwindSafe for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl RefUnwindSafe for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl RefUnwindSafe for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl RefUnwindSafe for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl RefUnwindSafe for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl RefUnwindSafe for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl RefUnwindSafe for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl RefUnwindSafe for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl RefUnwindSafe for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl RefUnwindSafe for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl RefUnwindSafe for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl RefUnwindSafe for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl RefUnwindSafe for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl RefUnwindSafe for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl RefUnwindSafe for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl RefUnwindSafe for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl RefUnwindSafe for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl RefUnwindSafe for Update",1,["bdk_wallet::wallet::Update"]],["impl<'a> RefUnwindSafe for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> !RefUnwindSafe for TxBuilder<'a, Cs>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> RefUnwindSafe for DescriptorKey<Ctx>
where\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
where\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> RefUnwindSafe for Bip44<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> RefUnwindSafe for Bip44Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> RefUnwindSafe for Bip49<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> RefUnwindSafe for Bip49Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> RefUnwindSafe for Bip84<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> RefUnwindSafe for Bip84Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> RefUnwindSafe for Bip86<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> RefUnwindSafe for Bip86Public<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> RefUnwindSafe for P2Pkh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> RefUnwindSafe for P2TR<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> RefUnwindSafe for P2Wpkh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> RefUnwindSafe for P2Wpkh_P2Sh<K>
where\n K: RefUnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> RefUnwindSafe for GeneratedKey<K, Ctx>
where\n K: RefUnwindSafe,\n Ctx: RefUnwindSafe,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> RefUnwindSafe for SignerWrapper<S>
where\n S: RefUnwindSafe,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl RefUnwindSafe for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl RefUnwindSafe for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl RefUnwindSafe for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl RefUnwindSafe for AddressCmd",1,["example_cli::AddressCmd"]],["impl RefUnwindSafe for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl RefUnwindSafe for Keychain",1,["example_cli::Keychain"]],["impl RefUnwindSafe for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl RefUnwindSafe for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> RefUnwindSafe for Commands<CS, S>
where\n CS: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["example_cli::Commands"]],["impl<CS, S> RefUnwindSafe for Args<CS, S>
where\n CS: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["example_cli::Args"]],["impl<CS, S, C> RefUnwindSafe for Init<CS, S, C>
where\n C: RefUnwindSafe,\n CS: RefUnwindSafe,\n S: RefUnwindSafe,
",1,["example_cli::Init"]]], "example_electrum":[["impl RefUnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl RefUnwindSafe for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl RefUnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 3ae2b6dc12..2b50b3b86e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -9,7 +9,7 @@ "bdk_sqlite":[["impl !UnwindSafe for Error",1,["bdk_sqlite::Error"]],["impl<K, A> UnwindSafe for Store<K, A>
where\n K: UnwindSafe,\n A: UnwindSafe,
",1,["bdk_sqlite::store::Store"]]], "bdk_testenv":[["impl !UnwindSafe for TestEnv",1,["bdk_testenv::TestEnv"]]], "bdk_tmp_plan":[["impl UnwindSafe for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl UnwindSafe for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<AK> UnwindSafe for Plan<AK>
where\n AK: UnwindSafe,
",1,["bdk_tmp_plan::Plan"]],["impl<Ak> UnwindSafe for PlanState<Ak>
where\n Ak: UnwindSafe,
",1,["bdk_tmp_plan::PlanState"]],["impl<Ak> UnwindSafe for RequiredSignatures<Ak>
where\n Ak: UnwindSafe,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl<Ak> UnwindSafe for PlanKey<Ak>
where\n Ak: UnwindSafe,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<Ak> UnwindSafe for Requirements<Ak>
where\n Ak: UnwindSafe,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<K> UnwindSafe for Assets<K>
where\n K: UnwindSafe,
",1,["bdk_tmp_plan::Assets"]]], -"bdk_wallet":[["impl !UnwindSafe for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl !UnwindSafe for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl !UnwindSafe for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl UnwindSafe for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl UnwindSafe for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl UnwindSafe for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl UnwindSafe for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl UnwindSafe for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl UnwindSafe for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl UnwindSafe for Utxo",1,["bdk_wallet::types::Utxo"]],["impl UnwindSafe for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl UnwindSafe for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl UnwindSafe for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl UnwindSafe for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl UnwindSafe for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl UnwindSafe for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl UnwindSafe for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl UnwindSafe for NewError",1,["bdk_wallet::wallet::NewError"]],["impl UnwindSafe for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl UnwindSafe for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl UnwindSafe for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl UnwindSafe for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl UnwindSafe for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl UnwindSafe for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl UnwindSafe for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl UnwindSafe for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl UnwindSafe for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl UnwindSafe for AllowShrinkingError",1,["bdk_wallet::wallet::tx_builder::AllowShrinkingError"]],["impl UnwindSafe for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl UnwindSafe for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl UnwindSafe for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl UnwindSafe for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl UnwindSafe for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl UnwindSafe for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl UnwindSafe for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl UnwindSafe for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl UnwindSafe for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl UnwindSafe for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl UnwindSafe for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl UnwindSafe for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl UnwindSafe for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl UnwindSafe for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl UnwindSafe for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl UnwindSafe for Update",1,["bdk_wallet::wallet::Update"]],["impl UnwindSafe for BumpFee",1,["bdk_wallet::wallet::tx_builder::BumpFee"]],["impl UnwindSafe for CreateTx",1,["bdk_wallet::wallet::tx_builder::CreateTx"]],["impl<'a> UnwindSafe for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs, Ctx> !UnwindSafe for TxBuilder<'a, Cs, Ctx>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> UnwindSafe for DescriptorKey<Ctx>
where\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> UnwindSafe for ExtendedKey<Ctx>
where\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> UnwindSafe for Bip44<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> UnwindSafe for Bip44Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> UnwindSafe for Bip49<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> UnwindSafe for Bip49Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> UnwindSafe for Bip84<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> UnwindSafe for Bip84Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> UnwindSafe for Bip86<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> UnwindSafe for Bip86Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> UnwindSafe for P2Pkh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> UnwindSafe for P2TR<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> UnwindSafe for P2Wpkh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> UnwindSafe for P2Wpkh_P2Sh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> UnwindSafe for GeneratedKey<K, Ctx>
where\n K: UnwindSafe,\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> UnwindSafe for SignerWrapper<S>
where\n S: UnwindSafe,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], +"bdk_wallet":[["impl !UnwindSafe for CreateTxError",1,["bdk_wallet::wallet::error::CreateTxError"]],["impl !UnwindSafe for SignersContainer",1,["bdk_wallet::wallet::signer::SignersContainer"]],["impl !UnwindSafe for Wallet",1,["bdk_wallet::wallet::Wallet"]],["impl UnwindSafe for Error",1,["bdk_wallet::descriptor::error::Error"]],["impl UnwindSafe for PkOrF",1,["bdk_wallet::descriptor::policy::PkOrF"]],["impl UnwindSafe for PolicyError",1,["bdk_wallet::descriptor::policy::PolicyError"]],["impl UnwindSafe for Satisfaction",1,["bdk_wallet::descriptor::policy::Satisfaction"]],["impl UnwindSafe for SatisfiableItem",1,["bdk_wallet::descriptor::policy::SatisfiableItem"]],["impl UnwindSafe for KeychainKind",1,["bdk_wallet::types::KeychainKind"]],["impl UnwindSafe for Utxo",1,["bdk_wallet::types::Utxo"]],["impl UnwindSafe for KeyError",1,["bdk_wallet::keys::KeyError"]],["impl UnwindSafe for ScriptContextEnum",1,["bdk_wallet::keys::ScriptContextEnum"]],["impl UnwindSafe for Error",1,["bdk_wallet::wallet::coin_selection::Error"]],["impl UnwindSafe for Excess",1,["bdk_wallet::wallet::coin_selection::Excess"]],["impl UnwindSafe for ApplyBlockError",1,["bdk_wallet::wallet::ApplyBlockError"]],["impl UnwindSafe for InsertTxError",1,["bdk_wallet::wallet::InsertTxError"]],["impl UnwindSafe for LoadError",1,["bdk_wallet::wallet::LoadError"]],["impl UnwindSafe for NewError",1,["bdk_wallet::wallet::NewError"]],["impl UnwindSafe for NewOrLoadError",1,["bdk_wallet::wallet::NewOrLoadError"]],["impl UnwindSafe for BuildFeeBumpError",1,["bdk_wallet::wallet::error::BuildFeeBumpError"]],["impl UnwindSafe for MiniscriptPsbtError",1,["bdk_wallet::wallet::error::MiniscriptPsbtError"]],["impl UnwindSafe for SignerContext",1,["bdk_wallet::wallet::signer::SignerContext"]],["impl UnwindSafe for SignerError",1,["bdk_wallet::wallet::signer::SignerError"]],["impl UnwindSafe for SignerId",1,["bdk_wallet::wallet::signer::SignerId"]],["impl UnwindSafe for TapLeavesOptions",1,["bdk_wallet::wallet::signer::TapLeavesOptions"]],["impl UnwindSafe for AddForeignUtxoError",1,["bdk_wallet::wallet::tx_builder::AddForeignUtxoError"]],["impl UnwindSafe for AddUtxoError",1,["bdk_wallet::wallet::tx_builder::AddUtxoError"]],["impl UnwindSafe for ChangeSpendPolicy",1,["bdk_wallet::wallet::tx_builder::ChangeSpendPolicy"]],["impl UnwindSafe for TxOrdering",1,["bdk_wallet::wallet::tx_builder::TxOrdering"]],["impl UnwindSafe for Condition",1,["bdk_wallet::descriptor::policy::Condition"]],["impl UnwindSafe for Policy",1,["bdk_wallet::descriptor::policy::Policy"]],["impl UnwindSafe for PrivateKeyGenerateOptions",1,["bdk_wallet::keys::PrivateKeyGenerateOptions"]],["impl UnwindSafe for LocalOutput",1,["bdk_wallet::types::LocalOutput"]],["impl UnwindSafe for WeightedUtxo",1,["bdk_wallet::types::WeightedUtxo"]],["impl UnwindSafe for BranchAndBoundCoinSelection",1,["bdk_wallet::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl UnwindSafe for CoinSelectionResult",1,["bdk_wallet::wallet::coin_selection::CoinSelectionResult"]],["impl UnwindSafe for LargestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::LargestFirstCoinSelection"]],["impl UnwindSafe for OldestFirstCoinSelection",1,["bdk_wallet::wallet::coin_selection::OldestFirstCoinSelection"]],["impl UnwindSafe for FullyNodedExport",1,["bdk_wallet::wallet::export::FullyNodedExport"]],["impl UnwindSafe for SignOptions",1,["bdk_wallet::wallet::signer::SignOptions"]],["impl UnwindSafe for SignerOrdering",1,["bdk_wallet::wallet::signer::SignerOrdering"]],["impl UnwindSafe for AddressInfo",1,["bdk_wallet::wallet::AddressInfo"]],["impl UnwindSafe for Update",1,["bdk_wallet::wallet::Update"]],["impl<'a> UnwindSafe for BuildSatisfaction<'a>",1,["bdk_wallet::descriptor::policy::BuildSatisfaction"]],["impl<'a, Cs> !UnwindSafe for TxBuilder<'a, Cs>",1,["bdk_wallet::wallet::tx_builder::TxBuilder"]],["impl<Ctx> UnwindSafe for DescriptorKey<Ctx>
where\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::DescriptorKey"]],["impl<Ctx> UnwindSafe for ExtendedKey<Ctx>
where\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::ExtendedKey"]],["impl<K> UnwindSafe for Bip44<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44"]],["impl<K> UnwindSafe for Bip44Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip44Public"]],["impl<K> UnwindSafe for Bip49<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49"]],["impl<K> UnwindSafe for Bip49Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip49Public"]],["impl<K> UnwindSafe for Bip84<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84"]],["impl<K> UnwindSafe for Bip84Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip84Public"]],["impl<K> UnwindSafe for Bip86<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86"]],["impl<K> UnwindSafe for Bip86Public<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::Bip86Public"]],["impl<K> UnwindSafe for P2Pkh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Pkh"]],["impl<K> UnwindSafe for P2TR<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2TR"]],["impl<K> UnwindSafe for P2Wpkh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh"]],["impl<K> UnwindSafe for P2Wpkh_P2Sh<K>
where\n K: UnwindSafe,
",1,["bdk_wallet::descriptor::template::P2Wpkh_P2Sh"]],["impl<K, Ctx> UnwindSafe for GeneratedKey<K, Ctx>
where\n K: UnwindSafe,\n Ctx: UnwindSafe,
",1,["bdk_wallet::keys::GeneratedKey"]],["impl<S> UnwindSafe for SignerWrapper<S>
where\n S: UnwindSafe,
",1,["bdk_wallet::wallet::signer::SignerWrapper"]]], "example_bitcoind_rpc_polling":[["impl UnwindSafe for Emission",1,["example_bitcoind_rpc_polling::Emission"]],["impl UnwindSafe for RpcCommands",1,["example_bitcoind_rpc_polling::RpcCommands"]],["impl UnwindSafe for RpcArgs",1,["example_bitcoind_rpc_polling::RpcArgs"]]], "example_cli":[["impl UnwindSafe for AddressCmd",1,["example_cli::AddressCmd"]],["impl UnwindSafe for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl UnwindSafe for Keychain",1,["example_cli::Keychain"]],["impl UnwindSafe for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl UnwindSafe for CreateTxChange",1,["example_cli::CreateTxChange"]],["impl<CS, S> UnwindSafe for Commands<CS, S>
where\n CS: UnwindSafe,\n S: UnwindSafe,
",1,["example_cli::Commands"]],["impl<CS, S> UnwindSafe for Args<CS, S>
where\n CS: UnwindSafe,\n S: UnwindSafe,
",1,["example_cli::Args"]],["impl<CS, S, C> UnwindSafe for Init<CS, S, C>
where\n C: UnwindSafe,\n CS: UnwindSafe,\n S: UnwindSafe,
",1,["example_cli::Init"]]], "example_electrum":[["impl UnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl UnwindSafe for ElectrumArgs",1,["example_electrum::ElectrumArgs"]],["impl UnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js index 991eb30051..b75e8cf8eb 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js @@ -1,4 +1,4 @@ (function() {var type_impls = { "bdk_chain":[["
source§

impl<K: Ord, V> Append for BTreeMap<K, V>

source§

fn append(&mut self, other: Self)

Append another object of the same type onto self.
source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
","Append","bdk_chain::local_chain::ChangeSet"],["
source§

impl<K, V> BTreeMap<K, V>

1.0.0 (const: 1.66.0) · source

pub const fn new() -> BTreeMap<K, V>

Makes a new, empty BTreeMap.

\n

Does not allocate anything on its own.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_chain::local_chain::ChangeSet"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V> ⓘ

Gets an iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V> ⓘ

Gets a mutable iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V> ⓘ

Gets an iterator over the keys of the map, in sorted order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V> ⓘ

Gets an iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> ⓘ

Gets a mutable iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
\n
1.0.0 (const: unstable) · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 (const: unstable) · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
source

pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
\n
source

pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
\n
source

pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
source

pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
",0,"bdk_chain::local_chain::ChangeSet"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
source

pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

🔬This is a nightly-only experimental API. (btreemap_alloc)

Makes a new empty BTreeMap with a reasonable choice for B.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_chain::local_chain::ChangeSet"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn get<Q>(&self, key: &Q) -> Option<&V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
1.66.0 · source

pub fn first_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
\n
1.66.0 · source

pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
\n
1.66.0 · source

pub fn pop_first(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

\n
§Examples
\n

Draining elements in ascending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
\n
1.66.0 · source

pub fn last_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
\n
1.66.0 · source

pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
\n
1.66.0 · source

pub fn pop_last(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

\n
§Examples
\n

Draining elements in descending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
\n
1.0.0 · source

pub fn contains_key<Q>(&self, key: &Q) -> bool
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where\n K: Ord,

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
where\n K: Ord,

🔬This is a nightly-only experimental API. (map_try_insert)

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n
#![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.45.0 · source

pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
\n
1.53.0 · source

pub fn retain<F>(&mut self, f: F)
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
\n
1.11.0 · source

pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
where\n K: Ord,\n A: Clone,

Moves all elements from other into self, leaving other empty.

\n

If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
\n
1.17.0 · source

pub fn range<T, R>(&self, range: R) -> Range<'_, K, V> ⓘ
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
\n
1.17.0 · source

pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V> ⓘ
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
where\n K: Ord,

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
\n
1.11.0 · source

pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A> ⓘ
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

🔬This is a nightly-only experimental API. (btree_extract_if)

Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

\n

The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V, A> ⓘ

Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V, A> ⓘ

Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
",0,"bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Clone for BTreeMap<K, V, A>
where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

source§

fn clone(&self) -> BTreeMap<K, V, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Debug for BTreeMap<K, V, A>
where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V> Default for BTreeMap<K, V>

source§

fn default() -> BTreeMap<K, V>

Creates an empty BTreeMap.

\n
","Default","bdk_chain::local_chain::ChangeSet"],["
source§

impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_chain::local_chain::ChangeSet"],["
1.7.0 · source§

impl<K, V, A> Drop for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
","Drop","bdk_chain::local_chain::ChangeSet"],["
1.2.0 · source§

impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

source§

fn extend<I>(&mut self, iter: I)
where\n I: IntoIterator<Item = (&'a K, &'a V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
where\n K: Ord,\n A: Allocator + Clone,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","bdk_chain::local_chain::ChangeSet"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

Converts a [(K, V); N] into a BTreeMap<(K, V)>.

\n\n
use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from_iter<T>(iter: T) -> BTreeMap<K, V>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Hash for BTreeMap<K, V, A>
where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the BTreeMap.

\n
§

type Output = V

The returned type after indexing.
","Index<&Q>","bdk_chain::local_chain::ChangeSet"],["
source§

impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

§

type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn into_iter(self) -> IntoIter<K, V, A> ⓘ

Gets an owning iterator over the entries of the map, sorted by key.

\n
§

type Item = (K, V)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<K, V, A>

Which kind of iterator are we turning this into?
","IntoIterator","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Ord for BTreeMap<K, V, A>
where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

source§

fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> PartialEq for BTreeMap<K, V, A>
where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

source§

fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

source§

fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","bdk_chain::local_chain::ChangeSet"],["
source§

impl<K, V> Serialize for BTreeMap<K, V>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_chain::local_chain::ChangeSet"],["
1.0.0 · source§

impl<K, V, A> Eq for BTreeMap<K, V, A>
where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

","Eq","bdk_chain::local_chain::ChangeSet"],["
1.64.0 · source§

impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

","UnwindSafe","bdk_chain::local_chain::ChangeSet"]], -"bdk_wallet":[["
§

impl<K, V> Append for BTreeMap<K, V>
where\n K: Ord,

§

fn append(&mut self, other: BTreeMap<K, V>)

Append another object of the same type onto self.
§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
","Append","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V> BTreeMap<K, V>

1.0.0 (const: 1.66.0) · source

pub const fn new() -> BTreeMap<K, V>

Makes a new, empty BTreeMap.

\n

Does not allocate anything on its own.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

Gets an iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

Gets a mutable iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

Gets an iterator over the keys of the map, in sorted order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

Gets an iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

Gets a mutable iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
\n
1.0.0 (const: unstable) · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 (const: unstable) · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
source

pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
\n
source

pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
\n
source

pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
source

pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
source

pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

🔬This is a nightly-only experimental API. (btreemap_alloc)

Makes a new empty BTreeMap with a reasonable choice for B.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn get<Q>(&self, key: &Q) -> Option<&V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
1.66.0 · source

pub fn first_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
\n
1.66.0 · source

pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
\n
1.66.0 · source

pub fn pop_first(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

\n
§Examples
\n

Draining elements in ascending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
\n
1.66.0 · source

pub fn last_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
\n
1.66.0 · source

pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
\n
1.66.0 · source

pub fn pop_last(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

\n
§Examples
\n

Draining elements in descending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
\n
1.0.0 · source

pub fn contains_key<Q>(&self, key: &Q) -> bool
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where\n K: Ord,

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
where\n K: Ord,

🔬This is a nightly-only experimental API. (map_try_insert)

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n
#![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.45.0 · source

pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
\n
1.53.0 · source

pub fn retain<F>(&mut self, f: F)
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
\n
1.11.0 · source

pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
where\n K: Ord,\n A: Clone,

Moves all elements from other into self, leaving other empty.

\n

If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
\n
1.17.0 · source

pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
\n
1.17.0 · source

pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
where\n K: Ord,

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
\n
1.11.0 · source

pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

🔬This is a nightly-only experimental API. (btree_extract_if)

Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

\n

The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V, A>

Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V, A>

Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Clone for BTreeMap<K, V, A>
where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

source§

fn clone(&self) -> BTreeMap<K, V, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Debug for BTreeMap<K, V, A>
where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V> Default for BTreeMap<K, V>

source§

fn default() -> BTreeMap<K, V>

Creates an empty BTreeMap.

\n
","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.7.0 · source§

impl<K, V, A> Drop for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.2.0 · source§

impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

source§

fn extend<I>(&mut self, iter: I)
where\n I: IntoIterator<Item = (&'a K, &'a V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
where\n K: Ord,\n A: Allocator + Clone,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

Converts a [(K, V); N] into a BTreeMap<(K, V)>.

\n\n
use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from_iter<T>(iter: T) -> BTreeMap<K, V>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Hash for BTreeMap<K, V, A>
where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the BTreeMap.

\n
§

type Output = V

The returned type after indexing.
","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
§

impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
","IntoAssets","bdk_wallet::keys::KeyMap"],["
source§

impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

§

type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn into_iter(self) -> IntoIter<K, V, A>

Gets an owning iterator over the entries of the map, sorted by key.

\n
§

type Item = (K, V)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<K, V, A>

Which kind of iterator are we turning this into?
","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Ord for BTreeMap<K, V, A>
where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

source§

fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> PartialEq for BTreeMap<K, V, A>
where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

source§

fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

source§

fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V> Serialize for BTreeMap<K, V>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Eq for BTreeMap<K, V, A>
where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.64.0 · source§

impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]] +"bdk_wallet":[["
source§

impl<K, V> Append for BTreeMap<K, V>
where\n K: Ord,

source§

fn append(&mut self, other: BTreeMap<K, V>)

Append another object of the same type onto self.
source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
","Append","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V> BTreeMap<K, V>

1.0.0 (const: 1.66.0) · source

pub const fn new() -> BTreeMap<K, V>

Makes a new, empty BTreeMap.

\n

Does not allocate anything on its own.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn iter(&self) -> Iter<'_, K, V>

Gets an iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
\n
1.0.0 · source

pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

Gets a mutable iterator over the entries of the map, sorted by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
\n
1.0.0 · source

pub fn keys(&self) -> Keys<'_, K, V>

Gets an iterator over the keys of the map, in sorted order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
\n
1.0.0 · source

pub fn values(&self) -> Values<'_, K, V>

Gets an iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
1.10.0 · source

pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

Gets a mutable iterator over the values of the map, in order by key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
\n
1.0.0 (const: unstable) · source

pub fn len(&self) -> usize

Returns the number of elements in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
\n
1.0.0 (const: unstable) · source

pub fn is_empty(&self) -> bool

Returns true if the map contains no elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
\n
source

pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
\n
source

pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
\n
source

pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
source

pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

🔬This is a nightly-only experimental API. (btree_cursors)

Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

\n

Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

\n

Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

\n

Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

\n
§Examples
\n
#![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn clear(&mut self)

Clears the map, removing all elements.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
\n
source

pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

🔬This is a nightly-only experimental API. (btreemap_alloc)

Makes a new empty BTreeMap with a reasonable choice for B.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V, A> BTreeMap<K, V, A>
where\n A: Allocator + Clone,

1.0.0 · source

pub fn get<Q>(&self, key: &Q) -> Option<&V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
\n
1.40.0 · source

pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns the key-value pair corresponding to the supplied key.

\n

The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
\n
1.66.0 · source

pub fn first_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
\n
1.66.0 · source

pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
\n
1.66.0 · source

pub fn pop_first(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

\n
§Examples
\n

Draining elements in ascending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
\n
1.66.0 · source

pub fn last_key_value(&self) -> Option<(&K, &V)>
where\n K: Ord,

Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
\n
1.66.0 · source

pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
where\n K: Ord,

Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
\n
1.66.0 · source

pub fn pop_last(&mut self) -> Option<(K, V)>
where\n K: Ord,

Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

\n
§Examples
\n

Draining elements in descending order, while keeping a usable map each iteration.

\n\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
\n
1.0.0 · source

pub fn contains_key<Q>(&self, key: &Q) -> bool
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns true if the map contains a value for the specified key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
\n
1.0.0 · source

pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Returns a mutable reference to the value corresponding to the key.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
\n
1.0.0 · source

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where\n K: Ord,

Inserts a key-value pair into the map.

\n

If the map did not have this key present, None is returned.

\n

If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
\n
source

pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
where\n K: Ord,

🔬This is a nightly-only experimental API. (map_try_insert)

Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

\n

If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

\n
§Examples
\n
#![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
\n
1.0.0 · source

pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
\n
1.45.0 · source

pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

\n

The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
\n
1.53.0 · source

pub fn retain<F>(&mut self, f: F)
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

Retains only the elements specified by the predicate.

\n

In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
\n
1.11.0 · source

pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
where\n K: Ord,\n A: Clone,

Moves all elements from other into self, leaving other empty.

\n

If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
\n
1.17.0 · source

pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
\n
1.17.0 · source

pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

\n
§Panics
\n

Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
\n
1.0.0 · source

pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
where\n K: Ord,

Gets the given key’s corresponding entry in the map for in-place manipulation.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
\n
1.11.0 · source

pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
\n
source

pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

🔬This is a nightly-only experimental API. (btree_extract_if)

Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

\n

The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

\n

If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

\n
§Examples
\n

Splitting a map into even and odd keys, reusing the original map:

\n\n
#![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
\n
1.54.0 · source

pub fn into_keys(self) -> IntoKeys<K, V, A>

Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
\n
1.54.0 · source

pub fn into_values(self) -> IntoValues<K, V, A>

Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

\n
§Examples
\n
use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
\n
",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Clone for BTreeMap<K, V, A>
where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

source§

fn clone(&self) -> BTreeMap<K, V, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Debug for BTreeMap<K, V, A>
where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V> Default for BTreeMap<K, V>

source§

fn default() -> BTreeMap<K, V>

Creates an empty BTreeMap.

\n
","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

source§

fn deserialize<D>(\n deserializer: D\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.7.0 · source§

impl<K, V, A> Drop for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.2.0 · source§

impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

source§

fn extend<I>(&mut self, iter: I)
where\n I: IntoIterator<Item = (&'a K, &'a V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (&'a K, &'a V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
where\n K: Ord,\n A: Allocator + Clone,

source§

fn extend<T>(&mut self, iter: T)
where\n T: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
source§

fn extend_one(&mut self, _: (K, V))

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
source§

fn extend_reserve(&mut self, additional: usize)

🔬This is a nightly-only experimental API. (extend_one)
Reserves capacity in a collection for the given number of additional elements. Read more
","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.56.0 · source§

impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

Converts a [(K, V); N] into a BTreeMap<(K, V)>.

\n\n
use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
\n
","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
where\n K: Ord,

source§

fn from_iter<T>(iter: T) -> BTreeMap<K, V>
where\n T: IntoIterator<Item = (K, V)>,

Creates a value from an iterator. Read more
","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Hash for BTreeMap<K, V, A>
where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

source§

fn hash<H>(&self, state: &mut H)
where\n H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

source§

fn index(&self, key: &Q) -> &V

Returns a reference to the value corresponding to the supplied key.

\n
§Panics
\n

Panics if the key is not present in the BTreeMap.

\n
§

type Output = V

The returned type after indexing.
","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
§

impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
","IntoAssets","bdk_wallet::keys::KeyMap"],["
source§

impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

§

type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

The type of the deserializer being converted into.
source§

fn into_deserializer(\n self\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

Convert this value into a deserializer.
","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
where\n A: Allocator + Clone,

source§

fn into_iter(self) -> IntoIter<K, V, A>

Gets an owning iterator over the entries of the map, sorted by key.

\n
§

type Item = (K, V)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<K, V, A>

Which kind of iterator are we turning this into?
","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Ord for BTreeMap<K, V, A>
where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

source§

fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> PartialEq for BTreeMap<K, V, A>
where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

source§

fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

source§

fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
source§

impl<K, V> Serialize for BTreeMap<K, V>
where\n K: Serialize,\n V: Serialize,

source§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.0.0 · source§

impl<K, V, A> Eq for BTreeMap<K, V, A>
where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
1.64.0 · source§

impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js index 56f5f74f04..73a7857ad9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"example_cli":[["
§

impl<A, I> Debug for IndexedTxGraph<A, I>
where\n A: Debug,\n I: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","example_cli::KeychainTxGraph"],["
§

impl<A, I> Default for IndexedTxGraph<A, I>
where\n I: Default,

§

fn default() -> IndexedTxGraph<A, I>

Returns the “default value” for a type. Read more
","Default","example_cli::KeychainTxGraph"],["
§

impl<A, I> IndexedTxGraph<A, I>

pub fn new(index: I) -> IndexedTxGraph<A, I>

Construct a new [IndexedTxGraph] with a given index.

\n

pub fn graph(&self) -> &TxGraph<A>

Get a reference of the internal transaction graph.

\n
",0,"example_cli::KeychainTxGraph"],["
§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor + AnchorFromBlockPosition,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Append,

Methods are available if the anchor (A) implements [AnchorFromBlockPosition].

\n

pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

\n

Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

\n

Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

\n

pub fn apply_block(\n &mut self,\n block: Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height.

\n

Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

\n

To only insert relevant transactions, use apply_block_relevant instead.

\n
",0,"example_cli::KeychainTxGraph"],["
§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor,\n I: Indexer,

pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>\n)

Applies the [ChangeSet] to the [IndexedTxGraph].

\n

pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Determines the [ChangeSet] between self and an empty [IndexedTxGraph].

\n
",0,"example_cli::KeychainTxGraph"],["
§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Append,

pub fn apply_update(\n &mut self,\n update: TxGraph<A>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Apply an update directly.

\n

update is a [TxGraph<A>] and the resultant changes is returned as [ChangeSet].

\n

pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert a floating txout of given outpoint.

\n

pub fn insert_tx(\n &mut self,\n tx: Transaction\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert and index a transaction into the graph.

\n

pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert an anchor for a given transaction.

\n

pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert a unix timestamp of when a transaction is seen in the mempool.

\n

This is used for transaction conflict resolution in [TxGraph] where the transaction with\nthe later last-seen is prioritized.

\n

pub fn batch_insert_relevant<'t>(\n &mut self,\n txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert transactions, filtering out those that are irrelevant.

\n

Relevancy is determined by the [Indexer::is_tx_relevant] implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

\n

pub fn batch_insert_relevant_unconfirmed<'t>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert unconfirmed transactions, filtering out those that are irrelevant.

\n

Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

\n

Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

\n

pub fn batch_insert_unconfirmed(\n &mut self,\n txs: impl IntoIterator<Item = (Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert unconfirmed transactions.

\n

Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

\n

To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

\n
",0,"example_cli::KeychainTxGraph"]] +"example_cli":[["
source§

impl<A, I> Debug for IndexedTxGraph<A, I>
where\n A: Debug,\n I: Debug,

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","example_cli::KeychainTxGraph"],["
source§

impl<A, I> Default for IndexedTxGraph<A, I>
where\n I: Default,

source§

fn default() -> IndexedTxGraph<A, I>

Returns the “default value” for a type. Read more
","Default","example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>

Methods are available if the anchor (A) implements AnchorFromBlockPosition.

\n
source

pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

\n

Each inserted transaction’s anchor will be constructed from\nAnchorFromBlockPosition::from_block_position.

\n

Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.\nIrrelevant transactions in txs will be ignored.

\n
source

pub fn apply_block(\n &mut self,\n block: Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height.

\n

Each inserted transaction’s anchor will be constructed from\nAnchorFromBlockPosition::from_block_position.

\n

To only insert relevant transactions, use apply_block_relevant instead.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>

source

pub fn new(index: I) -> IndexedTxGraph<A, I>

Construct a new IndexedTxGraph with a given index.

\n
source

pub fn graph(&self) -> &TxGraph<A>

Get a reference of the internal transaction graph.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor,\n I: Indexer,

source

pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>\n)

Applies the ChangeSet to the IndexedTxGraph.

\n
source

pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Determines the ChangeSet between self and an empty IndexedTxGraph.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Append,

source

pub fn apply_update(\n &mut self,\n update: TxGraph<A>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Apply an update directly.

\n

update is a TxGraph<A> and the resultant changes is returned as ChangeSet.

\n
source

pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert a floating txout of given outpoint.

\n
source

pub fn insert_tx(\n &mut self,\n tx: Transaction\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert and index a transaction into the graph.

\n
source

pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert an anchor for a given transaction.

\n
source

pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Insert a unix timestamp of when a transaction is seen in the mempool.

\n

This is used for transaction conflict resolution in TxGraph where the transaction with\nthe later last-seen is prioritized.

\n
source

pub fn batch_insert_relevant<'t>(\n &mut self,\n txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert transactions, filtering out those that are irrelevant.

\n

Relevancy is determined by the Indexer::is_tx_relevant implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

\n
source

pub fn batch_insert_relevant_unconfirmed<'t>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert unconfirmed transactions, filtering out those that are irrelevant.

\n

Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.\nIrrelevant transactions in txs will be ignored.

\n

Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

\n
source

pub fn batch_insert_unconfirmed(\n &mut self,\n txs: impl IntoIterator<Item = (Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert unconfirmed transactions.

\n

Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

\n

To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

\n
",0,"example_cli::KeychainTxGraph"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_persist/changeset/struct.CombinedChangeSet.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_persist/changeset/struct.CombinedChangeSet.js index 1147a475c6..359fb66257 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_persist/changeset/struct.CombinedChangeSet.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_persist/changeset/struct.CombinedChangeSet.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
§

impl<K, A> Append for CombinedChangeSet<K, A>
where\n K: Ord,\n A: Anchor,

§

fn append(&mut self, other: CombinedChangeSet<K, A>)

Append another object of the same type onto self.
§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
","Append","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Clone for CombinedChangeSet<K, A>
where\n K: Clone,\n A: Clone,

§

fn clone(&self) -> CombinedChangeSet<K, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Debug for CombinedChangeSet<K, A>
where\n K: Debug,\n A: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Default for CombinedChangeSet<K, A>

§

fn default() -> CombinedChangeSet<K, A>

Returns the “default value” for a type. Read more
","Default","bdk_wallet::wallet::ChangeSet"],["
§

impl<'de, K, A> Deserialize<'de> for CombinedChangeSet<K, A>
where\n A: Ord + Deserialize<'de>,\n K: Ord + Deserialize<'de>,

§

fn deserialize<__D>(\n __deserializer: __D\n) -> Result<CombinedChangeSet<K, A>, <__D as Deserializer<'de>>::Error>
where\n __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>

§

fn from(chain: BTreeMap<u32, Option<BlockHash>>) -> CombinedChangeSet<K, A>

Converts to this type from the input type.
","From>>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

§

fn from(indexed_tx_graph: ChangeSet<A, ChangeSet<K>>) -> CombinedChangeSet<K, A>

Converts to this type from the input type.
","From>>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> PartialEq for CombinedChangeSet<K, A>
where\n K: PartialEq,\n A: PartialEq,

§

fn eq(&self, other: &CombinedChangeSet<K, A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Serialize for CombinedChangeSet<K, A>
where\n A: Ord + Serialize,\n K: Ord + Serialize,

§

fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where\n __S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> StructuralPartialEq for CombinedChangeSet<K, A>

","StructuralPartialEq","bdk_wallet::wallet::ChangeSet"]] +"bdk_wallet":[["
§

impl<K, A> Append for CombinedChangeSet<K, A>
where\n K: Ord,\n A: Anchor,

§

fn append(&mut self, other: CombinedChangeSet<K, A>)

Append another object of the same type onto self.
§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
","Append","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Clone for CombinedChangeSet<K, A>
where\n K: Clone,\n A: Clone,

§

fn clone(&self) -> CombinedChangeSet<K, A>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Debug for CombinedChangeSet<K, A>
where\n K: Debug,\n A: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Default for CombinedChangeSet<K, A>

§

fn default() -> CombinedChangeSet<K, A>

Returns the “default value” for a type. Read more
","Default","bdk_wallet::wallet::ChangeSet"],["
§

impl<'de, K, A> Deserialize<'de> for CombinedChangeSet<K, A>
where\n A: Ord + Deserialize<'de>,\n K: Ord + Deserialize<'de>,

§

fn deserialize<__D>(\n __deserializer: __D\n) -> Result<CombinedChangeSet<K, A>, <__D as Deserializer<'de>>::Error>
where\n __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> From<BTreeMap<u32, Option<BlockHash>>> for CombinedChangeSet<K, A>

§

fn from(chain: BTreeMap<u32, Option<BlockHash>>) -> CombinedChangeSet<K, A>

Converts to this type from the input type.
","From>>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

§

fn from(indexed_tx_graph: ChangeSet<A, ChangeSet<K>>) -> CombinedChangeSet<K, A>

Converts to this type from the input type.
","From>>","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> PartialEq for CombinedChangeSet<K, A>
where\n K: PartialEq,\n A: PartialEq,

§

fn eq(&self, other: &CombinedChangeSet<K, A>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> Serialize for CombinedChangeSet<K, A>
where\n A: Ord + Serialize,\n K: Ord + Serialize,

§

fn serialize<__S>(\n &self,\n __serializer: __S\n) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where\n __S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::wallet::ChangeSet"],["
§

impl<K, A> StructuralPartialEq for CombinedChangeSet<K, A>

","StructuralPartialEq","bdk_wallet::wallet::ChangeSet"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js index b2de6a042d..7fe413910b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
§

impl<Pk> Clone for Descriptor<Pk>
where\n Pk: Clone + MiniscriptKey,

§

fn clone(&self) -> Descriptor<Pk>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Debug for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n
§Examples
\n
use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
\n
§Errors
\n

This function will return an error if hardened derivation is attempted.

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn plan<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n

pub fn plan_mall<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DescriptorPublicKey>

pub fn is_deriveable(&self) -> bool

👎Deprecated: use has_wildcards instead

Whether or not the descriptor has any wildcards

\n

pub fn has_wildcard(&self) -> bool

Whether or not the descriptor has any wildcards i.e. /*.

\n

pub fn at_derivation_index(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

\n
§Errors
\n
    \n
  • If index ≥ 2^31
  • \n
\n

pub fn derive(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

👎Deprecated: use at_derivation_index instead

Deprecated name for Self::at_derivation_index.

\n

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n

This is a shorthand for:

\n\n
    .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
\n

and is only here really here for backwards compatbility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

\n
§Errors
\n

This function will return an error if hardened derivation is attempted.

\n

pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
where\n C: Signing,

Parse a descriptor that may contain secret keys

\n

Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

\n

pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

Serialize a descriptor to string with its secret keys

\n

pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
where\n C: Verification,

Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

\n

If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

\n

pub fn is_multipath(&self) -> bool

Whether this descriptor contains a key that has multiple derivation paths.

\n

pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

Get as many descriptors as different paths in this descriptor.

\n

For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey + ToPublicKey,

pub fn address(&self, network: Network) -> Result<Address, Error>

Computes the Bitcoin address of the descriptor, if one exists

\n

Some descriptors like pk() don’t have an address.

\n
§Errors
\n

For raw/bare descriptors that don’t have an address.

\n

pub fn script_pubkey(&self) -> ScriptBuf

Computes the scriptpubkey of the descriptor.

\n

pub fn unsigned_script_sig(&self) -> ScriptBuf

Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

\n

This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

\n

pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn script_code(&self) -> Result<ScriptBuf, Error>

Computes the scriptCode of a transaction output.

\n

The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
where\n S: Satisfier<Pk>,

Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey,

pub fn new_pk(pk: Pk) -> Descriptor<Pk>

Create a new pk descriptor

\n

pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new PkH descriptor

\n

pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

\n

pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

\n

pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

\n

pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

\n

pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wpkh descriptor

\n

pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wsh descriptor

\n

pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

\n

pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

\n

pub fn desc_type(&self) -> DescriptorType

Get the [DescriptorType] of Descriptor

\n

pub fn sanity_check(&self) -> Result<(), Error>

Checks whether the descriptor is safe.

\n

Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

\n

In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

\n

pub fn max_weight_to_satisfy(&self) -> Result<usize, Error>

Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

\n

Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

\n

In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

\n\n
ⓘ
for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
\n

Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

\n\n
ⓘ
for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
\n

Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

\n
§Errors
\n

When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

\n

pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

👎Deprecated: use max_weight_to_satisfy instead

Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

\n

Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

\n
§Errors
\n

When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl DescriptorExt for Descriptor<DescriptorPublicKey>

§

fn dust_value(&self) -> u64

Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.
§

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor id, calculated as the sha256 of the descriptor, checksum not\nincluded.
","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: Display,

§

fn deserialize<D>(\n deserializer: D\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Display for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
source§

impl ExtractPolicy for Descriptor<DescriptorPublicKey>

source§

fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>\n) -> Result<Option<Policy>, Error>

Extract the spending policy
","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn for_each_key<'a, F>(&'a self, pred: F) -> bool
where\n F: FnMut(&'a Pk) -> bool,

Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
§

fn for_any_key<'a, F>(&'a self, pred: F) -> bool
where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Bare<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Sh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Tr<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> FromStr for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: ToString,

§

type Err = Error

The associated error which can be returned from parsing.
§

fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

Parses a string s to return a value of this type. Read more
","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> FromTree for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: ToString,

§

fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

Parse an expression tree into a descriptor.

\n
","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Hash for Descriptor<Pk>
where\n Pk: Hash + MiniscriptKey,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Liftable<Pk> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn lift(&self) -> Result<Policy<Pk>, Error>

Converts this object into an abstract policy.
","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Ord for Descriptor<Pk>
where\n Pk: Ord + MiniscriptKey,

§

fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> PartialEq for Descriptor<Pk>
where\n Pk: PartialEq + MiniscriptKey,

§

fn eq(&self, other: &Descriptor<Pk>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> PartialOrd for Descriptor<Pk>
where\n Pk: PartialOrd + MiniscriptKey,

§

fn partial_cmp(&self, other: &Descriptor<Pk>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<'de, Pk> Serialize for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
where\n P: MiniscriptKey,\n Q: MiniscriptKey,

§

fn translate_pk<T, E>(\n &self,\n t: &mut T\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
where\n T: Translator<P, Q, E>,

Converts a descriptor using abstract keys to one using specific keys.

\n
§

type Output = Descriptor<Q>

The associated output type. This must be Self<Q>.
","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Eq for Descriptor<Pk>
where\n Pk: Eq + MiniscriptKey,

","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> StructuralPartialEq for Descriptor<Pk>
where\n Pk: MiniscriptKey,

","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]] +"bdk_wallet":[["
§

impl<Pk> Clone for Descriptor<Pk>
where\n Pk: Clone + MiniscriptKey,

§

fn clone(&self) -> Descriptor<Pk>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Debug for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n
§Examples
\n
use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
\n
§Errors
\n

This function will return an error if hardened derivation is attempted.

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn plan<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n

pub fn plan_mall<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DescriptorPublicKey>

pub fn is_deriveable(&self) -> bool

👎Deprecated: use has_wildcards instead

Whether or not the descriptor has any wildcards

\n

pub fn has_wildcard(&self) -> bool

Whether or not the descriptor has any wildcards i.e. /*.

\n

pub fn at_derivation_index(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

\n
§Errors
\n
    \n
  • If index ≥ 2^31
  • \n
\n

pub fn derive(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

👎Deprecated: use at_derivation_index instead

Deprecated name for Self::at_derivation_index.

\n

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n

This is a shorthand for:

\n\n
    .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
\n

and is only here really here for backwards compatbility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

\n
§Errors
\n

This function will return an error if hardened derivation is attempted.

\n

pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
where\n C: Signing,

Parse a descriptor that may contain secret keys

\n

Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

\n

pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

Serialize a descriptor to string with its secret keys

\n

pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
where\n C: Verification,

Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

\n

If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

\n

pub fn is_multipath(&self) -> bool

Whether this descriptor contains a key that has multiple derivation paths.

\n

pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

Get as many descriptors as different paths in this descriptor.

\n

For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey + ToPublicKey,

pub fn address(&self, network: Network) -> Result<Address, Error>

Computes the Bitcoin address of the descriptor, if one exists

\n

Some descriptors like pk() don’t have an address.

\n
§Errors
\n

For raw/bare descriptors that don’t have an address.

\n

pub fn script_pubkey(&self) -> ScriptBuf

Computes the scriptpubkey of the descriptor.

\n

pub fn unsigned_script_sig(&self) -> ScriptBuf

Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

\n

This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

\n

pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn script_code(&self) -> Result<ScriptBuf, Error>

Computes the scriptCode of a transaction output.

\n

The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
where\n S: Satisfier<Pk>,

Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey,

pub fn new_pk(pk: Pk) -> Descriptor<Pk>

Create a new pk descriptor

\n

pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new PkH descriptor

\n

pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

\n

pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

\n

pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

\n

pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

\n

pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wpkh descriptor

\n

pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wsh descriptor

\n

pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

\n

pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

\n

pub fn desc_type(&self) -> DescriptorType

Get the [DescriptorType] of Descriptor

\n

pub fn sanity_check(&self) -> Result<(), Error>

Checks whether the descriptor is safe.

\n

Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

\n

In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

\n

pub fn max_weight_to_satisfy(&self) -> Result<usize, Error>

Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

\n

Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

\n

In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

\n\n
ⓘ
for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
\n

Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

\n\n
ⓘ
for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
\n

Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

\n
§Errors
\n

When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

\n

pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

👎Deprecated: use max_weight_to_satisfy instead

Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

\n

Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

\n
§Errors
\n

When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
source§

impl DescriptorExt for Descriptor<DescriptorPublicKey>

source§

fn dust_value(&self) -> u64

Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.
source§

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor id, calculated as the sha256 of the descriptor, checksum not\nincluded.
","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: Display,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: Display,

§

fn deserialize<D>(\n deserializer: D\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
where\n D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Display for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
source§

impl ExtractPolicy for Descriptor<DescriptorPublicKey>

source§

fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>\n) -> Result<Option<Policy>, Error>

Extract the spending policy
","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn for_each_key<'a, F>(&'a self, pred: F) -> bool
where\n F: FnMut(&'a Pk) -> bool,

Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
§

fn for_any_key<'a, F>(&'a self, pred: F) -> bool
where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Bare<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Sh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Tr<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

Converts to this type from the input type.
","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> FromStr for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: ToString,

§

type Err = Error

The associated error which can be returned from parsing.
§

fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

Parses a string s to return a value of this type. Read more
","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> FromTree for Descriptor<Pk>
where\n Pk: MiniscriptKey + FromStr,\n <Pk as MiniscriptKey>::Sha256: FromStr,\n <Pk as MiniscriptKey>::Hash256: FromStr,\n <Pk as MiniscriptKey>::Ripemd160: FromStr,\n <Pk as MiniscriptKey>::Hash160: FromStr,\n <Pk as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Sha256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash256 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Ripemd160 as FromStr>::Err: ToString,\n <<Pk as MiniscriptKey>::Hash160 as FromStr>::Err: ToString,

§

fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

Parse an expression tree into a descriptor.

\n
","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Hash for Descriptor<Pk>
where\n Pk: Hash + MiniscriptKey,

§

fn hash<__H>(&self, state: &mut __H)
where\n __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n H: Hasher,\n Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Liftable<Pk> for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn lift(&self) -> Result<Policy<Pk>, Error>

Converts this object into an abstract policy.
","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Ord for Descriptor<Pk>
where\n Pk: Ord + MiniscriptKey,

§

fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · source§

fn max(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

fn min(self, other: Self) -> Self
where\n Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

fn clamp(self, min: Self, max: Self) -> Self
where\n Self: Sized + PartialOrd,

Restrict a value to a certain interval. Read more
","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> PartialEq for Descriptor<Pk>
where\n Pk: PartialEq + MiniscriptKey,

§

fn eq(&self, other: &Descriptor<Pk>) -> bool

This method tests for self and other values to be equal, and is used\nby ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> PartialOrd for Descriptor<Pk>
where\n Pk: PartialOrd + MiniscriptKey,

§

fn partial_cmp(&self, other: &Descriptor<Pk>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · source§

fn lt(&self, other: &Rhs) -> bool

This method tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · source§

fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
1.0.0 · source§

fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · source§

fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<'de, Pk> Serialize for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where\n S: Serializer,

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
where\n P: MiniscriptKey,\n Q: MiniscriptKey,

§

fn translate_pk<T, E>(\n &self,\n t: &mut T\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
where\n T: Translator<P, Q, E>,

Converts a descriptor using abstract keys to one using specific keys.

\n
§

type Output = Descriptor<Q>

The associated output type. This must be Self<Q>.
","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Eq for Descriptor<Pk>
where\n Pk: Eq + MiniscriptKey,

","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> StructuralPartialEq for Descriptor<Pk>
where\n Pk: MiniscriptKey,

","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file