From: github-actions Date: Tue, 2 May 2023 09:38:15 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/struct.CommandStringError.html?a=commitdiff_plain;h=a523228ae5e291733b9669d9bb587eaa757c3cd5;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html index 9d7aab8605..ed2f6eb5b1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html new file mode 100644 index 0000000000..93a4433636 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html @@ -0,0 +1,2 @@ +BIP32_MAX_INDEX in bdk_chain - Rust

Constant bdk_chain::BIP32_MAX_INDEX

source ·
pub const BIP32_MAX_INDEX: u32 = _; // 2_147_483_647u32
Expand description

Maximum BIP32 derivation index.

+
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html index cf47758c6c..dbae70eed6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html @@ -1,2 +1,2 @@ -COINBASE_MATURITY in bdk_chain - Rust

Constant bdk_chain::COINBASE_MATURITY

source ·
pub const COINBASE_MATURITY: u32 = 100;
Expand description

How many confirmations are needed f or a coinbase output to be spent.

+COINBASE_MATURITY in bdk_chain - Rust

Constant bdk_chain::COINBASE_MATURITY

source ·
pub const COINBASE_MATURITY: u32 = 100;
Expand description

How many confirmations are needed f or a coinbase output to be spent.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html index 8e4806b3ec..61ea08d810 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html @@ -1,4 +1,4 @@ -bdk_chain - Rust

Crate bdk_chain

source ·
Expand description

This crate is a collection of core structures for Bitcoin Dev Kit (alpha release).

+bdk_chain - Rust

Crate bdk_chain

source ·
Expand description

This crate is a collection of core structures for Bitcoin Dev Kit (alpha release).

The goal of this crate is to give wallets the mechanisms needed to:

  1. Figure out what data they need to fetch.
  2. @@ -15,4 +15,4 @@ consistently.
  3. Data persistence agnostic – bdk_chain does not care where you cache on-chain data, what you cache or how you fetch it.
-

Re-exports

pub extern crate serde_crate as serde;
pub use bitcoin;
pub use miniscript;

Modules

Module for structures that combine the features of sparse_chain and tx_graph.
Module for keychain related structures.
Module for structures that maintain sparse (purposely incomplete) snapshots of blockchain data.
Module for structures that store and traverse transactions.

Structs

A reference to a block in the canonical chain.
A TxOut with as much data as we can retrieve about it
An index storing TxOuts that have a script pubkey that matches those in a list.

Enums

Block height and timestamp at which a transaction is confirmed.
Represents an observation of some chain data.
Represents the height at which a transaction is confirmed.

Constants

How many confirmations are needed f or a coinbase output to be spent.

Traits

Trait that “anchors” blockchain data to a specific block of height and hash.
Trait that makes an object appendable.
Represents a service that tracks the blockchain.
A trait to extend the functionality of a miniscript descriptor.
Trait to do something with every txout contained in a structure.
\ No newline at end of file +

Re-exports

pub extern crate serde_crate as serde;
pub use bitcoin;
pub use miniscript;

Modules

Module for structures that combine the features of sparse_chain and tx_graph.
Module for keychain related structures.
Module for structures that maintain sparse (purposely incomplete) snapshots of blockchain data.
Module for structures that store and traverse transactions.

Structs

A reference to a block in the canonical chain.
A TxOut with as much data as we can retrieve about it
An iterator for derived script pubkeys.
An index storing TxOuts that have a script pubkey that matches those in a list.

Enums

Block height and timestamp at which a transaction is confirmed.
Represents an observation of some chain data.
Represents the height at which a transaction is confirmed.

Constants

Maximum BIP32 derivation index.
How many confirmations are needed f or a coinbase output to be spent.

Traits

Trait that “anchors” blockchain data to a specific block of height and hash.
Trait that makes an object appendable.
Represents a service that tracks the blockchain.
A trait to extend the functionality of a miniscript descriptor.
Trait to do something with every txout contained in a structure.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html index 3016904dba..423be50a9f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html @@ -11,4 +11,4 @@

Scan and index the given transaction.

Apply additions to itself.

Determines whether the transaction should be included in the index.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.OwnedIndexer.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.OwnedIndexer.html index cad231de6d..3928d8d100 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.OwnedIndexer.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.OwnedIndexer.html @@ -2,4 +2,4 @@ fn is_spk_owned(&self, spk: &Script) -> bool; }
Expand description

A trait that extends Indexer to also index “owned” script pubkeys.

Required Methods§

Determines whether a given script pubkey (spk) is owned.

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/constant.BIP32_MAX_INDEX.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/constant.BIP32_MAX_INDEX.html deleted file mode 100644 index 5fd7a2ea02..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/constant.BIP32_MAX_INDEX.html +++ /dev/null @@ -1,2 +0,0 @@ -BIP32_MAX_INDEX in bdk_chain::keychain - Rust
pub const BIP32_MAX_INDEX: u32 = _; // 2_147_483_647u32
Expand description

Maximum BIP32 derivation index.

-
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/index.html index 434334ecf4..58d118e9b6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/index.html @@ -1,4 +1,4 @@ -bdk_chain::keychain - Rust

Module bdk_chain::keychain

source ·
Expand description

Module for keychain related structures.

+bdk_chain::keychain - Rust

Module bdk_chain::keychain

source ·
Expand description

Module for keychain related structures.

A keychain here is a set of application-defined indexes for a miniscript descriptor where we can derive script pubkeys at a particular derivation index. The application’s index is simply anything that implements Ord.

@@ -10,4 +10,4 @@ changes between both these structures. KeychainTracker and changes made on a KeychainTracker are reported by KeychainChangeSets.

Re-exports

pub use persist::*;

Modules

Persistence for changes made to a KeychainTracker.

Structs

Balance, differentiated into various categories.
Represents updates to the derivation index of a KeychainTxOutIndex.
Represents changes to a KeychainTracker.
An update that includes the last active indexes of each keychain.
A convenient combination of a KeychainTxOutIndex and a ChainGraph.
A convenient wrapper around SpkTxOutIndex that relates script pubkeys to miniscript public -Descriptors.

Constants

Maximum BIP32 derivation index.
\ No newline at end of file +Descriptors.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/sidebar-items.js index f57d9cc969..056dc0db98 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/sidebar-items.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["BIP32_MAX_INDEX","Maximum BIP32 derivation index."]],"mod":[["persist","Persistence for changes made to a `KeychainTracker`."]],"struct":[["Balance","Balance, differentiated into various categories."],["DerivationAdditions","Represents updates to the derivation index of a `KeychainTxOutIndex`."],["KeychainChangeSet","Represents changes to a [`KeychainTracker`]."],["KeychainScan","An update that includes the last active indexes of each keychain."],["KeychainTracker","A convenient combination of a [`KeychainTxOutIndex`] and a [`ChainGraph`]."],["KeychainTxOutIndex","A convenient wrapper around `SpkTxOutIndex` that relates script pubkeys to miniscript public `Descriptor`s."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["persist","Persistence for changes made to a `KeychainTracker`."]],"struct":[["Balance","Balance, differentiated into various categories."],["DerivationAdditions","Represents updates to the derivation index of a `KeychainTxOutIndex`."],["KeychainChangeSet","Represents changes to a [`KeychainTracker`]."],["KeychainScan","An update that includes the last active indexes of each keychain."],["KeychainTracker","A convenient combination of a [`KeychainTxOutIndex`] and a [`ChainGraph`]."],["KeychainTxOutIndex","A convenient wrapper around `SpkTxOutIndex` that relates script pubkeys to miniscript public `Descriptor`s."]]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.KeychainTxOutIndex.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.KeychainTxOutIndex.html index dedc973d98..74fc7af2a7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.KeychainTxOutIndex.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.KeychainTxOutIndex.html @@ -1,4 +1,4 @@ -KeychainTxOutIndex in bdk_chain::keychain - Rust
pub struct KeychainTxOutIndex<K> { /* private fields */ }
Expand description

A convenient wrapper around SpkTxOutIndex that relates script pubkeys to miniscript public +KeychainTxOutIndex in bdk_chain::keychain - Rust

pub struct KeychainTxOutIndex<K> { /* private fields */ }
Expand description

A convenient wrapper around SpkTxOutIndex that relates script pubkeys to miniscript public Descriptors.

Descriptors are referenced by the provided keychain generic (K).

Script pubkeys for a descriptor are revealed chronologically from index 0. I.e., If the last @@ -27,7 +27,7 @@ txout_index.add_keychain(MyKeychain::Internal, internal_descriptor); txout_index.add_keychain(MyKeychain::MyAppUser { user_id: 42 }, descriptor_for_user_42); let new_spk_for_user = txout_index.reveal_next_spk(&MyKeychain::MyAppUser{ user_id: 42 });

-

Implementations§

Scans an object for relevant outpoints, which are stored and indexed internally.

+

Implementations§

Scans an object for relevant outpoints, which are stored and indexed internally.

If the matched script pubkey is part of the lookahead, the last stored index is updated for the script pubkey’s keychain and the DerivationAdditions returned will reflect the change.

@@ -39,35 +39,35 @@ your txouts. your chain state (i.e., SparseChain, ChainGraph).

See ForEachTxout for the types that support this.

-

Scan a single outpoint for a matching script pubkey.

+

Scan a single outpoint for a matching script pubkey.

If it matches, this will store and index it.

-

Return a reference to the internal SpkTxOutIndex.

-

Return a reference to the internal map of the keychain to descriptors.

-

Add a keychain to the tracker’s txout_index with a descriptor to derive addresses.

+

Return a reference to the internal SpkTxOutIndex.

+

Return a reference to the internal map of the keychain to descriptors.

+

Add a keychain to the tracker’s txout_index with a descriptor to derive addresses.

Adding a keychain means you will be able to derive new script pubkeys under that keychain and the txout index will discover transaction outputs with those script pubkeys.

Panics

This will panic if a different descriptor is introduced to the same keychain.

-

Return the lookahead setting for each keychain.

+

Return the lookahead setting for each keychain.

Refer to set_lookahead for a deeper explanation of the lookahead.

-

Convenience method to call set_lookahead for all keychains.

-

Set the lookahead count for keychain.

+

Convenience method to call set_lookahead for all keychains.

+

Set the lookahead count for keychain.

The lookahead is the number of scripts to cache ahead of the last stored script index. This is useful during a scan via scan or scan_txout.

Panics

This will panic if the keychain does not exist.

-

Convenience method to call lookahead_to_target for multiple keychains.

-

Store lookahead scripts until target_index.

+

Convenience method to call lookahead_to_target for multiple keychains.

+

Store lookahead scripts until target_index.

This does not change the lookahead setting.

-

Generates script pubkey iterators for every keychain. The iterators iterate over all +

Generates script pubkey iterators for every keychain. The iterators iterate over all derivable script pubkeys.

-

Generates a script pubkey iterator for the given keychain’s descriptor (if it exists). The +

Generates a script pubkey iterator for the given keychain’s descriptor (if it exists). The iterator iterates over all derivable scripts of the keychain’s descriptor.

Panics

This will panic if the keychain does not exist.

-

Convenience method to get revealed_spks_of_keychain of all keychains.

-

Iterates over the script pubkeys revealed by this index under keychain.

-

Get the next derivation index for keychain. The next index is the index after the last revealed +

Convenience method to get revealed_spks_of_keychain of all keychains.

+

Iterates over the script pubkeys revealed by this index under keychain.

+

Get the next derivation index for keychain. The next index is the index after the last revealed derivation index.

The second field in the returned tuple represents whether the next derivation index is new. There are two scenarios where the next derivation index is reused (not new):

@@ -78,11 +78,11 @@ There are two scenarios where the next derivation index is reused (not new):

Not checking the second field of the tuple may result in address reuse.

Panics

Panics if the keychain does not exist.

-

Get the last derivation index that is revealed for each keychain.

+

Get the last derivation index that is revealed for each keychain.

Keychains with no revealed indices will not be included in the returned BTreeMap.

-

Get the last derivation index revealed for keychain.

-

Convenience method to call Self::reveal_to_target on multiple keychains.

-

Reveals script pubkeys of the keychain’s descriptor up to and including the +

Get the last derivation index revealed for keychain.

+

Convenience method to call Self::reveal_to_target on multiple keychains.

+

Reveals script pubkeys of the keychain’s descriptor up to and including the target_index.

If the target_index cannot be reached (due to the descriptor having no wildcard and/or the target_index is in the hardened index range), this method will make a best-effort and @@ -92,7 +92,7 @@ reveal up to the last possible index.

pubkeys are revealed, then both of these will be empty.

Panics

Panics if keychain does not exist.

-

Attempts to reveal the next script pubkey for keychain.

+

Attempts to reveal the next script pubkey for keychain.

Returns the derivation index of the revealed script pubkey, the revealed script pubkey and a DerivationAdditions which represents changes in the last revealed index (if any).

When a new script cannot be revealed, we return the last revealed script and an empty @@ -103,7 +103,7 @@ pubkeys are revealed, then both of these will be empty.

Panics

Panics if the keychain does not exist.

-

Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest +

Gets the next unused script pubkey in the keychain. I.e., the script pubkey with the lowest index that has not been used yet.

This will derive and reveal a new script pubkey if no more unused script pubkeys exist.

If the descriptor has no wildcard and already has a used script pubkey or if a descriptor @@ -111,24 +111,24 @@ has used all scripts up to the derivation bounds, then the last derived script p returned.

Panics

Panics if keychain has never been added to the index

-

Marks the script pubkey at index as used even though the tracker hasn’t seen an output with it. +

Marks the script pubkey at index as used even though the tracker hasn’t seen an output with it. This only has an effect when the index had been added to self already and was unused.

Returns whether the index was initially present as unused.

This is useful when you want to reserve a script pubkey for something but don’t want to add the transaction output using it to the index yet. Other callers will consider index on keychain used until you call unmark_used.

-

Undoes the effect of mark_used. Returns whether the index is inserted back into +

Undoes the effect of mark_used. Returns whether the index is inserted back into unused.

Note that if self has scanned an output with this script pubkey, then this will have no effect.

-

Iterates over all unused script pubkeys for a keychain stored in the index.

-

Iterates over all the [OutPoint] that have a TxOut with a script pubkey derived from +

Iterates over all unused script pubkeys for a keychain stored in the index.

+

Iterates over all the [OutPoint] that have a TxOut with a script pubkey derived from keychain.

-

Returns the highest derivation index of the keychain where KeychainTxOutIndex has +

Returns the highest derivation index of the keychain where KeychainTxOutIndex has found a [TxOut] with it’s script pubkey.

-

Returns the highest derivation index of each keychain that KeychainTxOutIndex has found +

Returns the highest derivation index of each keychain that KeychainTxOutIndex has found a [TxOut] with it’s script pubkey.

-

Applies the derivation additions to the KeychainTxOutIndex, extending the number of +

Applies the derivation additions to the KeychainTxOutIndex, extending the number of derived scripts per keychain, as specified in the additions.

Methods from Deref<Target = SpkTxOutIndex<(K, u32)>>§

Iterate over all known txouts that spend to tracked script pubkeys.

Finds all txouts on a transaction that has previously been scanned and indexed.

@@ -167,8 +167,8 @@ matches one of our script pubkeys.

have scanned the TxOuts the transaction is spending. For example, if you want to filter out all the transactions in a block that are irrelevant, you must first scan all the transactions in the block and only then use this method.

-

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
The resulting type after dereferencing.
Dereferences the value.
The resultant “additions” when new transaction data is indexed.
Scan and index the given outpoint and txout.
Scan and index the given transaction.
Apply additions to itself.
Determines whether the transaction should be included in the index.
Determines whether a given script pubkey (spk) is owned.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
The resulting type after dereferencing.
Dereferences the value.
The resultant “additions” when new transaction data is indexed.
Scan and index the given outpoint and txout.
Scan and index the given transaction.
Apply additions to itself.
Determines whether the transaction should be included in the index.
Determines whether a given script pubkey (spk) is owned.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

-
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file +
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/txout_index/constant.BIP32_MAX_INDEX.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/txout_index/constant.BIP32_MAX_INDEX.html deleted file mode 100644 index fa2b902399..0000000000 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/txout_index/constant.BIP32_MAX_INDEX.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - Redirection - - -

Redirecting to ../../../bdk_chain/keychain/constant.BIP32_MAX_INDEX.html...

- - - \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js index 81cad8a580..9d4b167b97 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["COINBASE_MATURITY","How many confirmations are needed f or a coinbase output to be spent."]],"enum":[["ConfirmationTime","Block height and timestamp at which a transaction is confirmed."],["ObservedAs","Represents an observation of some chain data."],["TxHeight","Represents the height at which a transaction is confirmed."]],"externcrate":[["serde",""]],"mod":[["chain_graph","Module for structures that combine the features of [`sparse_chain`] and [`tx_graph`]."],["indexed_tx_graph",""],["keychain","Module for keychain related structures."],["local_chain",""],["sparse_chain","Module for structures that maintain sparse (purposely incomplete) snapshots of blockchain data."],["tx_graph","Module for structures that store and traverse transactions."]],"struct":[["BlockId","A reference to a block in the canonical chain."],["FullTxOut","A `TxOut` with as much data as we can retrieve about it"],["SpkTxOutIndex","An index storing `TxOut`s that have a script pubkey that matches those in a list."]],"trait":[["Anchor","Trait that “anchors” blockchain data to a specific block of height and hash."],["Append","Trait that makes an object appendable."],["ChainOracle","Represents a service that tracks the blockchain."],["DescriptorExt","A trait to extend the functionality of a miniscript descriptor."],["ForEachTxOut","Trait to do something with every txout contained in a structure."]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["BIP32_MAX_INDEX","Maximum BIP32 derivation index."],["COINBASE_MATURITY","How many confirmations are needed f or a coinbase output to be spent."]],"enum":[["ConfirmationTime","Block height and timestamp at which a transaction is confirmed."],["ObservedAs","Represents an observation of some chain data."],["TxHeight","Represents the height at which a transaction is confirmed."]],"externcrate":[["serde",""]],"mod":[["chain_graph","Module for structures that combine the features of [`sparse_chain`] and [`tx_graph`]."],["indexed_tx_graph",""],["keychain","Module for keychain related structures."],["local_chain",""],["sparse_chain","Module for structures that maintain sparse (purposely incomplete) snapshots of blockchain data."],["tx_graph","Module for structures that store and traverse transactions."]],"struct":[["BlockId","A reference to a block in the canonical chain."],["FullTxOut","A `TxOut` with as much data as we can retrieve about it"],["SpkIterator","An iterator for derived script pubkeys."],["SpkTxOutIndex","An index storing `TxOut`s that have a script pubkey that matches those in a list."]],"trait":[["Anchor","Trait that “anchors” blockchain data to a specific block of height and hash."],["Append","Trait that makes an object appendable."],["ChainOracle","Represents a service that tracks the blockchain."],["DescriptorExt","A trait to extend the functionality of a miniscript descriptor."],["ForEachTxOut","Trait to do something with every txout contained in a structure."]]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/constant.BIP32_MAX_INDEX.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/constant.BIP32_MAX_INDEX.html new file mode 100644 index 0000000000..5a85b625aa --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/constant.BIP32_MAX_INDEX.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../bdk_chain/constant.BIP32_MAX_INDEX.html...

+ + + \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/struct.SpkIterator.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/struct.SpkIterator.html new file mode 100644 index 0000000000..d880bced3f --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_iter/struct.SpkIterator.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

Redirecting to ../../bdk_chain/struct.SpkIterator.html...

+ + + \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html new file mode 100644 index 0000000000..00581b47b8 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html @@ -0,0 +1,50 @@ +SpkIterator in bdk_chain - Rust

Struct bdk_chain::SpkIterator

source ·
pub struct SpkIterator<D> { /* private fields */ }
Expand description

An iterator for derived script pubkeys.

+

SpkIterator is an implementation of the Iterator trait which possesses its own next() +and nth() functions, both of which circumvent the unnecessary intermediate derivations required +when using their default implementations.

+

Examples

+
use bdk_chain::SpkIterator;
+
+// Creates a new script pubkey iterator starting at 0 from a descriptor.
+let mut spk_iter = SpkIterator::new(&descriptor);
+assert_eq!(spk_iter.next(), Some((0, external_spk_0)));
+assert_eq!(spk_iter.next(), None);
+

Implementations§

Creates a new script pubkey iterator starting at 0 from a descriptor.

+

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
The type of the elements being iterated over.
Advances the iterator and returns the next value. Read more
Returns the nth element of the iterator. Read more
🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
Returns the bounds on the remaining length of the iterator. Read more
Consumes the iterator, counting the number of iterations and returning it. Read more
Consumes the iterator, returning the last element. Read more
🔬This is a nightly-only experimental API. (iter_advance_by)
Advances the iterator by n elements. Read more
Creates an iterator starting at the same point, but stepping by +the given amount at each iteration. Read more
Takes two iterators and creates a new iterator over both in sequence. Read more
‘Zips up’ two iterators into a single iterator of pairs. Read more
🔬This is a nightly-only experimental API. (iter_intersperse)
Creates a new iterator which places an item generated by separator +between adjacent items of the original iterator. Read more
Takes a closure and creates an iterator which calls that closure on each +element. Read more
Calls a closure on each element of an iterator. Read more
Creates an iterator which uses a closure to determine if an element +should be yielded. Read more
Creates an iterator that both filters and maps. Read more
Creates an iterator which gives the current iteration count as well as +the next value. Read more
Creates an iterator which can use the peek and peek_mut methods +to look at the next element of the iterator without consuming it. See +their documentation for more information. Read more
Creates an iterator that skips elements based on a predicate. Read more
Creates an iterator that yields elements based on a predicate. Read more
Creates an iterator that both yields elements based on a predicate and maps. Read more
Creates an iterator that skips the first n elements. Read more
Creates an iterator that yields the first n elements, or fewer +if the underlying iterator ends sooner. Read more
An iterator adapter similar to fold that holds internal state and +produces a new iterator. Read more
Creates an iterator that works like map, but flattens nested structure. Read more
Creates an iterator which ends after the first None. Read more
Does something with each element of an iterator, passing the value on. Read more
Borrows an iterator, rather than consuming it. Read more
Transforms an iterator into a collection. Read more
🔬This is a nightly-only experimental API. (iter_collect_into)
Collects all the items from an iterator into a collection. Read more
Consumes an iterator, creating two collections from it. Read more
🔬This is a nightly-only experimental API. (iter_is_partitioned)
Checks if the elements of this iterator are partitioned according to the given predicate, +such that all those that return true precede all those that return false. Read more
An iterator method that applies a function as long as it returns +successfully, producing a single, final value. Read more
An iterator method that applies a fallible function to each item in the +iterator, stopping at the first error and returning that error. Read more
Folds every element into an accumulator by applying an operation, +returning the final result. Read more
Reduces the elements to a single one, by repeatedly applying a reducing +operation. Read more
🔬This is a nightly-only experimental API. (iterator_try_reduce)
Reduces the elements to a single one by repeatedly applying a reducing operation. If the +closure returns a failure, the failure is propagated back to the caller immediately. Read more
Tests if every element of the iterator matches a predicate. Read more
Tests if any element of the iterator matches a predicate. Read more
Searches for an element of an iterator that satisfies a predicate. Read more
Applies function to the elements of iterator and returns +the first non-none result. Read more
🔬This is a nightly-only experimental API. (try_find)
Applies function to the elements of iterator and returns +the first true result or the first error. Read more
Searches for an element in an iterator, returning its index. Read more
Returns the element that gives the maximum value from the +specified function. Read more
Returns the element that gives the maximum value with respect to the +specified comparison function. Read more
Returns the element that gives the minimum value from the +specified function. Read more
Returns the element that gives the minimum value with respect to the +specified comparison function. Read more
Converts an iterator of pairs into a pair of containers. Read more
Creates an iterator which copies all of its elements. Read more
Creates an iterator which clones all of its elements. Read more
🔬This is a nightly-only experimental API. (iter_array_chunks)
Returns an iterator over N elements of the iterator at a time. Read more
Sums the elements of an iterator. Read more
Iterates over the entire iterator, multiplying all the elements Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Lexicographically compares the elements of this Iterator with those +of another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Lexicographically compares the elements of this Iterator with those +of another with respect to the specified comparison function. Read more
Determines if the elements of this Iterator are equal to those of +another. Read more
🔬This is a nightly-only experimental API. (iter_order_by)
Determines if the elements of this Iterator are equal to those of +another with respect to the specified equality function. Read more
Determines if the elements of this Iterator are unequal to those of +another. Read more
Determines if the elements of this Iterator are lexicographically +less than those of another. Read more
Determines if the elements of this Iterator are lexicographically +less or equal to those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than those of another. Read more
Determines if the elements of this Iterator are lexicographically +greater than or equal to those of another. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given comparator function. Read more
🔬This is a nightly-only experimental API. (is_sorted)
Checks if the elements of this iterator are sorted using the given key extraction +function. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

+

Calls U::from(self).

+

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

+
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Creates an iterator from a value. Read more
Choose one element at random from the iterator. Read more
Choose one element at random from the iterator. Read more
Collects values at random from the iterator into a supplied buffer +until that buffer is filled. Read more
Collects amount values at random from the iterator into a vector. Read more
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
\ 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 459a36dac8..a3d7f86a29 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 @@ -Rustdoc help

Rustdoc help

Back
\ No newline at end of file +Rustdoc help

Rustdoc help

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/clone/trait.Clone.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/clone/trait.Clone.js index 51dd79c48b..dfeea942bd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/clone/trait.Clone.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/clone/trait.Clone.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl Clone for PkOrF"],["impl Clone for SatisfiableItem"],["impl Clone for Satisfaction"],["impl Clone for Policy"],["impl Clone for Condition"],["impl<'a> Clone for BuildSatisfaction<'a>"],["impl Clone for ScriptContextEnum"],["impl<K: Clone, Ctx: ScriptContext> Clone for GeneratedKey<K, Ctx>"],["impl Clone for PrivateKeyGenerateOptions"],["impl Clone for KeychainKind"],["impl Clone for FeeRate"],["impl Clone for LocalUtxo"],["impl Clone for WeightedUtxo"],["impl Clone for Utxo"],["impl Clone for TransactionDetails"],["impl Clone for LargestFirstCoinSelection"],["impl Clone for OldestFirstCoinSelection"],["impl Clone for BranchAndBoundCoinSelection"],["impl Clone for SignerId"],["impl Clone for SignerError"],["impl Clone for SignerContext"],["impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>"],["impl Clone for SignerOrdering"],["impl Clone for SignersContainer"],["impl Clone for SignOptions"],["impl Clone for TapLeavesOptions"],["impl Clone for CreateTx"],["impl Clone for BumpFee"],["impl<'a, D, Cs: Clone, Ctx> Clone for TxBuilder<'a, D, Cs, Ctx>"],["impl Clone for TxOrdering"],["impl Clone for ChangeSpendPolicy"]], -"bdk_chain":[["impl<P: Clone> Clone for ChainGraph<P>"],["impl<P: Clone> Clone for ChangeSet<P>"],["impl<P: Clone> Clone for NewError<P>"],["impl<P: Clone> Clone for InsertTxError<P>"],["impl<P: Clone> Clone for UpdateError<P>"],["impl<P: Clone> Clone for UnresolvableConflict<P>"],["impl<I: Clone> Clone for SpkTxOutIndex<I>"],["impl<A: Clone> Clone for ObservedAs<A>"],["impl Clone for TxHeight"],["impl Clone for ConfirmationTime"],["impl Clone for BlockId"],["impl<P: Clone> Clone for FullTxOut<P>"],["impl<A: Clone, IA: Clone> Clone for IndexedAdditions<A, IA>"],["impl<K: Clone, P: Clone> Clone for KeychainTracker<K, P>"],["impl<K: Clone> Clone for KeychainTxOutIndex<K>"],["impl<K: Clone> Clone for DerivationAdditions<K>"],["impl<K: Clone, P: Clone> Clone for KeychainScan<K, P>"],["impl<K: Clone, P: Clone> Clone for KeychainChangeSet<K, P>"],["impl Clone for Balance"],["impl Clone for LocalChain"],["impl Clone for UpdateNotConnectedError"],["impl<P: Clone> Clone for SparseChain<P>"],["impl<P: Clone> Clone for InsertTxError<P>"],["impl Clone for InsertCheckpointError"],["impl<P: Clone> Clone for UpdateError<P>"],["impl<P: Clone> Clone for ChangeSet<P>"],["impl<A: Clone> Clone for TxGraph<A>"],["impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>"],["impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>"],["impl<A: Clone> Clone for Additions<A>"]], +"bdk_chain":[["impl<P: Clone> Clone for ChainGraph<P>"],["impl<P: Clone> Clone for ChangeSet<P>"],["impl<P: Clone> Clone for NewError<P>"],["impl<P: Clone> Clone for InsertTxError<P>"],["impl<P: Clone> Clone for UpdateError<P>"],["impl<P: Clone> Clone for UnresolvableConflict<P>"],["impl<I: Clone> Clone for SpkTxOutIndex<I>"],["impl<A: Clone> Clone for ObservedAs<A>"],["impl Clone for TxHeight"],["impl Clone for ConfirmationTime"],["impl Clone for BlockId"],["impl<P: Clone> Clone for FullTxOut<P>"],["impl<A: Clone, IA: Clone> Clone for IndexedAdditions<A, IA>"],["impl<K: Clone, P: Clone> Clone for KeychainTracker<K, P>"],["impl<K: Clone> Clone for KeychainTxOutIndex<K>"],["impl<K: Clone> Clone for DerivationAdditions<K>"],["impl<K: Clone, P: Clone> Clone for KeychainScan<K, P>"],["impl<K: Clone, P: Clone> Clone for KeychainChangeSet<K, P>"],["impl Clone for Balance"],["impl Clone for LocalChain"],["impl Clone for UpdateNotConnectedError"],["impl<P: Clone> Clone for SparseChain<P>"],["impl<P: Clone> Clone for InsertTxError<P>"],["impl Clone for InsertCheckpointError"],["impl<P: Clone> Clone for UpdateError<P>"],["impl<P: Clone> Clone for ChangeSet<P>"],["impl<A: Clone> Clone for TxGraph<A>"],["impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>"],["impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>"],["impl<A: Clone> Clone for Additions<A>"],["impl<D: Clone> Clone for SpkIterator<D>"]], "bdk_coin_select":[["impl Clone for WeightedValue"],["impl Clone for CoinSelectorOpt"],["impl<'a> Clone for CoinSelector<'a>"],["impl Clone for SelectionError"],["impl Clone for SelectionConstraint"],["impl Clone for Selection"],["impl Clone for ExcessStrategyKind"],["impl Clone for ExcessStrategy"]], "bdk_tmp_plan":[["impl<Ak: Clone> Clone for Requirements<Ak>"],["impl<Ak: Clone> Clone for RequiredSignatures<Ak>"],["impl Clone for SigningError"],["impl<Ak: Clone> Clone for PlanKey<Ak>"],["impl<AK: Clone> Clone for Plan<AK>"],["impl Clone for SatisfactionMaterial"],["impl<K: Clone> Clone for Assets<K>"]], "keychain_tracker_electrum_example":[["impl Clone for ElectrumCommands"],["impl Clone for ScanOptions"]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/iter/traits/iterator/trait.Iterator.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/iter/traits/iterator/trait.Iterator.js index 096f588444..8778612cb6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/iter/traits/iterator/trait.Iterator.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/iter/traits/iterator/trait.Iterator.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"bdk_chain":[["impl<'g, A, F, O> Iterator for TxDescendants<'g, A, F>where
    F: FnMut(usize, Txid) -> Option<O>,
"]], +"bdk_chain":[["impl<'g, A, F, O> Iterator for TxDescendants<'g, A, F>where
    F: FnMut(usize, Txid) -> Option<O>,
"],["impl<D> Iterator for SpkIterator<D>where
    D: Borrow<Descriptor<DescriptorPublicKey>>,
"]], "bdk_coin_select":[["impl<'c, 'f, S: Ord + Copy + Display> Iterator for BnbIter<'c, 'f, S>"]], "bdk_file_store":[["impl<'a, V> Iterator for EntryIter<'a, V>where
    V: DeserializeOwned,
"]] };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/implementors/core/marker/trait.Freeze.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Freeze.js index e1fafd00e6..6d624b60bd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Freeze.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Freeze.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl Freeze for Error",1,["bdk::error::Error"]],["impl Freeze for Error",1,["bdk::descriptor::error::Error"]],["impl Freeze for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl Freeze for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl Freeze for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl Freeze for Policy",1,["bdk::descriptor::policy::Policy"]],["impl Freeze for Condition",1,["bdk::descriptor::policy::Condition"]],["impl Freeze for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> Freeze for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> Freeze for P2Pkh<K>where
    K: Freeze,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> Freeze for P2Wpkh_P2Sh<K>where
    K: Freeze,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> Freeze for P2Wpkh<K>where
    K: Freeze,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> Freeze for Bip44<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> Freeze for Bip44Public<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> Freeze for Bip49<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> Freeze for Bip49Public<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> Freeze for Bip84<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> Freeze for Bip84Public<K>where
    K: Freeze,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> Freeze for DescriptorKey<Ctx>",1,["bdk::keys::DescriptorKey"]],["impl Freeze for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> Freeze for ExtendedKey<Ctx>",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> Freeze for GeneratedKey<K, Ctx>where
    K: Freeze,
",1,["bdk::keys::GeneratedKey"]],["impl Freeze for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl Freeze for KeyError",1,["bdk::keys::KeyError"]],["impl Freeze for KeychainKind",1,["bdk::types::KeychainKind"]],["impl Freeze for FeeRate",1,["bdk::types::FeeRate"]],["impl Freeze for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl Freeze for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl Freeze for Utxo",1,["bdk::types::Utxo"]],["impl Freeze for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl Freeze for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl Freeze for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl Freeze for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Freeze for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Freeze for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Freeze for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl Freeze for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl Freeze for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl Freeze for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> Freeze for SignerWrapper<S>where
    S: Freeze,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl Freeze for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl Freeze for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl Freeze for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl Freeze for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl Freeze for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl Freeze for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> Freeze for TxBuilder<'a, D, Cs, Ctx>where
    Cs: Freeze,
",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl Freeze for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl Freeze for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D> Freeze for Wallet<D>where
    D: Freeze,
",1,["bdk::wallet::Wallet"]],["impl Freeze for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl Freeze for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> Freeze for NewError<P>where
    P: Freeze,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> Freeze for ChainGraph<P>",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Freeze for ChangeSet<P>",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Freeze for NewError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Freeze for InsertTxError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Freeze for UpdateError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Freeze for UnresolvableConflict<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Freeze for SpkTxOutIndex<I>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Freeze for ObservedAs<A>where
    A: Freeze,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Freeze for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Freeze for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Freeze for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Freeze for FullTxOut<P>where
    P: Freeze,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Freeze for IndexedTxGraph<A, I>where
    I: Freeze,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Freeze for IndexedAdditions<A, IA>where
    IA: Freeze,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Freeze for Persist<K, P, B>where
    B: Freeze,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Freeze for KeychainTracker<K, P>",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Freeze for KeychainTxOutIndex<K>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Freeze for DerivationAdditions<K>",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Freeze for KeychainScan<K, P>",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Freeze for KeychainChangeSet<K, P>",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Freeze for Balance",1,["bdk_chain::keychain::Balance"]],["impl Freeze for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Freeze for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Freeze for SparseChain<P>",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Freeze for InsertTxError<P>where
    P: Freeze,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Freeze for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Freeze for UpdateError<P>where
    P: Freeze,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Freeze for ChangeSet<P>",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Freeze for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Freeze for TxNode<'a, T, A>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Freeze for Additions<A>",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Freeze for TxDescendants<'g, A, F>where
    F: Freeze,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> Freeze for ChainGraph<P>",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Freeze for ChangeSet<P>",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Freeze for NewError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Freeze for InsertTxError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Freeze for UpdateError<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Freeze for UnresolvableConflict<P>where
    P: Freeze,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Freeze for SpkTxOutIndex<I>",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Freeze for ObservedAs<A>where
    A: Freeze,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Freeze for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Freeze for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Freeze for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Freeze for FullTxOut<P>where
    P: Freeze,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Freeze for IndexedTxGraph<A, I>where
    I: Freeze,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Freeze for IndexedAdditions<A, IA>where
    IA: Freeze,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Freeze for Persist<K, P, B>where
    B: Freeze,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Freeze for KeychainTracker<K, P>",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Freeze for KeychainTxOutIndex<K>",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Freeze for DerivationAdditions<K>",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Freeze for KeychainScan<K, P>",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Freeze for KeychainChangeSet<K, P>",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Freeze for Balance",1,["bdk_chain::keychain::Balance"]],["impl Freeze for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Freeze for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Freeze for SparseChain<P>",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Freeze for InsertTxError<P>where
    P: Freeze,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Freeze for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Freeze for UpdateError<P>where
    P: Freeze,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Freeze for ChangeSet<P>",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Freeze for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Freeze for TxNode<'a, T, A>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Freeze for Additions<A>",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Freeze for TxDescendants<'g, A, F>where
    F: Freeze,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> Freeze for SpkIterator<D>where
    D: Freeze,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl Freeze for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl Freeze for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> Freeze for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl Freeze for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl Freeze for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl Freeze for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl Freeze for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl Freeze for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl Freeze for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> Freeze for Bnb<'c, S>where
    S: Freeze,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> Freeze for BnbIter<'c, 'f, S>where
    S: Freeze,
",1,["bdk_coin_select::bnb::BnbIter"]],["impl Freeze for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> Freeze for ElectrumUpdate<K, P>",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> Freeze for KeychainStore<K, P>",1,["bdk_file_store::file_store::KeychainStore"]],["impl Freeze for FileError",1,["bdk_file_store::file_store::FileError"]],["impl Freeze for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> Freeze for EntryIter<'a, V>",1,["bdk_file_store::file_store::EntryIter"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Send.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Send.js index c74282df49..82bc0fb0e3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Send.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Send.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl Send for Error",1,["bdk::error::Error"]],["impl Send for Error",1,["bdk::descriptor::error::Error"]],["impl Send for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl Send for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl Send for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl Send for Policy",1,["bdk::descriptor::policy::Policy"]],["impl Send for Condition",1,["bdk::descriptor::policy::Condition"]],["impl Send for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> Send for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> Send for P2Pkh<K>where
    K: Send,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> Send for P2Wpkh_P2Sh<K>where
    K: Send,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> Send for P2Wpkh<K>where
    K: Send,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> Send for Bip44<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> Send for Bip44Public<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> Send for Bip49<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> Send for Bip49Public<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> Send for Bip84<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> Send for Bip84Public<K>where
    K: Send,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> Send for DescriptorKey<Ctx>where
    Ctx: Send,
",1,["bdk::keys::DescriptorKey"]],["impl Send for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> Send for ExtendedKey<Ctx>where
    Ctx: Send,
",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> Send for GeneratedKey<K, Ctx>where
    Ctx: Send,
    K: Send,
",1,["bdk::keys::GeneratedKey"]],["impl Send for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl Send for KeyError",1,["bdk::keys::KeyError"]],["impl Send for KeychainKind",1,["bdk::types::KeychainKind"]],["impl Send for FeeRate",1,["bdk::types::FeeRate"]],["impl Send for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl Send for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl Send for Utxo",1,["bdk::types::Utxo"]],["impl Send for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl Send for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl Send for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl Send for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Send for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Send for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Send for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl Send for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl Send for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl Send for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> Send for SignerWrapper<S>where
    S: Send,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl Send for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl Send for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl Send for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl Send for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl Send for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl Send for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> !Send for TxBuilder<'a, D, Cs, Ctx>",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl Send for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl Send for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D> Send for Wallet<D>where
    D: Send,
",1,["bdk::wallet::Wallet"]],["impl Send for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl Send for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> Send for NewError<P>where
    P: Send,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> Send for ChainGraph<P>where
    P: Send,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Send for ChangeSet<P>where
    P: Send,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Send for NewError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Send for InsertTxError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Send for UpdateError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Send for UnresolvableConflict<P>where
    P: Send,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Send for SpkTxOutIndex<I>where
    I: Send,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Send for ObservedAs<A>where
    A: Send,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Send for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Send for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Send for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Send for FullTxOut<P>where
    P: Send,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Send for IndexedTxGraph<A, I>where
    A: Send,
    I: Send,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Send for IndexedAdditions<A, IA>where
    A: Send,
    IA: Send,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Send for Persist<K, P, B>where
    B: Send,
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Send for KeychainTracker<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Send for KeychainTxOutIndex<K>where
    K: Send,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Send for DerivationAdditions<K>where
    K: Send,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Send for KeychainScan<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Send for KeychainChangeSet<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Send for Balance",1,["bdk_chain::keychain::Balance"]],["impl Send for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Send for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Send for SparseChain<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Send for InsertTxError<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Send for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Send for UpdateError<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Send for ChangeSet<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Send for TxGraph<A>where
    A: Send,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Send for TxNode<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Send for CanonicalTx<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Send for Additions<A>where
    A: Send,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Send for TxDescendants<'g, A, F>where
    A: Sync,
    F: Send,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> Send for ChainGraph<P>where
    P: Send,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Send for ChangeSet<P>where
    P: Send,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Send for NewError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Send for InsertTxError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Send for UpdateError<P>where
    P: Send,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Send for UnresolvableConflict<P>where
    P: Send,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Send for SpkTxOutIndex<I>where
    I: Send,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Send for ObservedAs<A>where
    A: Send,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Send for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Send for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Send for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Send for FullTxOut<P>where
    P: Send,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Send for IndexedTxGraph<A, I>where
    A: Send,
    I: Send,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Send for IndexedAdditions<A, IA>where
    A: Send,
    IA: Send,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Send for Persist<K, P, B>where
    B: Send,
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Send for KeychainTracker<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Send for KeychainTxOutIndex<K>where
    K: Send,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Send for DerivationAdditions<K>where
    K: Send,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Send for KeychainScan<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Send for KeychainChangeSet<K, P>where
    K: Send,
    P: Send,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Send for Balance",1,["bdk_chain::keychain::Balance"]],["impl Send for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Send for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Send for SparseChain<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Send for InsertTxError<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Send for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Send for UpdateError<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Send for ChangeSet<P>where
    P: Send,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Send for TxGraph<A>where
    A: Send,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Send for TxNode<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Send for CanonicalTx<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Send for Additions<A>where
    A: Send,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Send for TxDescendants<'g, A, F>where
    A: Sync,
    F: Send,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> Send for SpkIterator<D>where
    D: Send,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl Send for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl Send for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> Send for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl Send for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl Send for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl Send for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl Send for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl Send for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl Send for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> Send for Bnb<'c, S>where
    S: Send,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> !Send for BnbIter<'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl Send for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> Send for ElectrumUpdate<K, P>where
    K: Send,
    P: Send,
",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> Send for KeychainStore<K, P>where
    K: Send,
    P: Send,
",1,["bdk_file_store::file_store::KeychainStore"]],["impl Send for FileError",1,["bdk_file_store::file_store::FileError"]],["impl Send for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> Send for EntryIter<'a, V>where
    V: Send,
",1,["bdk_file_store::file_store::EntryIter"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Sync.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Sync.js index 7418fd284d..aefac4ed1a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Sync.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Sync.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl Sync for Error",1,["bdk::error::Error"]],["impl Sync for Error",1,["bdk::descriptor::error::Error"]],["impl Sync for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl Sync for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl Sync for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl Sync for Policy",1,["bdk::descriptor::policy::Policy"]],["impl Sync for Condition",1,["bdk::descriptor::policy::Condition"]],["impl Sync for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> Sync for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> Sync for P2Pkh<K>where
    K: Sync,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> Sync for P2Wpkh_P2Sh<K>where
    K: Sync,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> Sync for P2Wpkh<K>where
    K: Sync,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> Sync for Bip44<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> Sync for Bip44Public<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> Sync for Bip49<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> Sync for Bip49Public<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> Sync for Bip84<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> Sync for Bip84Public<K>where
    K: Sync,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> Sync for DescriptorKey<Ctx>where
    Ctx: Sync,
",1,["bdk::keys::DescriptorKey"]],["impl Sync for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> Sync for ExtendedKey<Ctx>where
    Ctx: Sync,
",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> Sync for GeneratedKey<K, Ctx>where
    Ctx: Sync,
    K: Sync,
",1,["bdk::keys::GeneratedKey"]],["impl Sync for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl Sync for KeyError",1,["bdk::keys::KeyError"]],["impl Sync for KeychainKind",1,["bdk::types::KeychainKind"]],["impl Sync for FeeRate",1,["bdk::types::FeeRate"]],["impl Sync for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl Sync for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl Sync for Utxo",1,["bdk::types::Utxo"]],["impl Sync for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl Sync for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl Sync for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl Sync for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Sync for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Sync for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Sync for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl Sync for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl Sync for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl Sync for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> Sync for SignerWrapper<S>where
    S: Sync,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl Sync for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl Sync for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl Sync for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl Sync for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl Sync for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl Sync for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> !Sync for TxBuilder<'a, D, Cs, Ctx>",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl Sync for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl Sync for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D> Sync for Wallet<D>where
    D: Sync,
",1,["bdk::wallet::Wallet"]],["impl Sync for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl Sync for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> Sync for NewError<P>where
    P: Sync,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> Sync for ChainGraph<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Sync for ChangeSet<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Sync for NewError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Sync for InsertTxError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Sync for UpdateError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Sync for UnresolvableConflict<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Sync for SpkTxOutIndex<I>where
    I: Sync,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Sync for ObservedAs<A>where
    A: Sync,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Sync for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Sync for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Sync for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Sync for FullTxOut<P>where
    P: Sync,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Sync for IndexedTxGraph<A, I>where
    A: Sync,
    I: Sync,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Sync for IndexedAdditions<A, IA>where
    A: Sync,
    IA: Sync,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Sync for Persist<K, P, B>where
    B: Sync,
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Sync for KeychainTracker<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Sync for KeychainTxOutIndex<K>where
    K: Sync,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Sync for DerivationAdditions<K>where
    K: Sync,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Sync for KeychainScan<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Sync for KeychainChangeSet<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Sync for Balance",1,["bdk_chain::keychain::Balance"]],["impl Sync for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Sync for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Sync for SparseChain<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Sync for InsertTxError<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Sync for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Sync for UpdateError<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Sync for ChangeSet<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Sync for TxGraph<A>where
    A: Sync,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Sync for TxNode<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Sync for CanonicalTx<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Sync for Additions<A>where
    A: Sync,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Sync for TxDescendants<'g, A, F>where
    A: Sync,
    F: Sync,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> Sync for ChainGraph<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Sync for ChangeSet<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Sync for NewError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Sync for InsertTxError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Sync for UpdateError<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Sync for UnresolvableConflict<P>where
    P: Sync,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Sync for SpkTxOutIndex<I>where
    I: Sync,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Sync for ObservedAs<A>where
    A: Sync,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Sync for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Sync for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Sync for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Sync for FullTxOut<P>where
    P: Sync,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Sync for IndexedTxGraph<A, I>where
    A: Sync,
    I: Sync,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Sync for IndexedAdditions<A, IA>where
    A: Sync,
    IA: Sync,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Sync for Persist<K, P, B>where
    B: Sync,
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Sync for KeychainTracker<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Sync for KeychainTxOutIndex<K>where
    K: Sync,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Sync for DerivationAdditions<K>where
    K: Sync,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Sync for KeychainScan<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Sync for KeychainChangeSet<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Sync for Balance",1,["bdk_chain::keychain::Balance"]],["impl Sync for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Sync for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Sync for SparseChain<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Sync for InsertTxError<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Sync for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Sync for UpdateError<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Sync for ChangeSet<P>where
    P: Sync,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Sync for TxGraph<A>where
    A: Sync,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Sync for TxNode<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Sync for CanonicalTx<'a, T, A>where
    A: Sync,
    T: Sync,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Sync for Additions<A>where
    A: Sync,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Sync for TxDescendants<'g, A, F>where
    A: Sync,
    F: Sync,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> Sync for SpkIterator<D>where
    D: Sync,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl Sync for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl Sync for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> Sync for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl Sync for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl Sync for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl Sync for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl Sync for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl Sync for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl Sync for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> Sync for Bnb<'c, S>where
    S: Sync,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> !Sync for BnbIter<'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl Sync for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> Sync for ElectrumUpdate<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> Sync for KeychainStore<K, P>where
    K: Sync,
    P: Sync,
",1,["bdk_file_store::file_store::KeychainStore"]],["impl Sync for FileError",1,["bdk_file_store::file_store::FileError"]],["impl Sync for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> Sync for EntryIter<'a, V>where
    V: Sync,
",1,["bdk_file_store::file_store::EntryIter"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Unpin.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Unpin.js index 70feb2cc32..5a4a79dea9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Unpin.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Unpin.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl Unpin for Error",1,["bdk::error::Error"]],["impl Unpin for Error",1,["bdk::descriptor::error::Error"]],["impl Unpin for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl Unpin for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl Unpin for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl Unpin for Policy",1,["bdk::descriptor::policy::Policy"]],["impl Unpin for Condition",1,["bdk::descriptor::policy::Condition"]],["impl Unpin for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> Unpin for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> Unpin for P2Pkh<K>where
    K: Unpin,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> Unpin for P2Wpkh_P2Sh<K>where
    K: Unpin,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> Unpin for P2Wpkh<K>where
    K: Unpin,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> Unpin for Bip44<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> Unpin for Bip44Public<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> Unpin for Bip49<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> Unpin for Bip49Public<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> Unpin for Bip84<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> Unpin for Bip84Public<K>where
    K: Unpin,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> Unpin for DescriptorKey<Ctx>where
    Ctx: Unpin,
",1,["bdk::keys::DescriptorKey"]],["impl Unpin for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> Unpin for ExtendedKey<Ctx>where
    Ctx: Unpin,
",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> Unpin for GeneratedKey<K, Ctx>where
    Ctx: Unpin,
    K: Unpin,
",1,["bdk::keys::GeneratedKey"]],["impl Unpin for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl Unpin for KeyError",1,["bdk::keys::KeyError"]],["impl Unpin for KeychainKind",1,["bdk::types::KeychainKind"]],["impl Unpin for FeeRate",1,["bdk::types::FeeRate"]],["impl Unpin for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl Unpin for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl Unpin for Utxo",1,["bdk::types::Utxo"]],["impl Unpin for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl Unpin for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl Unpin for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl Unpin for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl Unpin for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl Unpin for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl Unpin for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl Unpin for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl Unpin for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl Unpin for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> Unpin for SignerWrapper<S>where
    S: Unpin,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl Unpin for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl Unpin for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl Unpin for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl Unpin for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl Unpin for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl Unpin for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> Unpin for TxBuilder<'a, D, Cs, Ctx>where
    Cs: Unpin,
    Ctx: Unpin,
",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl Unpin for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl Unpin for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D> Unpin for Wallet<D>where
    D: Unpin,
",1,["bdk::wallet::Wallet"]],["impl Unpin for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl Unpin for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> Unpin for NewError<P>where
    P: Unpin,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> Unpin for ChainGraph<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Unpin for ChangeSet<P>",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Unpin for NewError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Unpin for InsertTxError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Unpin for UpdateError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Unpin for UnresolvableConflict<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Unpin for SpkTxOutIndex<I>where
    I: Unpin,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Unpin for ObservedAs<A>where
    A: Unpin,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Unpin for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Unpin for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Unpin for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Unpin for FullTxOut<P>where
    P: Unpin,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Unpin for IndexedTxGraph<A, I>where
    I: Unpin,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Unpin for IndexedAdditions<A, IA>where
    IA: Unpin,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Unpin for Persist<K, P, B>where
    B: Unpin,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Unpin for KeychainTracker<K, P>where
    K: Unpin,
    P: Unpin,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Unpin for KeychainTxOutIndex<K>where
    K: Unpin,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Unpin for DerivationAdditions<K>",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Unpin for KeychainScan<K, P>where
    P: Unpin,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Unpin for KeychainChangeSet<K, P>",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Unpin for Balance",1,["bdk_chain::keychain::Balance"]],["impl Unpin for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Unpin for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Unpin for SparseChain<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Unpin for InsertTxError<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Unpin for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Unpin for UpdateError<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Unpin for ChangeSet<P>",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Unpin for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Unpin for TxNode<'a, T, A>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Unpin for Additions<A>",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Unpin for TxDescendants<'g, A, F>where
    F: Unpin,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> Unpin for ChainGraph<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> Unpin for ChangeSet<P>",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> Unpin for NewError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> Unpin for InsertTxError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> Unpin for UpdateError<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> Unpin for UnresolvableConflict<P>where
    P: Unpin,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> Unpin for SpkTxOutIndex<I>where
    I: Unpin,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> Unpin for ObservedAs<A>where
    A: Unpin,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl Unpin for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl Unpin for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Unpin for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> Unpin for FullTxOut<P>where
    P: Unpin,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> Unpin for IndexedTxGraph<A, I>where
    I: Unpin,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Unpin for IndexedAdditions<A, IA>where
    IA: Unpin,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> Unpin for Persist<K, P, B>where
    B: Unpin,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> Unpin for KeychainTracker<K, P>where
    K: Unpin,
    P: Unpin,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> Unpin for KeychainTxOutIndex<K>where
    K: Unpin,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> Unpin for DerivationAdditions<K>",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> Unpin for KeychainScan<K, P>where
    P: Unpin,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> Unpin for KeychainChangeSet<K, P>",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl Unpin for Balance",1,["bdk_chain::keychain::Balance"]],["impl Unpin for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Unpin for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> Unpin for SparseChain<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> Unpin for InsertTxError<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl Unpin for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> Unpin for UpdateError<P>where
    P: Unpin,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> Unpin for ChangeSet<P>",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> Unpin for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> Unpin for TxNode<'a, T, A>",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> Unpin for Additions<A>",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> Unpin for TxDescendants<'g, A, F>where
    F: Unpin,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> Unpin for SpkIterator<D>where
    D: Unpin,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl Unpin for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl Unpin for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> Unpin for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl Unpin for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl Unpin for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl Unpin for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl Unpin for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl Unpin for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl Unpin for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> Unpin for Bnb<'c, S>where
    S: Unpin,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> Unpin for BnbIter<'c, 'f, S>where
    S: Unpin,
    'c: 'f,
",1,["bdk_coin_select::bnb::BnbIter"]],["impl Unpin for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> Unpin for ElectrumUpdate<K, P>where
    P: Unpin,
",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> Unpin for KeychainStore<K, P>where
    K: Unpin,
    P: Unpin,
",1,["bdk_file_store::file_store::KeychainStore"]],["impl Unpin for FileError",1,["bdk_file_store::file_store::FileError"]],["impl Unpin for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> Unpin for EntryIter<'a, V>where
    V: Unpin,
",1,["bdk_file_store::file_store::EntryIter"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 408db434ef..a641705d2a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl RefUnwindSafe for Error",1,["bdk::error::Error"]],["impl RefUnwindSafe for Error",1,["bdk::descriptor::error::Error"]],["impl RefUnwindSafe for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl RefUnwindSafe for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl RefUnwindSafe for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl RefUnwindSafe for Policy",1,["bdk::descriptor::policy::Policy"]],["impl RefUnwindSafe for Condition",1,["bdk::descriptor::policy::Condition"]],["impl RefUnwindSafe for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> RefUnwindSafe for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> RefUnwindSafe for P2Pkh<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> RefUnwindSafe for P2Wpkh_P2Sh<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> RefUnwindSafe for P2Wpkh<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> RefUnwindSafe for Bip44<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> RefUnwindSafe for Bip44Public<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> RefUnwindSafe for Bip49<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> RefUnwindSafe for Bip49Public<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> RefUnwindSafe for Bip84<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> RefUnwindSafe for Bip84Public<K>where
    K: RefUnwindSafe,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> RefUnwindSafe for DescriptorKey<Ctx>where
    Ctx: RefUnwindSafe,
",1,["bdk::keys::DescriptorKey"]],["impl RefUnwindSafe for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>where
    Ctx: RefUnwindSafe,
",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> RefUnwindSafe for GeneratedKey<K, Ctx>where
    Ctx: RefUnwindSafe,
    K: RefUnwindSafe,
",1,["bdk::keys::GeneratedKey"]],["impl RefUnwindSafe for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl RefUnwindSafe for KeyError",1,["bdk::keys::KeyError"]],["impl RefUnwindSafe for KeychainKind",1,["bdk::types::KeychainKind"]],["impl RefUnwindSafe for FeeRate",1,["bdk::types::FeeRate"]],["impl RefUnwindSafe for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl RefUnwindSafe for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl RefUnwindSafe for Utxo",1,["bdk::types::Utxo"]],["impl RefUnwindSafe for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl RefUnwindSafe for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl RefUnwindSafe for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl RefUnwindSafe for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl RefUnwindSafe for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl RefUnwindSafe for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl RefUnwindSafe for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl RefUnwindSafe for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl RefUnwindSafe for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl RefUnwindSafe for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> RefUnwindSafe for SignerWrapper<S>where
    S: RefUnwindSafe,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl RefUnwindSafe for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl !RefUnwindSafe for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl RefUnwindSafe for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl RefUnwindSafe for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl RefUnwindSafe for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl RefUnwindSafe for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> !RefUnwindSafe for TxBuilder<'a, D, Cs, Ctx>",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl RefUnwindSafe for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl RefUnwindSafe for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D = ()> !RefUnwindSafe for Wallet<D>",1,["bdk::wallet::Wallet"]],["impl RefUnwindSafe for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl RefUnwindSafe for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> RefUnwindSafe for NewError<P>where
    P: RefUnwindSafe,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> RefUnwindSafe for ChainGraph<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> RefUnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> RefUnwindSafe for NewError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> RefUnwindSafe for InsertTxError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> RefUnwindSafe for UpdateError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> RefUnwindSafe for UnresolvableConflict<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> RefUnwindSafe for SpkTxOutIndex<I>where
    I: RefUnwindSafe,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> RefUnwindSafe for ObservedAs<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl RefUnwindSafe for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl RefUnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl RefUnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> RefUnwindSafe for FullTxOut<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>where
    A: RefUnwindSafe,
    I: RefUnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> RefUnwindSafe for IndexedAdditions<A, IA>where
    A: RefUnwindSafe,
    IA: RefUnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> RefUnwindSafe for Persist<K, P, B>where
    B: RefUnwindSafe,
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> RefUnwindSafe for KeychainTracker<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> RefUnwindSafe for KeychainTxOutIndex<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> RefUnwindSafe for DerivationAdditions<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> RefUnwindSafe for KeychainScan<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> RefUnwindSafe for KeychainChangeSet<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl RefUnwindSafe for Balance",1,["bdk_chain::keychain::Balance"]],["impl RefUnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl RefUnwindSafe for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> RefUnwindSafe for SparseChain<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> RefUnwindSafe for InsertTxError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl RefUnwindSafe for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> RefUnwindSafe for UpdateError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> RefUnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> RefUnwindSafe for TxGraph<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> RefUnwindSafe for TxNode<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> RefUnwindSafe for Additions<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> RefUnwindSafe for TxDescendants<'g, A, F>where
    A: RefUnwindSafe,
    F: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> RefUnwindSafe for ChainGraph<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> RefUnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> RefUnwindSafe for NewError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> RefUnwindSafe for InsertTxError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> RefUnwindSafe for UpdateError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> RefUnwindSafe for UnresolvableConflict<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> RefUnwindSafe for SpkTxOutIndex<I>where
    I: RefUnwindSafe,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> RefUnwindSafe for ObservedAs<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl RefUnwindSafe for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl RefUnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl RefUnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> RefUnwindSafe for FullTxOut<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>where
    A: RefUnwindSafe,
    I: RefUnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> RefUnwindSafe for IndexedAdditions<A, IA>where
    A: RefUnwindSafe,
    IA: RefUnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> RefUnwindSafe for Persist<K, P, B>where
    B: RefUnwindSafe,
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> RefUnwindSafe for KeychainTracker<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> RefUnwindSafe for KeychainTxOutIndex<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> RefUnwindSafe for DerivationAdditions<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> RefUnwindSafe for KeychainScan<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> RefUnwindSafe for KeychainChangeSet<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl RefUnwindSafe for Balance",1,["bdk_chain::keychain::Balance"]],["impl RefUnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl RefUnwindSafe for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> RefUnwindSafe for SparseChain<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> RefUnwindSafe for InsertTxError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl RefUnwindSafe for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> RefUnwindSafe for UpdateError<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> RefUnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> RefUnwindSafe for TxGraph<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> RefUnwindSafe for TxNode<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> RefUnwindSafe for Additions<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> RefUnwindSafe for TxDescendants<'g, A, F>where
    A: RefUnwindSafe,
    F: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> RefUnwindSafe for SpkIterator<D>where
    D: RefUnwindSafe,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl RefUnwindSafe for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl RefUnwindSafe for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> RefUnwindSafe for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl RefUnwindSafe for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl RefUnwindSafe for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl RefUnwindSafe for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl RefUnwindSafe for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl RefUnwindSafe for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl RefUnwindSafe for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> RefUnwindSafe for Bnb<'c, S>where
    S: RefUnwindSafe,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> !RefUnwindSafe for BnbIter<'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl RefUnwindSafe for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> RefUnwindSafe for ElectrumUpdate<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> RefUnwindSafe for KeychainStore<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_file_store::file_store::KeychainStore"]],["impl !RefUnwindSafe for FileError",1,["bdk_file_store::file_store::FileError"]],["impl !RefUnwindSafe for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> RefUnwindSafe for EntryIter<'a, V>where
    V: RefUnwindSafe,
",1,["bdk_file_store::file_store::EntryIter"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index a97d1bc761..70fc3d8c71 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk":[["impl UnwindSafe for Error",1,["bdk::error::Error"]],["impl UnwindSafe for Error",1,["bdk::descriptor::error::Error"]],["impl UnwindSafe for PkOrF",1,["bdk::descriptor::policy::PkOrF"]],["impl UnwindSafe for SatisfiableItem",1,["bdk::descriptor::policy::SatisfiableItem"]],["impl UnwindSafe for Satisfaction",1,["bdk::descriptor::policy::Satisfaction"]],["impl UnwindSafe for Policy",1,["bdk::descriptor::policy::Policy"]],["impl UnwindSafe for Condition",1,["bdk::descriptor::policy::Condition"]],["impl UnwindSafe for PolicyError",1,["bdk::descriptor::policy::PolicyError"]],["impl<'a> UnwindSafe for BuildSatisfaction<'a>",1,["bdk::descriptor::policy::BuildSatisfaction"]],["impl<K> UnwindSafe for P2Pkh<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::P2Pkh"]],["impl<K> UnwindSafe for P2Wpkh_P2Sh<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::P2Wpkh_P2Sh"]],["impl<K> UnwindSafe for P2Wpkh<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::P2Wpkh"]],["impl<K> UnwindSafe for Bip44<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip44"]],["impl<K> UnwindSafe for Bip44Public<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip44Public"]],["impl<K> UnwindSafe for Bip49<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip49"]],["impl<K> UnwindSafe for Bip49Public<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip49Public"]],["impl<K> UnwindSafe for Bip84<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip84"]],["impl<K> UnwindSafe for Bip84Public<K>where
    K: UnwindSafe,
",1,["bdk::descriptor::template::Bip84Public"]],["impl<Ctx> UnwindSafe for DescriptorKey<Ctx>where
    Ctx: UnwindSafe,
",1,["bdk::keys::DescriptorKey"]],["impl UnwindSafe for ScriptContextEnum",1,["bdk::keys::ScriptContextEnum"]],["impl<Ctx> UnwindSafe for ExtendedKey<Ctx>where
    Ctx: UnwindSafe,
",1,["bdk::keys::ExtendedKey"]],["impl<K, Ctx> UnwindSafe for GeneratedKey<K, Ctx>where
    Ctx: UnwindSafe,
    K: UnwindSafe,
",1,["bdk::keys::GeneratedKey"]],["impl UnwindSafe for PrivateKeyGenerateOptions",1,["bdk::keys::PrivateKeyGenerateOptions"]],["impl UnwindSafe for KeyError",1,["bdk::keys::KeyError"]],["impl UnwindSafe for KeychainKind",1,["bdk::types::KeychainKind"]],["impl UnwindSafe for FeeRate",1,["bdk::types::FeeRate"]],["impl UnwindSafe for LocalUtxo",1,["bdk::types::LocalUtxo"]],["impl UnwindSafe for WeightedUtxo",1,["bdk::types::WeightedUtxo"]],["impl UnwindSafe for Utxo",1,["bdk::types::Utxo"]],["impl UnwindSafe for TransactionDetails",1,["bdk::types::TransactionDetails"]],["impl UnwindSafe for Excess",1,["bdk::wallet::coin_selection::Excess"]],["impl UnwindSafe for CoinSelectionResult",1,["bdk::wallet::coin_selection::CoinSelectionResult"]],["impl UnwindSafe for LargestFirstCoinSelection",1,["bdk::wallet::coin_selection::LargestFirstCoinSelection"]],["impl UnwindSafe for OldestFirstCoinSelection",1,["bdk::wallet::coin_selection::OldestFirstCoinSelection"]],["impl UnwindSafe for BranchAndBoundCoinSelection",1,["bdk::wallet::coin_selection::BranchAndBoundCoinSelection"]],["impl UnwindSafe for FullyNodedExport",1,["bdk::wallet::export::FullyNodedExport"]],["impl UnwindSafe for SignerId",1,["bdk::wallet::signer::SignerId"]],["impl UnwindSafe for SignerError",1,["bdk::wallet::signer::SignerError"]],["impl UnwindSafe for SignerContext",1,["bdk::wallet::signer::SignerContext"]],["impl<S> UnwindSafe for SignerWrapper<S>where
    S: UnwindSafe,
",1,["bdk::wallet::signer::SignerWrapper"]],["impl UnwindSafe for SignerOrdering",1,["bdk::wallet::signer::SignerOrdering"]],["impl !UnwindSafe for SignersContainer",1,["bdk::wallet::signer::SignersContainer"]],["impl UnwindSafe for SignOptions",1,["bdk::wallet::signer::SignOptions"]],["impl UnwindSafe for TapLeavesOptions",1,["bdk::wallet::signer::TapLeavesOptions"]],["impl UnwindSafe for CreateTx",1,["bdk::wallet::tx_builder::CreateTx"]],["impl UnwindSafe for BumpFee",1,["bdk::wallet::tx_builder::BumpFee"]],["impl<'a, D, Cs, Ctx> !UnwindSafe for TxBuilder<'a, D, Cs, Ctx>",1,["bdk::wallet::tx_builder::TxBuilder"]],["impl UnwindSafe for TxOrdering",1,["bdk::wallet::tx_builder::TxOrdering"]],["impl UnwindSafe for ChangeSpendPolicy",1,["bdk::wallet::tx_builder::ChangeSpendPolicy"]],["impl<D = ()> !UnwindSafe for Wallet<D>",1,["bdk::wallet::Wallet"]],["impl UnwindSafe for AddressIndex",1,["bdk::wallet::AddressIndex"]],["impl UnwindSafe for AddressInfo",1,["bdk::wallet::AddressInfo"]],["impl<P> UnwindSafe for NewError<P>where
    P: UnwindSafe,
",1,["bdk::wallet::NewError"]]], -"bdk_chain":[["impl<P> UnwindSafe for ChainGraph<P>where
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> UnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> UnwindSafe for NewError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> UnwindSafe for InsertTxError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> UnwindSafe for UpdateError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> UnwindSafe for UnresolvableConflict<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> UnwindSafe for SpkTxOutIndex<I>where
    I: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> UnwindSafe for ObservedAs<A>where
    A: UnwindSafe,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl UnwindSafe for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl UnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl UnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> UnwindSafe for FullTxOut<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> UnwindSafe for IndexedTxGraph<A, I>where
    A: RefUnwindSafe,
    I: UnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> UnwindSafe for IndexedAdditions<A, IA>where
    A: RefUnwindSafe,
    IA: UnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> UnwindSafe for Persist<K, P, B>where
    B: UnwindSafe,
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> UnwindSafe for KeychainTracker<K, P>where
    K: UnwindSafe + RefUnwindSafe,
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> UnwindSafe for KeychainTxOutIndex<K>where
    K: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> UnwindSafe for DerivationAdditions<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> UnwindSafe for KeychainScan<K, P>where
    K: RefUnwindSafe,
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> UnwindSafe for KeychainChangeSet<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl UnwindSafe for Balance",1,["bdk_chain::keychain::Balance"]],["impl UnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl UnwindSafe for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> UnwindSafe for SparseChain<P>where
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> UnwindSafe for InsertTxError<P>where
    P: UnwindSafe,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl UnwindSafe for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> UnwindSafe for UpdateError<P>where
    P: UnwindSafe,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> UnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> UnwindSafe for TxGraph<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> UnwindSafe for TxNode<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> UnwindSafe for Additions<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> UnwindSafe for TxDescendants<'g, A, F>where
    A: RefUnwindSafe,
    F: UnwindSafe,
",1,["bdk_chain::tx_graph::TxDescendants"]]], +"bdk_chain":[["impl<P> UnwindSafe for ChainGraph<P>where
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChainGraph"]],["impl<P> UnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::chain_graph::ChangeSet"]],["impl<P> UnwindSafe for NewError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::NewError"]],["impl<P> UnwindSafe for InsertTxError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::InsertTxError"]],["impl<P> UnwindSafe for UpdateError<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::UpdateError"]],["impl<P> UnwindSafe for UnresolvableConflict<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_graph::UnresolvableConflict"]],["impl<I> UnwindSafe for SpkTxOutIndex<I>where
    I: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::spk_txout_index::SpkTxOutIndex"]],["impl<A> UnwindSafe for ObservedAs<A>where
    A: UnwindSafe,
",1,["bdk_chain::chain_data::ObservedAs"]],["impl UnwindSafe for TxHeight",1,["bdk_chain::chain_data::TxHeight"]],["impl UnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl UnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl<P> UnwindSafe for FullTxOut<P>where
    P: UnwindSafe,
",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A, I> UnwindSafe for IndexedTxGraph<A, I>where
    A: RefUnwindSafe,
    I: UnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> UnwindSafe for IndexedAdditions<A, IA>where
    A: RefUnwindSafe,
    IA: UnwindSafe,
",1,["bdk_chain::indexed_tx_graph::IndexedAdditions"]],["impl<K, P, B> UnwindSafe for Persist<K, P, B>where
    B: UnwindSafe,
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::persist::Persist"]],["impl<K, P> UnwindSafe for KeychainTracker<K, P>where
    K: UnwindSafe + RefUnwindSafe,
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::tracker::KeychainTracker"]],["impl<K> UnwindSafe for KeychainTxOutIndex<K>where
    K: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::txout_index::KeychainTxOutIndex"]],["impl<K> UnwindSafe for DerivationAdditions<K>where
    K: RefUnwindSafe,
",1,["bdk_chain::keychain::DerivationAdditions"]],["impl<K, P> UnwindSafe for KeychainScan<K, P>where
    K: RefUnwindSafe,
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainScan"]],["impl<K, P> UnwindSafe for KeychainChangeSet<K, P>where
    K: RefUnwindSafe,
    P: RefUnwindSafe,
",1,["bdk_chain::keychain::KeychainChangeSet"]],["impl UnwindSafe for Balance",1,["bdk_chain::keychain::Balance"]],["impl UnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl UnwindSafe for UpdateNotConnectedError",1,["bdk_chain::local_chain::UpdateNotConnectedError"]],["impl<P> UnwindSafe for SparseChain<P>where
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_chain::sparse_chain::SparseChain"]],["impl<P> UnwindSafe for InsertTxError<P>where
    P: UnwindSafe,
",1,["bdk_chain::sparse_chain::InsertTxError"]],["impl UnwindSafe for InsertCheckpointError",1,["bdk_chain::sparse_chain::InsertCheckpointError"]],["impl<P> UnwindSafe for UpdateError<P>where
    P: UnwindSafe,
",1,["bdk_chain::sparse_chain::UpdateError"]],["impl<P> UnwindSafe for ChangeSet<P>where
    P: RefUnwindSafe,
",1,["bdk_chain::sparse_chain::ChangeSet"]],["impl<A> UnwindSafe for TxGraph<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxGraph"]],["impl<'a, T, A> UnwindSafe for TxNode<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::TxNode"]],["impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>where
    A: RefUnwindSafe,
    T: RefUnwindSafe,
",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<A> UnwindSafe for Additions<A>where
    A: RefUnwindSafe,
",1,["bdk_chain::tx_graph::Additions"]],["impl<'g, A, F> UnwindSafe for TxDescendants<'g, A, F>where
    A: RefUnwindSafe,
    F: UnwindSafe,
",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<D> UnwindSafe for SpkIterator<D>where
    D: UnwindSafe,
",1,["bdk_chain::spk_iter::SpkIterator"]]], "bdk_coin_select":[["impl UnwindSafe for WeightedValue",1,["bdk_coin_select::coin_selector::WeightedValue"]],["impl UnwindSafe for CoinSelectorOpt",1,["bdk_coin_select::coin_selector::CoinSelectorOpt"]],["impl<'a> UnwindSafe for CoinSelector<'a>",1,["bdk_coin_select::coin_selector::CoinSelector"]],["impl UnwindSafe for SelectionError",1,["bdk_coin_select::coin_selector::SelectionError"]],["impl UnwindSafe for SelectionConstraint",1,["bdk_coin_select::coin_selector::SelectionConstraint"]],["impl UnwindSafe for Selection",1,["bdk_coin_select::coin_selector::Selection"]],["impl UnwindSafe for ExcessStrategyKind",1,["bdk_coin_select::coin_selector::ExcessStrategyKind"]],["impl UnwindSafe for ExcessStrategy",1,["bdk_coin_select::coin_selector::ExcessStrategy"]],["impl UnwindSafe for BranchStrategy",1,["bdk_coin_select::bnb::BranchStrategy"]],["impl<'c, S> UnwindSafe for Bnb<'c, S>where
    S: UnwindSafe,
",1,["bdk_coin_select::bnb::Bnb"]],["impl<'c, 'f, S> !UnwindSafe for BnbIter<'c, 'f, S>",1,["bdk_coin_select::bnb::BnbIter"]],["impl UnwindSafe for BnbLimit",1,["bdk_coin_select::bnb::BnbLimit"]]], "bdk_electrum":[["impl<K, P> UnwindSafe for ElectrumUpdate<K, P>where
    K: RefUnwindSafe,
    P: UnwindSafe + RefUnwindSafe,
",1,["bdk_electrum::ElectrumUpdate"]]], "bdk_file_store":[["impl<K, P> UnwindSafe for KeychainStore<K, P>where
    K: UnwindSafe,
    P: UnwindSafe,
",1,["bdk_file_store::file_store::KeychainStore"]],["impl !UnwindSafe for FileError",1,["bdk_file_store::file_store::FileError"]],["impl !UnwindSafe for IterError",1,["bdk_file_store::file_store::IterError"]],["impl<'a, V> !UnwindSafe for EntryIter<'a, V>",1,["bdk_file_store::file_store::EntryIter"]]], 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 e051443efb..b83facf648 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 @@ -1,6 +1,6 @@ var searchIndex = JSON.parse('{\ "bdk":{"doc":"bdk","t":[13,13,13,13,13,4,13,3,13,13,13,13,13,2,13,13,13,13,13,13,4,13,3,13,13,13,13,13,13,13,2,13,13,13,3,13,2,13,4,8,2,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,0,14,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,0,11,12,11,11,11,11,0,12,11,12,12,11,11,11,2,11,2,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,12,10,5,11,11,11,11,11,11,11,0,11,12,12,12,12,12,12,13,6,4,2,4,3,6,8,13,6,8,16,6,4,3,13,13,2,8,4,13,13,6,13,13,4,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,10,11,11,0,11,11,11,11,11,11,11,11,11,11,11,10,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,5,5,5,5,13,13,4,13,13,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,13,13,4,13,3,6,13,13,6,13,13,13,13,13,13,13,13,13,13,13,4,3,4,13,13,13,13,13,4,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,3,8,6,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,8,4,4,4,16,16,8,4,13,8,8,3,8,13,13,13,16,4,6,13,13,13,16,13,3,13,8,4,13,13,13,3,3,4,3,13,6,13,13,13,5,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,5,11,10,11,11,5,10,11,12,12,11,11,11,11,11,11,10,12,11,11,11,11,10,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,10,10,10,4,3,3,13,8,13,13,4,13,13,6,6,3,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,12,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,12,11,11,11,11,11,5,3,13,8,3,6,4,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,5,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,3,6,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,3,8,4,4,4,3,3,3,13,4,8,13,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,10,11,12,11,12,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,13,3,13,13,4,3,13,13,3,8,4,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Bip32","BnBNoExactMatch","BnBTotalTriesExceeded","ChecksumMismatch","Descriptor","Error","External","FeeRate","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","Foreign","Generic","HdKeyPaths","InsufficientFunds","Internal","InvalidOutpoint","InvalidPolicyPathError","IrreplaceableTransaction","Key","KeychainKind","Local","LocalUtxo","Miniscript","MiniscriptPsbt","MissingKeyOrigin","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","Psbt","SignOptions","Signer","SpendingPolicyRequired","TransactionConfirmed","TransactionDetails","TransactionNotFound","TxBuilder","UnknownUtxo","Utxo","Vbytes","Wallet","WeightedUtxo","as_byte","as_ref","as_sat_per_vb","base32_len","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","check_base32","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","confirmation_time","confirmation_time","default","default_min_relay_fee","derivation_index","descriptor","descriptor","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","fee","fee_vb","fee_wu","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_btc_per_kvb","from_sat_per_kvb","from_sat_per_kwu","from_sat_per_vb","from_vb","from_wu","hash","hash","into","into","into","into","into","into","into","is_spent","keychain","keys","outpoint","outpoint","partial_cmp","partial_cmp","partial_cmp","provide","psbt","received","sat_per_kwu","satisfaction_weight","sent","serialize","serialize","serialize","signer","sub","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","transaction","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","txid","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","utxo","vbytes","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet","write_base32","available","needed","required","required","outpoint","psbt_input","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","DescriptorXKey","ExtendedDescriptor","ExtractPolicy","Hardened","HdKeyPaths","IntoWalletDescriptor","Key","KeyMap","Legacy","Miniscript","None","Pkh","Policy","ScriptContext","Segwitv0","Sh","Single","TapKeyOrigins","Tr","Unhardened","Wildcard","Wpkh","Wsh","XPub","address","as_enum","as_enum","as_inner","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","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_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","cmp","cmp","contains_raw_pkh","derivation_path","derive","derived_descriptor","derived_descriptor","desc_type","deserialize","deserialize","dust_value","encode","eq","eq","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","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from_ast","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","hash","hash","into","into","into","into","into","into","into_inner","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_non_malleable","iter","iter_pk","lift","lift","lift_check","matches","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","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","origin","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","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","template","to_owned","to_owned","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_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","vzip","vzip","wildcard","within_resource_limits","xkey","calc_checksum","calc_checksum_bytes","get_checksum","get_checksum_bytes","Base58","Bip32","Error","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","provide","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","provide","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","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2Wpkh","P2Wpkh_P2Sh","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","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","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","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","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","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","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","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","encode","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","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_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_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","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","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","provide","sanity_check","satisfy","script_size","sig_type","sorted_node","test_networks","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","AddressIndex","AddressInfo","Balance","Descriptor","IsDust","LastUnused","New","NewError","Peek","Persist","Update","UpdateError","Wallet","add","add_signer","address","apply_update","as_chain_graph","as_graph","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","cancel_tx","checkpoints","clone","clone_into","coin_selection","commit","confirmed","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_address","get_balance","get_descriptor_for_keychain","get_internal_address","get_psbt_input","get_signers","get_tx","get_utxo","immature","index","insert_checkpoint","insert_tx","into","into","into","into","into","is_dust","is_mine","keychain","keychanins","latest_checkpoint","list_transactions","list_unspent","network","new","new_no_persist","next_derivation_index","policies","provide","public_descriptor","secp_ctx","serialize","sign","signer","spks_of_all_keychains","spks_of_keychain","staged","to_owned","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","tx_builder","type_id","type_id","type_id","type_id","type_id","untrusted_pending","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Excess","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","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","from","from","from","from","from","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","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","vzip","vzip","vzip","vzip","vzip","amount","change_fee","dust_threshold","fee","remaining_amount","FullyNodedExport","WalletExport","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","from","from_str","into","label","serialize","to_string","try_from","try_into","type_id","vzip","All","Dummy","Exclude","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","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","clone_into","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","eq","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","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","provide","remove","remove_partial_sigs","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_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","Bip69Lexicographic","BumpFee","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","CreateTx","OnlyChange","Shuffle","TxBuilder","TxBuilderContext","TxOrdering","Untouched","add_data","add_foreign_utxo","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","allow_shrinking","borrow","borrow","borrow","borrow","borrow","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","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_owned","to_owned","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"],"q":["bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::Error","","","","bdk::Utxo","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::checksum","","","","bdk::descriptor::error","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::policy::BuildSatisfaction","","","bdk::descriptor::policy::Satisfaction","","","","","","","","","","","bdk::descriptor::policy::SatisfiableItem","","","","","","","","","","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::psbt","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::coin_selection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::coin_selection::Excess","","","","","bdk::wallet::export","","","","","","","","","","","","","","","","","","","","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::signer::SignerContext","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["BIP32 error","Branch and bound coin selection tries to avoid needing a …","Branch and bound coin selection possible attempts with …","Descriptor checksum mismatch","Error related to the parsing and usage of descriptors","Errors that can be thrown by the Wallet","External","Fee rate","When bumping a tx the fee rate requested is lower than …","Node doesn’t have data to estimate a fee rate","When bumping a tx the absolute fee requested is lower than …","A UTXO owned by another wallet.","Generic error","","Wallet’s UTXO set is not enough to cover recipient’s …","Internal, usually used for change outputs","Requested outpoint doesn’t exist in the tx (vout greater …","Error while extracting and manipulating policies","Trying to replace a tx that has a sequence >= 0xFFFFFFFE","Error while working with keys","Types of keychains","A UTXO owned by the local wallet.","An unspent output owned by a Wallet.","Miniscript error","Miniscript PSBT error","In order to use the TxBuilder::add_global_xpubs option …","Cannot build a tx without recipients","manually_selected_only option is selected but no utxo has …","Output created is under the dust limit, 546 satoshis","Partially signed bitcoin transaction error","","Signing error","Spending policy is not compatible with this KeychainKind","Happens when trying to bump a transaction that is already …","A wallet transaction","Thrown when a tx is not found in the internal database","","Happens when trying to spend an UTXO that is not in the …","An unspent transaction output (UTXO).","Trait implemented by types that can be used to measure …","","A Utxo with its satisfaction_weight.","Return KeychainKind as a byte","","Return the value as satoshi/vbyte","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The confirmation time for transaction containing this utxo","If the transaction is confirmed, contains height and Unix …","","Create a new FeeRate with the default min relay fee value","The derivation index for the script pubkey in the wallet","Descriptors","Macro to write full descriptors with code","","","","","","","","","","Fee value in sats if it was available.","Calculate absolute fee in Satoshis using size in virtual …","Calculate absolute fee in Satoshis using size in weight …","","","","","","","","","Macro to write descriptor fragments with code","","Returns the argument unchanged.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create a new instance of FeeRate given a float fee rate in …","Create a new instance of FeeRate given a float fee rate in …","Create a new instance of FeeRate given a float fee rate in …","Create a new instance of FeeRate given a float fee rate in …","Calculate fee rate from fee and vbytes.","Calculate fee rate from fee and weight units (wu).","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Whether this UTXO is spent or not","Type of keychain","Key formats","Get the location of the UTXO","Reference to a transaction output","","","","","Additional functions on the rust-bitcoin …","Received value (sats) Sum of owned outputs of this …","Return the value as satoshi/kwu","The weight of the witness data and scriptSig expressed in …","Sent value (sats) Sum of owned inputs of this transaction.","","","","","","","","","","","","","","Optional transaction","","","","","","","","","","","","","","","Transaction id","Get the TxOut of the UTXO","Transaction output","","","","","","","","The UTXO","Convert weight units to virtual bytes.","Get the version of BDK at runtime","","","","","","","","Wallet","","Sats available for spending","Sats needed for some transaction","Required fee rate (satoshi/vbyte)","Required fee absolute value (satoshi)","The location of the output.","The information about the input we require to add it to a …","A raw scriptpubkey (including pay-to-pubkey) under Legacy …","Alias for a Descriptor that contains extended derived keys","Script descriptor","","The descriptor pubkey, either a single pubkey or an xpub.","An extended key with origin, derivation path, and wildcard.","Alias for a Descriptor that can contain extended keys …","Trait implemented on Descriptors to add a method to …","Unhardened wildcard, e.g. *h","Alias for the type of maps that represent derivation paths …","Trait for types which can be converted into an …","The consensus key associated with the type. Must be a …","Alias type for a map of public key to secret key","Legacy ScriptContext To be used as P2SH scripts For …","Top-level script AST type","No wildcard","Pay-to-PubKey-Hash","","The ScriptContext for Miniscript. Additional type …","Segwitv0 ScriptContext","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)","Single public key.","Alias for the type of maps that represent taproot key …","Pay-to-Taproot","Unhardened wildcard, e.g. *","Whether a descriptor has a wildcard in it","Pay-to-Witness-PubKey-Hash","Pay-to-Witness-ScriptHash with Segwitv0 context","Extended public key (xpub).","Computes the Bitcoin address of the descriptor, if one …","","","Get a reference to the inner AstElem representing the root …","Replaces all wildcards (i.e. /*) in the descriptor with a …","","","","","","","","","","","","","Enumerates all child nodes of the current AST node (self) …","","Depending on script Context, some of the Terminals might …","","","Depending on script Context, some of the script resource …","","Check the consensus + policy(if not disabled) rules that …","Consensus rules at the Miniscript satisfaction time. It is …","","","Policy rules at the Miniscript satisfaction time. It is …","","","Check the consensus + policy(if not disabled) rules …","Depending on ScriptContext, fragments can be malleable. …","","","Check whether the given satisfaction is valid under the …","","","Descriptor checksum","","","","","","","","","","","","","","","","","","","Whether the given miniscript contains a raw pkh fragment","The derivation path","Deprecated name for [at_derivation_index].","Convert all the public keys in the descriptor to …","Convert all the public keys in the descriptor to …","Get the DescriptorType of Descriptor","","","","Encode as a Bitcoin script","","","","","","","Descriptor errors","Computes the the underlying script before any hashing is …","Additional information helpful for extra analysis.","Check whether the miniscript follows the given Extra …","Extract the spending policy","","","Utility method for deriving the descriptor at each index …","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Add type information(Type and Extdata) to Miniscript based …","","Parse a Miniscript from string and perform sanity checks …","Attempt to parse an Miniscripts that don’t follow the …","Attempt to parse an insane(scripts don’t clear sanity …","Parse an expression tree into a descriptor.","Parse an expression tree into a Miniscript. As a general …","Returns child node with given index, if any","Returns Option::Some with cloned n’th public key from …","Returns satisfying non-malleable witness and scriptSig to …","Returns a possilbly mallable satisfying non-malleable …","Whether the miniscript contains a combination of timelocks","Whether the miniscript has repeated Pk or Pkh","Whether or not the descriptor has any wildcards i.e. /*.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Extracts the AstElem representing the root of the …","Convert to wallet descriptor","","Whether or not the descriptor has any wildcards","Whether the miniscript is malleable","Creates a new Iter iterator that will iterate over all …","Creates a new PkIter iterator that will iterate over all …","","","Lifting corresponds conversion of miniscript into Policy […","Compares this key with a keysource and returns the …","Depending on script context, the size of a satifaction …","","","Maximum size, in bytes, of a satisfying witness. For …","Computes an upper bound on the weight of a satisfying …","Maximum number of witness elements used to satisfy the …","Local helper function to display error messages with …","","","Create a new bare descriptor from witness script Errors …","Create a new pk descriptor","Create a new PkH descriptor","Create a new sh for a given redeem script Errors when …","Create a new sh sortedmulti descriptor with threshold k …","Create a new sh wrapper for the given wpkh descriptor","Create a new sh wrapper for the given wsh descriptor","Create a new sh wrapped wpkh from Pk. Errors when …","Create a new sh wrapped wsh descriptor with witness script …","Create a new sh wrapped wsh sortedmulti descriptor from …","Create new tr descriptor Errors when miniscript exceeds …","Create a new Wpkh descriptor Will return Err if …","Create a new wsh descriptor from witness script Errors …","Create a new wsh sorted multi descriptor Errors when …","A node in the Abstract Syntax Tree(","Origin information","Other top level checks that are context specific","Attempt to parse a Script into Miniscript representation.","Parse a descriptor that may contain secret keys","Attempt to parse an insane(scripts don’t clear sanity …","Attempt to parse an miniscript with extra features that …","","","","","","","Get the len of public key when serialized based on context …","","","Descriptor policy","Whether all spend paths of miniscript require a signature","Checks whether the descriptor is safe.","Check whether the underlying Miniscript is safe under the …","Attempts to produce a non-malleable satisfying witness and …","Attempt to produce non-malleable satisfying witness for the","Attempt to produce a malleable satisfying witness for the …","Computes the scriptCode of a transaction output.","Computes the scriptpubkey of the descriptor.","Size, in bytes of the script-pubkey. If this Miniscript is …","","","The type of signature required for satisfaction","","","Descriptor templates","","","","","","","","","Serialize a descriptor to string with its secret keys","Check top level consensus rules.","Check whether the top-level is type B","Converts a descriptor using abstract keys to one using …","Translates a struct from one generic to another where the …","","","","","","","","","","","","","The correctness and malleability type information for the …","","","","","","","Computes the scriptSig that will be in place for an …","","","","","","","Whether the descriptor is wildcard","Whether the miniscript can exceed the resource …","The extended key","Compute the checksum of a descriptor, excludes any …","Compute the checksum bytes of a descriptor, excludes any …","Compute the checksum of a descriptor","Compute the checksum bytes of a descriptor","Error during base58 decoding","BIP32 error","Errors related to the parsing and usage of descriptors","The descriptor contains hardened derivation steps on …","Hex decoding error","Invalid byte found in the descriptor checksum","The provided descriptor doesn’t match its checksum","Invalid HD Key path, such as having a wildcard but a …","Error thrown while working with keys","Miniscript error","Key-related error","Error while extracting and manipulating policies","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Absolute timeclock timestamp","Can not add to an item that is Satisfaction::None or …","Can not add to an item that is …","Options to build the satisfaction field in the policy","Can satisfy the policy item","An extra condition that must be satisfied but that is out …","Type for a map of sets of Condition items keyed by each set…","ECDSA Signature for a raw public key","An extended key fingerprint","Type for a map of folded sets of Condition items keyed by …","SHA256 then RIPEMD160 preimage hash","Double SHA256 preimage hash","Incompatible conditions (not currently used)","Index out of range for an item to satisfy a …","Can not merge CSV or timelock values unless both are less …","Multi-signature public keys with threshold count","Cannot satisfy or contribute to the policy item","Don’t generate satisfaction field","Not enough items are selected to satisfy a …","Only a partial satisfaction of some kind of threshold …","Can reach the threshold of some kind of threshold policy","A unique identifier for a key","Descriptor spending policy","Errors that can happen while extracting and manipulating …","Analyze the given PSBT to check for existing signatures","Like Psbt variant and also check for expired timelocks","A legacy public key","Relative timelock locktime","RIPEMD160 preimage hash","Represent if and how much a policy item is satisfied by …","An item that needs to be satisfied","Schnorr Signature for a raw public key","SHA256 preimage hash","Threshold items with threshold count","A x-only public key","","","","","","","","","","","","","","","","","","","","","","","","","","","How the wallet’s descriptor can satisfy this policy node","Optional CheckSequenceVerify condition","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Return the conditions that are set by the spending policy …","","","Returns a unique id for the SatisfiableItem","Identifier for this policy node","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns whether the SatisfiableItem is a leaf item","Returns whether the Satisfaction is a leaf item","Returns true if there are no extra conditions to verify","Type of this policy node","","","Return whether or not a specific path in the policy tree …","How much a given PSBT already satisfies this policy node …","","","","","","Optional timelock condition","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Current blockchain height","The highest confirmation height between the inputs CSV …","Given PSBT","Extra conditions that also need to be satisfied","Extra conditions that also need to be satisfied","Extra conditions that also need to be satisfied","The items that can be satisfied by the descriptor or are …","The items that can be satisfied by the descriptor","Threshold","Threshold","Total number of items","Total number of items","Whether the items are sorted in lexicographic order (used …","Whether the items are sorted in lexicographic order (used …","The digest value","The digest value","The digest value","The digest value","The policy items","The raw public key or extended key fingerprint","The required threshold count","The required threshold count","The timelock value","The timelock value","BIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)","BIP44 public template. Expands to pkh(key/{0,1}/*)","BIP49 template. Expands to …","BIP49 public template. Expands to sh(wpkh(key/{0,1}/*))","BIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)","BIP84 public template. Expands to wpkh(key/{0,1}/*)","Trait for descriptor templates that can be built into a …","Type alias for the return type of DescriptorTemplate, …","P2PKH template. Expands to a descriptor pkh(key)","P2WPKH template. Expands to a descriptor wpkh(key)","P2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))","","","","","","","","","","","","","","","","","","","Build the complete descriptor","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","BIP32 error","Trait for keys that can be derived.","Container for public or secret keys","The descriptor pubkey, either a single pubkey or an xpub.","The descriptor secret key, either a single private key or …","Type specifying the amount of entropy required e.g. [u8;32]","Returned error in case of failure","Trait that adds extra useful methods to ScriptContexts","Enum for extended keys that can be either xprv or xpub","A bitcoin public key (compressed or uncompressed).","Trait that allows generating a key with the default options","Trait for keys that can be generated","Output of a GeneratableKey key generation","Trait for objects that can be turned into a public or …","The key has an invalid checksum","The key is not valid for the given network","The key cannot exist in the given script context","The consensus key associated with the type. Must be a …","Errors thrown while working with keys","Alias type for a map of public key to secret key","Legacy scripts","Custom error message","Miniscript error","Extra options required by the generate_with_entropy","A private extended key, aka an xprv","Options for generating a PrivateKey","A public extended key, aka an xpub","The ScriptContext for Miniscript. Additional type …","Enum representation of the known valid ScriptContexts","Segwitv0 scripts","Single public key.","Single private key.","A descriptor bitcoin::PrivateKey with optional origin …","A descriptor SinglePubKey with optional origin information.","Single public key without any origin or range information.","Contents of a “sortedmulti” descriptor","Taproot scripts","Set of valid networks for a key","An xonly public key.","Extended private key (xpriv).","Extended public key (xpub).","Create a set containing mainnet, testnet, signet, and …","Returns the ScriptContext as a ScriptContextEnum","Replaces any wildcard (i.e. /*) in the key with a …","","","","","","","","","","","","","","","","","","","","","","","","","Depending on script Context, some of the Terminals might …","Depending on script Context, some of the script resource …","Check the consensus + policy(if not disabled) rules that …","Consensus rules at the Miniscript satisfaction time. It is …","Policy rules at the Miniscript satisfaction time. It is …","Check the consensus + policy(if not disabled) rules …","Depending on ScriptContext, fragments can be malleable. …","Check whether the given satisfaction is valid under the …","","","","","","","","","","","","","","","","","","","Whether the generated key should be “compressed” or not","","","Deprecated name of [at_derivation_index].","Encode as a Bitcoin script","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Create an instance given a public key and a set of valid …","Create an instance given a secret key and a set of valid …","","","Parse an expression tree into a SortedMultiVec","Full path, from the master key","Generate a key given the options with a random entropy","Generate a key with the default options and a random …","Generate a key given the extra options and the entropy","Generate a key with the default options and a given entropy","Return whether or not the key contains the private data","Whether or not the key has a wildcard","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Turn the key into a DescriptorKey within the requested …","Consume self and turn it into a DescriptorKey by adding …","","","","","","Consume self and turn it into an ExtendedKey","","","Consumes self and returns the key","Transform the ExtendedKey into an ExtendedPrivKey for the …","Transform the ExtendedKey into an ExtendedPubKey for the …","Whether or not the key has a wildcard","Returns whether the script context is Legacy","Returns whether the script context is …","Returns whether the script context is Segwitv0","Returns whether the script context is …","Returns whether the script context is Tap, aka Taproot or …","Returns whether the script context is …","","","signatures required","The public key.","The private key.","","Create a set only containing mainnet","The fingerprint of the master key associated with this …","Depending on script context, the size of a satifaction …","Maximum size, in bytes, of a satisfying witness. In …","Maximum number of witness elements used to satisfy the …","Compute the intersection of two sets","Local helper function to display error messages with …","Create a new instance of SortedMultiVec given a list of …","Origin information (fingerprint and derivation path).","Origin information (fingerprint and derivation path).","Other top level checks that are context specific","Override the computed set of valid networks","","","","","Get the len of public key when serialized based on context …","public keys inside sorted Multi","","utility function to sanity a sorted multi vec","Attempt to produce a satisfying witness for the witness …","Size, in bytes of the script-pubkey. If this Miniscript is …","The type of signature required for satisfaction","Create Terminal::Multi containing sorted pubkeys","Create a set containing testnet and regtest","","","","","","","","Returns the public version of this key.","","","","","Check top level consensus rules.","Check whether the top-level is type B","This will panic if fpk returns an uncompressed key when …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to add functions to extract utxos and calculate fees.","The total transaction fee amount, sum of input amounts …","The transaction’s fee rate. This value will only be …","Get the TxOut for the specified input index, if it doesn’…","The address index selection strategy to use to derived an …","A derived address and the index it was found at. For …","Balance, differentiated into various categories.","There was problem with the descriptors passed in","Trait to check if a value is below the dust limit. We are …","Return the address for the current descriptor index if it …","Return a new address after incrementing the current …","Error returned from Wallet::new","Return the address for a specific descriptor index. Does …","We were unable to load the wallet’s data from the …","The update to a Wallet used in Wallet::apply_update. This …","Error indicating that something was wrong with an Update<T>…","A Bitcoin wallet","","Add an external signer","Address","Applies an update to the wallet and stages the changes …","Get a reference to the inner ChainGraph.","Get a reference to the inner TxGraph.","","","","","","","","","","","","","Bump the fee of a transaction previously created with this …","Start building a transaction.","Informs the wallet that you no longer intend to broadcast …","Get all the checkpoints the wallet is currently storing …","","","Coin selection","Commits all curently staged changed to the persistence …","Confirmed and immediately spendable balance","","","The derivation index of this wallet. It will return None …","Finds how the wallet derived the script pubkey spk.","Return the checksum of the public descriptor associated to …","","","","Wallet export","Finalize a PSBT, i.e., for each input determine if …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Return a derived address using the external descriptor, …","Return the balance, separated into available, …","Returns the descriptor used to create addresses for a …","Return a derived address using the internal (change) …","get the corresponding PSBT Input for a LocalUtxo","Get the signers","Return a single transactions made and received by the …","Returns the utxo owned by this wallet corresponding to …","All coinbase outputs not yet matured","Child index of this address","Add a new checkpoint to the wallet’s internal view of …","Add a transaction to the wallet’s internal view of the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Check whether or not a value is below dust limit","Return whether or not a script is part of this wallet …","Type of keychain","Iterator over all keychains in this wallet","Returns the latest checkpoint.","Deprecated. use Wallet::transactions instead.","Return the list of unspent outputs of this wallet","Get the Bitcoin network the wallet is using.","Create a wallet from a descriptor (and an optional …","Creates a wallet that does not persist data.","The index of the next address that you would get if you …","Return the spending policies for the wallet’s descriptor","","Return the “public” version of the wallet’s …","Return the secp256k1 context used for all signing …","","Sign a transaction with all the wallet’s signers, in the …","Generalized signers","Returns a iterators of all the script pubkeys for the …","Gets an iterator over all the script pubkeys in a single …","Returns the changes that will be staged with the next call …","","","","","Get the whole balance visible to the wallet.","Iterate over the transactions in the wallet in order of …","Unconfirmed UTXOs generated by a wallet tx","Get sum of trusted_pending and confirmed coins.","","","","","","","","","","","Transaction builder","","","","","","Unconfirmed UTXOs received from an external wallet","","","","","","Deterministically generate a unique name given the …","Branch and bound coin selection","It’s possible to create spendable output from excess …","Trait for generalized coin selection algorithms","Result of a successful coin selection","Default coin selection algorithm used by TxBuilder if not …","Remaining amount after performing coin selection","Simple and dumb coin selection","It’s not possible to create spendable output from excess …","OldestFirstCoinSelection always picks the utxo with the …","","","","","","","","","","","","","","","","","Perform the coin selection","","","","Decide if change can be created","","","","Remaining amount after deducing fees and outgoing outputs","Total fee amount for the selected utxos in satoshis","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","The total value of the inputs selected from the local …","Create new instance with target size for change output","List of outputs selected for use as inputs","The total value of the inputs selected.","","","","","","","","","","","","","","","","","","","","","","","","Effective amount available to create change after …","The calculated fee for the drain TxOut with the selected …","Threshold to consider amount as dust for this particular …","The deducted change output fee","Exceeding amount of current selection over outgoing value …","Structure that contains the export of a wallet","Alias for FullyNodedExport","Earliest block to rescan when looking for the wallet’s …","","","Return the internal descriptor, if present","Return the external descriptor","","Export a wallet","","Returns the argument unchanged.","","Calls U::from(self).","Arbitrary label for the wallet","","","","","","","The signer will sign all the leaves it has a key for.","Dummy identifier","The signer won’t sign the specified leaves.","The fingerprint of a BIP32 extended key","The signer won’t sign leaves other than the ones …","Input index is out of range","PSBT Input signer","The private key in use has the right fingerprint but …","The non_witness_utxo specified is invalid","Invalid SIGHASH for the signing context in use","Legacy context","The fingerprint and derivation path are missing from the …","The private key is missing for the required public key","The non_witness_utxo field of the transaction is required …","The witness_script field of the transaction is required to …","The witness_utxo field of the transaction is required to …","The psbt contains a non-SIGHASH_ALL sighash in one of its …","The signer won’t sign any leaf.","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …","Segwit v0 context (BIP 143)","Error while computing the hash to sign","Options for a software signer","Common signer methods","Signing context","Signing error","Identifier of a signer in the SignersContainers. Used as a …","Defines the order in which signers are called","Wrapper structure to pair a signer with its context","Container for multiple signers","Taproot context (BIP 340)","Customize which taproot script-path leaves the signer …","PSBT signer","The user canceled the operation","Adds an external signer to the container for the specified …","Whether the signer should use the sighash_type set in the …","Whether we should grind ECDSA signature to ensure signing …","Create a map of public keys to secret keys","Whether the wallet should assume a specific height has …","","","","","","","","","","","","","","","","","Build a new signer container from a KeyMap","","","","","","","","","","","","","","","","","","","","","","","","Return the secret key for the signer","","","","","","","","Finds the signer with lowest ordering for a given id in …","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Return the SignerId for this signer","","","Returns the list of identifiers of all the signers in the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Create a wrapped signer from a signer and a context","Default constructor","","","","Removes a signer from the container and returns it","Whether to remove partial signatures from the PSBT inputs …","Sign a single psbt input","","","Sign all the inputs of the psbt","","Whether we should try to sign a taproot transaction with …","Returns the list of signers in the container, sorted by …","Specifies which Taproot script-spend leaves we should sign …","","","","","","","","","","Whether the signer should trust the witness_utxo, if the …","Whether to try finalizing the PSBT after the inputs are …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the signer can sign for the internal key or not","BIP69 / Lexicographic","Marker type to indicate the TxBuilder is being used to …","Use both change and non-change outputs (default)","Only use non-change outputs (see …","Policy regarding the use of change outputs when creating a …","Marker type to indicate the TxBuilder is being used to …","Only use change outputs (see TxBuilder::only_spend_change)","Randomized (default)","A transaction builder","Context in which the TxBuilder is valid","Ordering of the transaction’s inputs and outputs","Unchanged","Add data as an output, using OP_RETURN","Add a foreign UTXO i.e. a UTXO not owned by this wallet.","Fill-in the PSBT_GLOBAL_XPUB field with the extended keys …","Add a recipient to the internal list","Add a utxo to the internal list of unspendable utxos","Add a utxo to the internal list of utxos that must be spent","Add the list of outpoints to the internal list of UTXOs …","Set whether or not the dust limit is checked.","Explicitly tells the wallet that it is allowed to reduce …","","","","","","","","","","","Set a specific ChangeSpendPolicy. See …","","","","","","","","","","","","","Choose the coin selection algorithm","Set the current blockchain height.","","","","","Do not spend change outputs","Sets the address to drain excess coins to.","Spend all the available inputs. This respects filters like …","Enable signaling RBF","Enable signaling RBF with a specific nSequence value","","","Set an absolute fee","Set a custom fee rate","Finish building the transaction.","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Fill-in the psbt::Output::redeem_script and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Only spend utxos added by add_utxo.","Use a specific nLockTime while creating the transaction","Only spend change outputs","Only Fill-in the psbt::Input::witness_utxo field when …","Choose the ordering for inputs and outputs of the …","","","Set the policy path to use while creating the transaction …","Replace the recipients already added with a new list","Sign with a specific sig hash","Sort transaction inputs and outputs by TxOrdering variant","","","","","","","","","","","","","","","","","","","","","Replace the internal list of unspendable utxos with a new …","Build a transaction with a specific version","","","","",""],"i":[17,17,17,17,17,0,1,0,17,17,17,12,17,0,17,1,17,17,17,17,0,12,0,17,17,17,17,17,17,17,0,17,17,17,0,17,0,17,0,0,0,0,1,1,3,1,17,1,3,10,11,12,13,17,1,3,10,11,12,13,0,1,1,3,10,11,12,13,1,3,10,11,12,13,1,13,10,13,3,3,10,0,0,1,10,13,1,3,10,11,12,13,13,3,3,17,17,1,3,10,11,12,13,0,17,17,17,17,17,17,17,17,1,3,10,11,12,13,3,3,3,3,3,3,1,10,17,1,3,10,11,12,13,10,10,0,12,10,1,3,13,17,0,13,3,11,13,1,10,13,0,3,0,1,3,10,11,12,13,17,13,17,1,3,10,11,12,13,17,1,3,10,11,12,13,13,12,10,17,1,3,10,11,12,13,11,168,0,17,1,3,10,11,12,13,0,1,169,169,170,171,172,172,34,0,0,0,0,0,0,0,45,0,0,58,0,0,0,45,34,0,0,0,34,40,0,34,45,0,34,34,40,34,46,47,38,34,44,45,34,46,47,38,44,45,34,46,47,38,38,0,58,46,47,58,47,58,58,46,47,58,46,47,58,58,46,47,58,46,47,0,44,45,34,46,47,38,44,45,34,46,47,38,44,45,34,46,47,38,38,44,34,34,34,34,34,38,34,38,44,45,34,46,47,38,0,34,38,38,173,34,38,34,44,45,34,34,46,47,38,38,34,38,44,45,34,34,34,34,34,34,34,46,47,38,38,34,38,38,38,34,38,38,38,34,34,38,38,34,44,45,34,46,47,38,44,45,34,46,47,38,38,142,68,34,38,38,38,34,38,38,44,58,46,47,38,34,38,58,46,47,34,34,34,34,34,34,34,34,34,34,34,34,34,34,38,44,58,38,34,38,38,44,45,34,46,47,38,58,46,47,0,38,34,38,34,38,38,34,34,38,34,38,58,46,47,0,44,45,34,46,47,38,34,38,34,58,58,34,38,44,45,34,46,47,38,44,45,34,46,47,38,38,44,45,34,46,47,38,34,44,45,34,46,47,38,44,38,44,0,0,0,0,24,24,0,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,83,20,20,0,84,0,0,83,82,0,83,83,20,20,20,83,84,56,20,84,84,0,0,0,56,56,82,83,83,0,0,83,83,83,82,82,83,84,57,85,20,56,82,83,84,57,85,20,56,82,83,84,57,85,56,82,83,84,57,85,56,57,85,85,82,83,84,57,85,20,82,83,84,57,85,20,20,56,82,83,84,84,57,57,85,20,56,57,82,85,83,57,82,83,84,57,85,20,56,83,84,85,57,85,20,57,57,82,83,84,57,85,85,82,83,84,57,85,56,20,82,83,84,57,85,20,56,82,83,84,57,85,20,56,82,83,84,57,85,20,56,82,83,84,57,85,20,56,174,174,174,175,176,177,176,177,176,177,176,177,176,177,178,179,180,181,182,183,183,182,184,185,0,0,0,0,0,0,0,0,0,0,0,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,186,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,87,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,89,90,91,93,94,95,96,97,98,22,0,0,0,0,187,187,0,0,105,0,0,0,0,22,22,22,58,0,0,37,22,22,187,111,0,111,0,0,37,40,108,0,0,0,0,37,0,105,108,40,0,188,40,111,101,107,37,102,22,103,40,108,104,109,105,111,101,107,37,102,22,103,40,108,104,109,105,58,58,58,58,58,58,58,58,101,37,102,103,40,104,105,101,37,102,103,40,104,105,103,40,104,105,102,102,101,40,103,37,103,40,104,105,107,37,102,22,22,103,103,40,40,108,108,104,109,105,103,111,111,111,101,107,37,102,22,22,22,103,40,40,108,104,109,105,107,107,40,108,103,40,187,189,187,189,111,40,103,40,104,105,111,101,107,37,102,22,103,40,108,104,109,105,88,92,101,101,107,40,108,92,111,101,101,111,111,40,188,37,188,37,188,37,40,40,103,104,109,103,0,40,58,103,103,0,58,103,104,109,58,107,103,40,104,105,58,103,22,103,103,103,58,103,0,101,37,102,103,40,104,105,108,22,103,40,108,58,58,103,111,101,107,37,102,22,103,40,108,104,109,105,111,101,107,37,102,22,103,40,108,104,109,105,111,101,107,37,102,22,103,40,108,104,109,105,111,101,107,37,102,22,103,40,108,104,109,105,0,190,190,190,0,0,0,135,0,134,134,0,134,135,0,0,0,116,117,131,117,117,117,117,117,116,117,134,131,135,116,117,134,131,135,117,117,117,117,116,116,0,117,116,116,131,117,117,117,116,116,131,0,117,116,116,117,134,131,131,135,135,116,117,134,131,135,117,117,117,117,117,117,117,117,116,131,117,117,116,117,134,131,135,191,117,131,117,117,117,117,117,117,117,117,117,135,117,117,116,117,0,117,117,117,116,116,131,135,116,117,116,116,116,117,134,131,135,116,117,134,131,135,0,116,117,134,131,135,116,116,117,134,131,135,0,0,150,0,0,0,0,0,150,0,150,149,146,147,148,150,149,146,147,148,146,147,148,146,147,148,161,146,147,148,0,146,147,148,149,149,150,149,146,147,148,150,149,146,147,148,150,149,146,147,148,149,148,149,149,146,147,148,150,149,146,147,148,150,149,146,147,148,150,149,146,147,148,150,149,146,147,148,192,193,193,192,193,0,0,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,151,157,152,157,152,157,26,0,26,26,26,154,26,26,26,26,26,26,157,152,154,26,0,0,0,0,0,0,0,0,154,0,0,26,55,133,133,55,133,152,26,154,156,118,55,133,157,152,26,154,156,118,55,133,157,55,152,26,154,156,118,55,133,157,152,26,154,156,118,55,133,157,152,118,118,55,133,157,156,194,156,156,152,26,154,118,157,55,152,26,26,154,156,118,55,133,157,152,152,152,26,26,154,156,118,55,133,157,152,194,156,156,55,152,26,154,156,118,55,133,157,156,55,152,118,26,55,133,195,156,156,119,156,133,55,133,152,26,154,156,118,55,133,157,26,133,133,152,26,154,156,118,55,133,157,152,26,154,156,118,55,133,157,152,26,154,156,118,55,133,157,152,26,154,156,118,55,133,157,196,164,0,163,163,0,0,163,164,0,0,0,164,128,128,128,128,128,128,128,128,128,129,127,128,164,163,129,127,128,164,163,128,129,127,128,164,163,129,127,128,164,163,164,163,128,128,129,127,164,163,128,128,128,128,128,164,163,128,128,128,129,127,128,164,163,129,127,128,164,163,164,163,128,129,127,128,164,163,128,128,128,128,128,164,163,128,128,128,164,129,127,128,164,163,129,127,128,164,163,129,127,128,164,163,129,127,128,164,163,128,128,129,127,128,164,163],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,2],[1],[3,4],[[],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],[[9,[[8,[6,7]]]]]],[1,1],[3,3],[10,10],[11,11],[12,12],[13,13],[[]],[[]],[[]],[[]],[[]],[[]],[[1,1],14],[[13,13],14],0,0,[[],3],[[],3],0,0,0,[[],[[9,[1]]]],[[],[[9,[10]]]],[[],[[9,[13]]]],[[1,1],15],[[3,3],15],[[10,10],15],[[11,11],15],[[12,12],15],[[13,13],15],0,[[3,5],16],[[3,5],16],[[17,18],19],[[17,18],19],[[1,18],19],[[3,18],19],[[10,18],19],[[11,18],19],[[12,18],19],[[13,18],19],0,[20,17],[[]],[21,17],[22,17],[23,17],[24,17],[25,17],[26,17],[[]],[[]],[[]],[[]],[[]],[[]],[4,3],[4,3],[4,3],[4,3],[[16,5],3],[[16,5],3],[1],[10],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[12,27],0,[[1,1],[[28,[14]]]],[[3,3],[[28,[14]]]],[[13,13],[[28,[14]]]],[29],0,0,[3,4],0,0,[1,9],[10,9],[13,9],0,[[3,3]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],30],0,[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],0,[12,31],0,[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],0,[[],5],[[],33],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],9],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[34,35],[[9,[36,23]]]],[[],37],[[],37],[38,39],[[[34,[40]],41],[[34,[42]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38,[[8,[38,7]]]],0,[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[39,[[9,[43]]]],[39,[[9,[43]]]],[39,[[9,[43]]]],[[],[[9,[43]]]],[[],[[9,[43]]]],[[],[[9,[43]]]],0,[44,44],[45,45],[34,34],[46,46],[47,47],[38,38],[[]],[[]],[[]],[[]],[[]],[[]],[[44,44],14],[[45,45],14],[[34,34],14],[[46,46],14],[[47,47],14],[[38,38],14],[38,15],0,[[[34,[40]],41],[[34,[42]]]],[[[34,[40]],48,41],[[9,[[34,[49]],50]]]],[[[34,[42]],48],[[9,[[34,[49]],50]]]],[34,51],[[],[[9,[34]]]],[[],[[9,[38]]]],[[[34,[40]]],16],[38,52],[[44,44],15],[[45,45],15],[[34,34],15],[[46,46],15],[[47,47],15],[[38,38],15],0,[34,[[9,[52,23]]]],0,[[38,53],[[9,[54]]]],[[55,56,48],[[9,[[28,[57]],24]]]],[[[34,[40]],55,56,48],[[9,[[28,[57]],24]]]],[[[38,[40,58]],55,56,48],[[9,[[28,[57]],24]]]],[[[34,[40]],48,52,[59,[41]]],[[9,[28,50]]]],[[44,18],[[9,[60]]]],[[45,18],[[9,[60]]]],[[34,18],[[9,[60]]]],[[34,18],[[9,[60]]]],[[46,18],[[9,[60]]]],[[47,18],[[9,[60]]]],[[38,18],[[9,[60]]]],[[38,18],[[9,[60]]]],[34,15],[38,15],[[]],[[]],[61,34],[62,34],[[]],[63,34],[64,34],[65,34],[66,34],[[]],[[]],[[]],[39,[[9,[38,23]]]],[33,[[9,[34,23]]]],[33,[[9,[38,23]]]],[[33,53],[[9,[38,23]]]],[33,[[9,[38,23]]]],[67,[[9,[34,23]]]],[67,[[9,[38,23]]]],[[38,5],[[28,[38]]]],[[38,5],28],[34,[[9,[23]]]],[34,[[9,[23]]]],[38,15],[38,15],[[[34,[40]]],15],[44],[45],[34],[46],[47],[38],[[]],[[]],[[]],[[]],[[]],[[]],[38,39],[[48,35],[[9,[24]]]],[[68,48,35],[[9,[24]]]],[[[34,[40]]],15],[38,15],[38,69],[38,70],[34,[[9,[71,23]]]],[38,[[9,[71,23]]]],[38,[[9,[72]]]],[[44,48],[[28,[73]]]],[38,[[28,[5]]]],[38,[[28,[5]]]],[38,[[28,[5]]]],[38,[[9,[5,23]]]],[34,[[9,[5,23]]]],[38,[[9,[5,23]]]],[[],33],[[],33],[[],33],[[[38,[74]]],[[9,[34,23]]]],[[],34],[[],34],[[[38,[46]]],[[9,[34,23]]]],[[5,[8,[7]]],[[9,[34,23]]]],[64,34],[63,34],[[],[[9,[34,23]]]],[[[38,[47]]],[[9,[34,23]]]],[[5,[8,[7]]],[[9,[34,23]]]],[[[28,[75]]],[[9,[34,23]]]],[[],[[9,[34,23]]]],[[[38,[47]]],[[9,[34,23]]]],[[5,[8,[7]]],[[9,[34,23]]]],0,0,[38,[[9,[23]]]],[52,[[9,[38,23]]]],[[48,33],[[9,[23]]]],[52,[[9,[38,23]]]],[[52,53],[[9,[38,23]]]],[[44,44],[[28,[14]]]],[[45,45],[[28,[14]]]],[[34,34],[[28,[14]]]],[[46,46],[[28,[14]]]],[[47,47],[[28,[14]]]],[[38,38],[[28,[14]]]],[[],5],[[],5],[[],5],0,[38,15],[34,[[9,[23]]]],[38,[[9,[54]]]],[[34,76],[[9,[23]]]],[38,[[9,[[8,[[8,[2,7]],7]],23]]]],[38,[[9,[[8,[[8,[2,7]],7]],23]]]],[34,[[9,[52,23]]]],[34,52],[38,5],[34,9],[38,9],[[],77],[[],77],[[],77],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],30],[[],30],[[[34,[40]],78],30],[38,[[9,[23]]]],[38,[[9,[23]]]],[34,9],[38,9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],0,[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[34,52],[[]],[[]],[[]],[[]],[[]],[[]],0,[38,15],0,[33,[[9,[30,24]]]],[33,[[9,[24]]]],[33,[[9,[30,24]]]],[33,[[9,[24]]]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[24,18],19],[[24,18],19],[79,24],[23,24],[80,24],[20,24],[81,24],[22,24],[[]],[25,24],[[]],[29],[[],30],[[],9],[[],9],[[],32],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[82,82],[83,83],[84,84],[57,57],[85,85],[56,56],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],85],[[82,82],15],[[83,83],15],[[84,84],15],[[57,57],15],[[85,85],15],[[20,20],15],[[82,18],19],[[83,18],19],[[84,18],19],[[57,18],19],[[85,18],19],[[20,18],19],[[20,18],19],[[56,18],19],[[]],[[]],[[]],[15,84],[[]],[83,57],[[]],[[]],[[]],[[57,86],[[9,[85,20]]]],[82],[85],[83,30],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[83,15],[84,15],[85,15],0,[[85,85],[[28,[14]]]],[29],[57,15],0,[82,9],[83,9],[84,9],[57,9],[85,9],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],30],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[35,[[9,[87,24]]]],[[[89,[[88,[46]]]],35],[[9,[87,24]]]],[[[90,[[88,[47]]]],35],[[9,[87,24]]]],[[[91,[[88,[47]]]],35],[[9,[87,24]]]],[[[93,[[92,[46]]]],35],[[9,[87,24]]]],[[[94,[[92,[46]]]],35],[[9,[87,24]]]],[[[95,[[92,[47]]]],35],[[9,[87,24]]]],[[[96,[[92,[47]]]],35],[[9,[87,24]]]],[[[97,[[92,[47]]]],35],[[9,[87,24]]]],[[[98,[[92,[47]]]],35],[[9,[87,24]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[87,48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[48,35],[[9,[24]]]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],99],[[],37],[[40,41],42],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[38,[[9,[43]]]],[39,[[9,[43]]]],[[],[[9,[43]]]],[[[101,[100,58]]],[[101,[100,58]]]],[37,37],[102,102],[103,103],[40,40],[104,104],[105,105],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[103,103],14],[[40,40],14],[[104,104],14],[[105,105],14],0,[[],102],[[[101,[58]]]],[[40,41],42],[103,52],[[37,37],15],[[103,103],15],[[40,40],15],[[104,104],15],[[105,105],15],[[[107,[[0,[106,58]]]],18],19],[[37,18],19],[[102,18],19],[[22,18],19],[[22,18],19],[[103,18],[[9,[60]]]],[[103,18],[[9,[60]]]],[[40,18],[[9,[60]]]],[[40,18],[[9,[60]]]],[[108,18],[[9,[60]]]],[[108,18],[[9,[60]]]],[[104,18],[[9,[60]]]],[[109,18],[[9,[60]]]],[[105,18],[[9,[60]]]],[103,15],[110,[[111,[58]]]],[112,[[111,[58]]]],[[]],[[]],[[]],[[]],[[]],[[]],[25,22],[23,22],[[]],[[]],[42,40],[[]],[[]],[[]],[[]],[[40,99],[[107,[58]]]],[[108,99],[[107,[58]]]],[33,[[9,[40]]]],[33,[[9,[108]]]],[67,[[9,[103,23]]]],[40,73],[[],[[9,[101]]]],[[],[[9,[101]]]],[[],[[9,[101]]]],[[],[[9,[101]]]],[[[111,[58]]],15],[40,15],[103],[40],[104],[105],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[9,[107,22]]]],[[[28,[113]],73],[[9,[107,22]]]],[101,[[9,[107,22]]]],[[101,[28,[113]],73],[[9,[107,22]]]],[[[107,[58]]],[[9,[[107,[58]],22]]]],[40,[[9,[[107,[58]],22]]]],[108,[[9,[[107,[58]],22]]]],[[],[[9,[111,22]]]],[[[111,[58]]],[[9,[[111,[58]],22]]]],[101,[[9,[111,22]]]],[[[101,[58]]]],[[[111,[58]],35],[[28,[110]]]],[[[111,[58]],35,48],112],[40,15],[[],15],[37,15],[[],15],[37,15],[[],15],[37,15],[40,15],[40,15],0,0,0,[103,[[9,[71,23]]]],[[],99],[40,114],[38,[[28,[5]]]],[103,5],[103,5],[[99,99],99],[[],33],[[5,[8,[7]]],[[9,[103,23]]]],0,0,[38,[[9,[23]]]],[[[107,[58]],99],[[107,[58]]]],[[103,103],[[28,[14]]]],[[40,40],[[28,[14]]]],[[104,104],[[28,[14]]]],[[105,105],[[28,[14]]]],[[],5],0,[29],[103,[[9,[23]]]],[103,[[9,[[8,[[8,[2,7]],7]],23]]]],[103,5],[[],77],[103,39],[[],99],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[108,48],[[9,[40,115]]]],[[],30],[[],30],[[],30],[[],30],[38,[[9,[23]]]],[38,[[9,[23]]]],[103,[[9,[103]]]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],[[28,[16]]]],[[],[[28,[3]]]],[5,[[28,[31]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[116,116],116],[[117,1,118,[120,[119]]]],0,[[117,121],[[9,[122]]]],[117,123],[117,124],[117,124],[117,123],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[117,125],[[9,[[128,[126,127]],17]]]],[117,[[128,[126,129]]]],[[117,130]],[117,86],[116,116],[[]],0,[117,9],0,[[],116],[131],[[117,1],[[28,[41]]]],[[117,52],28],[[117,1],30],[[],[[9,[116]]]],[[116,116],15],[[131,131],15],0,[[117,132,133],[[9,[15,17]]]],[[116,18],[[9,[60]]]],[[116,18],[[9,[60]]]],[[[117,[106]],18],19],[[134,18],19],[[131,18],19],[[131,18],19],[[135,18],19],[[[135,[106]],18],19],[[]],[[]],[[]],[[]],[[]],[[117,134],131],[117,116],[[117,1],68],[[117,134],131],[[117,10,[28,[136]],15],[[9,[137,17]]]],[[117,1],[[120,[55]]]],[[117,125,15],[[28,[13]]]],[[117,27],[[28,[10]]]],0,0,[[117,138],[[9,[15,139]]]],[[117,130,140],[[9,[15,[141,[140]]]]]],[[]],[[]],[[]],[[]],[[]],[52,15],[[117,52],15],0,[117,86],[117,[[28,[138]]]],[[117,15],[[8,[13]]]],[117,[[8,[10]]]],[117,35],[[142,[28,[142]],35],[[9,[117,135]]]],[[142,[28,[142]],35],[[9,[117,24]]]],[[117,1],41],[[117,1],[[9,[[28,[57]],17]]]],[29],[[117,1],[[28,[68]]]],[117,48],[116,9],[[117,132,133],[[9,[15,17]]]],0,[117,[[86,[1,[0,[143,100]]]]]],[[117,1],[[0,[143,100]]]],[117,144],[[]],[[],30],[[],30],[[],30],[116,16],[117,145],0,[116,16],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],0,[[],32],[[],32],[[],32],[[],32],[[],32],0,[[]],[[]],[[]],[[]],[[]],[[28,35,48],[[9,[30,17]]]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[146,146],[147,147],[148,148],[[]],[[]],[[]],[[[8,[11]],[8,[11]],3,16,52],[[9,[149,17]]]],[[146,[8,[11]],[8,[11]],3,16,52],[[9,[149,17]]]],[[147,[8,[11]],[8,[11]],3,16,52],[[9,[149,17]]]],[[148,[8,[11]],[8,[11]],3,16,52],[[9,[149,17]]]],[[16,3,52],150],[[],146],[[],147],[[],148],0,0,[[150,18],19],[[149,18],19],[[146,18],19],[[147,18],19],[[148,18],19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[149,16],[16,148],0,[149,16],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[]],[[]],[151,[[28,[30]]]],[151,30],[[],[[9,[151]]]],[[117,33,15],[[9,[151,33]]]],[[151,18],19],[[]],[33,[[9,[151]]]],[[]],0,[151,9],[151,30],[[],9],[[],9],[[],32],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[55,152,118,[120,[119]]],[[28,[[120,[119]]]]]],0,0,[[55,48],153],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[153,34,48],55],[152,152],[26,26],[154,154],[[[156,[[0,[100,155,106,100]]]]],[[156,[[0,[100,155,106,100]]]]]],[118,118],[55,55],[133,133],[157,157],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[152,152],14],[[118,118],14],[[],118],[[],55],[[],133],[[],157],[[[156,[[0,[155,106,100]]]]]],[[],[[28,[108]]]],[[[156,[[44,[110]]]]],[[28,[108]]]],[[[156,[158]]],[[28,[108]]]],[[152,152],15],[[26,26],15],[[154,154],15],[[118,118],15],[[157,157],15],[[55,152],[[28,[120]]]],[[152,18],19],[[26,18],19],[[26,18],19],[[154,18],19],[[[156,[[0,[106,155,106,100]]]],18],19],[[118,18],19],[[55,18],19],[[133,18],19],[[157,18],19],[[]],[159,152],[114,152],[160,26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[152],[48,152],[[[156,[[44,[110]]]],48],152],[[[156,[158]],48],152],[55,[[8,[152]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[155,106,100]],154],[[156,[[0,[155,106,100]]]]]],[[],55],[[152,152],[[28,[14]]]],[[118,118],[[28,[14]]]],[29],[[55,152,118],[[28,[[120,[119]]]]]],0,[[132,5,133,48],[[9,[26]]]],[[[156,[158]],132,5,133,48],[[9,[26]]]],[[[156,[[44,[110]]]],132,5,133,48],[[9,[26]]]],[[132,133,48],[[9,[26]]]],[[132,133,48],[[9,[26]]]],0,[55,[[8,[120]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],30],0,0,[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[[128,[161,129]]],[[128,[161,129]]]],[[[128,[161,162]],27,137,5],[[9,[[128,[161,162]],17]]]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,129]],52,16],[[128,[161,129]]]],[[[128,[161,162]],27],[[128,[161,162]]]],[[[128,[161,162]],27],[[9,[[128,[161,162]],17]]]],[[[128,[161,162]]],[[9,[[128,[161,162]],17]]]],[[[128,[161,162]],15],[[128,[161,162]]]],[[[128,[126,127]],52],[[9,[[128,[126,127]],17]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[128,[161,162]],163],[[128,[161,162]]]],[129,129],[127,127],[[[128,[100]]],[[128,[100]]]],[164,164],[163,163],[[]],[[]],[[]],[[]],[[]],[[164,164],14],[[163,163],14],[[[128,[161,162]],161],[[128,[161,162]]]],[[[128,[161,162]],41],[[128,[161,162]]]],[[],129],[[],127],[[],164],[[],163],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,129]],52],[[128,[161,129]]]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,162]],165],[[128,[161,162]]]],[[164,164],15],[[163,163],15],[[[128,[161,162]],16],[[128,[161,162]]]],[[[128,[161,162]],3],[[128,[161,162]]]],[[[128,[161,162]]],[[9,[17]]]],[[129,18],19],[[127,18],19],[[[128,[106,106,106]],18],19],[[164,18],19],[[163,18],19],[[]],[[]],[[]],[[]],[[]],[164],[163],[[[128,[161,162]]],[[128,[161,162]]]],[[]],[[]],[[]],[[]],[[]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,162]],166],[[128,[161,162]]]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,162]]],[[128,[161,162]]]],[[[128,[161,162]],164],[[128,[161,162]]]],[[164,164],[[28,[14]]]],[[163,163],[[28,[14]]]],[[[128,[161,162]],[86,[30,[8,[5]]]],1],[[128,[161,162]]]],[[[128,[161,129]],8],[[128,[161,129]]]],[[[128,[161,162]],136],[[128,[161,162]]]],[[164,130]],[[]],[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[[128,[161,162]],[8,[27]]],[[128,[161,162]]]],[[[128,[161,162]],167],[[128,[161,162]]]],[[]],[[]],[[]],[[]],[[]]],"p":[[4,"KeychainKind"],[15,"u8"],[3,"FeeRate"],[15,"f32"],[15,"usize"],[3,"u5"],[3,"Global"],[3,"Vec"],[4,"Result"],[3,"LocalUtxo"],[3,"WeightedUtxo"],[4,"Utxo"],[3,"TransactionDetails"],[4,"Ordering"],[15,"bool"],[15,"u64"],[4,"Error"],[3,"Formatter"],[6,"Result"],[4,"PolicyError"],[4,"Error"],[4,"KeyError"],[4,"Error"],[4,"Error"],[4,"Error"],[4,"SignerError"],[3,"OutPoint"],[4,"Option"],[3,"Demand"],[3,"String"],[3,"TxOut"],[3,"TypeId"],[15,"str"],[4,"Descriptor"],[4,"Network"],[3,"Address"],[4,"ScriptContextEnum"],[3,"Miniscript"],[4,"Terminal"],[4,"DescriptorPublicKey"],[15,"u32"],[3,"DefiniteDescriptorKey"],[4,"ScriptContextError"],[3,"DescriptorXKey"],[4,"Wildcard"],[4,"Legacy"],[4,"Segwitv0"],[3,"Secp256k1"],[3,"PublicKey"],[4,"ConversionError"],[4,"DescriptorType"],[3,"Script"],[3,"ExtParams"],[4,"AnalysisError"],[3,"SignersContainer"],[4,"BuildSatisfaction"],[3,"Policy"],[8,"ScriptContext"],[3,"Range"],[3,"Error"],[3,"Bare"],[3,"Tr"],[3,"Wsh"],[3,"Wpkh"],[3,"Pkh"],[3,"Sh"],[3,"Tree"],[6,"ExtendedDescriptor"],[3,"Iter"],[3,"PkIter"],[4,"Policy"],[4,"LiftError"],[3,"DerivationPath"],[4,"BareCtx"],[4,"TapTree"],[3,"TxIn"],[4,"SigType"],[3,"HashMap"],[4,"Error"],[4,"Error"],[4,"Error"],[4,"PkOrF"],[4,"SatisfiableItem"],[4,"Satisfaction"],[3,"Condition"],[3,"BTreeMap"],[6,"DescriptorTemplateOut"],[8,"IntoDescriptorKey"],[3,"P2Pkh"],[3,"P2Wpkh_P2Sh"],[3,"P2Wpkh"],[8,"DerivableKey"],[3,"Bip44"],[3,"Bip44Public"],[3,"Bip49"],[3,"Bip49Public"],[3,"Bip84"],[3,"Bip84Public"],[6,"ValidNetworks"],[8,"Clone"],[3,"GeneratedKey"],[3,"PrivateKeyGenerateOptions"],[3,"SortedMultiVec"],[3,"SinglePub"],[4,"SinglePubKey"],[8,"Debug"],[4,"DescriptorKey"],[4,"DescriptorSecretKey"],[3,"SinglePriv"],[3,"ExtendedPrivKey"],[4,"ExtendedKey"],[3,"ExtendedPubKey"],[6,"KeySource"],[3,"Fingerprint"],[3,"DescriptorKeyParseError"],[3,"Balance"],[3,"Wallet"],[3,"SignerOrdering"],[8,"TransactionSigner"],[3,"Arc"],[6,"Update"],[6,"UpdateError"],[3,"ChainGraph"],[3,"TxGraph"],[3,"Txid"],[6,"DefaultCoinSelectionAlgorithm"],[3,"BumpFee"],[3,"TxBuilder"],[3,"CreateTx"],[3,"Transaction"],[3,"AddressInfo"],[3,"PartiallySignedTransaction"],[3,"SignOptions"],[4,"AddressIndex"],[4,"NewError"],[3,"PsbtSighashType"],[3,"Input"],[3,"BlockId"],[4,"InsertCheckpointError"],[4,"ConfirmationTime"],[4,"InsertTxError"],[8,"IntoWalletDescriptor"],[8,"Iterator"],[3,"KeychainChangeSet"],[8,"DoubleEndedIterator"],[3,"LargestFirstCoinSelection"],[3,"OldestFirstCoinSelection"],[3,"BranchAndBoundCoinSelection"],[3,"CoinSelectionResult"],[4,"Excess"],[3,"FullyNodedExport"],[4,"SignerId"],[6,"KeyMap"],[4,"SignerContext"],[8,"Sized"],[3,"SignerWrapper"],[4,"TapLeavesOptions"],[3,"PrivateKey"],[3,"Hash"],[4,"Error"],[8,"CoinSelectionAlgorithm"],[8,"TxBuilderContext"],[4,"ChangeSpendPolicy"],[4,"TxOrdering"],[3,"Sequence"],[4,"LockTime"],[15,"i32"],[8,"Vbytes"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[13,"Foreign"],[8,"ExtractPolicy"],[13,"PsbtTimelocks"],[13,"Complete"],[13,"Partial"],[13,"PartialComplete"],[13,"Sha256Preimage"],[13,"Hash256Preimage"],[13,"Ripemd160Preimage"],[13,"Hash160Preimage"],[13,"Thresh"],[13,"Multisig"],[13,"AbsoluteTimelock"],[13,"RelativeTimelock"],[8,"DescriptorTemplate"],[8,"GeneratableKey"],[8,"ExtScriptContext"],[8,"GeneratableDefaultOptions"],[8,"PsbtUtils"],[8,"IsDust"],[13,"Change"],[13,"NoChange"],[8,"SignerCommon"],[8,"InputSigner"],[13,"Tap"]]},\ -"bdk_chain":{"doc":"This crate is a collection of core structures for Bitcoin …","t":[8,8,3,17,8,4,13,13,13,8,16,8,3,4,3,4,13,13,13,11,10,11,10,11,2,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,0,11,11,11,11,11,11,11,10,11,11,11,11,11,12,11,11,11,11,11,0,0,11,11,11,11,11,2,11,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,13,13,3,3,13,6,4,13,4,3,13,13,4,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,16,3,3,8,8,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,16,3,8,16,10,11,11,11,11,11,11,10,11,11,11,11,11,11,11,6,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,3,13,4,4,13,3,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Anchor","Append","BlockId","COINBASE_MATURITY","ChainOracle","ConfirmationTime","Confirmed","Confirmed","Confirmed","DescriptorExt","Error","ForEachTxOut","FullTxOut","ObservedAs","SpkTxOutIndex","TxHeight","Unconfirmed","Unconfirmed","Unconfirmed","all_spks","anchor_block","anchor_block","append","apply_additions","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_graph","chain_position","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","confirmation_height_upper_bound","confirmation_height_upper_bound","default","default","default","deserialize","deserialize","deserialize","dust_value","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","hash","hash","hash","hash","hash","height","height","height","index_of_spk","index_tx","index_txout","indexed_tx_graph","insert_spk","into","into","into","into","into","into","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_mature","is_mature","is_on_coinbase","is_relevant","is_spendable_at","is_spk_owned","is_tx_relevant","is_used","keychain","local_chain","mark_used","max_ord_of_height","max_ord_of_height","min_ord_of_height","min_ord_of_height","miniscript","net_value","outpoint","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serialize","serialize","serialize","sparse_chain","spent_by","spk_at_index","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_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","height","time","Chain","Chain","ChainGraph","ChangeSet","Conflict","InsertCheckpointError","InsertTxError","Missing","NewError","UnresolvableConflict","UnresolvableConflict","UnresolvableConflict","UpdateError","already_confirmed_tx","append","apply_changeset","apply_update","as_ref","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","checkpoint_limit","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contains_eviction","default","default","deserialize","determine_changeset","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","from","from","from","from","from","full_txout","get_tx_in_chain","graph","graph","inflate_update","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","insert_txout","insert_txout_preview","into","into","into","into","into","into","invalidate_checkpoints","invalidate_checkpoints_preview","is_empty","is_empty","new","provide","provide","provide","provide","serialize","set_checkpoint_limit","spent_by","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transactions_in_chain","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_conflicts_in_chain","type_id","type_id","type_id","type_id","type_id","type_id","update_tx","vzip","vzip","vzip","vzip","vzip","vzip","a","b","Additions","IndexedAdditions","IndexedTxGraph","Indexer","OwnedIndexer","append","apply_additions","apply_additions","apply_update","balance","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","from","from","graph","graph_additions","index","index_additions","index_tx","index_txout","insert_relevant_txs","insert_tx","insert_txout","into","into","is_spk_owned","is_tx_relevant","list_owned_txouts","list_owned_unspents","serialize","to_owned","try_balance","try_from","try_from","try_into","try_into","try_list_owned_txouts","try_list_owned_unspents","type_id","type_id","vzip","vzip","BIP32_MAX_INDEX","Balance","DerivationAdditions","KeychainChangeSet","KeychainScan","KeychainTracker","KeychainTxOutIndex","add","add_keychain","add_keychain","append","append","apply_additions","apply_additions","apply_changeset","apply_update","as_inner","as_ref","as_ref","as_ref","as_ref","as_ref","balance","balance_at","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain_graph","chain_graph","checkpoint_limit","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","default","default","default","deref","derivation_indices","deserialize","deserialize","deserialize","determine_changeset","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","full_txouts","full_utxos","graph","immature","index_tx","index_txout","inner","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","into","into","into","into","into","into","is_empty","is_empty","is_spk_owned","is_tx_relevant","keychains","keychains","last_active_indices","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead_to_target","lookahead_to_target_multi","lookaheads","mark_used","next_index","next_unused_spk","persist","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_spks_of_all_keychains","revealed_spks_of_keychain","scan","scan_txout","serialize","serialize","serialize","set_checkpoint_limit","set_lookahead","set_lookahead_for_all","spks_of_all_keychains","spks_of_keychain","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","txout_index","txouts_of_keychain","type_id","type_id","type_id","type_id","type_id","type_id","unmark_used","untrusted_pending","unused_spks_of_keychain","update","vzip","vzip","vzip","vzip","vzip","vzip","LoadError","Persist","PersistBackend","WriteError","append_changeset","borrow","borrow_mut","commit","fmt","from","into","load_into_keychain_tracker","new","stage","staged","try_from","try_into","type_id","vzip","ChangeSet","LocalChain","UpdateNotConnectedError","apply_changeset","apply_update","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","default","determine_changeset","eq","eq","fmt","fmt","fmt","from","from","from","from_blocks","get_block","heights","initial_changeset","into","into","is_block_in_chain","partial_cmp","provide","tip","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ChainPosition","ChangeSet","HashNotMatching","InsertCheckpointError","InsertTxError","NotConnected","SparseChain","TxInconsistent","TxMovedUnexpectedly","TxTooHigh","UpdateError","append","apply_changeset","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset_additions","checkpoint_at","checkpoint_limit","checkpoints","checkpoints","clear_mempool","clear_mempool_preview","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","deserialize","determine_changeset","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_checkpoints","full_txout","height","initial_changeset","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","into","into","into","into","into","invalidate_checkpoints","invalidate_checkpoints_preview","is_empty","is_empty","latest_checkpoint","max_ord_of_height","min_ord_of_height","provide","provide","provide","range_checkpoints","range_txids","range_txids_by_height","range_txids_by_position","serialize","set_checkpoint_limit","spent_by","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_into","try_into","try_into","try_into","try_into","tx_position","txids","txids","type_id","type_id","type_id","type_id","type_id","unconfirmed","vzip","vzip","vzip","vzip","vzip","height","original_hash","update_hash","original_pos","tip_height","tx_height","txid","txid","update_pos","original_pos","txid","update_pos","Additions","CanonicalTx","TxDescendants","TxGraph","TxNode","all_txouts","anchors","anchors","append","apply_additions","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","determine_additions","direct_conflicts_of_tx","eq","eq","eq","eq","floating_txouts","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","insert_anchor","insert_anchor_preview","insert_seen_at","insert_seen_at_preview","insert_tx","insert_tx_preview","insert_txout","insert_txout_preview","into","into","into","into","into","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txouts","list_chain_txs","list_chain_unspents","new","next","node","observed_as","outspends","partial_cmp","partial_cmp","relevant_heights","serialize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_list_chain_txouts","try_list_chain_txs","try_list_chain_unspents","tx","tx","tx_outputs","tx_spends","txid","txout","txouts","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","walk_conflicts","walk_descendants"],"q":["bdk_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::ConfirmationTime","","bdk_chain::chain_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::chain_graph::NewError","","bdk_chain::indexed_tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain::persist","","","","","","","","","","","","","","","","","","","bdk_chain::local_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::sparse_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::sparse_chain::InsertCheckpointError","","","bdk_chain::sparse_chain::InsertTxError","","","","","","bdk_chain::sparse_chain::UpdateError","","","bdk_chain::tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Trait that “anchors” blockchain data to a specific …","Trait that makes an object appendable.","A reference to a block in the canonical chain.","How many confirmations are needed f or a coinbase output …","Represents a service that tracks the blockchain.","Block height and timestamp at which a transaction is …","The chain data is seen as confirmed, and in anchored by A.","","","A trait to extend the functionality of a miniscript …","Error type.","Trait to do something with every txout contained in a …","A TxOut with as much data as we can retrieve about it","Represents an observation of some chain data.","An index storing TxOuts that have a script pubkey that …","Represents the height at which a transaction is confirmed.","The chain data is seen in mempool at this given timestamp.","","","The script pubkeys that are being tracked by the index.","Returns the BlockId that the associated blockchain data is …","","Append another object of the same type onto self.","","","","","","","","","","","","","","","Module for structures that combine the features of …","The position of the transaction in outpoint in the overall …","","","","","","","","","","","","","","","","","","","Get the upper bound of the chain data’s confirmation …","Get the upper bound of the chain data’s confirmation …","","","","","","","Returns the minimum value (in satoshis) at which an output …","","","","","","","","","","","","","The provided closure f will be called with each …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","The hash of the block.","","","The height of the block.","Returns the index associated with the script pubkey.","","","","Adds a script pubkey to scan for. Returns false and does …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Determines whether block of BlockId exists as an ancestor …","","","Whether the utxo is/was/will be spendable with chain tip.","","Whether the txout is considered mature.","Whether this output is on a coinbase transaction.","Whether any of the inputs of this transaction spend a …","Whether the utxo is/was/will be spendable at height.","","","Returns whether the script pubkey at index has been used …","Module for keychain related structures.","","Marks the script pubkey at index as used even though it …","","","","","","Computes the net value that this transaction gives to the …","The location of the TxOut.","Iterates over all the outputs with script pubkeys in an …","","","","","","Scans an object containing many txouts.","Scan a single TxOut for a matching script pubkey and …","Computes total input value going from script pubkeys in …","","","","Module for structures that maintain sparse (purposely …","The txid and chain position of the transaction (if any) …","Returns the script that has been inserted at the index.","","","","","","","","","","","","","","","","","","","","Module for structures that store and traverse transactions.","Returns the txout and script pubkey index of the TxOut at …","The TxOut.","Iterate over all known txouts that spend to tracked script …","Finds all txouts on a transaction that has previously been …","","","","","","","Undoes the effect of mark_used. Returns whether the index …","Iterates over all unused script pubkeys in an index range.","","","","","","","","","","The update chain was inconsistent with the existing chain","A consistent combination of a SparseChain<P> and a …","Represents changes to ChainGraph.","Two transactions within the sparse chain conflicted with …","A nice alias of sparse_chain::InsertCheckpointError.","Error that may occur when inserting a transaction.","One or more transactions in the chain were not in the graph","Error that may occur when calling ChainGraph::new.","Represents an unresolvable conflict between an update’s …","","A transaction in the update spent the same input as an …","Represents an update failure.","","Appends the changes in other into self such that applying …","Applies changeset to self.","Applies the update chain graph. Note this is shorthand for …","","","","","","","","","","","","","","","","Returns a reference to the internal SparseChain.","","Gets the checkpoint limit.","","","","","","","","","","","","","Returns true if this ChangeSet contains transaction …","","","","Calculates the difference between self and update in the …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get the full transaction output at an outpoint if it …","Get a transaction currently in the underlying SparseChain.","Returns a reference to the internal TxGraph.","","Take an update in the form of a SparseChain<P> and attempt …","Inserts checkpoint into Self.","Determines the changes required to insert a block_id (a …","Inserts Transaction at the given chain position.","Determines the changes required to insert a transaction …","Inserts a TxOut into the internal TxGraph.","Determines the changes required to insert a TxOut into the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Invalidate checkpoints from_height (inclusive) and above. …","Determines the changes required to invalidate checkpoints …","Whether the chain graph contains any data whatsoever.","Returns true if this ChangeSet records no changes.","Create a new chain graph from a chain and a graph.","","","","","","Sets the checkpoint limit.","Find the transaction in the chain that spends outpoint.","","","","","","","","","","","Iterate over the full transactions and their position in …","","","","","","","","","","","","","Given a transaction, return an iterator of txids that …","","","","","","","","","","","","","","","","The resultant “additions” when new transaction data is …","A structure that represents changes to an IndexedTxGraph.","A struct that combines TxGraph and an Indexer …","Represents a structure that can index transaction data.","A trait that extends Indexer to also index “owned” …","","Apply additions to itself.","Applies the IndexedAdditions to the IndexedTxGraph.","Apply an update directly.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a reference of the internal transaction graph.","TxGraph additions.","Transaction index.","Indexer additions.","Scan and index the given transaction.","Scan and index the given outpoint and txout.","Insert relevant transactions from the given txs iterator.","Insert and index a transaction into the graph.","Insert a floating txout of given outpoint.","Calls U::from(self).","Calls U::from(self).","Determines whether a given script pubkey (spk) is owned.","Determines whether the transaction should be included in …","","","","","","","","","","","","","","","","Maximum BIP32 derivation index.","Balance, differentiated into various categories.","Represents updates to the derivation index of a …","Represents changes to a KeychainTracker.","An update that includes the last active indexes of each …","A convenient combination of a KeychainTxOutIndex and a …","A convenient wrapper around SpkTxOutIndex that relates …","","Add a keychain to the tracker’s txout_index with a …","Add a keychain to the tracker’s txout_index with a …","Append another DerivationAdditions into self.","Appends the changes in other into self such that applying …","Applies the derivation additions to the KeychainTxOutIndex…","","Applies the changes in changeset to KeychainTracker.","Directly applies a KeychainScan on KeychainTracker.","Get the inner map of the keychain to its new derivation …","","","","","","Returns the balance of the keychain, i.e., the value of …","Returns the balance of all spendable confirmed unspent …","","","","","","","","","","","","","Returns a reference to the internal SparseChain (which is …","Returns a reference to the internal ChainGraph.","The changes that have occurred in the blockchain","Get the checkpoint limit of the internal SparseChain.","","","","","","","","","","","","","Confirmed and immediately spendable balance","","","","","","","","The changes in local keychain derivation indices","","","","Determines the resultant KeychainChangeSet if the given …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","Returns the argument unchanged.","Iterates through FullTxOuts that are considered to exist …","Iterates through FullTxOuts that are unspent outputs.","Returns a reference to the internal TxGraph (which is part …","All coinbase outputs not yet matured","","","Return a reference to the internal SpkTxOutIndex.","Directly insert a block_id into the tracker.","Determines the changes as a result of inserting block_id …","Directly insert a transaction into the inner ChainGraph …","Determines the changes as a result of inserting a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns whether the additions are empty.","Returns whether the KeychainChangeSet is empty (no changes …","","","Get the internal map of keychains to their descriptors. …","Return a reference to the internal map of the keychain to …","The last active indexes of each keychain","Get the last derivation index revealed for keychain.","Get the last derivation index that is revealed for each …","Returns the highest derivation index of the keychain where …","Returns the highest derivation index of each keychain that …","Store lookahead scripts until target_index.","Convenience method to call lookahead_to_target for …","Return the lookahead setting for each keychain.","Marks the script pubkey at index as used even though the …","Get the next derivation index for keychain. The next index …","Gets the next unused script pubkey in the keychain. I.e., …","Persistence for changes made to a KeychainTracker.","Attempts to reveal the next script pubkey for keychain.","Reveals script pubkeys of the keychain’s descriptor up …","Convenience method to call Self::reveal_to_target on …","Convenience method to get revealed_spks_of_keychain of all …","Iterates over the script pubkeys revealed by this index …","Scans an object for relevant outpoints, which are stored …","Scan a single outpoint for a matching script pubkey.","","","","Set the checkpoint limit of the internal SparseChain.","Set the lookahead count for keychain.","Convenience method to call set_lookahead for all keychains.","Generates script pubkey iterators for every keychain. The …","Generates a script pubkey iterator for the given keychain…","","","","","","","","Get the whole balance visible to the wallet.","Unconfirmed UTXOs generated by a wallet tx","Get sum of trusted_pending and confirmed coins.","","","","","","","","","","","","","Index between script pubkeys to transaction outputs","Iterates over all the OutPoint that have a TxOut with a …","","","","","","","Undoes the effect of mark_used. Returns whether the index …","Unconfirmed UTXOs received from an external wallet","Iterates over all unused script pubkeys for a keychain …","The update data in the form of a chain that could be …","","","","","","","The error the backend returns when it fails to load.","Persist wraps a PersistBackend to create a convenient …","A persistence backend for Persist.","The error the backend returns when it fails to write.","Appends a new changeset to the persistent backend.","","","Commit the staged changes to the underlying persistence …","","Returns the argument unchanged.","Calls U::from(self).","Applies all the changesets the backend has received to …","Create a new Persist from a PersistBackend.","Stage a changeset to later persistence with commit.","Get the changes that haven’t been committed yet","","","","","This is the return value of determine_changeset and …","This is a local implementation of ChainOracle.","Represents an update failure of LocalChain due to the …","Applies the given changeset.","Updates LocalChain with an update LocalChain.","","","","","","","","","","","","This is like the sparsechain’s logic, expect we must …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Get a block at the given height.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Represents a position in which transactions are ordered in …","The return value of determine_changeset.","Occurs when a checkpoint of the same height already exists …","Represents a failure when trying to insert a checkpoint …","Represents a failure when trying to insert a Txid into …","The update cannot be applied to the chain because the …","This is a non-monotone structure that tracks relevant Txid…","The update contains inconsistent tx states (e.g., it …","Occurs when the Txid is already in the SparseChain, and …","Occurs when the Txid is to be inserted at a height higher …","Represents an update failure of SparseChain.","Appends the changes of other into self such that applying …","","Updates SparseChain with another chain that connects to it.","","","","","","","","","","","","Return Txids that would be added to the sparse chain if …","Get the checkpoint at the given height if it exists.","Returns the value set as the checkpoint limit.","Return a BTreeMap of all checkpoints (block hashes by …","","Clears all transactions of height TxHeight::Unconfirmed.","Determines the ChangeSet when all transactions of height …","","","","","","","","","","","","","","Preview changes of updating Self with another chain that …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Creates a new chain from a list of block hashes and …","Attempt to retrieve a FullTxOut of the given outpoint.","Get the transaction height of the position.","Derives a ChangeSet that assumes that there are no …","Insert a checkpoint (BlockId).","Determines the resultant ChangeSet if BlockId was inserted.","Inserts a given Txid at pos.","Determines the resultant ChangeSet if Txid was inserted at …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Invalidate checkpoints from_height (inclusive) and above.","Determines the ChangeSet when checkpoints from_height …","Returns whether the sparse chain contains any checkpoints …","Whether this changeset contains no changes.","Get the checkpoint for the last known tip.","Get the position’s upper bound of a given height.","Get the position’s lower bound of a given height.","","","","Return an iterator over checkpoints in a height range, in …","Iterate over a sub-range of positioned Txids.","Iterate over a sub-range of positioned Txids, where the …","Iterate over a sub-range of positioned Txids, where the …","","Set the checkpoint limit.","Finds the transaction in the chain that spends outpoint.","","","","","","","","","","","","","","","","","","","Return the ChainPosition of a txid.","Iterate over all Txids ordered by their ChainPosition.","","","","","","","Get the unconfirmed position.","","","","","","","","","","","","","","","","","","A structure that represents changes to a TxGraph.","An outwards-facing view of a transaction that is part of …","An iterator that traverses transaction descendants.","A graph of transactions and spends.","An outward-facing view of a (transaction) node in the …","Iterate over all tx outputs known by TxGraph.","The blocks that the transaction is “anchored” in.","","","Applies Additions to TxGraph.","Extends this graph with another so that self becomes the …","","","","","","","","","","","","Calculates the fee of a given transaction. Returns 0 if tx …","","","","","","","","","","","","","","","","","Previews the resultant Additions when Self is updated …","Given a transaction, return an iterator of txids that …","","","","","Iterate over floating txouts known by TxGraph.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Iterate over all full transactions in the graph.","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","Get a transaction by txid. This only returns Some for full …","Get a transaction node by txid. This only returns Some for …","Obtains a single tx output (if any) at the specified …","Inserts the given anchor into TxGraph.","Returns the resultant Additions if the txid is set in …","Inserts the given seen_at into TxGraph.","Returns the resultant Additions if the txid is set to …","Inserts the given transaction into TxGraph.","Returns the resultant Additions if the given transaction …","Inserts the given TxOut at OutPoint.","Returns the resultant Additions if the given txout is …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Whether the graph has any transactions or outputs in it.","Returns true if the Additions is empty (no transactions or …","","The last-seen unix timestamp of the transaction as …","List outputs that are in chain with chain_tip.","List graph transactions that are in chain with chain_tip.","List unspent outputs (UTXOs) that are in chain with …","Construct a new TxGraph from a list of transactions.","","The transaction node (as part of the graph).","How the transaction is observed as (confirmed or …","The transactions spending from this output.","","","Get all heights that are relevant to the graph.","","","","","","","","","","","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","","","","","","List outputs that are in chain with chain_tip.","List graph transactions that are in chain with chain_tip.","List unspent outputs (UTXOs) that are in chain with …","A partial or full representation of the transaction.","","Returns known outputs of a given txid.","Iterates over the transactions spending from txid.","Txid of the transaction.","","Iterates over all outpoints contained within Additions.","","","","","","","","","","","Creates an iterator that both filters and maps conflicting …","Creates an iterator that filters and maps descendants from …"],"i":[0,0,0,0,0,0,6,7,8,0,80,0,0,0,0,0,6,7,8,3,26,5,52,3,0,3,6,7,8,5,9,3,6,7,8,5,9,0,9,3,6,7,8,5,9,3,6,7,8,5,9,6,6,7,8,5,9,26,26,3,7,5,7,8,5,81,6,7,8,5,9,3,6,7,7,8,5,9,82,3,6,7,7,8,5,5,5,9,6,7,8,5,5,7,8,5,3,3,3,0,3,3,6,7,8,5,9,80,7,8,9,9,9,9,3,9,3,3,3,0,0,3,7,8,7,8,0,3,9,3,6,7,8,5,9,3,3,3,7,8,5,0,9,3,3,6,7,8,5,9,7,3,6,7,8,5,9,3,6,7,8,5,9,0,3,9,3,3,3,6,7,8,5,9,3,3,3,6,7,8,5,9,83,83,44,39,0,0,43,0,0,43,0,0,44,39,0,45,37,38,38,38,38,38,38,37,43,44,39,45,38,37,43,44,39,45,38,37,38,38,37,43,44,39,45,38,37,43,44,39,45,37,38,37,37,38,38,37,43,44,39,45,38,37,43,43,44,44,39,39,45,45,38,37,38,37,43,44,44,44,39,39,39,45,38,38,38,37,38,38,38,38,38,38,38,38,37,43,44,39,45,38,38,38,37,38,43,44,39,45,37,38,38,38,37,43,44,39,45,43,44,39,45,38,38,37,43,44,39,45,38,37,43,44,39,45,38,38,37,43,44,39,45,45,38,37,43,44,39,45,84,84,54,0,0,0,0,53,54,55,55,55,55,53,55,53,53,53,55,53,53,53,53,55,53,55,53,55,53,54,54,55,55,55,55,53,56,54,55,55,53,53,55,55,53,55,53,55,55,55,53,55,53,0,0,0,0,0,0,0,57,59,62,63,64,62,62,59,59,63,59,59,59,63,65,59,59,59,62,63,65,64,57,59,62,63,65,64,57,59,59,64,59,59,62,63,65,64,57,59,62,63,65,64,57,57,59,62,63,65,64,57,62,64,63,64,57,59,63,65,57,59,62,63,65,64,57,57,64,59,62,63,65,65,64,64,64,57,59,59,59,57,62,62,62,59,59,59,59,59,62,63,65,64,57,63,64,62,62,59,62,65,62,62,62,62,62,62,62,62,62,62,0,62,62,62,62,62,62,62,63,64,57,59,62,62,62,62,59,62,63,65,64,57,57,57,57,57,59,62,63,65,64,57,59,62,63,65,64,57,59,62,59,62,63,65,64,57,62,57,62,65,59,62,63,65,64,57,85,0,0,85,85,66,66,66,66,66,66,85,66,66,66,66,66,66,66,0,0,0,67,67,67,67,69,67,69,67,69,67,69,67,67,67,67,69,67,69,69,67,67,69,67,67,67,67,67,69,67,67,69,67,67,69,69,67,69,67,69,67,69,67,69,0,0,72,0,0,47,0,47,46,46,0,71,41,41,41,41,46,72,47,71,41,46,72,47,71,41,41,41,41,71,41,41,41,46,72,47,71,41,46,72,47,71,41,71,71,41,41,46,72,47,71,41,46,46,72,72,47,47,71,41,46,72,47,71,41,41,27,41,41,41,41,41,41,46,72,47,71,41,41,41,71,41,27,27,46,72,47,41,41,41,41,71,41,41,41,46,72,47,71,46,72,47,41,46,72,47,71,41,46,72,47,71,41,41,71,41,46,72,47,71,27,41,46,72,47,71,86,86,86,87,88,88,88,87,87,89,89,89,0,0,0,0,0,40,76,73,73,40,40,40,78,40,76,77,73,78,40,76,77,73,40,78,78,40,76,77,73,40,76,77,73,76,77,40,73,76,73,40,40,40,76,77,73,40,40,76,77,73,40,73,78,40,76,77,73,40,40,40,40,40,40,40,40,40,40,40,40,40,40,78,40,76,77,73,78,40,73,73,76,40,40,40,40,78,77,77,40,76,77,40,73,40,76,77,73,78,40,76,77,73,40,40,78,40,76,77,73,40,40,40,76,73,40,40,76,73,73,78,40,76,77,73,78,40,76,77,73,40,40],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[3,[[0,[1,2]]]]],4],[[],5],[5,5],[[]],[[[3,[[0,[1,2]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[3,[1]]],[[3,[1]]]],[[[6,[1]]],[[6,[1]]]],[7,7],[8,8],[5,5],[[[9,[1]]],[[9,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[6,[[6,[1]]]],[[[6,[2]],6],10],[[7,7],10],[[8,8],10],[[5,5],10],[[[9,[2]],9],10],[[],11],[[],11],[[],3],[[],7],[[],5],[[],[[12,[7]]]],[[],[[12,[8]]]],[[],[[12,[5]]]],[[],13],[[[6,[14]],6],15],[[7,7],15],[[8,8],15],[[5,5],15],[[[9,[14]],9],15],[[[3,[16]],17],18],[[[6,[16]],17],18],[[7,17],18],[[7,17],18],[[8,17],18],[[5,17],18],[[[9,[16]],17],18],[19],[[]],[[]],[[]],[[[20,[11]]],7],[[]],[[],5],[[],5],[[]],[[]],[[[6,[21]]]],[7],[8],[5],0,[7,7],[8,7],0,[[[3,[[0,[1,2]]]],22],20],[[[3,[[0,[1,2]]]],23]],[[[3,[[0,[1,2]]]],24,25]],0,[[[3,[[0,[1,2]]]],[0,[1,2]],22],15],[[]],[[]],[[]],[[]],[[]],[[]],[[5,5],[[12,[[20,[15]]]]]],[7,15],[8,15],[[[9,[[6,[26]]]],11],15],[[[9,[27]],11],15],[[[9,[[6,[26]]]],11],15],0,[[[3,[[0,[1,2]]]],23],15],[[[9,[27]],11],15],[[[3,[[0,[1,2]]]],22],15],[[[3,[[0,[1,2]]]],23],15],[[[3,[[0,[1,2]]]]],15],0,0,[[[3,[[0,[1,2]]]]],15],[7,7],[7,8],[7,7],[7,8],0,[[[3,[[0,[1,2]]]],23],28],0,[[[3,[[0,[1,2]]]],[29,[[0,[1,2]]]]],30],[[[6,[31]],6],[[20,[10]]]],[[7,7],[[20,[10]]]],[[8,8],[[20,[10]]]],[[5,5],[[20,[10]]]],[[[9,[31]],9],[[20,[10]]]],[[[3,[[0,[1,2]]]]],[[32,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],24,25],20],[[[3,[[0,[1,2]]]],23]],[7,12],[8,12],[5,12],0,0,[[[3,[[0,[1,2]]]]],[[20,[22]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],33],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],0,[[[3,[[0,[1,2]]]],24],20],0,[[[3,[[0,[1,2]]]]],[[0,[30,34]]]],[[[3,[[0,[1,2]]]],35],30],[[],36],[[],36],[[],36],[[],36],[[],36],[[],36],[[[3,[[0,[1,2]]]]],15],[[[3,[[0,[1,2]]]]],30],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[37,37]],[[38,37]],[[38,38],[[12,[37,39]]]],[38,40],[38,38],[38,41],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[38,41],0,[38,[[20,[42]]]],[[[38,[1]]],[[38,[1]]]],[[[37,[1]]],[[37,[1]]]],[[[43,[1]]],[[43,[1]]]],[[[44,[1]]],[[44,[1]]]],[[[39,[1]]],[[39,[1]]]],[[[45,[1]]],[[45,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[37,15],[[],38],[[],37],[[],[[12,[37]]]],[[38,38],[[12,[37,39]]]],[[[38,[14]],38],15],[[[37,[14]],37],15],[[[43,[14]],43],15],[[[44,[14]],44],15],[[[39,[14]],39],15],[[[45,[14]],45],15],[[[38,[16]],17],18],[[[37,[16]],17],18],[[[43,[16]],17],18],[[[43,[16]],17],18],[[[44,[16]],17],18],[[[44,[16]],17],18],[[[39,[16]],17],18],[[[39,[16]],17],18],[[[45,[16]],17],18],[[[45,[16]],17],18],[[38,19]],[[37,19]],[[]],[[]],[[]],[[]],[45,44],[46,44],[45,39],[47,39],[[]],[[]],[[38,24],[[20,[9]]]],[[38,35],20],[38,40],0,[[38,41,48],[[12,[38,43]]]],[[38,5],[[12,[37,49]]]],[[38,5],[[12,[37,49]]]],[[38,23],[[12,[37,44]]]],[[38,23],[[12,[37,44]]]],[[38,24,25],37],[[38,24,25],37],[[]],[[]],[[]],[[]],[[]],[[]],[[38,11],37],[[38,11],37],[38,15],[37,15],[[41,40],[[12,[38,43]]]],[50],[50],[50],[50],[37,12],[[38,[20,[42]]]],[[38,24],20],[[]],[[]],[[]],[[]],[[]],[[]],[[],33],[[],33],[[],33],[[],33],[38,30],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[38,23],51],[[],36],[[],36],[[],36],[[],36],[[],36],[[],36],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[[53,[26,52]],[53,[26,52]]]],[[]],[[[55,[26,54]],[53,[26]]]],[[[55,[26,54]],[40,[26]]],[[53,[26]]]],[[[55,[26,56]],5],57],[[]],[[]],[[]],[[]],[[[53,[1,1]]],[[53,[1,1]]]],[[]],[[],[[55,[58]]]],[[],[[53,[58]]]],[[],[[12,[53]]]],[[[53,[14,14]],53],15],[[[53,[16,16]],17],18],[[]],[[]],[[[55,[26,54]]],40],0,0,0,[23],[[24,25]],[[[55,[26,54]],48,[20,[13]]],[[53,[26]]]],[[[55,[26,54]],23,48,[20,[13]]],[[53,[26]]]],[[[55,[26,54]],24,25],[[53,[26]]]],[[]],[[]],[22,15],[23,15],[[[55,[26,56]],5],51],[[[55,[26,56]],5],51],[53,12],[[]],[[[55,[26,56]],5],[[12,[57]]]],[[],12],[[],12],[[],12],[[],12],[[[55,[26,56]],5],51],[[[55,[26,56]],5],51],[[],36],[[],36],[[]],[[]],0,0,0,0,0,0,0,[[57,57],57],[[59,[61,[60]]]],[[[62,[[0,[1,2,16]]]],[0,[1,2,16]],[61,[60]]]],[[[63,[2]],[63,[2]]]],[[64,64]],[[[62,[[0,[1,2,16]]]],[63,[[0,[1,2,16]]]]]],[[[62,[[0,[1,2,16]]]]]],[[59,64]],[[59,65],[[12,[64,39]]]],[63,4],[59,40],[59,38],[59,41],[63,4],[65,40],[[59,19],57],[[59,11],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[59,41],[59,38],0,[59,[[20,[42]]]],[[[59,[1,1]]],[[59,[1,1]]]],[[[62,[1]]],[[62,[1]]]],[[[63,[1]]],[[63,[1]]]],[[[65,[1,1]]],[[65,[1,1]]]],[[[64,[1,1]]],[[64,[1,1]]]],[57,57],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],59],[[],62],[[],63],[[],65],[[],64],[[],57],[62],0,[[],[[12,[63]]]],[[],[[12,[64]]]],[[],[[12,[57]]]],[[59,65],[[12,[64,39]]]],[[[63,[14]],63],15],[[[65,[14,14]],65],15],[[57,57],15],[[[59,[16,16]],17],18],[[[62,[16]],17],18],[[[63,[16]],17],18],[[[65,[16,16]],17],18],[[[64,[16,16]],17],18],[[57,17],18],[[57,17],18],[[64,19]],[[]],[[]],[[]],[[]],[38,65],[63,64],[[]],[37,64],[[]],[59,51],[59,51],[59,40],0,[[[62,[[0,[1,2,16]]]],23]],[[[62,[[0,[1,2,16]]]],24,25]],[[[62,[[0,[1,2,16]]]]],3],[[59,5],[[12,[64,49]]]],[[59,5],[[12,[64,49]]]],[[59,23],[[12,[64,44]]]],[[59,23],[[12,[64,44]]]],[[]],[[]],[[]],[[]],[[]],[[]],[63,15],[64,15],[[[62,[[0,[1,2,16]]]],22],15],[[[62,[[0,[1,2,16]]]],23],15],[59,4],[[[62,[[0,[1,2,16]]]]],4],0,[[[62,[[0,[1,2,16]]]]],[[20,[11]]]],[[[62,[[0,[1,2,16]]]]],4],[[[62,[[0,[1,2,16]]]]],[[20,[11]]]],[[[62,[[0,[1,2,16]]]]],[[4,[[0,[1,2,16]],11]]]],[[[62,[[0,[1,2,16]]]],11]],[[[62,[[0,[1,2,16]]]],[4,[[0,[1,2,16]],11]]]],[[[62,[[0,[1,2,16]]]]],4],[[[62,[[0,[1,2,16]]]],11],15],[[[62,[[0,[1,2,16]]]]]],[[[62,[[0,[1,2,16]]]]]],0,[[[62,[[0,[1,2,16]]]]]],[[[62,[[0,[1,2,16]]]],11]],[[[62,[[0,[1,2,16]]]],4]],[[[62,[[0,[1,2,16]]]]],[[4,[[0,[1,2,16]],[0,[51,1]]]]]],[[[62,[[0,[1,2,16]]]]],[[0,[30,1]]]],[[[62,[[0,[1,2,16]]]]],[[63,[[0,[1,2,16]]]]]],[[[62,[[0,[1,2,16]]]],24,25],[[63,[[0,[1,2,16]]]]]],[63,12],[64,12],[57,12],[[59,[20,[42]]]],[[[62,[[0,[1,2,16]]]],11]],[[[62,[[0,[1,2,16]]]],11]],[[[62,[[0,[1,2,16]]]]],[[4,[[0,[1,2,16]],[0,[51,1]]]]]],[[[62,[[0,[1,2,16]]]]],[[0,[51,1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],33],[57,13],0,[57,13],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],0,[[[62,[[0,[1,2,16]]]]],30],[[],36],[[],36],[[],36],[[],36],[[],36],[[],36],[[[62,[[0,[1,2,16]]]],11],15],0,[[[62,[[0,[1,2,16]]]]],30],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[64,12],[[]],[[]],[66,12],[[[66,[16,16,16]],17],18],[[]],[[]],[59,12],[[],66],[[66,64]],[66,64],[[],12],[[],12],[[],36],[[]],0,0,0,[[67,68]],[[67,67],[[12,[68,69]]]],[67,4],[[]],[[]],[[]],[[]],[67,67],[69,69],[[]],[[]],[[67,67],10],[[],67],[[67,67],[[12,[68,69]]]],[[67,67],15],[[69,69],15],[[67,17],18],[[69,17],18],[[69,17],18],[[[4,[11,70]]],67],[[]],[[]],[[],67],[[67,11],[[20,[5]]]],[67,[[32,[11]]]],[67,68],[[]],[[]],[[67,5,5],[[12,[[20,[15]]]]]],[[67,67],[[20,[10]]]],[50],[67,[[20,[5]]]],[[]],[[]],[[],33],[[],12],[[],12],[[],12],[[],12],[[],36],[[],36],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[71,71]],[[[41,[27]],[71,[27]]]],[[[41,[27]],[41,[27]]],[[12,[[71,[27]],[47,[27]]]]]],[41,41],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[41,[27]],71],51],[[[41,[27]],11],[[20,[5]]]],[[[41,[27]]],[[20,[42]]]],[[[41,[27]]],4],0,[[[41,[27]]],[[71,[27]]]],[[[41,[27]]],[[71,[27]]]],[[[41,[1]]],[[41,[1]]]],[[[46,[1]]],[[46,[1]]]],[72,72],[[[47,[1]]],[[47,[1]]]],[[[71,[1]]],[[71,[1]]]],[[]],[[]],[[]],[[]],[[]],[[],41],[[],71],[[],[[12,[71]]]],[[[41,[27]],[41,[27]]],[[12,[[71,[27]],[47,[27]]]]]],[[[41,[14]],41],15],[[[46,[14]],46],15],[[72,72],15],[[[47,[14]],47],15],[[[71,[14]],71],15],[[[41,[16]],17],18],[[[46,[16]],17],18],[[[46,[16]],17],18],[[72,17],18],[[72,17],18],[[[47,[16]],17],18],[[[47,[16]],17],18],[[[71,[16]],17],18],[[]],[[]],[[]],[[]],[[]],[[],[[41,[27]]]],[[[41,[27]],40,24],[[20,[[9,[27]]]]]],[[],7],[[[41,[27]]],[[71,[27]]]],[[[41,[27]],5],[[12,[[71,[27]],72]]]],[[[41,[27]],5],[[12,[[71,[27]],72]]]],[[[41,[27]],35,27],[[12,[[71,[27]],[46,[27]]]]]],[[[41,[27]],35,27],[[12,[[71,[27]],[46,[27]]]]]],[[]],[[]],[[]],[[]],[[]],[[[41,[27]],11],[[71,[27]]]],[[[41,[27]],11],[[71,[27]]]],[[[41,[27]]],15],[71,15],[[[41,[27]]],[[20,[5]]]],[7],[7],[50],[50],[50],[[[41,[27]],[29,[11]]],30],[[[41,[27]]],30],[[[41,[27]]],30],[[[41,[27]]],30],[71,12],[[[41,[27]],[20,[42]]]],[[[41,[27]],40,24],20],[[]],[[]],[[]],[[]],[[]],[[],33],[[],33],[[],33],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[],12],[[[41,[27]],35],20],[[[41,[27]]],[[0,[30,34]]]],0,[[],36],[[],36],[[],36],[[],36],[[],36],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[40,51],0,0,[[[73,[2]],[73,[2]]]],[[[40,[[0,[1,2]]]],[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],[40,[[0,[1,2]]]]],[[73,[[0,[1,2]]]]]],[40,40],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[40,23],[[20,[28]]]],[[],[[20,[74]]]],[[],[[20,[75]]]],[[[40,[1]]],[[40,[1]]]],[[[76,[1,1]]],[[76,[1,1]]]],[[[77,[1,1]]],[[77,[1,1]]]],[[[73,[1]]],[[73,[1]]]],[[]],[[]],[[]],[[]],[[[76,[2,2]],76],10],[[[77,[2,2]],77],10],[[],40],[[],73],[76],[[],[[12,[73]]]],[[[40,[[0,[1,2]]]],40],[[73,[[0,[1,2]]]]]],[[40,23],51],[[[40,[14]],40],15],[[[76,[14,14]],76],15],[[[77,[14,14]],77],15],[[[73,[14]],73],15],[40,51],[[[40,[16]],17],18],[[[76,[16,16]],17],18],[[[77,[16,16]],17],18],[[[73,[16]],17],18],[[40,19]],[[73,19]],[[]],[[]],[[]],[[]],[[]],[40,51],[[[40,[26]],5,35],[[20,[6]]]],[[[40,[26]],5,24],20],[[40,35],[[20,[23]]]],[[40,35],[[20,[[76,[23]]]]]],[[40,24],[[20,[25]]]],[[[40,[[0,[1,2]]]],35,[0,[1,2]]],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],35,[0,[1,2]]],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],35,13],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],35,13],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],23],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],23],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],24,25],[[73,[[0,[1,2]]]]]],[[[40,[[0,[1,2]]]],24,25],[[73,[[0,[1,2]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[40,15],[73,15],0,0,[[[40,[26]],5],51],[[[40,[26]],5],51],[[[40,[26]],5],51],[48,[[40,[[0,[1,2]]]]]],[78,20],0,0,[[40,24],79],[[[76,[31,31]],76],[[20,[10]]]],[[[77,[31,31]],77],[[20,[10]]]],[[[40,[26]]],51],[73,12],[[]],[[]],[[]],[[]],[[],12],[[],12],[[],12],[[],12],[[],12],[[[40,[26]],5,35],[[12,[[20,[6]]]]]],[[[40,[26]],5,24],[[12,[20]]]],[[],12],[[],12],[[],12],[[],12],[[],12],[[[40,[26]],5],51],[[[40,[26]],5],51],[[[40,[26]],5],51],0,0,[[40,35],[[20,[[4,[11,25]]]]]],[[40,35],30],0,0,[73,51],[[],36],[[],36],[[],36],[[],36],[[],36],[[]],[[]],[[]],[[]],[[]],[[40,23],78],[[40,35],78]],"p":[[8,"Clone"],[8,"Ord"],[3,"SpkTxOutIndex"],[3,"BTreeMap"],[3,"BlockId"],[4,"ObservedAs"],[4,"TxHeight"],[4,"ConfirmationTime"],[3,"FullTxOut"],[4,"Ordering"],[15,"u32"],[4,"Result"],[15,"u64"],[8,"PartialEq"],[15,"bool"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FnMut"],[4,"Option"],[8,"Hash"],[3,"Script"],[3,"Transaction"],[3,"OutPoint"],[3,"TxOut"],[8,"Anchor"],[8,"ChainPosition"],[15,"i64"],[8,"RangeBounds"],[8,"DoubleEndedIterator"],[8,"PartialOrd"],[3,"BTreeSet"],[3,"String"],[8,"ExactSizeIterator"],[3,"Txid"],[3,"TypeId"],[3,"ChangeSet"],[3,"ChainGraph"],[4,"UpdateError"],[3,"TxGraph"],[3,"SparseChain"],[15,"usize"],[4,"NewError"],[4,"InsertTxError"],[3,"UnresolvableConflict"],[4,"InsertTxError"],[4,"UpdateError"],[8,"IntoIterator"],[6,"InsertCheckpointError"],[3,"Demand"],[8,"Iterator"],[8,"Append"],[3,"IndexedAdditions"],[8,"Indexer"],[3,"IndexedTxGraph"],[8,"OwnedIndexer"],[3,"Balance"],[8,"Default"],[3,"KeychainTracker"],[4,"DescriptorPublicKey"],[4,"Descriptor"],[3,"KeychainTxOutIndex"],[3,"DerivationAdditions"],[3,"KeychainChangeSet"],[3,"KeychainScan"],[3,"Persist"],[3,"LocalChain"],[6,"ChangeSet"],[3,"UpdateNotConnectedError"],[3,"BlockHash"],[3,"ChangeSet"],[4,"InsertCheckpointError"],[3,"Additions"],[3,"Amount"],[3,"SignedAmount"],[3,"TxNode"],[3,"CanonicalTx"],[3,"TxDescendants"],[3,"HashSet"],[8,"ChainOracle"],[8,"DescriptorExt"],[8,"ForEachTxOut"],[13,"Confirmed"],[13,"Conflict"],[8,"PersistBackend"],[13,"HashNotMatching"],[13,"TxMovedUnexpectedly"],[13,"TxTooHigh"],[13,"TxInconsistent"]]},\ +"bdk_chain":{"doc":"This crate is a collection of core structures for Bitcoin …","t":[8,8,17,3,17,8,4,13,13,13,8,16,8,3,4,3,3,4,13,13,13,11,10,11,10,11,2,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,0,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,12,11,11,11,11,11,0,0,11,11,11,11,11,2,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,13,13,3,3,13,6,4,13,4,3,13,13,4,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,16,3,3,8,8,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,16,3,8,16,10,11,11,11,11,11,11,10,11,11,11,11,11,11,11,6,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,3,13,4,4,13,3,13,13,13,4,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,3,3,3,3,3,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Anchor","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ConfirmationTime","Confirmed","Confirmed","Confirmed","DescriptorExt","Error","ForEachTxOut","FullTxOut","ObservedAs","SpkIterator","SpkTxOutIndex","TxHeight","Unconfirmed","Unconfirmed","Unconfirmed","all_spks","anchor_block","anchor_block","append","apply_additions","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_graph","chain_position","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","confirmation_height_upper_bound","confirmation_height_upper_bound","default","default","default","deserialize","deserialize","deserialize","dust_value","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","from","hash","hash","hash","hash","hash","height","height","height","index_of_spk","index_tx","index_txout","indexed_tx_graph","insert_spk","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_mature","is_mature","is_on_coinbase","is_relevant","is_spendable_at","is_spk_owned","is_tx_relevant","is_used","keychain","local_chain","mark_used","max_ord_of_height","max_ord_of_height","min_ord_of_height","min_ord_of_height","miniscript","net_value","new","next","nth","outpoint","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serialize","serialize","serialize","sparse_chain","spent_by","spk_at_index","to_owned","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","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","time","Chain","Chain","ChainGraph","ChangeSet","Conflict","InsertCheckpointError","InsertTxError","Missing","NewError","UnresolvableConflict","UnresolvableConflict","UnresolvableConflict","UpdateError","already_confirmed_tx","append","apply_changeset","apply_update","as_ref","as_ref","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","checkpoint_limit","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contains_eviction","default","default","deserialize","determine_changeset","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","from","from","from","from","from","full_txout","get_tx_in_chain","graph","graph","inflate_update","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","insert_txout","insert_txout_preview","into","into","into","into","into","into","invalidate_checkpoints","invalidate_checkpoints_preview","is_empty","is_empty","new","provide","provide","provide","provide","serialize","set_checkpoint_limit","spent_by","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transactions_in_chain","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_conflicts_in_chain","type_id","type_id","type_id","type_id","type_id","type_id","update_tx","vzip","vzip","vzip","vzip","vzip","vzip","a","b","Additions","IndexedAdditions","IndexedTxGraph","Indexer","OwnedIndexer","append","apply_additions","apply_additions","apply_update","balance","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","from","from","graph","graph_additions","index","index_additions","index_tx","index_txout","insert_relevant_txs","insert_tx","insert_txout","into","into","is_spk_owned","is_tx_relevant","list_owned_txouts","list_owned_unspents","serialize","to_owned","try_balance","try_from","try_from","try_into","try_into","try_list_owned_txouts","try_list_owned_unspents","type_id","type_id","vzip","vzip","Balance","DerivationAdditions","KeychainChangeSet","KeychainScan","KeychainTracker","KeychainTxOutIndex","add","add_keychain","add_keychain","append","append","apply_additions","apply_additions","apply_changeset","apply_update","as_inner","as_ref","as_ref","as_ref","as_ref","as_ref","balance","balance_at","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain_graph","chain_graph","checkpoint_limit","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","default","default","default","deref","derivation_indices","deserialize","deserialize","deserialize","determine_changeset","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","full_txouts","full_utxos","graph","immature","index_tx","index_txout","inner","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","into","into","into","into","into","into","is_empty","is_empty","is_spk_owned","is_tx_relevant","keychains","keychains","last_active_indices","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead_to_target","lookahead_to_target_multi","lookaheads","mark_used","next_index","next_unused_spk","persist","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_spks_of_all_keychains","revealed_spks_of_keychain","scan","scan_txout","serialize","serialize","serialize","set_checkpoint_limit","set_lookahead","set_lookahead_for_all","spks_of_all_keychains","spks_of_keychain","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","txout_index","txouts_of_keychain","type_id","type_id","type_id","type_id","type_id","type_id","unmark_used","untrusted_pending","unused_spks_of_keychain","update","vzip","vzip","vzip","vzip","vzip","vzip","LoadError","Persist","PersistBackend","WriteError","append_changeset","borrow","borrow_mut","commit","fmt","from","into","load_into_keychain_tracker","new","stage","staged","try_from","try_into","type_id","vzip","ChangeSet","LocalChain","UpdateNotConnectedError","apply_changeset","apply_update","as_ref","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","default","determine_changeset","eq","eq","fmt","fmt","fmt","from","from","from","from_blocks","get_block","heights","initial_changeset","into","into","is_block_in_chain","partial_cmp","provide","tip","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ChainPosition","ChangeSet","HashNotMatching","InsertCheckpointError","InsertTxError","NotConnected","SparseChain","TxInconsistent","TxMovedUnexpectedly","TxTooHigh","UpdateError","append","apply_changeset","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset_additions","checkpoint_at","checkpoint_limit","checkpoints","checkpoints","clear_mempool","clear_mempool_preview","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","deserialize","determine_changeset","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_checkpoints","full_txout","height","initial_changeset","insert_checkpoint","insert_checkpoint_preview","insert_tx","insert_tx_preview","into","into","into","into","into","invalidate_checkpoints","invalidate_checkpoints_preview","is_empty","is_empty","latest_checkpoint","max_ord_of_height","min_ord_of_height","provide","provide","provide","range_checkpoints","range_txids","range_txids_by_height","range_txids_by_position","serialize","set_checkpoint_limit","spent_by","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_into","try_into","try_into","try_into","try_into","tx_position","txids","txids","type_id","type_id","type_id","type_id","type_id","unconfirmed","vzip","vzip","vzip","vzip","vzip","height","original_hash","update_hash","original_pos","tip_height","tx_height","txid","txid","update_pos","original_pos","txid","update_pos","Additions","CanonicalTx","TxDescendants","TxGraph","TxNode","all_txouts","anchors","anchors","append","apply_additions","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","determine_additions","direct_conflicts_of_tx","eq","eq","eq","eq","floating_txouts","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","insert_anchor","insert_anchor_preview","insert_seen_at","insert_seen_at_preview","insert_tx","insert_tx_preview","insert_txout","insert_txout_preview","into","into","into","into","into","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txouts","list_chain_txs","list_chain_unspents","new","next","node","observed_as","outspends","partial_cmp","partial_cmp","relevant_heights","serialize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_list_chain_txouts","try_list_chain_txs","try_list_chain_unspents","tx","tx","tx_outputs","tx_spends","txid","txout","txouts","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","walk_conflicts","walk_descendants"],"q":["bdk_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::ConfirmationTime","","bdk_chain::chain_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::chain_graph::NewError","","bdk_chain::indexed_tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain::persist","","","","","","","","","","","","","","","","","","","bdk_chain::local_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::sparse_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::sparse_chain::InsertCheckpointError","","","bdk_chain::sparse_chain::InsertTxError","","","","","","bdk_chain::sparse_chain::UpdateError","","","bdk_chain::tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Trait that “anchors” blockchain data to a specific …","Trait that makes an object appendable.","Maximum BIP32 derivation index.","A reference to a block in the canonical chain.","How many confirmations are needed f or a coinbase output …","Represents a service that tracks the blockchain.","Block height and timestamp at which a transaction is …","The chain data is seen as confirmed, and in anchored by A.","","","A trait to extend the functionality of a miniscript …","Error type.","Trait to do something with every txout contained in a …","A TxOut with as much data as we can retrieve about it","Represents an observation of some chain data.","An iterator for derived script pubkeys.","An index storing TxOuts that have a script pubkey that …","Represents the height at which a transaction is confirmed.","The chain data is seen in mempool at this given timestamp.","","","The script pubkeys that are being tracked by the index.","Returns the BlockId that the associated blockchain data is …","","Append another object of the same type onto self.","","","","","","","","","","","","","","","","","Module for structures that combine the features of …","The position of the transaction in outpoint in the overall …","","","","","","","","","","","","","","","","","","","","","Get the upper bound of the chain data’s confirmation …","Get the upper bound of the chain data’s confirmation …","","","","","","","Returns the minimum value (in satoshis) at which an output …","","","","","","","","","","","","","The provided closure f will be called with each …","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","The hash of the block.","","","The height of the block.","Returns the index associated with the script pubkey.","","","","Adds a script pubkey to scan for. Returns false and does …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Determines whether block of BlockId exists as an ancestor …","","","Whether the utxo is/was/will be spendable with chain tip.","Whether the txout is considered mature.","","Whether this output is on a coinbase transaction.","Whether any of the inputs of this transaction spend a …","Whether the utxo is/was/will be spendable at height.","","","Returns whether the script pubkey at index has been used …","Module for keychain related structures.","","Marks the script pubkey at index as used even though it …","","","","","","Computes the net value that this transaction gives to the …","Creates a new script pubkey iterator starting at 0 from a …","","","The location of the TxOut.","Iterates over all the outputs with script pubkeys in an …","","","","","","Scans an object containing many txouts.","Scan a single TxOut for a matching script pubkey and …","Computes total input value going from script pubkeys in …","","","","Module for structures that maintain sparse (purposely …","The txid and chain position of the transaction (if any) …","Returns the script that has been inserted at the index.","","","","","","","","","","","","","","","","","","","","","","","Module for structures that store and traverse transactions.","Returns the txout and script pubkey index of the TxOut at …","The TxOut.","Iterate over all known txouts that spend to tracked script …","Finds all txouts on a transaction that has previously been …","","","","","","","","Undoes the effect of mark_used. Returns whether the index …","Iterates over all unused script pubkeys in an index range.","","","","","","","","","","","The update chain was inconsistent with the existing chain","A consistent combination of a SparseChain<P> and a …","Represents changes to ChainGraph.","Two transactions within the sparse chain conflicted with …","A nice alias of sparse_chain::InsertCheckpointError.","Error that may occur when inserting a transaction.","One or more transactions in the chain were not in the graph","Error that may occur when calling ChainGraph::new.","Represents an unresolvable conflict between an update’s …","","A transaction in the update spent the same input as an …","Represents an update failure.","","Appends the changes in other into self such that applying …","Applies changeset to self.","Applies the update chain graph. Note this is shorthand for …","","","","","","","","","","","","","","","","Returns a reference to the internal SparseChain.","","Gets the checkpoint limit.","","","","","","","","","","","","","Returns true if this ChangeSet contains transaction …","","","","Calculates the difference between self and update in the …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Get the full transaction output at an outpoint if it …","Get a transaction currently in the underlying SparseChain.","Returns a reference to the internal TxGraph.","","Take an update in the form of a SparseChain<P> and attempt …","Inserts checkpoint into Self.","Determines the changes required to insert a block_id (a …","Inserts Transaction at the given chain position.","Determines the changes required to insert a transaction …","Inserts a TxOut into the internal TxGraph.","Determines the changes required to insert a TxOut into the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Invalidate checkpoints from_height (inclusive) and above. …","Determines the changes required to invalidate checkpoints …","Whether the chain graph contains any data whatsoever.","Returns true if this ChangeSet records no changes.","Create a new chain graph from a chain and a graph.","","","","","","Sets the checkpoint limit.","Find the transaction in the chain that spends outpoint.","","","","","","","","","","","Iterate over the full transactions and their position in …","","","","","","","","","","","","","Given a transaction, return an iterator of txids that …","","","","","","","","","","","","","","","","The resultant “additions” when new transaction data is …","A structure that represents changes to an IndexedTxGraph.","A struct that combines TxGraph and an Indexer …","Represents a structure that can index transaction data.","A trait that extends Indexer to also index “owned” …","","Apply additions to itself.","Applies the IndexedAdditions to the IndexedTxGraph.","Apply an update directly.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Get a reference of the internal transaction graph.","TxGraph additions.","Transaction index.","Indexer additions.","Scan and index the given transaction.","Scan and index the given outpoint and txout.","Insert relevant transactions from the given txs iterator.","Insert and index a transaction into the graph.","Insert a floating txout of given outpoint.","Calls U::from(self).","Calls U::from(self).","Determines whether a given script pubkey (spk) is owned.","Determines whether the transaction should be included in …","","","","","","","","","","","","","","","","Balance, differentiated into various categories.","Represents updates to the derivation index of a …","Represents changes to a KeychainTracker.","An update that includes the last active indexes of each …","A convenient combination of a KeychainTxOutIndex and a …","A convenient wrapper around SpkTxOutIndex that relates …","","Add a keychain to the tracker’s txout_index with a …","Add a keychain to the tracker’s txout_index with a …","Append another DerivationAdditions into self.","Appends the changes in other into self such that applying …","","Applies the derivation additions to the KeychainTxOutIndex…","Applies the changes in changeset to KeychainTracker.","Directly applies a KeychainScan on KeychainTracker.","Get the inner map of the keychain to its new derivation …","","","","","","Returns the balance of the keychain, i.e., the value of …","Returns the balance of all spendable confirmed unspent …","","","","","","","","","","","","","Returns a reference to the internal SparseChain (which is …","Returns a reference to the internal ChainGraph.","The changes that have occurred in the blockchain","Get the checkpoint limit of the internal SparseChain.","","","","","","","","","","","","","Confirmed and immediately spendable balance","","","","","","","","The changes in local keychain derivation indices","","","","Determines the resultant KeychainChangeSet if the given …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Iterates through FullTxOuts that are considered to exist …","Iterates through FullTxOuts that are unspent outputs.","Returns a reference to the internal TxGraph (which is part …","All coinbase outputs not yet matured","","","Return a reference to the internal SpkTxOutIndex.","Directly insert a block_id into the tracker.","Determines the changes as a result of inserting block_id …","Directly insert a transaction into the inner ChainGraph …","Determines the changes as a result of inserting a …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns whether the additions are empty.","Returns whether the KeychainChangeSet is empty (no changes …","","","Get the internal map of keychains to their descriptors. …","Return a reference to the internal map of the keychain to …","The last active indexes of each keychain","Get the last derivation index revealed for keychain.","Get the last derivation index that is revealed for each …","Returns the highest derivation index of the keychain where …","Returns the highest derivation index of each keychain that …","Store lookahead scripts until target_index.","Convenience method to call lookahead_to_target for …","Return the lookahead setting for each keychain.","Marks the script pubkey at index as used even though the …","Get the next derivation index for keychain. The next index …","Gets the next unused script pubkey in the keychain. I.e., …","Persistence for changes made to a KeychainTracker.","Attempts to reveal the next script pubkey for keychain.","Reveals script pubkeys of the keychain’s descriptor up …","Convenience method to call Self::reveal_to_target on …","Convenience method to get revealed_spks_of_keychain of all …","Iterates over the script pubkeys revealed by this index …","Scans an object for relevant outpoints, which are stored …","Scan a single outpoint for a matching script pubkey.","","","","Set the checkpoint limit of the internal SparseChain.","Set the lookahead count for keychain.","Convenience method to call set_lookahead for all keychains.","Generates script pubkey iterators for every keychain. The …","Generates a script pubkey iterator for the given keychain…","","","","","","","","Get the whole balance visible to the wallet.","Unconfirmed UTXOs generated by a wallet tx","Get sum of trusted_pending and confirmed coins.","","","","","","","","","","","","","Index between script pubkeys to transaction outputs","Iterates over all the OutPoint that have a TxOut with a …","","","","","","","Undoes the effect of mark_used. Returns whether the index …","Unconfirmed UTXOs received from an external wallet","Iterates over all unused script pubkeys for a keychain …","The update data in the form of a chain that could be …","","","","","","","The error the backend returns when it fails to load.","Persist wraps a PersistBackend to create a convenient …","A persistence backend for Persist.","The error the backend returns when it fails to write.","Appends a new changeset to the persistent backend.","","","Commit the staged changes to the underlying persistence …","","Returns the argument unchanged.","Calls U::from(self).","Applies all the changesets the backend has received to …","Create a new Persist from a PersistBackend.","Stage a changeset to later persistence with commit.","Get the changes that haven’t been committed yet","","","","","This is the return value of determine_changeset and …","This is a local implementation of ChainOracle.","Represents an update failure of LocalChain due to the …","Applies the given changeset.","Updates LocalChain with an update LocalChain.","","","","","","","","","","","","This is like the sparsechain’s logic, expect we must …","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Get a block at the given height.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Represents a position in which transactions are ordered in …","The return value of determine_changeset.","Occurs when a checkpoint of the same height already exists …","Represents a failure when trying to insert a checkpoint …","Represents a failure when trying to insert a Txid into …","The update cannot be applied to the chain because the …","This is a non-monotone structure that tracks relevant Txid…","The update contains inconsistent tx states (e.g., it …","Occurs when the Txid is already in the SparseChain, and …","Occurs when the Txid is to be inserted at a height higher …","Represents an update failure of SparseChain.","Appends the changes of other into self such that applying …","","Updates SparseChain with another chain that connects to it.","","","","","","","","","","","","Return Txids that would be added to the sparse chain if …","Get the checkpoint at the given height if it exists.","Returns the value set as the checkpoint limit.","Return a BTreeMap of all checkpoints (block hashes by …","","Clears all transactions of height TxHeight::Unconfirmed.","Determines the ChangeSet when all transactions of height …","","","","","","","","","","","","","","Preview changes of updating Self with another chain that …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Creates a new chain from a list of block hashes and …","Attempt to retrieve a FullTxOut of the given outpoint.","Get the transaction height of the position.","Derives a ChangeSet that assumes that there are no …","Insert a checkpoint (BlockId).","Determines the resultant ChangeSet if BlockId was inserted.","Inserts a given Txid at pos.","Determines the resultant ChangeSet if Txid was inserted at …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Invalidate checkpoints from_height (inclusive) and above.","Determines the ChangeSet when checkpoints from_height …","Returns whether the sparse chain contains any checkpoints …","Whether this changeset contains no changes.","Get the checkpoint for the last known tip.","Get the position’s upper bound of a given height.","Get the position’s lower bound of a given height.","","","","Return an iterator over checkpoints in a height range, in …","Iterate over a sub-range of positioned Txids.","Iterate over a sub-range of positioned Txids, where the …","Iterate over a sub-range of positioned Txids, where the …","","Set the checkpoint limit.","Finds the transaction in the chain that spends outpoint.","","","","","","","","","","","","","","","","","","","Return the ChainPosition of a txid.","Iterate over all Txids ordered by their ChainPosition.","","","","","","","Get the unconfirmed position.","","","","","","","","","","","","","","","","","","A structure that represents changes to a TxGraph.","An outwards-facing view of a transaction that is part of …","An iterator that traverses transaction descendants.","A graph of transactions and spends.","An outward-facing view of a (transaction) node in the …","Iterate over all tx outputs known by TxGraph.","The blocks that the transaction is “anchored” in.","","","Applies Additions to TxGraph.","Extends this graph with another so that self becomes the …","","","","","","","","","","","","Calculates the fee of a given transaction. Returns 0 if tx …","","","","","","","","","","","","","","","","","Previews the resultant Additions when Self is updated …","Given a transaction, return an iterator of txids that …","","","","","Iterate over floating txouts known by TxGraph.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Iterate over all full transactions in the graph.","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","Get a transaction by txid. This only returns Some for full …","Get a transaction node by txid. This only returns Some for …","Obtains a single tx output (if any) at the specified …","Inserts the given anchor into TxGraph.","Returns the resultant Additions if the txid is set in …","Inserts the given seen_at into TxGraph.","Returns the resultant Additions if the txid is set to …","Inserts the given transaction into TxGraph.","Returns the resultant Additions if the given transaction …","Inserts the given TxOut at OutPoint.","Returns the resultant Additions if the given txout is …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Whether the graph has any transactions or outputs in it.","Returns true if the Additions is empty (no transactions or …","","The last-seen unix timestamp of the transaction as …","List outputs that are in chain with chain_tip.","List graph transactions that are in chain with chain_tip.","List unspent outputs (UTXOs) that are in chain with …","Construct a new TxGraph from a list of transactions.","","The transaction node (as part of the graph).","How the transaction is observed as (confirmed or …","The transactions spending from this output.","","","Get all heights that are relevant to the graph.","","","","","","","","","","","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","","","","","","List outputs that are in chain with chain_tip.","List graph transactions that are in chain with chain_tip.","List unspent outputs (UTXOs) that are in chain with …","A partial or full representation of the transaction.","","Returns known outputs of a given txid.","Iterates over the transactions spending from txid.","Txid of the transaction.","","Iterates over all outpoints contained within Additions.","","","","","","","","","","","Creates an iterator that both filters and maps conflicting …","Creates an iterator that filters and maps descendants from …"],"i":[0,0,0,0,0,0,0,6,7,8,0,81,0,0,0,0,0,0,6,7,8,3,27,5,53,3,0,3,6,7,8,5,9,10,3,6,7,8,5,9,10,0,9,3,6,7,8,5,9,10,3,6,7,8,5,9,10,6,6,7,8,5,9,27,27,3,7,5,7,8,5,82,6,7,8,5,9,3,6,7,7,8,5,9,83,3,6,7,7,8,5,5,5,9,10,6,7,8,5,5,7,8,5,3,3,3,0,3,3,6,7,8,5,9,10,10,81,7,8,9,9,9,9,3,9,3,3,3,0,0,3,7,8,7,8,0,3,10,10,10,9,3,6,7,8,5,9,3,3,3,7,8,5,0,9,3,3,6,7,8,5,9,10,7,3,6,7,8,5,9,10,3,6,7,8,5,9,10,0,3,9,3,3,3,6,7,8,5,9,10,3,3,3,6,7,8,5,9,10,84,84,45,41,0,0,44,0,0,44,0,0,45,41,0,46,39,40,40,40,40,40,40,39,44,45,41,46,40,39,44,45,41,46,40,39,40,40,39,44,45,41,46,40,39,44,45,41,46,39,40,39,39,40,40,39,44,45,41,46,40,39,44,44,45,45,41,41,46,46,40,39,40,39,44,45,45,45,41,41,41,46,40,40,40,39,40,40,40,40,40,40,40,40,39,44,45,41,46,40,40,40,39,40,44,45,41,46,39,40,40,40,39,44,45,41,46,44,45,41,46,40,40,39,44,45,41,46,40,39,44,45,41,46,40,40,39,44,45,41,46,46,40,39,44,45,41,46,85,85,55,0,0,0,0,54,55,56,56,56,56,54,56,54,54,54,56,54,54,54,54,56,54,56,54,56,54,55,55,56,56,56,56,54,57,55,56,56,54,54,56,56,54,56,54,56,56,56,54,56,54,0,0,0,0,0,0,58,60,63,64,65,63,63,60,60,64,60,60,60,64,66,60,60,60,63,64,66,65,58,60,63,64,66,65,58,60,60,65,60,60,63,64,66,65,58,60,63,64,66,65,58,58,60,63,64,66,65,58,63,65,64,65,58,60,64,66,58,60,63,64,66,65,58,58,65,60,63,64,66,66,65,65,65,58,60,60,60,58,63,63,63,60,60,60,60,60,63,64,66,65,58,64,65,63,63,60,63,66,63,63,63,63,63,63,63,63,63,63,0,63,63,63,63,63,63,63,64,65,58,60,63,63,63,63,60,63,64,66,65,58,58,58,58,58,60,63,64,66,65,58,60,63,64,66,65,58,60,63,60,63,64,66,65,58,63,58,63,66,60,63,64,66,65,58,86,0,0,86,86,67,67,67,67,67,67,86,67,67,67,67,67,67,67,0,0,0,68,68,68,68,70,68,70,68,70,68,70,68,68,68,68,70,68,70,70,68,68,70,68,68,68,68,68,70,68,68,70,68,68,70,70,68,70,68,70,68,70,68,70,0,0,73,0,0,48,0,48,47,47,0,72,42,42,42,42,47,73,48,72,42,47,73,48,72,42,42,42,42,72,42,42,42,47,73,48,72,42,47,73,48,72,42,72,72,42,42,47,73,48,72,42,47,47,73,73,48,48,72,42,47,73,48,72,42,42,28,42,42,42,42,42,42,47,73,48,72,42,42,42,72,42,28,28,47,73,48,42,42,42,42,72,42,42,42,47,73,48,72,47,73,48,42,47,73,48,72,42,47,73,48,72,42,42,72,42,47,73,48,72,28,42,47,73,48,72,87,87,87,88,89,89,89,88,88,90,90,90,0,0,0,0,0,43,77,74,74,43,43,43,79,43,77,78,74,79,43,77,78,74,43,79,79,43,77,78,74,43,77,78,74,77,78,43,74,77,74,43,43,43,77,78,74,43,43,77,78,74,43,74,79,43,77,78,74,43,43,43,43,43,43,43,43,43,43,43,43,43,43,79,43,77,78,74,79,43,74,74,77,43,43,43,43,79,78,78,43,77,78,43,74,43,77,78,74,79,43,77,78,74,43,43,79,43,77,78,74,43,43,43,77,74,43,43,77,74,74,79,43,77,78,74,79,43,77,78,74,43,43],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[3,[[0,[1,2]]]]],4],[[],5],[5,5],[[]],[[[3,[[0,[1,2]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[3,[1]]],[[3,[1]]]],[[[6,[1]]],[[6,[1]]]],[7,7],[8,8],[5,5],[[[9,[1]]],[[9,[1]]]],[[[10,[1]]],[[10,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[6,[[6,[1]]]],[[[6,[2]],6],11],[[7,7],11],[[8,8],11],[[5,5],11],[[[9,[2]],9],11],[[],12],[[],12],[[],3],[[],7],[[],5],[[],[[13,[7]]]],[[],[[13,[8]]]],[[],[[13,[5]]]],[[],14],[[[6,[15]],6],16],[[7,7],16],[[8,8],16],[[5,5],16],[[[9,[15]],9],16],[[[3,[17]],18],19],[[[6,[17]],18],19],[[7,18],19],[[7,18],19],[[8,18],19],[[5,18],19],[[[9,[17]],18],19],[20],[[]],[[]],[[[21,[12]]],7],[[]],[[]],[[],5],[[],5],[[]],[[]],[[]],[[[6,[22]]]],[7],[8],[5],0,[7,7],[8,7],0,[[[3,[[0,[1,2]]]],23],21],[[[3,[[0,[1,2]]]],24]],[[[3,[[0,[1,2]]]],25,26]],0,[[[3,[[0,[1,2]]]],[0,[1,2]],23],16],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[5,5],[[13,[[21,[16]]]]]],[7,16],[8,16],[[[9,[[6,[27]]]],12],16],[[[9,[[6,[27]]]],12],16],[[[9,[28]],12],16],0,[[[3,[[0,[1,2]]]],24],16],[[[9,[28]],12],16],[[[3,[[0,[1,2]]]],23],16],[[[3,[[0,[1,2]]]],24],16],[[[3,[[0,[1,2]]]]],16],0,0,[[[3,[[0,[1,2]]]]],16],[7,7],[7,8],[7,7],[7,8],0,[[[3,[[0,[1,2]]]],24],29],[[],10],[10,21],[[10,30],21],0,[[[3,[[0,[1,2]]]],[31,[[0,[1,2]]]]],32],[[[6,[33]],6],[[21,[11]]]],[[7,7],[[21,[11]]]],[[8,8],[[21,[11]]]],[[5,5],[[21,[11]]]],[[[9,[33]],9],[[21,[11]]]],[[[3,[[0,[1,2]]]]],[[34,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],25,26],21],[[[3,[[0,[1,2]]]],24]],[7,13],[8,13],[5,13],0,0,[[[3,[[0,[1,2]]]]],[[21,[23]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],0,[[[3,[[0,[1,2]]]],25],21],0,[[[3,[[0,[1,2]]]]],[[0,[32,36]]]],[[[3,[[0,[1,2]]]],37],32],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[[3,[[0,[1,2]]]]],16],[[[3,[[0,[1,2]]]]],32],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[39,39]],[[40,39]],[[40,40],[[13,[39,41]]]],[40,40],[40,42],[40,43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[40,42],0,[40,[[21,[30]]]],[[[40,[1]]],[[40,[1]]]],[[[39,[1]]],[[39,[1]]]],[[[44,[1]]],[[44,[1]]]],[[[45,[1]]],[[45,[1]]]],[[[41,[1]]],[[41,[1]]]],[[[46,[1]]],[[46,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[39,16],[[],40],[[],39],[[],[[13,[39]]]],[[40,40],[[13,[39,41]]]],[[[40,[15]],40],16],[[[39,[15]],39],16],[[[44,[15]],44],16],[[[45,[15]],45],16],[[[41,[15]],41],16],[[[46,[15]],46],16],[[[40,[17]],18],19],[[[39,[17]],18],19],[[[44,[17]],18],19],[[[44,[17]],18],19],[[[45,[17]],18],19],[[[45,[17]],18],19],[[[41,[17]],18],19],[[[41,[17]],18],19],[[[46,[17]],18],19],[[[46,[17]],18],19],[[40,20]],[[39,20]],[[]],[[]],[[]],[[]],[46,45],[47,45],[[]],[46,41],[48,41],[[]],[[40,25],[[21,[9]]]],[[40,37],21],[40,43],0,[[40,42,49],[[13,[40,44]]]],[[40,5],[[13,[39,50]]]],[[40,5],[[13,[39,50]]]],[[40,24],[[13,[39,45]]]],[[40,24],[[13,[39,45]]]],[[40,25,26],39],[[40,25,26],39],[[]],[[]],[[]],[[]],[[]],[[]],[[40,12],39],[[40,12],39],[40,16],[39,16],[[42,43],[[13,[40,44]]]],[51],[51],[51],[51],[39,13],[[40,[21,[30]]]],[[40,25],21],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],35],[40,32],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[40,24],52],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[[54,[27,53]],[54,[27,53]]]],[[]],[[[56,[27,55]],[54,[27]]]],[[[56,[27,55]],[43,[27]]],[[54,[27]]]],[[[56,[27,57]],5],58],[[]],[[]],[[]],[[]],[[[54,[1,1]]],[[54,[1,1]]]],[[]],[[],[[56,[59]]]],[[],[[54,[59]]]],[[],[[13,[54]]]],[[[54,[15,15]],54],16],[[[54,[17,17]],18],19],[[]],[[]],[[[56,[27,55]]],43],0,0,0,[24],[[25,26]],[[[56,[27,55]],49,[21,[14]]],[[54,[27]]]],[[[56,[27,55]],24,49,[21,[14]]],[[54,[27]]]],[[[56,[27,55]],25,26],[[54,[27]]]],[[]],[[]],[23,16],[24,16],[[[56,[27,57]],5],52],[[[56,[27,57]],5],52],[54,13],[[]],[[[56,[27,57]],5],[[13,[58]]]],[[],13],[[],13],[[],13],[[],13],[[[56,[27,57]],5],52],[[[56,[27,57]],5],52],[[],38],[[],38],[[]],[[]],0,0,0,0,0,0,[[58,58],58],[[60,[62,[61]]]],[[[63,[[0,[1,2,17]]]],[0,[1,2,17]],[62,[61]]]],[[[64,[2]],[64,[2]]]],[[65,65]],[[[63,[[0,[1,2,17]]]]]],[[[63,[[0,[1,2,17]]]],[64,[[0,[1,2,17]]]]]],[[60,65]],[[60,66],[[13,[65,41]]]],[64,4],[60,42],[60,40],[60,43],[64,4],[66,43],[[60,20],58],[[60,12],14],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[60,42],[60,40],0,[60,[[21,[30]]]],[[[60,[1,1]]],[[60,[1,1]]]],[[[63,[1]]],[[63,[1]]]],[[[64,[1]]],[[64,[1]]]],[[[66,[1,1]]],[[66,[1,1]]]],[[[65,[1,1]]],[[65,[1,1]]]],[58,58],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],60],[[],63],[[],64],[[],66],[[],65],[[],58],[63],0,[[],[[13,[64]]]],[[],[[13,[65]]]],[[],[[13,[58]]]],[[60,66],[[13,[65,41]]]],[[[64,[15]],64],16],[[[66,[15,15]],66],16],[[58,58],16],[[[60,[17,17]],18],19],[[[63,[17]],18],19],[[[64,[17]],18],19],[[[66,[17,17]],18],19],[[[65,[17,17]],18],19],[[58,18],19],[[58,18],19],[[65,20]],[[]],[[]],[[]],[40,66],[[]],[64,65],[[]],[39,65],[[]],[60,52],[60,52],[60,43],0,[[[63,[[0,[1,2,17]]]],24]],[[[63,[[0,[1,2,17]]]],25,26]],[[[63,[[0,[1,2,17]]]]],3],[[60,5],[[13,[65,50]]]],[[60,5],[[13,[65,50]]]],[[60,24],[[13,[65,45]]]],[[60,24],[[13,[65,45]]]],[[]],[[]],[[]],[[]],[[]],[[]],[64,16],[65,16],[[[63,[[0,[1,2,17]]]],23],16],[[[63,[[0,[1,2,17]]]],24],16],[60,4],[[[63,[[0,[1,2,17]]]]],4],0,[[[63,[[0,[1,2,17]]]]],[[21,[12]]]],[[[63,[[0,[1,2,17]]]]],4],[[[63,[[0,[1,2,17]]]]],[[21,[12]]]],[[[63,[[0,[1,2,17]]]]],[[4,[[0,[1,2,17]],12]]]],[[[63,[[0,[1,2,17]]]],12]],[[[63,[[0,[1,2,17]]]],[4,[[0,[1,2,17]],12]]]],[[[63,[[0,[1,2,17]]]]],4],[[[63,[[0,[1,2,17]]]],12],16],[[[63,[[0,[1,2,17]]]]]],[[[63,[[0,[1,2,17]]]]]],0,[[[63,[[0,[1,2,17]]]]]],[[[63,[[0,[1,2,17]]]],12]],[[[63,[[0,[1,2,17]]]],4]],[[[63,[[0,[1,2,17]]]]],[[4,[[0,[1,2,17]],[0,[52,1]]]]]],[[[63,[[0,[1,2,17]]]]],[[0,[32,1]]]],[[[63,[[0,[1,2,17]]]]],[[64,[[0,[1,2,17]]]]]],[[[63,[[0,[1,2,17]]]],25,26],[[64,[[0,[1,2,17]]]]]],[64,13],[65,13],[58,13],[[60,[21,[30]]]],[[[63,[[0,[1,2,17]]]],12]],[[[63,[[0,[1,2,17]]]],12]],[[[63,[[0,[1,2,17]]]]],[[4,[[0,[1,2,17]],[10,[[62,[61]]]]]]]],[[[63,[[0,[1,2,17]]]]],[[10,[[62,[61]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[58,14],0,[58,14],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],0,[[[63,[[0,[1,2,17]]]]],32],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[[63,[[0,[1,2,17]]]],12],16],0,[[[63,[[0,[1,2,17]]]]],32],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[65,13],[[]],[[]],[67,13],[[[67,[17,17,17]],18],19],[[]],[[]],[60,13],[[],67],[[67,65]],[67,65],[[],13],[[],13],[[],38],[[]],0,0,0,[[68,69]],[[68,68],[[13,[69,70]]]],[68,4],[[]],[[]],[[]],[[]],[68,68],[70,70],[[]],[[]],[[68,68],11],[[],68],[[68,68],[[13,[69,70]]]],[[68,68],16],[[70,70],16],[[68,18],19],[[70,18],19],[[70,18],19],[[[4,[12,71]]],68],[[]],[[]],[[],68],[[68,12],[[21,[5]]]],[68,[[34,[12]]]],[68,69],[[]],[[]],[[68,5,5],[[13,[[21,[16]]]]]],[[68,68],[[21,[11]]]],[51],[68,[[21,[5]]]],[[]],[[]],[[],35],[[],13],[[],13],[[],13],[[],13],[[],38],[[],38],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[72,72]],[[[42,[28]],[72,[28]]]],[[[42,[28]],[42,[28]]],[[13,[[72,[28]],[48,[28]]]]]],[42,42],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[42,[28]],72],52],[[[42,[28]],12],[[21,[5]]]],[[[42,[28]]],[[21,[30]]]],[[[42,[28]]],4],0,[[[42,[28]]],[[72,[28]]]],[[[42,[28]]],[[72,[28]]]],[[[42,[1]]],[[42,[1]]]],[[[47,[1]]],[[47,[1]]]],[73,73],[[[48,[1]]],[[48,[1]]]],[[[72,[1]]],[[72,[1]]]],[[]],[[]],[[]],[[]],[[]],[[],42],[[],72],[[],[[13,[72]]]],[[[42,[28]],[42,[28]]],[[13,[[72,[28]],[48,[28]]]]]],[[[42,[15]],42],16],[[[47,[15]],47],16],[[73,73],16],[[[48,[15]],48],16],[[[72,[15]],72],16],[[[42,[17]],18],19],[[[47,[17]],18],19],[[[47,[17]],18],19],[[73,18],19],[[73,18],19],[[[48,[17]],18],19],[[[48,[17]],18],19],[[[72,[17]],18],19],[[]],[[]],[[]],[[]],[[]],[[],[[42,[28]]]],[[[42,[28]],43,25],[[21,[[9,[28]]]]]],[[],7],[[[42,[28]]],[[72,[28]]]],[[[42,[28]],5],[[13,[[72,[28]],73]]]],[[[42,[28]],5],[[13,[[72,[28]],73]]]],[[[42,[28]],37,28],[[13,[[72,[28]],[47,[28]]]]]],[[[42,[28]],37,28],[[13,[[72,[28]],[47,[28]]]]]],[[]],[[]],[[]],[[]],[[]],[[[42,[28]],12],[[72,[28]]]],[[[42,[28]],12],[[72,[28]]]],[[[42,[28]]],16],[72,16],[[[42,[28]]],[[21,[5]]]],[7],[7],[51],[51],[51],[[[42,[28]],[31,[12]]],32],[[[42,[28]]],32],[[[42,[28]]],32],[[[42,[28]]],32],[72,13],[[[42,[28]],[21,[30]]]],[[[42,[28]],43,25],21],[[]],[[]],[[]],[[]],[[]],[[],35],[[],35],[[],35],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[],13],[[[42,[28]],37],21],[[[42,[28]]],[[0,[32,36]]]],0,[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[43,52],0,0,[[[74,[2]],[74,[2]]]],[[[43,[[0,[1,2]]]],[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],[43,[[0,[1,2]]]]],[[74,[[0,[1,2]]]]]],[43,43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,24],[[21,[29]]]],[[],[[21,[75]]]],[[],[[21,[76]]]],[[[43,[1]]],[[43,[1]]]],[[[77,[1,1]]],[[77,[1,1]]]],[[[78,[1,1]]],[[78,[1,1]]]],[[[74,[1]]],[[74,[1]]]],[[]],[[]],[[]],[[]],[[[77,[2,2]],77],11],[[[78,[2,2]],78],11],[[],43],[[],74],[77],[[],[[13,[74]]]],[[[43,[[0,[1,2]]]],43],[[74,[[0,[1,2]]]]]],[[43,24],52],[[[43,[15]],43],16],[[[77,[15,15]],77],16],[[[78,[15,15]],78],16],[[[74,[15]],74],16],[43,52],[[[43,[17]],18],19],[[[77,[17,17]],18],19],[[[78,[17,17]],18],19],[[[74,[17]],18],19],[[43,20]],[[74,20]],[[]],[[]],[[]],[[]],[[]],[43,52],[[[43,[27]],5,37],[[21,[6]]]],[[[43,[27]],5,25],21],[[43,37],[[21,[24]]]],[[43,37],[[21,[[77,[24]]]]]],[[43,25],[[21,[26]]]],[[[43,[[0,[1,2]]]],37,[0,[1,2]]],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],37,[0,[1,2]]],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],37,14],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],37,14],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],24],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],24],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],25,26],[[74,[[0,[1,2]]]]]],[[[43,[[0,[1,2]]]],25,26],[[74,[[0,[1,2]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[43,16],[74,16],0,0,[[[43,[27]],5],52],[[[43,[27]],5],52],[[[43,[27]],5],52],[49,[[43,[[0,[1,2]]]]]],[79,21],0,0,[[43,25],80],[[[77,[33,33]],77],[[21,[11]]]],[[[78,[33,33]],78],[[21,[11]]]],[[[43,[27]]],52],[74,13],[[]],[[]],[[]],[[]],[[],13],[[],13],[[],13],[[],13],[[],13],[[[43,[27]],5,37],[[13,[[21,[6]]]]]],[[[43,[27]],5,25],[[13,[21]]]],[[],13],[[],13],[[],13],[[],13],[[],13],[[[43,[27]],5],52],[[[43,[27]],5],52],[[[43,[27]],5],52],0,0,[[43,37],[[21,[[4,[12,26]]]]]],[[43,37],32],0,0,[74,52],[[],38],[[],38],[[],38],[[],38],[[],38],[[]],[[]],[[]],[[]],[[]],[[43,24],79],[[43,37],79]],"p":[[8,"Clone"],[8,"Ord"],[3,"SpkTxOutIndex"],[3,"BTreeMap"],[3,"BlockId"],[4,"ObservedAs"],[4,"TxHeight"],[4,"ConfirmationTime"],[3,"FullTxOut"],[3,"SpkIterator"],[4,"Ordering"],[15,"u32"],[4,"Result"],[15,"u64"],[8,"PartialEq"],[15,"bool"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FnMut"],[4,"Option"],[8,"Hash"],[3,"Script"],[3,"Transaction"],[3,"OutPoint"],[3,"TxOut"],[8,"Anchor"],[8,"ChainPosition"],[15,"i64"],[15,"usize"],[8,"RangeBounds"],[8,"DoubleEndedIterator"],[8,"PartialOrd"],[3,"BTreeSet"],[3,"String"],[8,"ExactSizeIterator"],[3,"Txid"],[3,"TypeId"],[3,"ChangeSet"],[3,"ChainGraph"],[4,"UpdateError"],[3,"SparseChain"],[3,"TxGraph"],[4,"NewError"],[4,"InsertTxError"],[3,"UnresolvableConflict"],[4,"InsertTxError"],[4,"UpdateError"],[8,"IntoIterator"],[6,"InsertCheckpointError"],[3,"Demand"],[8,"Iterator"],[8,"Append"],[3,"IndexedAdditions"],[8,"Indexer"],[3,"IndexedTxGraph"],[8,"OwnedIndexer"],[3,"Balance"],[8,"Default"],[3,"KeychainTracker"],[4,"DescriptorPublicKey"],[4,"Descriptor"],[3,"KeychainTxOutIndex"],[3,"DerivationAdditions"],[3,"KeychainChangeSet"],[3,"KeychainScan"],[3,"Persist"],[3,"LocalChain"],[6,"ChangeSet"],[3,"UpdateNotConnectedError"],[3,"BlockHash"],[3,"ChangeSet"],[4,"InsertCheckpointError"],[3,"Additions"],[3,"SignedAmount"],[3,"Amount"],[3,"TxNode"],[3,"CanonicalTx"],[3,"TxDescendants"],[3,"HashSet"],[8,"ChainOracle"],[8,"DescriptorExt"],[8,"ForEachTxOut"],[13,"Confirmed"],[13,"Conflict"],[8,"PersistBackend"],[13,"HashNotMatching"],[13,"TxMovedUnexpectedly"],[13,"TxTooHigh"],[13,"TxInconsistent"]]},\ "bdk_coin_select":{"doc":"","t":[3,3,4,4,3,3,13,6,13,3,4,13,13,13,3,4,3,13,13,17,13,13,13,13,13,3,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,12,11,12,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,12,11,11,11,11,12,11,12,12,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11],"n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","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","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","provide","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","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_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","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":["bdk_coin_select","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Bnb represents the current state of the BnB algorithm.","","Determines how we should limit rounds of branch and bound.","Strategy in which we should branch.","CoinSelector selects and deselects from a set of …","","We continue exploring subtrees of this node, starting with …","Closure to decide the branching strategy, alongside a …","","","","Min absolute fee is not met","Min drain value is not met","","","","","We skip both the inclusion and omission branches of this …","We continue exploring ONLY the omission branch of this …","Txin “base” fields include outpoint (32+4) and …","The target fee (given the feerate) is not met","The target is not met","","","","A WeightedValue represents an input candidate for …","Compare the advertised score with the current best. The …","","","Attempt to backtrack to the previously selected node’s …","The weight of the template transaction, including fixed …","","Returns the ExcessStrategy that results in the least waste.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This is a variation of the Branch and Bound Coin Selection …","Current excess.","Current weight of template tx + selected inputs.","","","","Additional weight if we include the drain (change) output.","This is the effective target value.","Effective value of this input candidate: …","","","","","","Returns feerate in sats/wu.","","","","","","","","","","","","","Continue down this branch and skip the inclusion branch if …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","The total number of inputs; so we can calculate extra …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Turns our Bnb state into an iterator.","","","Whether this WeightedValue contains at least one segwit …","","","The feerate","Additional leeway for the target value.","The minimum absolute fee. I.e., needed for RBF.","Minimum value allowed for a drain (change) output.","Creates a new Bnb.","Create a new WeightedValue that represents a single input.","","","","","","","","","","","","","","","","Absolute value sum of all selected inputs.","","Effective value sum of all selected inputs.","","Waste sum of all selected inputs.","Weight sum of all selected inputs.","","Weight of spending the drain (change) output in the future.","The feerate we should try and achieve in sats per weight …","The value we need to select. If the value is None, then …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Total value of the UTXO(s) that this WeightedValue …","","","","","","","","","","","","","","Total weight of including this/these UTXO(s). txin fields: …","",""],"i":[0,0,0,0,0,0,34,0,22,0,0,11,11,22,0,0,0,34,34,0,11,11,12,12,12,0,2,4,5,2,9,2,5,34,2,26,22,8,9,4,10,11,5,12,13,34,2,26,22,8,9,4,10,11,5,12,13,4,4,8,9,4,10,11,5,12,13,8,9,4,10,11,5,12,13,12,0,4,4,4,13,9,9,4,8,11,12,5,5,13,13,4,8,9,4,10,10,11,11,5,12,12,13,2,34,2,26,22,22,22,8,9,4,10,11,5,12,13,9,12,8,34,2,26,22,8,9,4,10,11,5,12,13,2,26,4,8,4,9,9,9,9,9,2,8,4,26,4,12,2,2,10,13,2,2,4,4,4,4,5,4,4,4,4,4,4,2,9,9,9,8,9,4,10,11,5,12,13,10,11,12,34,2,26,22,8,9,4,10,11,5,12,13,34,2,26,22,8,9,4,10,11,5,12,13,34,2,26,22,8,9,4,10,11,5,12,13,4,4,8,34,2,26,22,8,9,4,10,11,5,12,13,13,8,13,34],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[2,[1]],1],3],[4,3],[5,6],[[[2,[1]]],3],0,0,[5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[4,7],8],0,[8,8],[9,9],[4,4],[10,10],[11,11],[5,5],[12,12],[13,13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[12,12],14],[4,[[15,[4]]]],[4,16],[4,17],[[4,7],3],0,[9,16],0,[4,16],[[8,18],16],[[11,11],3],[[12,12],3],0,0,0,[13,18],[4,[[19,[5,10]]]],[[8,20],21],[[9,20],21],[[4,20],21],[[10,20],21],[[10,20],21],[[11,20],21],[[11,20],21],[[5,20],21],[[12,20],21],[[12,20],21],[[13,20],21],[[[2,[1]],3]],[[]],[[]],[[]],[[]],[7,22],[23,22],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[24,17],9],[12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[2,[1]],25],[[26,[1]]]],[[]],[4,3],0,[[4,7],3],[9,18],0,0,0,0,[[4,27,1],[[2,[1]]]],[[28,17,3],8],[[27,9],4],[[[26,[[0,[1,29,30]]]]],15],0,[[12,12],[[15,[14]]]],0,0,[31],0,0,0,[[4,7],3],[4],[4,[[19,[5,10]]]],[4,6],0,[4,28],[4,7],[4,16],[4,6],[4,16],[4,17],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],32],[[],32],[[],32],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],19],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[[],33],[4,6],[4,6],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[34,3]],"p":[[8,"Ord"],[3,"Bnb"],[15,"bool"],[3,"CoinSelector"],[3,"Selection"],[8,"Iterator"],[15,"usize"],[3,"WeightedValue"],[3,"CoinSelectorOpt"],[3,"SelectionError"],[4,"SelectionConstraint"],[4,"ExcessStrategyKind"],[3,"ExcessStrategy"],[4,"Ordering"],[4,"Option"],[15,"i64"],[15,"u32"],[15,"f32"],[4,"Result"],[3,"Formatter"],[6,"Result"],[4,"BnbLimit"],[3,"Duration"],[3,"TxOut"],[6,"DecideStrategy"],[3,"BnbIter"],[3,"Vec"],[15,"u64"],[8,"Copy"],[8,"Display"],[3,"Demand"],[3,"String"],[3,"TypeId"],[4,"BranchStrategy"]]},\ "bdk_electrum":{"doc":"This crate is used for updating structures of the bdk_chain…","t":[8,3,11,2,11,11,12,11,2,11,10,11,11,11,12,11,10,11,11,11,11,11],"n":["ElectrumExt","ElectrumUpdate","as_ref","bdk_chain","borrow","borrow_mut","chain_update","default","electrum_client","from","get_tip","into","into_confirmation_time_update","into_keychain_scan","last_active_indices","missing_full_txs","scan","scan_without_keychain","try_from","try_into","type_id","vzip"],"q":["bdk_electrum","","","","","","","","","","","","","","","","","","","","",""],"d":["Trait to extend electrum_client::Client functionality.","The result of ElectrumExt::scan.","","","","","The internal SparseChain update.","","","Returns the argument unchanged.","Fetch the latest block height.","Calls U::from(self).","Creates ElectrumUpdate<K, ConfirmationTime> from …","Transform the ElectrumUpdate into a KeychainScan, which …","The last keychain script pubkey indices, which had …","Return a list of missing full transactions that are …","Scan the blockchain (via electrum) for the data specified. …","Convenience method to call scan without requiring a …","","","",""],"i":[0,0,1,0,1,1,1,1,0,1,21,1,1,1,1,1,21,21,1,1,1,1],"f":[0,0,[1,2],0,[[]],[[]],0,[[],1],0,[[]],[[],[[4,[3]]]],[[]],[[[1,[[0,[5,6,7]],8]],9],[[4,[[1,[[0,[5,6,7]],10]],3]]]],[[[1,[[0,[5,6,7]],11]],[13,[12]]],[[4,[[14,[[0,[5,6,7]],11]],[15,[11]]]]]],0,[[[1,[[0,[5,6,7]],11]]],[[13,[16]]]],[[17,[17,[[0,[5,6]],18]],18,18,19,19],[[4,[[1,[[0,[5,6]],8]],3]]]],[[17,18,18,18,19],[[4,[2,3]]]],[[],4],[[],4],[[],20],[[]]],"p":[[3,"ElectrumUpdate"],[3,"SparseChain"],[4,"Error"],[4,"Result"],[8,"Ord"],[8,"Clone"],[8,"Debug"],[4,"TxHeight"],[3,"Client"],[4,"ConfirmationTime"],[8,"ChainPosition"],[3,"Transaction"],[3,"Vec"],[3,"KeychainScan"],[4,"NewError"],[3,"Txid"],[3,"BTreeMap"],[8,"IntoIterator"],[15,"usize"],[3,"TypeId"],[8,"ElectrumExt"]]},\ "bdk_esplora":{"doc":"BDK Esplora","t":[8,8,2,10,10,11,11,11,11],"n":["EsploraAsyncExt","EsploraExt","esplora_client","scan","scan","scan_without_keychain","scan_without_keychain","scan_without_keychain","scan_without_keychain"],"q":["bdk_esplora","","","","","","","",""],"d":["Trait to extend esplora_client::AsyncClient functionality.","Trait to extend esplora_client::BlockingClient …","","Scan the blockchain (via esplora) for the data specified …","Scan the blockchain (via esplora) for the data specified …","Convenience method to call scan without requiring a …","Convenience method to call scan without requiring a …","Convenience method to call scan without requiring a …","Convenience method to call scan without requiring a …"],"i":[0,0,0,15,16,15,15,16,16],"f":[0,0,0,[[1,[1,[[0,[2,3]],4]],4,4,5,5],[[9,[[7,[[0,[2,3]],6]],8]]]],[[1,[1,[[0,[4,10]]]],[0,[4,10]],[0,[4,10]],5,5],[[13,[[12,[11]]]]]],[[1,4,4,4,5],[[9,[[14,[6]],8]]]],[[1,4,4,4,5],[[9,[[14,[6]],8]]]],[[1,[0,[4,10]],[0,[4,10]],[0,[4,10]],5],[[13,[[12,[11]]]]]],[[1,[0,[4,10]],[0,[4,10]],[0,[4,10]],5],[[13,[[12,[11]]]]]]],"p":[[3,"BTreeMap"],[8,"Ord"],[8,"Clone"],[8,"IntoIterator"],[15,"usize"],[4,"ConfirmationTime"],[3,"KeychainScan"],[4,"Error"],[4,"Result"],[8,"Send"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"ChainGraph"],[8,"EsploraExt"],[8,"EsploraAsyncExt"]]},\ 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 ba5aa36ad1..f950d574b1 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 @@ -Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file +Rustdoc settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/source-files.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/source-files.js index 373ac6c7bf..10a255ce3d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/source-files.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/source-files.js @@ -1,6 +1,6 @@ var sourcesIndex = JSON.parse('{\ "bdk":["",[["descriptor",[],["checksum.rs","dsl.rs","error.rs","mod.rs","policy.rs","template.rs"]],["keys",[],["mod.rs"]],["psbt",[],["mod.rs"]],["wallet",[],["coin_selection.rs","export.rs","mod.rs","signer.rs","tx_builder.rs","utils.rs"]]],["error.rs","lib.rs","types.rs"]],\ -"bdk_chain":["",[["keychain",[],["persist.rs","tracker.rs","txout_index.rs"]]],["chain_data.rs","chain_graph.rs","chain_oracle.rs","descriptor_ext.rs","example_utils.rs","indexed_tx_graph.rs","keychain.rs","lib.rs","local_chain.rs","sparse_chain.rs","spk_txout_index.rs","tx_data_traits.rs","tx_graph.rs"]],\ +"bdk_chain":["",[["keychain",[],["persist.rs","tracker.rs","txout_index.rs"]]],["chain_data.rs","chain_graph.rs","chain_oracle.rs","descriptor_ext.rs","example_utils.rs","indexed_tx_graph.rs","keychain.rs","lib.rs","local_chain.rs","sparse_chain.rs","spk_iter.rs","spk_txout_index.rs","tx_data_traits.rs","tx_graph.rs"]],\ "bdk_coin_select":["",[],["bnb.rs","coin_selector.rs","lib.rs"]],\ "bdk_electrum":["",[],["lib.rs"]],\ "bdk_esplora":["",[],["async_ext.rs","blocking_ext.rs","lib.rs"]],\ diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain/txout_index.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain/txout_index.rs.html index 928f3315e7..69ffd2d4a5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain/txout_index.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain/txout_index.rs.html @@ -584,56 +584,21 @@ 584 585 586 -587 -588 -589 -590 -591 -592 -593 -594 -595 -596 -597 -598 -599 -600 -601 -602 -603 -604 -605 -606 -607 -608 -609 -610 -611 -612 -613 -614 -615 -616 -617 -618 -619
use crate::{
     collections::*,
     indexed_tx_graph::{Indexer, OwnedIndexer},
     miniscript::{Descriptor, DescriptorPublicKey},
-    ForEachTxOut, SpkTxOutIndex,
+    spk_iter::BIP32_MAX_INDEX,
+    ForEachTxOut, SpkIterator, SpkTxOutIndex,
 };
-use alloc::{borrow::Cow, vec::Vec};
-use bitcoin::{secp256k1::Secp256k1, OutPoint, Script, TxOut};
+use alloc::vec::Vec;
+use bitcoin::{OutPoint, Script, TxOut};
 use core::{fmt::Debug, ops::Deref};
 
 use crate::Append;
 
 use super::DerivationAdditions;
 
-/// Maximum [BIP32](https://bips.xyz/32) derivation index.
-pub const BIP32_MAX_INDEX: u32 = (1 << 31) - 1;
-
 /// A convenient wrapper around [`SpkTxOutIndex`] that relates script pubkeys to miniscript public
 /// [`Descriptor`]s.
 ///
@@ -862,10 +827,9 @@
         let next_reveal_index = self.last_revealed.get(keychain).map_or(0, |v| *v + 1);
         let lookahead = self.lookahead.get(keychain).map_or(0, |v| *v);
 
-        for (new_index, new_spk) in range_descriptor_spks(
-            Cow::Borrowed(descriptor),
-            next_store_index..next_reveal_index + lookahead,
-        ) {
+        for (new_index, new_spk) in
+            SpkIterator::new_with_range(descriptor, next_store_index..next_reveal_index + lookahead)
+        {
             let _inserted = self
                 .inner
                 .insert_spk((keychain.clone(), new_index), new_spk);
@@ -885,13 +849,13 @@
     /// derivable script pubkeys.
     pub fn spks_of_all_keychains(
         &self,
-    ) -> BTreeMap<K, impl Iterator<Item = (u32, Script)> + Clone> {
+    ) -> BTreeMap<K, SpkIterator<Descriptor<DescriptorPublicKey>>> {
         self.keychains
             .iter()
             .map(|(keychain, descriptor)| {
                 (
                     keychain.clone(),
-                    range_descriptor_spks(Cow::Owned(descriptor.clone()), 0..),
+                    SpkIterator::new_with_range(descriptor.clone(), 0..),
                 )
             })
             .collect()
@@ -903,13 +867,13 @@
     /// # Panics
     ///
     /// This will panic if the `keychain` does not exist.
-    pub fn spks_of_keychain(&self, keychain: &K) -> impl Iterator<Item = (u32, Script)> + Clone {
+    pub fn spks_of_keychain(&self, keychain: &K) -> SpkIterator<Descriptor<DescriptorPublicKey>> {
         let descriptor = self
             .keychains
             .get(keychain)
             .expect("keychain must exist")
             .clone();
-        range_descriptor_spks(Cow::Owned(descriptor), 0..)
+        SpkIterator::new_with_range(descriptor, 0..)
     }
 
     /// Convenience method to get [`revealed_spks_of_keychain`] of all keychains.
@@ -989,7 +953,7 @@
         &mut self,
         keychains: &BTreeMap<K, u32>,
     ) -> (
-        BTreeMap<K, impl Iterator<Item = (u32, Script)>>,
+        BTreeMap<K, SpkIterator<Descriptor<DescriptorPublicKey>>>,
         DerivationAdditions<K>,
     ) {
         let mut additions = DerivationAdditions::default();
@@ -999,7 +963,7 @@
             let (new_spks, new_additions) = self.reveal_to_target(keychain, index);
             if !new_additions.is_empty() {
                 spks.insert(keychain.clone(), new_spks);
-                additions.append(new_additions);
+                additions.append(new_additions.clone());
             }
         }
 
@@ -1024,7 +988,10 @@
         &mut self,
         keychain: &K,
         target_index: u32,
-    ) -> (impl Iterator<Item = (u32, Script)>, DerivationAdditions<K>) {
+    ) -> (
+        SpkIterator<Descriptor<DescriptorPublicKey>>,
+        DerivationAdditions<K>,
+    ) {
         let descriptor = self.keychains.get(keychain).expect("keychain must exist");
         let has_wildcard = descriptor.has_wildcard();
 
@@ -1049,7 +1016,7 @@
 
         // we range over indexes that are not stored
         let range = next_reveal_index + lookahead..=target_index + lookahead;
-        for (new_index, new_spk) in range_descriptor_spks(Cow::Borrowed(descriptor), range) {
+        for (new_index, new_spk) in SpkIterator::new_with_range(descriptor, range) {
             let _inserted = self
                 .inner
                 .insert_spk((keychain.clone(), new_index), new_spk);
@@ -1066,16 +1033,13 @@
                 let _old_index = self.last_revealed.insert(keychain.clone(), index);
                 debug_assert!(_old_index < Some(index));
                 (
-                    range_descriptor_spks(
-                        Cow::Owned(descriptor.clone()),
-                        next_reveal_index..index + 1,
-                    ),
+                    SpkIterator::new_with_range(descriptor.clone(), next_reveal_index..index + 1),
                     DerivationAdditions(core::iter::once((keychain.clone(), index)).collect()),
                 )
             }
             None => (
-                range_descriptor_spks(
-                    Cow::Owned(descriptor.clone()),
+                SpkIterator::new_with_range(
+                    descriptor.clone(),
                     next_reveal_index..next_reveal_index,
                 ),
                 DerivationAdditions::default(),
@@ -1206,35 +1170,5 @@
         let _ = self.reveal_to_target_multi(&additions.0);
     }
 }
-
-fn range_descriptor_spks<'a, R>(
-    descriptor: Cow<'a, Descriptor<DescriptorPublicKey>>,
-    range: R,
-) -> impl Iterator<Item = (u32, Script)> + Clone + Send + 'a
-where
-    R: Iterator<Item = u32> + Clone + Send + 'a,
-{
-    let secp = Secp256k1::verification_only();
-    let has_wildcard = descriptor.has_wildcard();
-    range
-        .into_iter()
-        // non-wildcard descriptors can only have one derivation index (0)
-        .take_while(move |&index| has_wildcard || index == 0)
-        // we can only iterate over non-hardened indices
-        .take_while(|&index| index <= BIP32_MAX_INDEX)
-        .map(
-            move |index| -> Result<_, miniscript::descriptor::ConversionError> {
-                Ok((
-                    index,
-                    descriptor
-                        .at_derivation_index(index)
-                        .derived_descriptor(&secp)?
-                        .script_pubkey(),
-                ))
-            },
-        )
-        .take_while(Result::is_ok)
-        .map(Result::unwrap)
-}
 
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html index 766dd29ebb..d7a3693ee4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html @@ -91,6 +91,10 @@ 91 92 93 +94 +95 +96 +97
//! This crate is a collection of core structures for [Bitcoin Dev Kit] (alpha release).
 //!
 //! The goal of this crate is to give wallets the mechanisms needed to:
@@ -136,6 +140,10 @@
 mod descriptor_ext;
 #[cfg(feature = "miniscript")]
 pub use descriptor_ext::DescriptorExt;
+#[cfg(feature = "miniscript")]
+mod spk_iter;
+#[cfg(feature = "miniscript")]
+pub use spk_iter::*;
 
 #[allow(unused_imports)]
 #[macro_use]
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_iter.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_iter.rs.html
new file mode 100644
index 0000000000..e40c964bac
--- /dev/null
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_iter.rs.html
@@ -0,0 +1,432 @@
+spk_iter.rs - source
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+
use crate::{
+    bitcoin::{secp256k1::Secp256k1, Script},
+    miniscript::{Descriptor, DescriptorPublicKey},
+};
+use core::{borrow::Borrow, ops::Bound, ops::RangeBounds};
+
+/// Maximum [BIP32](https://bips.xyz/32) derivation index.
+pub const BIP32_MAX_INDEX: u32 = (1 << 31) - 1;
+
+/// An iterator for derived script pubkeys.
+///
+/// [`SpkIterator`] is an implementation of the [`Iterator`] trait which possesses its own `next()`
+/// and `nth()` functions, both of which circumvent the unnecessary intermediate derivations required
+/// when using their default implementations.
+///
+/// ## Examples
+///
+/// ```
+/// use bdk_chain::SpkIterator;
+/// # use miniscript::{Descriptor, DescriptorPublicKey};
+/// # use bitcoin::{secp256k1::Secp256k1};
+/// # use std::str::FromStr;
+/// # let secp = bitcoin::secp256k1::Secp256k1::signing_only();
+/// # let (descriptor, _) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "wpkh([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/1/0)").unwrap();
+/// # let external_spk_0 = descriptor.at_derivation_index(0).script_pubkey();
+/// # let external_spk_3 = descriptor.at_derivation_index(3).script_pubkey();
+/// # let external_spk_4 = descriptor.at_derivation_index(4).script_pubkey();
+///
+/// // Creates a new script pubkey iterator starting at 0 from a descriptor.
+/// let mut spk_iter = SpkIterator::new(&descriptor);
+/// assert_eq!(spk_iter.next(), Some((0, external_spk_0)));
+/// assert_eq!(spk_iter.next(), None);
+/// ```
+#[derive(Clone)]
+pub struct SpkIterator<D> {
+    next_index: u32,
+    end: u32,
+    descriptor: D,
+    secp: Secp256k1<bitcoin::secp256k1::VerifyOnly>,
+}
+
+impl<D> SpkIterator<D>
+where
+    D: Borrow<Descriptor<DescriptorPublicKey>>,
+{
+    /// Creates a new script pubkey iterator starting at 0 from a descriptor.
+    pub fn new(descriptor: D) -> Self {
+        let end = if descriptor.borrow().has_wildcard() {
+            BIP32_MAX_INDEX
+        } else {
+            0
+        };
+
+        SpkIterator::new_with_range(descriptor, 0..=end)
+    }
+
+    // Creates a new script pubkey iterator from a descriptor with a given range.
+    pub(crate) fn new_with_range<R>(descriptor: D, range: R) -> Self
+    where
+        R: RangeBounds<u32>,
+    {
+        let mut end = match range.end_bound() {
+            Bound::Included(end) => *end + 1,
+            Bound::Excluded(end) => *end,
+            Bound::Unbounded => u32::MAX,
+        };
+        // Because `end` is exclusive, we want the maximum value to be BIP32_MAX_INDEX + 1.
+        end = end.min(BIP32_MAX_INDEX + 1);
+
+        Self {
+            next_index: match range.start_bound() {
+                Bound::Included(start) => *start,
+                Bound::Excluded(start) => *start + 1,
+                Bound::Unbounded => u32::MIN,
+            },
+            end,
+            descriptor,
+            secp: Secp256k1::verification_only(),
+        }
+    }
+}
+
+impl<D> Iterator for SpkIterator<D>
+where
+    D: Borrow<Descriptor<DescriptorPublicKey>>,
+{
+    type Item = (u32, Script);
+
+    fn next(&mut self) -> Option<Self::Item> {
+        // For non-wildcard descriptors, we expect the first element to be Some((0, spk)), then None after.
+        // For wildcard descriptors, we expect it to keep iterating until exhausted.
+        if self.next_index >= self.end {
+            return None;
+        }
+
+        let script = self
+            .descriptor
+            .borrow()
+            .at_derivation_index(self.next_index)
+            .derived_descriptor(&self.secp)
+            .expect("the descriptor cannot need hardened derivation")
+            .script_pubkey();
+        let output = (self.next_index, script);
+
+        self.next_index += 1;
+
+        Some(output)
+    }
+
+    fn nth(&mut self, n: usize) -> Option<Self::Item> {
+        self.next_index = self
+            .next_index
+            .saturating_add(u32::try_from(n).unwrap_or(u32::MAX));
+        self.next()
+    }
+}
+
+#[cfg(test)]
+mod test {
+    use crate::{
+        bitcoin::secp256k1::Secp256k1,
+        keychain::KeychainTxOutIndex,
+        miniscript::{Descriptor, DescriptorPublicKey},
+        spk_iter::{SpkIterator, BIP32_MAX_INDEX},
+    };
+
+    #[derive(Clone, Debug, PartialEq, Eq, Ord, PartialOrd)]
+    enum TestKeychain {
+        External,
+        Internal,
+    }
+
+    fn init_txout_index() -> (
+        KeychainTxOutIndex<TestKeychain>,
+        Descriptor<DescriptorPublicKey>,
+        Descriptor<DescriptorPublicKey>,
+    ) {
+        let mut txout_index = KeychainTxOutIndex::<TestKeychain>::default();
+
+        let secp = Secp256k1::signing_only();
+        let (external_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/0/*)").unwrap();
+        let (internal_descriptor,_) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "tr([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/1/*)").unwrap();
+
+        txout_index.add_keychain(TestKeychain::External, external_descriptor.clone());
+        txout_index.add_keychain(TestKeychain::Internal, internal_descriptor.clone());
+
+        (txout_index, external_descriptor, internal_descriptor)
+    }
+
+    #[test]
+    #[allow(clippy::iter_nth_zero)]
+    fn test_spkiterator_wildcard() {
+        let (_, external_desc, _) = init_txout_index();
+        let external_spk_0 = external_desc.at_derivation_index(0).script_pubkey();
+        let external_spk_16 = external_desc.at_derivation_index(16).script_pubkey();
+        let external_spk_20 = external_desc.at_derivation_index(20).script_pubkey();
+        let external_spk_21 = external_desc.at_derivation_index(21).script_pubkey();
+        let external_spk_max = external_desc
+            .at_derivation_index(BIP32_MAX_INDEX)
+            .script_pubkey();
+
+        let mut external_spk = SpkIterator::new(&external_desc);
+        let max_index = BIP32_MAX_INDEX - 22;
+
+        assert_eq!(external_spk.next().unwrap(), (0, external_spk_0));
+        assert_eq!(external_spk.nth(15).unwrap(), (16, external_spk_16));
+        assert_eq!(external_spk.nth(3).unwrap(), (20, external_spk_20.clone()));
+        assert_eq!(external_spk.next().unwrap(), (21, external_spk_21));
+        assert_eq!(
+            external_spk.nth(max_index as usize).unwrap(),
+            (BIP32_MAX_INDEX, external_spk_max)
+        );
+        assert_eq!(external_spk.nth(0), None);
+
+        let mut external_spk = SpkIterator::new_with_range(&external_desc, 0..21);
+        assert_eq!(external_spk.nth(20).unwrap(), (20, external_spk_20));
+        assert_eq!(external_spk.next(), None);
+
+        let mut external_spk = SpkIterator::new_with_range(&external_desc, 0..21);
+        assert_eq!(external_spk.nth(21), None);
+    }
+
+    #[test]
+    #[allow(clippy::iter_nth_zero)]
+    fn test_spkiterator_non_wildcard() {
+        let secp = bitcoin::secp256k1::Secp256k1::signing_only();
+        let (no_wildcard_descriptor, _) = Descriptor::<DescriptorPublicKey>::parse_descriptor(&secp, "wpkh([73c5da0a/86'/0'/0']xprv9xgqHN7yz9MwCkxsBPN5qetuNdQSUttZNKw1dcYTV4mkaAFiBVGQziHs3NRSWMkCzvgjEe3n9xV8oYywvM8at9yRqyaZVz6TYYhX98VjsUk/1/0)").unwrap();
+        let external_spk_0 = no_wildcard_descriptor
+            .at_derivation_index(0)
+            .script_pubkey();
+
+        let mut external_spk = SpkIterator::new(&no_wildcard_descriptor);
+
+        assert_eq!(external_spk.next().unwrap(), (0, external_spk_0.clone()));
+        assert_eq!(external_spk.next(), None);
+
+        let mut external_spk = SpkIterator::new(&no_wildcard_descriptor);
+
+        assert_eq!(external_spk.nth(0).unwrap(), (0, external_spk_0));
+        assert_eq!(external_spk.nth(0), None);
+    }
+
+    // The following dummy traits were created to test if SpkIterator is working properly.
+    trait TestSendStatic: Send + 'static {
+        fn test(&self) -> u32 {
+            20
+        }
+    }
+
+    impl TestSendStatic for SpkIterator<Descriptor<DescriptorPublicKey>> {
+        fn test(&self) -> u32 {
+            20
+        }
+    }
+}
+
+
\ No newline at end of file