From: github-actions Date: Thu, 31 Aug 2023 20:30:51 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/enum.FileError.html?a=commitdiff_plain;h=cf2b60f236cb7fd21b81e239d933405aeeee44c7;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html index f255b86f3c..d48fcd1285 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html @@ -4,7 +4,7 @@ }
Expand description

A structure that represents changes to an IndexedTxGraph.

Fields§

§graph: ChangeSet<A>

TxGraph changeset.

§indexer: IA

Indexer changeset.

-

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. 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).

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.WalletChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.WalletChangeSet.html index 3dffca936e..0111a9f4e5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.WalletChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.WalletChangeSet.html @@ -1,10 +1,10 @@ -WalletChangeSet in bdk_chain::keychain - Rust
pub struct WalletChangeSet<K, A> {
+WalletChangeSet in bdk_chain::keychain - Rust
pub struct WalletChangeSet<K, A> {
     pub chain: ChangeSet,
-    pub index_tx_graph: ChangeSet<A, ChangeSet<K>>,
+    pub indexed_tx_graph: ChangeSet<A, ChangeSet<K>>,
 }
Expand description

A structure that records the corresponding changes as result of applying an WalletUpdate.

Fields§

§chain: ChangeSet

Changes to the LocalChain.

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

ChangeSet to IndexedTxGraph.

-

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +
§indexed_tx_graph: ChangeSet<A, ChangeSet<K>>

ChangeSet to IndexedTxGraph.

+

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
Converts to this type from the input type.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. 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).

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html index 28163d1350..492e28d17f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html @@ -4,4 +4,4 @@ }
Expand description

Trait that makes an object appendable.

Required Methods§

Append another object of the same type onto self.

Returns whether the structure is considered empty.

-

Implementations on Foreign Types§

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ForEachTxOut.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ForEachTxOut.html index 55a00daa71..44c28a566c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ForEachTxOut.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ForEachTxOut.html @@ -4,4 +4,4 @@

We would prefer to just work with things that can give us an Iterator<Item=(OutPoint, &TxOut)> here, but rust’s type system makes it extremely hard to do this (without trait objects).

Required Methods§

The provided closure f will be called with each outpoint/txout pair.

-

Implementations on Foreign Types§

Implementors§

\ No newline at end of file +

Implementations on Foreign Types§

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html index 9e540e0f2f..e0df636c96 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html @@ -1,4 +1,4 @@ -bdk_chain::tx_graph - Rust

Module bdk_chain::tx_graph

source ·
Expand description

Module for structures that store and traverse transactions.

+bdk_chain::tx_graph - Rust

Module bdk_chain::tx_graph

source ·
Expand description

Module for structures that store and traverse transactions.

TxGraph is a monotone structure that inserts transactions and indexes the spends. The ChangeSet structure reports changes of TxGraph but can also be applied to a TxGraph as well. Lastly, TxDescendants is an Iterator that traverses descendants of diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html index 67ba535508..14cd599126 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html @@ -1,4 +1,4 @@ -ChangeSet in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::ChangeSet

source ·
pub struct ChangeSet<A = ()> {
+ChangeSet in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::ChangeSet

source ·
pub struct ChangeSet<A = ()> {
     pub txs: BTreeSet<Transaction>,
     pub txouts: BTreeMap<OutPoint, TxOut>,
     pub anchors: BTreeSet<(A, Txid)>,
@@ -11,9 +11,17 @@ not removed.

§txouts: BTreeMap<OutPoint, TxOut>

Added txouts.

§anchors: BTreeSet<(A, Txid)>

Added anchors.

§last_seen: BTreeMap<Txid, u64>

Added last-seen unix timestamps of transactions.

-

Implementations§

Returns true if the ChangeSet is empty (no transactions or txouts).

+

Implementations§

Returns true if the ChangeSet is empty (no transactions or txouts).

Iterates over all outpoints contained within ChangeSet.

-

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
The provided closure f will be called with each outpoint/txout pair.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used +

Iterates over the heights of that the new transaction anchors in this changeset.

+

This is useful if you want to find which heights you need to fetch data about in order to +confirm or exclude these anchors.

+

See also: TxGraph::missing_heights

+

Returns an iterator for the anchor_heights in this changeset that are not included in +local_chain. This tells you which heights you need to include in local_chain in order +for it to conclusively act as a ChainOracle for the transaction anchors this changeset +will add.

+

Trait Implementations§

Append another object of the same type onto self.
Returns whether the structure is considered empty.
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
Deserialize this value from the given Serde deserializer. Read more
The provided closure f will be called with each outpoint/txout pair.
Converts to this type from the input type.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more
Serialize this value into the given Serde serializer. 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).

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html index 27c845a1c6..10a9f580b8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html @@ -1,6 +1,6 @@ -TxDescendants in bdk_chain::tx_graph - Rust
pub struct TxDescendants<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses transaction descendants.

+TxDescendants in bdk_chain::tx_graph - Rust
pub struct TxDescendants<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses transaction descendants.

This struct is created by the walk_descendants method of TxGraph.

-

Trait Implementations§

The type of the elements being iterated over.
Advances the iterator and returns the next value. 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
Returns the nth element of the iterator. Read more
Creates an iterator starting at the same point, but stepping by +

Trait Implementations§

The type of the elements being iterated over.
Advances the iterator and returns the next value. 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
Returns the nth element of the iterator. 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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html index a9b5093879..17eff47cda 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html @@ -132,7 +132,7 @@ instead.

used instead.

Get the total balance of outpoints that are in chain of chain_tip.

This is the infallible version of try_balance.

-

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
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 provided closure f will be called with each outpoint/txout pair.
This method tests for self and other values to be equal, and is used +

Trait Implementations§

Converts this type into a shared reference of the (usually inferred) input type.
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 provided closure f will be called with each outpoint/txout pair.
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. 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).

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/crates.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/crates.js index a310d19c55..0d962ebcf5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/crates.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["bdk","bdk_chain","bdk_coin_select","bdk_electrum","bdk_esplora","bdk_file_store","bdk_tmp_plan","example_cli","example_electrum","wallet_electrum_example","wallet_esplora_async","wallet_esplora_blocking"]; \ No newline at end of file +window.ALL_CRATES = ["bdk","bdk_chain","bdk_coin_select","bdk_electrum","bdk_esplora","bdk_file_store","bdk_tmp_plan","example_cli","example_electrum","example_esplora","wallet_electrum_example","wallet_esplora_async","wallet_esplora_blocking"]; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/all.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/all.html new file mode 100644 index 0000000000..8b6b4a3a1b --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/all.html @@ -0,0 +1 @@ +List of all items in this crate

List of all items

Structs

Enums

Functions

Constants

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_MAGIC.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_MAGIC.html new file mode 100644 index 0000000000..d3330c5fe2 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_MAGIC.html @@ -0,0 +1 @@ +DB_MAGIC in example_esplora - Rust

Constant example_esplora::DB_MAGIC

source ·
pub(crate) const DB_MAGIC: &[u8] = b"bdk_example_esplora";
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_PATH.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_PATH.html new file mode 100644 index 0000000000..3aa129ebee --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/constant.DB_PATH.html @@ -0,0 +1 @@ +DB_PATH in example_esplora - Rust

Constant example_esplora::DB_PATH

source ·
pub(crate) const DB_PATH: &str = ".bdk_esplora_example.db";
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/enum.EsploraCommands.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/enum.EsploraCommands.html new file mode 100644 index 0000000000..115d898d15 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/enum.EsploraCommands.html @@ -0,0 +1,28 @@ +EsploraCommands in example_esplora - Rust
pub(crate) enum EsploraCommands {
+    Scan {
+        stop_gap: usize,
+        scan_options: ScanOptions,
+    },
+    Sync {
+        unused_spks: bool,
+        all_spks: bool,
+        utxos: bool,
+        unconfirmed: bool,
+        scan_options: ScanOptions,
+    },
+}

Variants§

§

Scan

Fields

§stop_gap: usize

When a gap this large has been found for a keychain, it will stop.

+
§scan_options: ScanOptions

Scans the addresses in the wallet using the esplora API.

+
§

Sync

Fields

§unused_spks: bool

Scan all the unused addresses.

+
§all_spks: bool

Scan every address that you have derived.

+
§utxos: bool

Scan unspent outpoints for spends or changes to confirmation status of residing tx.

+
§unconfirmed: bool

Scan unconfirmed transactions for updates.

+
§scan_options: ScanOptions

Scan for particular addresses and unconfirmed transactions using the esplora API.

+

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
Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Assign values from ArgMatches to self.
Assign values from ArgMatches to self.
Append to [Command] so it can instantiate Self. Read more
Append to [Command] so it can update self. Read more
Test whether Self can parse a specific subcommand

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.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

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.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/fn.main.html new file mode 100644 index 0000000000..c37a1ea744 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/fn.main.html @@ -0,0 +1 @@ +main in example_esplora - Rust

Function example_esplora::main

source ·
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/index.html new file mode 100644 index 0000000000..58217dbbeb --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/index.html @@ -0,0 +1 @@ +example_esplora - Rust
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/sidebar-items.js new file mode 100644 index 0000000000..b244aed41a --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/sidebar-items.js @@ -0,0 +1 @@ +window.SIDEBAR_ITEMS = {"constant":[["DB_MAGIC",""],["DB_PATH",""]],"enum":[["EsploraCommands",""]],"fn":[["main",""]],"struct":[["ScanOptions",""]]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/struct.ScanOptions.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/struct.ScanOptions.html new file mode 100644 index 0000000000..f98230af54 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/struct.ScanOptions.html @@ -0,0 +1,14 @@ +ScanOptions in example_esplora - Rust
pub struct ScanOptions {
+    pub parallel_requests: usize,
+}

Fields§

§parallel_requests: usize

Max number of concurrent esplora server requests.

+

Trait Implementations§

Append to [Command] so it can instantiate Self. Read more
Append to [Command] so it can update self. Read more
Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Deprecated, replaced with CommandFactory::command
Deprecated, replaced with CommandFactory::command_for_update
Build a [Command] that can instantiate Self. Read more
Build a [Command] that can update self. Read more
Formats the value using the given formatter. Read more
Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more
Assign values from ArgMatches to self.
Assign values from ArgMatches to self.
Parse from std::env::args_os(), exit on error
Parse from std::env::args_os(), return Err on error.
Parse from iterator, exit on error
Parse from iterator, return Err on error.
Update from iterator, exit on error
Update from iterator, return Err on error.
This method tests for self and other values to be equal, and is used +by ==. Read more
This method tests for !=. The default implementation is almost always +sufficient, and should not be overridden without very good reason. 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.

+
Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more
Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

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.
Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Args.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Args.js index 5c716ec5c3..b3324ef2ce 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Args.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Args.js @@ -1,4 +1,5 @@ (function() {var implementors = { "example_cli":[["impl<S: Subcommand> Args for Args<S>"]], -"example_electrum":[["impl Args for ScanOptions"]] +"example_electrum":[["impl Args for ScanOptions"]], +"example_esplora":[["impl Args for ScanOptions"]] };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/clap/derive/trait.CommandFactory.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.CommandFactory.js index 4ae7c28aa1..dcde269c5f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.CommandFactory.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.CommandFactory.js @@ -1,4 +1,5 @@ (function() {var implementors = { "example_cli":[["impl<S: Subcommand> CommandFactory for Args<S>"]], -"example_electrum":[["impl CommandFactory for ScanOptions"]] +"example_electrum":[["impl CommandFactory for ScanOptions"]], +"example_esplora":[["impl CommandFactory for ScanOptions"]] };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/clap/derive/trait.FromArgMatches.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.FromArgMatches.js index ff01a6177b..f404d970a6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.FromArgMatches.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.FromArgMatches.js @@ -1,4 +1,5 @@ (function() {var implementors = { "example_cli":[["impl<S: Subcommand> FromArgMatches for Args<S>"],["impl<S: Subcommand> FromArgMatches for Commands<S>"],["impl FromArgMatches for AddressCmd"],["impl FromArgMatches for TxOutCmd"]], -"example_electrum":[["impl FromArgMatches for ElectrumCommands"],["impl FromArgMatches for ScanOptions"]] +"example_electrum":[["impl FromArgMatches for ElectrumCommands"],["impl FromArgMatches for ScanOptions"]], +"example_esplora":[["impl FromArgMatches for EsploraCommands"],["impl FromArgMatches for ScanOptions"]] };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/clap/derive/trait.Parser.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Parser.js index 9dd6fbe07e..1206f8e789 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Parser.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Parser.js @@ -1,4 +1,5 @@ (function() {var implementors = { "example_cli":[["impl<S: Subcommand> Parser for Args<S>"]], -"example_electrum":[["impl Parser for ScanOptions"]] +"example_electrum":[["impl Parser for ScanOptions"]], +"example_esplora":[["impl Parser for ScanOptions"]] };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/clap/derive/trait.Subcommand.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Subcommand.js index 914ad060ae..b056805ae7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Subcommand.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/clap/derive/trait.Subcommand.js @@ -1,4 +1,5 @@ (function() {var implementors = { "example_cli":[["impl<S: Subcommand> Subcommand for Commands<S>"],["impl Subcommand for AddressCmd"],["impl Subcommand for TxOutCmd"]], -"example_electrum":[["impl Subcommand for ElectrumCommands"]] +"example_electrum":[["impl Subcommand for ElectrumCommands"]], +"example_esplora":[["impl Subcommand for EsploraCommands"]] };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/clone/trait.Clone.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/clone/trait.Clone.js index a42d4fb3a7..9a91531169 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 @@ -5,5 +5,6 @@ "bdk_electrum":[["impl<K: Clone, A: Clone> Clone for ElectrumUpdate<K, A>"]], "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>"]], "example_cli":[["impl<S: Clone + Subcommand> Clone for Commands<S>"],["impl Clone for CoinSelectionAlgo"],["impl Clone for AddressCmd"],["impl Clone for TxOutCmd"],["impl Clone for Keychain"]], -"example_electrum":[["impl Clone for ElectrumCommands"],["impl Clone for ScanOptions"]] +"example_electrum":[["impl Clone for ElectrumCommands"],["impl Clone for ScanOptions"]], +"example_esplora":[["impl Clone for EsploraCommands"],["impl Clone for ScanOptions"]] };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/cmp/trait.PartialEq.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js index 2b922b9999..bcdc553ce4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js @@ -3,5 +3,6 @@ "bdk_chain":[["impl<A: PartialEq> PartialEq<ChainPosition<A>> for ChainPosition<A>"],["impl PartialEq<ConfirmationTime> for ConfirmationTime"],["impl PartialEq<BlockId> for BlockId"],["impl PartialEq<ConfirmationHeightAnchor> for ConfirmationHeightAnchor"],["impl PartialEq<ConfirmationTimeAnchor> for ConfirmationTimeAnchor"],["impl<A: PartialEq> PartialEq<FullTxOut<A>> for FullTxOut<A>"],["impl<A: PartialEq, IA: PartialEq> PartialEq<ChangeSet<A, IA>> for ChangeSet<A, IA>"],["impl<K: PartialEq> PartialEq<ChangeSet<K>> for ChangeSet<K>"],["impl<K: PartialEq, A: PartialEq> PartialEq<WalletChangeSet<K, A>> for WalletChangeSet<K, A>"],["impl PartialEq<Balance> for Balance"],["impl PartialEq<LocalChain> for LocalChain"],["impl PartialEq<InsertBlockError> for InsertBlockError"],["impl PartialEq<CannotConnectError> for CannotConnectError"],["impl<A: PartialEq> PartialEq<TxGraph<A>> for TxGraph<A>"],["impl<'a, T: PartialEq, A: PartialEq> PartialEq<TxNode<'a, T, A>> for TxNode<'a, T, A>"],["impl<'a, T: PartialEq, A: PartialEq> PartialEq<CanonicalTx<'a, T, A>> for CanonicalTx<'a, T, A>"],["impl PartialEq<CalculateFeeError> for CalculateFeeError"],["impl<A: PartialEq> PartialEq<ChangeSet<A>> for ChangeSet<A>"]], "bdk_coin_select":[["impl PartialEq<SelectionConstraint> for SelectionConstraint"],["impl PartialEq<ExcessStrategyKind> for ExcessStrategyKind"]], "example_cli":[["impl PartialEq<Keychain> for Keychain"]], -"example_electrum":[["impl PartialEq<ScanOptions> for ScanOptions"]] +"example_electrum":[["impl PartialEq<ScanOptions> for ScanOptions"]], +"example_esplora":[["impl PartialEq<ScanOptions> for ScanOptions"]] };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/fmt/trait.Debug.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/fmt/trait.Debug.js index 47869be385..ea99a029e6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/fmt/trait.Debug.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/fmt/trait.Debug.js @@ -6,5 +6,6 @@ "bdk_file_store":[["impl Debug for IterError"],["impl<'a, C: Debug> Debug for Store<'a, C>"],["impl<'a> Debug for FileError<'a>"]], "bdk_tmp_plan":[["impl<Ak: Debug> Debug for Requirements<Ak>"],["impl<Ak: Debug> Debug for RequiredSignatures<Ak>"],["impl Debug for SigningError"],["impl<Ak: Debug> Debug for PlanKey<Ak>"],["impl<AK: Debug> Debug for Plan<AK>"],["impl Debug for SatisfactionMaterial"],["impl<K: Debug> Debug for Assets<K>"]], "example_cli":[["impl<S: Debug + Subcommand> Debug for Commands<S>"],["impl Debug for CoinSelectionAlgo"],["impl Debug for AddressCmd"],["impl Debug for TxOutCmd"],["impl Debug for Keychain"]], -"example_electrum":[["impl Debug for ElectrumCommands"],["impl Debug for ScanOptions"]] +"example_electrum":[["impl Debug for ElectrumCommands"],["impl Debug for ScanOptions"]], +"example_esplora":[["impl Debug for EsploraCommands"],["impl Debug for ScanOptions"]] };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 a8c4390855..837af57013 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> Freeze for EntryIter<'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl Freeze for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> Freeze for Store<'a, C>",1,["bdk_file_store::store::Store"]],["impl<'a> Freeze for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> Freeze for Requirements<Ak>where
    Ak: Freeze,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> Freeze for RequiredSignatures<Ak>where
    Ak: Freeze,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl Freeze for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> Freeze for PlanKey<Ak>where
    Ak: Freeze,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> !Freeze for Plan<AK>",1,["bdk_tmp_plan::Plan"]],["impl Freeze for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> Freeze for PlanState<Ak>where
    Ak: Freeze,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> Freeze for Assets<K>",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> Freeze for Args<S>where
    S: Freeze,
",1,["example_cli::Args"]],["impl<S> Freeze for Commands<S>where
    S: Freeze,
",1,["example_cli::Commands"]],["impl Freeze for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Freeze for AddressCmd",1,["example_cli::AddressCmd"]],["impl Freeze for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Freeze for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl Freeze for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Freeze for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl Freeze for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Freeze for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl Freeze for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl Freeze for ScanOptions",1,["example_esplora::ScanOptions"]]] };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.Send.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Send.js index 025c1e4601..779d68201d 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> Send for EntryIter<'t, T>where
    T: Send,
",1,["bdk_file_store::entry_iter::EntryIter"]],["impl Send for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> Send for Store<'a, C>where
    C: Send,
",1,["bdk_file_store::store::Store"]],["impl<'a> Send for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> Send for Requirements<Ak>where
    Ak: Send,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> Send for RequiredSignatures<Ak>where
    Ak: Send,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl Send for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> Send for PlanKey<Ak>where
    Ak: Send,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> Send for Plan<AK>where
    AK: Send,
",1,["bdk_tmp_plan::Plan"]],["impl Send for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> Send for PlanState<Ak>where
    Ak: Send,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> Send for Assets<K>where
    K: Send,
",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> Send for Args<S>where
    S: Send,
",1,["example_cli::Args"]],["impl<S> Send for Commands<S>where
    S: Send,
",1,["example_cli::Commands"]],["impl Send for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Send for AddressCmd",1,["example_cli::AddressCmd"]],["impl Send for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Send for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl Send for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Send for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl Send for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Send for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl Send for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl Send for ScanOptions",1,["example_esplora::ScanOptions"]]] };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.StructuralPartialEq.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js index ae73c0fe6e..102de0a9ed 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js @@ -3,5 +3,6 @@ "bdk_chain":[["impl<A> StructuralPartialEq for ChainPosition<A>"],["impl StructuralPartialEq for ConfirmationTime"],["impl StructuralPartialEq for BlockId"],["impl StructuralPartialEq for ConfirmationHeightAnchor"],["impl StructuralPartialEq for ConfirmationTimeAnchor"],["impl<A> StructuralPartialEq for FullTxOut<A>"],["impl<A, IA> StructuralPartialEq for ChangeSet<A, IA>"],["impl<K> StructuralPartialEq for ChangeSet<K>"],["impl<K, A> StructuralPartialEq for WalletChangeSet<K, A>"],["impl StructuralPartialEq for Balance"],["impl StructuralPartialEq for InsertBlockError"],["impl StructuralPartialEq for CannotConnectError"],["impl<A> StructuralPartialEq for TxGraph<A>"],["impl<'a, T, A> StructuralPartialEq for TxNode<'a, T, A>"],["impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>"],["impl StructuralPartialEq for CalculateFeeError"],["impl<A> StructuralPartialEq for ChangeSet<A>"]], "bdk_coin_select":[["impl StructuralPartialEq for SelectionConstraint"],["impl StructuralPartialEq for ExcessStrategyKind"]], "example_cli":[["impl StructuralPartialEq for Keychain"]], -"example_electrum":[["impl StructuralPartialEq for ScanOptions"]] +"example_electrum":[["impl StructuralPartialEq for ScanOptions"]], +"example_esplora":[["impl StructuralPartialEq for ScanOptions"]] };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.Sync.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Sync.js index 2aab90fb1e..fbbf6c8be6 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> Sync for EntryIter<'t, T>where
    T: Sync,
",1,["bdk_file_store::entry_iter::EntryIter"]],["impl Sync for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> Sync for Store<'a, C>where
    C: Sync,
",1,["bdk_file_store::store::Store"]],["impl<'a> Sync for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> Sync for Requirements<Ak>where
    Ak: Sync,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> Sync for RequiredSignatures<Ak>where
    Ak: Sync,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl Sync for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> Sync for PlanKey<Ak>where
    Ak: Sync,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> Sync for Plan<AK>where
    AK: Sync,
",1,["bdk_tmp_plan::Plan"]],["impl Sync for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> Sync for PlanState<Ak>where
    Ak: Sync,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> Sync for Assets<K>where
    K: Sync,
",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> Sync for Args<S>where
    S: Sync,
",1,["example_cli::Args"]],["impl<S> Sync for Commands<S>where
    S: Sync,
",1,["example_cli::Commands"]],["impl Sync for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Sync for AddressCmd",1,["example_cli::AddressCmd"]],["impl Sync for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Sync for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl Sync for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Sync for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl Sync for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Sync for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl Sync for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl Sync for ScanOptions",1,["example_esplora::ScanOptions"]]] };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.Unpin.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.Unpin.js index d4949eaf00..e0e4f31f5a 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> Unpin for EntryIter<'t, T>where
    T: Unpin,
",1,["bdk_file_store::entry_iter::EntryIter"]],["impl Unpin for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> Unpin for Store<'a, C>where
    C: Unpin,
",1,["bdk_file_store::store::Store"]],["impl<'a> Unpin for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> Unpin for Requirements<Ak>where
    Ak: Unpin,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> Unpin for RequiredSignatures<Ak>where
    Ak: Unpin,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl Unpin for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> Unpin for PlanKey<Ak>where
    Ak: Unpin,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> Unpin for Plan<AK>where
    AK: Unpin,
",1,["bdk_tmp_plan::Plan"]],["impl Unpin for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> Unpin for PlanState<Ak>where
    Ak: Unpin,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> Unpin for Assets<K>where
    K: Unpin,
",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> Unpin for Args<S>where
    S: Unpin,
",1,["example_cli::Args"]],["impl<S> Unpin for Commands<S>where
    S: Unpin,
",1,["example_cli::Commands"]],["impl Unpin for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl Unpin for AddressCmd",1,["example_cli::AddressCmd"]],["impl Unpin for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl Unpin for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl Unpin for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Unpin for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl Unpin for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl Unpin for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl Unpin for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl Unpin for ScanOptions",1,["example_esplora::ScanOptions"]]] };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/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 8b03c64e30..d13e40bfd9 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> RefUnwindSafe for EntryIter<'t, T>where
    T: RefUnwindSafe,
",1,["bdk_file_store::entry_iter::EntryIter"]],["impl !RefUnwindSafe for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> RefUnwindSafe for Store<'a, C>where
    C: RefUnwindSafe,
",1,["bdk_file_store::store::Store"]],["impl<'a> !RefUnwindSafe for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> RefUnwindSafe for Requirements<Ak>where
    Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> RefUnwindSafe for RequiredSignatures<Ak>where
    Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl RefUnwindSafe for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> RefUnwindSafe for PlanKey<Ak>where
    Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> RefUnwindSafe for Plan<AK>where
    AK: RefUnwindSafe,
",1,["bdk_tmp_plan::Plan"]],["impl RefUnwindSafe for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> RefUnwindSafe for PlanState<Ak>where
    Ak: RefUnwindSafe,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> RefUnwindSafe for Assets<K>where
    K: RefUnwindSafe,
",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> RefUnwindSafe for Args<S>where
    S: RefUnwindSafe,
",1,["example_cli::Args"]],["impl<S> RefUnwindSafe for Commands<S>where
    S: RefUnwindSafe,
",1,["example_cli::Commands"]],["impl RefUnwindSafe for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl RefUnwindSafe for AddressCmd",1,["example_cli::AddressCmd"]],["impl RefUnwindSafe for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl RefUnwindSafe for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl RefUnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl RefUnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl RefUnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl RefUnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl RefUnwindSafe for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl RefUnwindSafe for ScanOptions",1,["example_esplora::ScanOptions"]]] };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/panic/unwind_safe/trait.UnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 963df7adca..c0e900fb57 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 @@ -6,5 +6,6 @@ "bdk_file_store":[["impl<'t, T> !UnwindSafe for EntryIter<'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl !UnwindSafe for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'a, C> UnwindSafe for Store<'a, C>where
    C: UnwindSafe,
",1,["bdk_file_store::store::Store"]],["impl<'a> !UnwindSafe for FileError<'a>",1,["bdk_file_store::FileError"]]], "bdk_tmp_plan":[["impl<Ak> UnwindSafe for Requirements<Ak>where
    Ak: UnwindSafe,
",1,["bdk_tmp_plan::requirements::Requirements"]],["impl<Ak> UnwindSafe for RequiredSignatures<Ak>where
    Ak: UnwindSafe,
",1,["bdk_tmp_plan::requirements::RequiredSignatures"]],["impl UnwindSafe for SigningError",1,["bdk_tmp_plan::requirements::SigningError"]],["impl<Ak> UnwindSafe for PlanKey<Ak>where
    Ak: UnwindSafe,
",1,["bdk_tmp_plan::template::PlanKey"]],["impl<AK> UnwindSafe for Plan<AK>where
    AK: UnwindSafe,
",1,["bdk_tmp_plan::Plan"]],["impl UnwindSafe for SatisfactionMaterial",1,["bdk_tmp_plan::SatisfactionMaterial"]],["impl<Ak> UnwindSafe for PlanState<Ak>where
    Ak: UnwindSafe,
",1,["bdk_tmp_plan::PlanState"]],["impl<K> UnwindSafe for Assets<K>where
    K: UnwindSafe,
",1,["bdk_tmp_plan::Assets"]]], "example_cli":[["impl<S> UnwindSafe for Args<S>where
    S: UnwindSafe,
",1,["example_cli::Args"]],["impl<S> UnwindSafe for Commands<S>where
    S: UnwindSafe,
",1,["example_cli::Commands"]],["impl UnwindSafe for CoinSelectionAlgo",1,["example_cli::CoinSelectionAlgo"]],["impl UnwindSafe for AddressCmd",1,["example_cli::AddressCmd"]],["impl UnwindSafe for TxOutCmd",1,["example_cli::TxOutCmd"]],["impl UnwindSafe for Keychain",1,["example_cli::Keychain"]]], -"example_electrum":[["impl UnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl UnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]] +"example_electrum":[["impl UnwindSafe for ElectrumCommands",1,["example_electrum::ElectrumCommands"]],["impl UnwindSafe for ScanOptions",1,["example_electrum::ScanOptions"]]], +"example_esplora":[["impl UnwindSafe for EsploraCommands",1,["example_esplora::EsploraCommands"]],["impl UnwindSafe for ScanOptions",1,["example_esplora::ScanOptions"]]] };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/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index d362aaec7d..db2a5a0277 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,13,2,13,4,8,2,3,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,12,11,11,12,0,14,11,11,11,11,11,11,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,12,12,0,11,12,11,11,11,0,11,12,11,11,2,11,2,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,10,5,11,11,11,11,11,11,0,11,12,12,12,12,12,12,13,6,4,2,4,6,8,6,8,16,4,3,13,13,2,8,4,13,13,6,13,13,13,13,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,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,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,10,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,11,11,12,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,12,11,11,11,11,11,11,11,11,11,11,5,5,5,5,13,13,4,13,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,3,3,8,6,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,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,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,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,10,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,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,11,11,11,11,12,12,12,11,5,11,10,11,11,5,10,11,11,12,12,11,11,11,11,11,11,10,12,11,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,11,11,8,10,10,10,4,3,3,6,13,13,4,8,13,13,4,13,13,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,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,11,11,12,12,11,11,11,11,11,11,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,12,11,11,11,11,11,11,5,12,12,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,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,10,11,12,11,12,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","TransactionNotFound","TxBuilder","UnknownUtxo","Utxo","Vbytes","Wallet","WeightedUtxo","as_byte","as_ref","as_sat_per_vb","base32_len","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","check_base32","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","default","default_min_relay_fee","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","eq","fee_vb","fee_wu","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","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","is_spent","keychain","keys","outpoint","outpoint","partial_cmp","partial_cmp","provide","psbt","sat_per_kwu","satisfaction_weight","serialize","serialize","signer","sub","template","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","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","utxo","vbytes","version","vzip","vzip","vzip","vzip","vzip","vzip","wallet","write_base32","available","needed","required","required","outpoint","psbt_input","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Policy","ScriptContext","Segwitv0","Sh","Single","TapKeyOrigins","Tr","Wpkh","Wsh","XPub","address","as_enum","as_enum","as_inner","at_derivation_index","borrow","borrow","borrow","borrow","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_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","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_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","calc_checksum_bytes","get_checksum","get_checksum_bytes","Base58","Bip32","Error","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","fmt","fmt","from","from","from","from","from","from","from","from","into","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","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","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_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","provide","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","AddressIndex","AddressInfo","Balance","ChangeSet","ConfirmationHeightCannotBeGreaterThanTip","Descriptor","InsertTxError","IsDust","LastUnused","New","NewError","Peek","Persist","Update","Wallet","add","add_signer","address","apply_update","as_ref","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","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","fmt","from","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","insert_txout","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","latest_checkpoint","list_unspent","local_chain","network","new","new_no_persist","next_derivation_index","policies","provide","public_descriptor","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","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_from","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","tip_height","tx_height","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_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","provide","remove","remove_partial_sigs","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","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::InsertTxError","","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 keychain, used for deriving recipient addresses.","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 keychain, used for deriving change addresses.","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 …","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","","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","","","","","","","","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.","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).","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 …","Return the value as satoshi/kwu","The weight of the witness data and scriptSig expressed in …","","","","","","","","","","","","","","","","","","","","","","","","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.","Alias for a Descriptor that can contain extended keys …","Trait implemented on Descriptors to add a method to …","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 …","Legacy ScriptContext To be used as P2SH scripts For …","Top-level script AST type","Multiple extended public keys.","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","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 …","Each context has slightly different rules on what Pks are …","","","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","Deprecated name for Self::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.","Add type information(Type and Extdata) to Miniscript based …","Create a new Miniscript from a Terminal node and a Type …","","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).","Extracts the AstElem representing the root of the …","Get as many descriptors as different paths in this …","Convert to wallet descriptor","","Whether or not the descriptor has any wildcards","Whether this descriptor contains a key that has multiple …","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 […","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 …","Computes an upper bound on the difference between a …","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(","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 miniscript can exceed the resource …","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","The descriptor contains multipath keys","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}/*)","BIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)","BIP86 public template. Expands to tr(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)","P2TR template. Expands to a descriptor tr(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.","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).","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","Multiple extended private keys.","Multiple extended public keys.","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 …","Each context has slightly different rules on what Pks are …","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 for Self::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","Get as many keys as derivation paths in this key.","Get as many keys as derivation paths in this 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 …","Whether or not this key has multiple derivation paths.","Whether or not this key has multiple derivation paths.","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.","The changeset produced internally by Wallet when mutated.","The error variant that occurs when the caller attempts to …","There was problem with the descriptors passed in","An error that may occur when inserting a transaction into …","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 …","A Bitcoin wallet","","Add an external signer","Address","Applies an update to the wallet and stages the changes …","","","","","","","","","","","","","","Bump the fee of a transaction previously created with this …","Start building a transaction.","Calculates the fee of a given transaction. Returns 0 if tx …","Calculate the FeeRate for a given transaction.","Informs the wallet that you no longer intend to broadcast …","Get all the checkpoints the wallet is currently storing …","","","Coin selection","Commits all currently 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.","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","Get a single transaction from the wallet as a CanonicalTx …","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 …","Inserts a TxOut at OutPoint into the wallet’s …","Calls U::from(self).","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.","Return the list of unspent outputs of this wallet","Get a reference to the inner LocalChain.","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 …","Computes total input value going from script pubkeys in …","","Sign a transaction with all the wallet’s signers, in the …","Generalized signers","Get a reference to the inner KeychainTxOutIndex.","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.","Unconfirmed UTXOs generated by a wallet tx","Get sum of trusted_pending and confirmed coins.","","","","","","","","","","","","","Transaction builder","Get a reference to the inner TxGraph.","","","","","","","Unconfirmed UTXOs received from an external wallet","","","","","","","Deterministically generate a unique name given the …","The internal chain’s tip height.","The introduced transaction’s confirmation height.","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 The fee_absolute method refers to the …","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,17,0,17,0,0,0,0,1,1,3,1,17,1,3,10,11,12,17,1,3,10,11,12,0,1,1,3,10,11,12,1,3,10,11,12,1,10,3,3,10,0,0,1,10,1,3,10,11,12,3,3,17,17,1,3,10,11,12,0,17,17,17,17,17,17,17,17,1,3,10,11,12,3,3,3,3,3,3,1,10,17,1,3,10,11,12,10,10,0,12,10,1,3,17,0,3,11,1,10,0,3,0,1,3,10,11,12,17,17,1,3,10,11,12,17,1,3,10,11,12,12,10,17,1,3,10,11,12,11,182,0,17,1,3,10,11,12,0,1,183,183,184,185,186,186,34,0,0,0,0,0,0,0,0,57,0,0,41,34,0,0,0,34,41,0,34,34,34,41,34,46,47,39,34,34,46,47,39,34,46,47,39,39,0,57,46,47,57,47,57,57,46,47,57,46,47,57,57,46,47,57,46,47,57,46,47,0,34,46,47,39,34,46,47,39,34,46,47,39,39,34,34,34,34,34,39,34,39,34,46,47,39,0,34,39,39,187,34,39,34,34,34,46,47,39,39,34,39,34,34,34,34,34,34,34,46,47,39,39,39,34,39,39,39,34,39,39,39,34,34,39,39,34,34,46,47,39,34,46,47,39,39,34,155,70,34,34,39,39,39,34,39,39,57,46,47,39,34,39,34,57,46,47,34,34,34,34,34,34,34,34,34,34,34,34,34,34,39,57,39,34,39,39,34,46,47,39,57,46,47,0,39,34,39,34,39,39,34,34,39,34,39,57,46,47,0,34,46,47,39,34,39,34,57,57,34,39,34,46,47,39,34,46,47,39,39,34,46,47,39,34,34,46,47,39,39,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,24,85,25,25,0,86,0,0,85,84,0,85,85,25,25,25,85,86,55,25,86,86,0,0,0,55,55,84,85,85,0,0,85,85,85,84,84,85,86,56,87,25,55,84,85,86,56,87,25,55,84,85,86,56,87,55,84,85,86,56,87,55,56,87,87,84,85,86,56,87,25,84,85,86,56,87,25,25,55,84,85,86,86,56,56,87,25,55,56,84,87,85,56,84,85,86,56,87,25,55,85,86,87,56,87,25,56,56,84,85,86,56,87,87,84,85,86,56,87,55,25,84,85,86,56,87,25,55,84,85,86,56,87,25,55,84,85,86,56,87,25,55,84,85,86,56,87,25,55,188,188,188,189,190,191,190,191,190,191,190,191,190,191,192,193,194,195,196,197,197,196,198,199,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,200,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,89,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,91,92,93,95,97,98,99,100,101,102,103,104,23,0,0,0,0,201,201,0,0,113,0,0,0,0,23,23,23,57,0,0,38,23,23,110,41,201,117,0,117,0,0,38,41,110,0,0,0,0,38,0,113,110,41,0,202,41,117,107,115,38,108,23,109,41,110,111,112,113,117,107,115,38,108,23,109,41,110,111,112,113,57,57,57,57,57,57,57,57,57,107,38,108,109,41,110,111,112,113,107,38,108,109,41,110,111,112,113,109,41,111,113,108,108,107,41,41,109,38,109,41,110,111,112,113,115,38,108,23,23,109,109,41,41,110,110,111,112,113,109,117,117,117,107,115,38,108,23,23,23,109,41,41,110,111,112,113,115,115,41,110,109,41,201,203,201,203,117,41,109,41,111,113,117,107,115,38,108,23,109,41,110,111,112,113,90,96,107,107,115,41,110,96,117,107,107,41,110,117,117,41,202,38,41,110,202,38,202,38,41,41,109,111,112,109,0,41,57,109,109,0,57,109,41,111,112,57,115,109,41,111,113,57,109,23,109,109,109,41,57,109,0,107,38,108,109,41,110,111,112,113,110,23,109,41,110,57,57,109,117,107,115,38,108,23,109,41,110,111,112,113,117,107,115,38,108,23,109,41,110,111,112,113,117,107,115,38,108,23,109,41,110,111,112,113,117,107,115,38,108,23,109,41,110,111,112,113,0,204,204,204,0,0,0,0,144,143,0,0,142,142,0,142,143,0,0,123,124,139,124,124,123,124,142,139,143,144,123,124,142,139,143,144,124,124,124,124,124,124,123,123,0,124,123,123,139,124,124,124,123,123,139,0,124,123,123,124,142,139,139,143,143,144,123,124,142,139,143,144,124,124,124,124,124,124,124,124,123,139,124,124,124,123,124,142,139,143,144,205,124,139,124,124,124,124,124,124,124,124,124,143,124,124,124,123,124,0,124,124,124,124,123,123,139,143,123,124,123,123,123,124,142,139,143,144,123,124,142,139,143,144,0,124,123,124,142,139,143,144,123,123,124,142,139,143,144,0,206,206,0,162,0,0,0,0,0,162,0,162,161,158,159,160,162,161,158,159,160,158,159,160,158,159,160,175,158,159,160,0,158,159,160,161,161,162,161,158,159,160,162,161,158,159,160,162,161,158,159,160,161,160,161,161,158,159,160,162,161,158,159,160,162,161,158,159,160,162,161,158,159,160,162,161,158,159,160,207,208,208,207,208,0,0,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,169,164,169,164,169,26,0,26,26,26,166,26,26,26,26,26,26,169,164,166,26,0,0,0,0,0,0,0,0,166,0,0,26,54,141,141,54,141,164,26,166,168,125,54,141,169,164,26,166,168,125,54,141,169,54,164,166,168,125,54,141,169,164,166,168,125,54,141,169,164,125,125,54,141,169,168,209,168,168,168,164,166,125,169,54,164,26,26,166,168,125,54,141,169,164,164,164,26,26,166,168,125,54,141,169,164,209,168,168,168,54,164,26,166,168,125,54,141,169,168,54,164,125,26,54,141,210,168,168,168,126,168,141,54,141,164,166,168,125,54,141,169,26,141,141,164,26,166,168,125,54,141,169,164,26,166,168,125,54,141,169,164,26,166,168,125,54,141,169,164,26,166,168,125,54,141,169,211,178,0,177,177,0,0,177,178,0,0,0,178,134,134,134,134,134,134,134,134,134,135,133,134,178,177,135,133,134,178,177,134,135,133,134,178,177,135,133,134,178,177,178,177,134,134,135,133,178,177,134,134,134,134,134,178,177,134,134,134,135,133,134,178,177,135,133,134,178,177,178,177,134,135,133,134,178,177,134,134,134,134,134,178,177,134,134,134,178,135,133,134,178,177,135,133,134,178,177,135,133,134,178,177,135,133,134,178,177,134,134,135,133,134,178,177],"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,[1,2],[1],[3,4],[[],5],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],[[9,[[8,[6,7]]]]]],[1,1],[3,3],[10,10],[11,11],[12,12],[[]],[[]],[[]],[[]],[[]],[[1,1],13],0,[[],3],[[],3],0,0,0,[[],[[9,[1]]]],[[],[[9,[10]]]],[[1,1],14],[[3,3],14],[[10,10],14],[[11,11],14],[[12,12],14],[[3,5],15],[[3,16],15],[[17,18],19],[[17,18],19],[[1,18],19],[[3,18],19],[[10,18],19],[[11,18],19],[[12,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],[[15,5],3],[[15,16],3],[1],[10],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[12,27],0,[[1,1],[[28,[13]]]],[[3,3],[[28,[13]]]],[29],0,[3,4],0,[1,9],[10,9],0,[[3,3]],0,[[]],[[]],[[]],[[]],[[]],[[],30],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[12,31],0,[[],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,[[34,35],[[9,[[37,[36]],22]]]],[[],38],[[],38],[39,40],[[[34,[41]],42],[[9,[[34,[43]],44]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[39,[[8,[39,7]]]],0,[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[[],[[9,[45]]]],[[],[[9,[45]]]],[[],[[9,[45]]]],[40,[[9,[45]]]],[40,[[9,[45]]]],[40,[[9,[45]]]],[[],[[9,[45]]]],[[],[[9,[45]]]],[[],[[9,[45]]]],0,[34,34],[46,46],[47,47],[39,39],[[]],[[]],[[]],[[]],[[34,34],13],[[46,46],13],[[47,47],13],[[39,39],13],[39,14],[[[34,[41]],42],[[9,[[34,[43]],44]]]],[[[34,[41]],48,42],[[9,[[34,[49]],44]]]],[[[34,[43]],48],[[9,[[34,[49]],44]]]],[34,50],[[],[[9,[34]]]],[[],[[9,[39]]]],[[[34,[41]]],15],[39,51],[[34,34],14],[[46,46],14],[[47,47],14],[[39,39],14],0,[34,[[9,[51,22]]]],0,[[39,52],[[9,[53]]]],[[54,55,48],[[9,[[28,[56]],24]]]],[[[34,[41]],54,55,48],[[9,[[28,[56]],24]]]],[[[39,[41,57]],54,55,48],[[9,[[28,[56]],24]]]],[[[34,[41]],48,58,[59,[42]]],[[9,[28,44]]]],[[34,18],[[9,[60]]]],[[34,18],[[9,[60]]]],[[46,18],[[9,[60]]]],[[47,18],[[9,[60]]]],[[39,18],[[9,[60]]]],[[39,18],[[9,[60]]]],[34,14],[39,14],[61,34],[[]],[62,34],[63,34],[64,34],[65,34],[66,34],[[]],[[]],[[]],[40,[[9,[39,22]]]],[[40,67,68],39],[33,[[9,[34,22]]]],[33,[[9,[39,22]]]],[[33,52],[[9,[39,22]]]],[33,[[9,[39,22]]]],[69,[[9,[34,22]]]],[69,[[9,[39,22]]]],[[39,5],[[28,[39]]]],[[39,5],28],[34,[[9,[22]]]],[34,[[9,[22]]]],[39,14],[39,14],[[[34,[41]]],14],[34],[46],[47],[39],[[]],[[]],[[]],[[]],[39,40],[[[34,[41]]],[[9,[[8,[[34,[41]],7]],22]]]],[[48,35],[[9,[24]]]],[[70,48,35],[[9,[24]]]],[[[34,[41]]],14],[[[34,[41]]],14],[39,14],[39,71],[39,72],[34,[[9,[73,22]]]],[39,[[9,[73,22]]]],[39,[[9,[74]]]],[39,[[28,[5]]]],[39,[[28,[5]]]],[39,[[28,[5]]]],[39,[[9,[5,22]]]],[34,[[9,[5,22]]]],[39,[[9,[5,22]]]],[34,[[9,[5,22]]]],[[],33],[[],33],[[],33],[[[39,[75]]],[[9,[34,22]]]],[[],34],[[],[[9,[34,22]]]],[[[39,[46]]],[[9,[34,22]]]],[[5,[8,[7]]],[[9,[34,22]]]],[63,34],[66,34],[[],[[9,[34,22]]]],[[[39,[47]]],[[9,[34,22]]]],[[5,[8,[7]]],[[9,[34,22]]]],[[[28,[76]]],[[9,[34,22]]]],[[],[[9,[34,22]]]],[[[39,[47]]],[[9,[34,22]]]],[[5,[8,[7]]],[[9,[34,22]]]],0,[39,[[9,[22]]]],[58,[[9,[39,22]]]],[[48,33],[[9,[22]]]],[58,[[9,[39,22]]]],[[58,52],[[9,[39,22]]]],[[34,34],[[28,[13]]]],[[46,46],[[28,[13]]]],[[47,47],[[28,[13]]]],[[39,39],[[28,[13]]]],[[],5],[[],5],[[],5],0,[39,14],[34,[[9,[22]]]],[39,[[9,[53]]]],[[34,77],[[9,[22]]]],[39,[[9,[[8,[[8,[2,7]],7]],22]]]],[39,[[9,[[8,[[8,[2,7]],7]],22]]]],[34,[[9,[51,22]]]],[34,51],[39,5],[34,9],[39,9],[[],78],[[],78],[[],78],0,[[]],[[]],[[]],[[]],[[],30],[[],30],[[[34,[41]],79],30],[39,[[9,[22]]]],[39,[[9,[22]]]],[34,[[9,[80]]]],[39,[[9,[80]]]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],0,[[],32],[[],32],[[],32],[[],32],[34,51],[[]],[[]],[[]],[[]],[39,14],[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,0,[[]],[[]],[[24,18],19],[[24,18],19],[81,24],[25,24],[22,24],[82,24],[83,24],[21,24],[[]],[23,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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84,84],[85,85],[86,86],[56,56],[87,87],[55,55],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[],87],[[84,84],14],[[85,85],14],[[86,86],14],[[56,56],14],[[87,87],14],[[25,25],14],[[84,18],19],[[85,18],19],[[86,18],19],[[56,18],19],[[87,18],19],[[25,18],19],[[25,18],19],[[55,18],19],[[]],[[]],[[]],[14,86],[85,56],[[]],[[]],[[]],[[]],[[56,88],[[9,[87,25]]]],[84],[87],[85,30],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[85,14],[86,14],[87,14],0,[[87,87],[[28,[13]]]],[29],[56,14],0,[84,9],[85,9],[86,9],[56,9],[87,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,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[35,[[9,[89,24]]]],[[[91,[[90,[46]]]],35],[[9,[89,24]]]],[[[92,[[90,[47]]]],35],[[9,[89,24]]]],[[[93,[[90,[47]]]],35],[[9,[89,24]]]],[[[95,[[90,[94]]]],35],[[9,[89,24]]]],[[[97,[[96,[46]]]],35],[[9,[89,24]]]],[[[98,[[96,[46]]]],35],[[9,[89,24]]]],[[[99,[[96,[47]]]],35],[[9,[89,24]]]],[[[100,[[96,[47]]]],35],[[9,[89,24]]]],[[[101,[[96,[47]]]],35],[[9,[89,24]]]],[[[102,[[96,[47]]]],35],[[9,[89,24]]]],[[[103,[[96,[94]]]],35],[[9,[89,24]]]],[[[104,[[96,[94]]]],35],[[9,[89,24]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[89,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]]]],[[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],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],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,0,0,[[],105],[[],38],[[41,42],[[9,[43,44]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[39,[[9,[45]]]],[[],[[9,[45]]]],[40,[[9,[45]]]],[[],[[9,[45]]]],[[[107,[106,57]]],[[107,[106,57]]]],[38,38],[108,108],[109,109],[41,41],[110,110],[111,111],[112,112],[113,113],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[109,109],13],[[41,41],13],[[111,111],13],[[113,113],13],0,[[],108],[[[107,[57]]]],[[41,42],[[9,[43,44]]]],[[],[[9,[41]]]],[109,51],[[38,38],14],[[109,109],14],[[41,41],14],[[110,110],14],[[111,111],14],[[112,112],14],[[113,113],14],[[[115,[[0,[114,57]]]],18],19],[[38,18],19],[[108,18],19],[[23,18],19],[[23,18],19],[[109,18],[[9,[60]]]],[[109,18],[[9,[60]]]],[[41,18],[[9,[60]]]],[[41,18],[[9,[60]]]],[[110,18],[[9,[60]]]],[[110,18],[[9,[60]]]],[[111,18],[[9,[60]]]],[[112,18],[[9,[60]]]],[[113,18],[[9,[60]]]],[109,14],[116,[[117,[57]]]],[118,[[117,[57]]]],[[]],[[]],[[]],[[]],[[]],[[]],[21,23],[22,23],[[]],[43,41],[[]],[[]],[[]],[[]],[[]],[[41,105],[[115,[57]]]],[[110,105],[[115,[57]]]],[33,[[9,[41]]]],[33,[[9,[110]]]],[69,[[9,[109,22]]]],[41,[[28,[119]]]],[[],[[9,[107]]]],[[],[[9,[107]]]],[[],[[9,[107]]]],[[],[[9,[107]]]],[[[117,[57]]],14],[41,14],[109],[41],[111],[113],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],[[9,[115,23]]]],[[[28,[120]],119],[[9,[115,23]]]],[[107,[28,[120]],119],[[9,[115,23]]]],[107,[[9,[115,23]]]],[[[115,[57]]],[[9,[[115,[57]],23]]]],[41,[[9,[[115,[57]],23]]]],[110,[[9,[[115,[57]],23]]]],[[],[[9,[117,23]]]],[[[117,[57]]],[[9,[[117,[57]],23]]]],[107,[[9,[117,23]]]],[[[107,[57]]]],[41,[[8,[41,7]]]],[110,[[8,[110,7]]]],[[[117,[57]],35],[[28,[116]]]],[[[117,[57]],35,48],118],[41,14],[[],14],[38,14],[41,14],[110,14],[[],14],[38,14],[[],14],[38,14],[41,14],[41,14],0,0,0,[109,[[9,[73,22]]]],[[],105],[41,121],[39,[[28,[5]]]],[109,5],[109,5],[[105,105],105],[[],33],[[5,[8,[7]]],[[9,[109,22]]]],[41,5],0,0,[39,[[9,[22]]]],[[[115,[57]],105],[[115,[57]]]],[[109,109],[[28,[13]]]],[[41,41],[[28,[13]]]],[[111,111],[[28,[13]]]],[[113,113],[[28,[13]]]],[[],5],0,[29],[109,[[9,[22]]]],[109,[[9,[[8,[[8,[2,7]],7]],22]]]],[109,5],[41,9],[[],78],[109,40],[[],105],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[110,48],[[9,[41,122]]]],[[],30],[[],30],[[],30],[[],30],[39,[[9,[22]]]],[39,[[9,[22]]]],[109,[[9,[109,80]]]],[[],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,[15]]]],[[],[[28,[3]]]],[5,[[28,[31]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[123,123],123],[[124,1,125,[127,[126]]]],0,[[124,128],[[9,[129]]]],[124,130],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[124,131],[[9,[[134,[132,133]],17]]]],[124,[[134,[132,135]]]],[[124,136],[[9,[15,137]]]],[[124,136],[[9,[3,137]]]],[[124,136]],[124,138],[123,123],[[]],0,[124,[[9,[14]]]],0,[[],123],[139],[[124,1],[[28,[42]]]],[[124,58],28],[[124,1],30],[[],[[9,[123]]]],[[123,123],14],[[139,139],14],0,[[124,140,141],[[9,[14,17]]]],[[123,18],[[9,[60]]]],[[123,18],[[9,[60]]]],[[[124,[114]],18],19],[[142,18],19],[[139,18],19],[[139,18],19],[[[143,[114]],18],19],[[143,18],19],[[144,18],19],[[]],[[]],[[]],[[]],[[]],[[]],[[124,142],139],[124,123],[[124,1],70],[[124,142],139],[[124,10,[28,[145]],14],[[9,[146,17]]]],[[124,1],[[127,[54]]]],[[124,131],[[28,[[148,[136,147]]]]]],[[124,27],[[28,[10]]]],0,0,[[124,149],[[9,[14,150]]]],[[124,136,151],[[9,[14,144]]]],[[124,27,31]],[[]],[[]],[[]],[[]],[[]],[[]],[58,14],[[124,58],14],0,[124,88],[124,[[28,[152]]]],[124,153],[124,154],[124,35],[[155,[28,[155]],35],[[9,[124,143]]]],[[155,[28,[155]],35],[[9,[124,24]]]],[[124,1],42],[[124,1],[[9,[[28,[56]],17]]]],[29],[[124,1],[[28,[70]]]],[124,48],[[124,136]],[123,9],[[124,140,141],[[9,[14,17]]]],0,[124,156],[124,[[88,[1,[0,[153,106]]]]]],[[124,1],[[0,[153,106]]]],[124,157],[[]],[[],30],[[],30],[[],30],[123,15],[124,153],0,[123,15],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],0,[124,130],[[],32],[[],32],[[],32],[[],32],[[],32],[[],32],0,[[]],[[]],[[]],[[]],[[]],[[]],[[28,35,48],[[9,[30,17]]]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[158,158],[159,159],[160,160],[[]],[[]],[[]],[[[8,[11]],[8,[11]],3,15,58],[[9,[161,17]]]],[[158,[8,[11]],[8,[11]],3,15,58],[[9,[161,17]]]],[[159,[8,[11]],[8,[11]],3,15,58],[[9,[161,17]]]],[[160,[8,[11]],[8,[11]],3,15,58],[[9,[161,17]]]],[[15,3,58],162],[[],158],[[],159],[[],160],0,0,[[162,18],19],[[161,18],19],[[158,18],19],[[159,18],19],[[160,18],19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[161,15],[15,160],0,[161,15],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[]],[[]],[163,[[28,[30]]]],[163,30],[[],[[9,[163]]]],[[124,33,14],[[9,[163,33]]]],[[163,18],19],[[]],[33,[[9,[163]]]],[[]],0,[163,9],[163,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,[[54,164,125,[127,[126]]],[[28,[[127,[126]]]]]],0,0,[[54,48],165],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[165,34,48],54],[164,164],[166,166],[[[168,[[0,[106,167,114,106]]]]],[[168,[[0,[106,167,114,106]]]]]],[125,125],[54,54],[141,141],[169,169],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[164,164],13],[[125,125],13],[[],125],[[],54],[[],141],[[],169],[[[168,[[0,[167,114,106]]]]]],[[],[[28,[110]]]],[[[168,[170]]],[[28,[110]]]],[[[168,[[171,[116]]]]],[[28,[110]]]],[[[168,[[172,[116]]]]],[[28,[110]]]],[[164,164],14],[[166,166],14],[[125,125],14],[[169,169],14],[[54,164],[[28,[127]]]],[[164,18],19],[[26,18],19],[[26,18],19],[[166,18],19],[[[168,[[0,[114,167,114,106]]]],18],19],[[125,18],19],[[54,18],19],[[141,18],19],[[169,18],19],[173,164],[[]],[121,164],[[]],[174,26],[[]],[[]],[[]],[[]],[[]],[[]],[164],[48,164],[[[168,[[171,[116]]]],48],164],[[[168,[170]],48],164],[[[168,[[172,[116]]]],48],164],[54,[[8,[164]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[167,114,106]],166],[[168,[[0,[167,114,106]]]]]],[[],54],[[164,164],[[28,[13]]]],[[125,125],[[28,[13]]]],[29],[[54,164,125],[[28,[[127,[126]]]]]],0,[[140,5,141,48],[[9,[26]]]],[[[168,[[171,[116]]]],140,5,141,48],[[9,[26]]]],[[[168,[170]],140,5,141,48],[[9,[26]]]],[[[168,[[172,[116]]]],140,5,141,48],[[9,[26]]]],[[140,141,48],[[9,[26]]]],[[140,141,48],[[9,[26]]]],0,[54,[[8,[127]]]],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,[[[134,[175,135]]],[[134,[175,135]]]],[[[134,[175,176]],27,146,5],[[9,[[134,[175,176]],17]]]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,135]],51,15],[[134,[175,135]]]],[[[134,[175,176]],27],[[134,[175,176]]]],[[[134,[175,176]],27],[[9,[[134,[175,176]],17]]]],[[[134,[175,176]]],[[9,[[134,[175,176]],17]]]],[[[134,[175,176]],14],[[134,[175,176]]]],[[[134,[132,133]],51],[[9,[[134,[132,133]],17]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[134,[175,176]],177],[[134,[175,176]]]],[135,135],[133,133],[[[134,[106]]],[[134,[106]]]],[178,178],[177,177],[[]],[[]],[[]],[[]],[[]],[[178,178],13],[[177,177],13],[[[134,[175,176]],175],[[134,[175,176]]]],[[[134,[175,176]],42],[[134,[175,176]]]],[[],135],[[],133],[[],178],[[],177],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,135]],51],[[134,[175,135]]]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,176]],179],[[134,[175,176]]]],[[178,178],14],[[177,177],14],[[[134,[175,176]],15],[[134,[175,176]]]],[[[134,[175,176]],3],[[134,[175,176]]]],[[[134,[175,176]]],[[9,[140,17]]]],[[135,18],19],[[133,18],19],[[[134,[114,114,114]],18],19],[[178,18],19],[[177,18],19],[[]],[[]],[[]],[[]],[[]],[178],[177],[[[134,[175,176]]],[[134,[175,176]]]],[[]],[[]],[[]],[[]],[[]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,176]],180],[[134,[175,176]]]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,176]]],[[134,[175,176]]]],[[[134,[175,176]],178],[[134,[175,176]]]],[[178,178],[[28,[13]]]],[[177,177],[[28,[13]]]],[[[134,[175,176]],[88,[30,[8,[5]]]],1],[[134,[175,176]]]],[[[134,[175,135]],8],[[134,[175,135]]]],[[[134,[175,176]],145],[[134,[175,176]]]],[[178,136]],[[]],[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],32],[[],32],[[],32],[[],32],[[],32],[[[134,[175,176]],[8,[27]]],[[134,[175,176]]]],[[[134,[175,176]],181],[[134,[175,176]]]],[[]],[[]],[[]],[[]],[[]]],"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"],[4,"Ordering"],[15,"bool"],[15,"u64"],[3,"Weight"],[4,"Error"],[3,"Formatter"],[6,"Result"],[4,"Error"],[4,"Error"],[4,"Error"],[4,"KeyError"],[4,"Error"],[4,"PolicyError"],[4,"SignerError"],[3,"OutPoint"],[4,"Option"],[3,"Demand"],[3,"String"],[3,"TxOut"],[3,"TypeId"],[15,"str"],[4,"Descriptor"],[4,"Network"],[4,"NetworkChecked"],[3,"Address"],[4,"ScriptContextEnum"],[3,"Miniscript"],[4,"Terminal"],[4,"DescriptorPublicKey"],[15,"u32"],[3,"DefiniteDescriptorKey"],[4,"ConversionError"],[4,"ScriptContextError"],[4,"Legacy"],[4,"Segwitv0"],[3,"Secp256k1"],[3,"PublicKey"],[4,"DescriptorType"],[3,"ScriptBuf"],[3,"ExtParams"],[4,"AnalysisError"],[3,"SignersContainer"],[4,"BuildSatisfaction"],[3,"Policy"],[8,"ScriptContext"],[3,"Script"],[3,"Range"],[3,"Error"],[3,"Sh"],[3,"Bare"],[3,"Wpkh"],[3,"Tr"],[3,"Pkh"],[3,"Wsh"],[3,"Type"],[3,"ExtData"],[3,"Tree"],[6,"ExtendedDescriptor"],[3,"Iter"],[3,"PkIter"],[4,"Policy"],[4,"LiftError"],[4,"BareCtx"],[4,"TapTree"],[3,"TxIn"],[4,"SigType"],[3,"HashMap"],[4,"TranslateErr"],[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"],[4,"Tap"],[3,"P2TR"],[8,"DerivableKey"],[3,"Bip44"],[3,"Bip44Public"],[3,"Bip49"],[3,"Bip49Public"],[3,"Bip84"],[3,"Bip84Public"],[3,"Bip86"],[3,"Bip86Public"],[6,"ValidNetworks"],[8,"Clone"],[3,"GeneratedKey"],[3,"PrivateKeyGenerateOptions"],[3,"SortedMultiVec"],[4,"DescriptorSecretKey"],[3,"SinglePub"],[3,"SinglePriv"],[4,"SinglePubKey"],[8,"Debug"],[4,"DescriptorKey"],[3,"ExtendedPrivKey"],[4,"ExtendedKey"],[3,"ExtendedPubKey"],[3,"DerivationPath"],[6,"KeySource"],[3,"Fingerprint"],[3,"DescriptorKeyParseError"],[3,"Balance"],[3,"Wallet"],[3,"SignerOrdering"],[8,"TransactionSigner"],[3,"Arc"],[6,"Update"],[3,"CannotConnectError"],[3,"TxGraph"],[3,"Txid"],[6,"DefaultCoinSelectionAlgorithm"],[3,"BumpFee"],[3,"TxBuilder"],[3,"CreateTx"],[3,"Transaction"],[4,"CalculateFeeError"],[3,"CheckPointIter"],[3,"AddressInfo"],[3,"PartiallySignedTransaction"],[3,"SignOptions"],[4,"AddressIndex"],[4,"NewError"],[4,"InsertTxError"],[3,"PsbtSighashType"],[3,"Input"],[3,"ConfirmationTimeAnchor"],[3,"CanonicalTx"],[3,"BlockId"],[3,"InsertBlockError"],[4,"ConfirmationTime"],[3,"CheckPoint"],[8,"Iterator"],[3,"LocalChain"],[8,"IntoWalletDescriptor"],[3,"KeychainTxOutIndex"],[6,"ChangeSet"],[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,"DescriptorMultiXKey"],[3,"DescriptorXKey"],[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,"ConfirmationHeightCannotBeGreaterThanTip"],[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,17,3,17,8,4,3,4,3,13,13,8,16,8,3,2,16,3,8,3,3,2,13,13,16,11,10,11,11,11,12,12,10,11,2,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,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,10,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,12,12,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,10,11,12,11,11,11,0,10,0,11,2,11,11,11,11,11,12,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,0,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,10,12,12,12,3,16,3,8,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,10,12,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,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,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,12,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,12,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,3,6,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,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,11,11,11,12,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,11,11,11,11,12,11,11,11,11,11,11,4,3,3,13,13,3,3,3,11,11,12,12,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,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,12,12,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Anchor","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeAnchor","Confirmed","Confirmed","DescriptorExt","Error","ForEachTxOut","FullTxOut","IndexedTxGraph","LoadError","Persist","PersistBackend","SpkIterator","SpkTxOutIndex","TxGraph","Unconfirmed","Unconfirmed","WriteError","all_spks","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","apply_changeset","bitcoin","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","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","commit","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","default","default","default","default","deserialize","deserialize","deserialize","deserialize","dust_value","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","from","from","from","get_chain_tip","hash","hash","hash","hash","hash","hash","height","index_of_spk","index_tx","index_txout","indexed_tx_graph","initial_changeset","insert_spk","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","is_relevant","is_tx_relevant","is_used","keychain","load_from_persistence","local_chain","mark_used","miniscript","net_value","new","new","next","nth","outpoint","outpoints","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serialize","serialize","serialize","serialize","spent_by","spk_at_index","stage","staged","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_changes","height","last_seen","time","ChangeSet","ChangeSet","IndexedTxGraph","Indexer","append","apply_changeset","apply_changeset","apply_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","graph","index","index_tx","index_txout","indexer","initial_changeset","initial_changeset","insert_relevant_txs","insert_tx","insert_txout","into","into","is_empty","is_tx_relevant","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Balance","ChangeSet","KeychainTxOutIndex","WalletChangeSet","WalletUpdate","add","add_keychain","append","append","apply_changeset","apply_changeset","as_inner","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","default","deref","deserialize","deserialize","deserialize","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","graph","immature","index_tx","index_tx_graph","index_txout","initial_changeset","inner","into","into","into","into","into","is_empty","is_empty","is_tx_relevant","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","new","next_index","next_unused_spk","outpoints","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_lookahead","set_lookahead_for_all","spks_of_all_keychains","spks_of_keychain","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_into","try_into","try_into","try_into","try_into","txouts_of_keychain","type_id","type_id","type_id","type_id","type_id","unmark_used","untrusted_pending","unused_spks_of_keychain","vzip","vzip","vzip","vzip","vzip","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InsertBlockError","LocalChain","Update","apply_changeset","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_blocks","from_changeset","from_tip","get_chain_tip","hash","height","height","initial_changeset","insert_block","into","into","into","into","into","into","into_iter","into_iter","introduce_older_blocks","is_block_in_chain","is_empty","iter","iter_checkpoints","new","next","original_hash","prev","provide","provide","push","tip","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchors","anchors","append","apply_changeset","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts_of_tx","eq","eq","eq","eq","eq","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into_iter","is_empty","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txs","missing_heights","new","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","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_into","try_list_chain_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","walk_conflicts","walk_descendants"],"q":["bdk_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::ConfirmationTime","","","bdk_chain::indexed_tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::local_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","Represents the observed position of some chain data.","An Anchor implementation that also records the exact …","Block height and timestamp at which a transaction is …","An Anchor implementation that also records the exact …","The chain data is seen as confirmed, and in anchored by A.","The confirmed variant.","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","","The error the backend returns when it fails to load …","Persist wraps a PersistBackend (B) to create a convenient …","A persistence backend for Persist.","An iterator for derived script pubkeys.","An index storing TxOuts that have a script pubkey that …","","The chain data is seen in mempool at this given timestamp.","The unconfirmed variant.","The error the backend returns when it fails to write.","The script pubkeys that are being tracked by the index.","Returns the BlockId that the associated blockchain data is …","","","","The anchor block.","The anchor block.","Append another object of the same type onto self.","","","","","","","","","","","","","","","","","","","","","The position of the transaction in outpoint in the overall …","","","","","","","","","","","","","","","","","Maps a ChainPosition<&A> into a ChainPosition<A> by …","","","","","","","Commit the staged changes to the underlying persistance …","The exact confirmation height of the transaction.","The confirmation height of the chain data being anchored.","Get the upper bound of the chain data’s confirmation …","Get the upper bound of the chain data’s confirmation …","Determines the upper bound of the confirmation height.","","","The confirmation time of the chain data being anchored.","","","","","","","","","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.","Returns the argument unchanged.","Returns the argument unchanged.","Get the best chain’s chain tip.","","","","","","The hash of the block.","The height of the block.","Returns the index associated with the script pubkey.","","","Contains the IndexedTxGraph structure and associated types.","","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).","Calls U::from(self).","Calls U::from(self).","","Determines whether block of BlockId exists as an ancestor …","Returns whether ChainPosition is confirmed or not.","Returns whether ConfirmationTime is the confirmed variant.","Whether the utxo is/was/will be spendable with chain tip.","Returns whether the structure is considered empty.","Whether the txout is considered mature.","Whether this output is on a coinbase transaction.","Whether any of the inputs of this transaction spend a …","","Returns whether the script pubkey at index has been used …","Module for keychain related structures.","Return the aggregate changeset C from persistence.","The LocalChain is a local implementation of ChainOracle.","Marks the script pubkey at index as used even though it …","","Computes the net value that this transaction gives to the …","Create a new Persist from PersistBackend.","Creates a new script pubkey iterator starting at 0 from a …","","","The location of the TxOut.","Get a reference to the set of indexed outpoints.","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 …","","","","","The txid and chain position of the transaction (if any) …","Returns the script that has been inserted at the index.","Stage a changeset to be commited later with commit.","Get the changes that have not been commited yet.","","","","","","","","","","","","","","","","","","","","","","","","","","","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 …","","","","","","","","","","Construct an unconfirmed variant using the given last_seen …","Undoes the effect of mark_used. Returns whether the index …","Iterates over all unused script pubkeys in an index range.","","","","","","","","","","Writes a changeset to the persistence backend.","Confirmation height.","The last-seen timestamp in unix seconds.","Confirmation time in unix seconds.","A structure that represents changes to an IndexedTxGraph.","The resultant “changeset” when new transaction data is …","A struct that combines TxGraph and an Indexer …","Represents a structure that can index transaction data.","","Apply changeset to itself.","Applies the ChangeSet to the IndexedTxGraph.","Apply an update directly.","","","","","","","","","","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Get a reference of the internal transaction graph.","TxGraph changeset.","Transaction index.","Scan and index the given transaction.","Scan and index the given outpoint and txout.","Indexer changeset.","Determines the ChangeSet between self and an empty Indexer.","Determines the ChangeSet between self and an empty …","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 the transaction should be included in …","Construct a new IndexedTxGraph with a given index.","","","","","","","","","","","Balance, differentiated into various categories.","Represents updates to the derivation index of a …","A convenient wrapper around SpkTxOutIndex that relates …","A structure that records the corresponding changes as …","A structure to update KeychainTxOutIndex, TxGraph and …","","Add a keychain to the tracker’s txout_index with a …","Append another ChangeSet into self.","","","Applies the derivation changeset to the KeychainTxOutIndex…","Get the inner map of the keychain to its new derivation …","","","","","","","","","","","","Update for the LocalChain.","Changes to the LocalChain.","","","","","","","","","","","Confirmed and immediately spendable balance","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Update for the TxGraph.","All coinbase outputs not yet matured","","ChangeSet to IndexedTxGraph.","","","Return a reference to the internal SpkTxOutIndex.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns whether the changeset are empty.","","","Return a reference to the internal map of the keychain to …","Contains the last active derivation indices per keychain (K…","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 …","Construct a WalletUpdate with a given local_chain::Update.","Get the next derivation index for keychain. The next index …","Gets the next unused script pubkey in the keychain. I.e., …","Get a reference to the set of indexed outpoints.","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 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.","","","","","","","","","","","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 …","","","","","","Occurs when an update does not have a common checkpoint …","A structure that represents changes to LocalChain.","A LocalChain checkpoint is used to find the agreement …","A structure that iterates over checkpoints backwards.","Represents a failure when trying to insert a checkpoint …","This is a local implementation of ChainOracle.","A struct to update LocalChain.","Apply the given changeset.","Applies the given update to the chain.","Get the BlockId of the checkpoint.","Get a reference to the internal index mapping the height …","","","","","","","","","","","","","","","","","","","","","","","","","","","Extends the checkpoint linked list by a iterator of block …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Constructs a LocalChain from a BTreeMap of height to …","Construct a LocalChain from an initial changeset.","Construct a LocalChain from a given checkpoint tip.","","Get the block hash of the checkpoint.","Get the height of the checkpoint.","The checkpoints’ height.","Derives an initial ChangeSet, meaning that it can be …","Insert a BlockId.","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 the update allows for introducing older blocks.","","Returns whether the LocalChain is empty (has no …","Iterate from this checkpoint in descending height.","Iterate over checkpoints in descending height order.","Construct a new base block at the front of a linked list.","","Original checkpoint’s block hash.","Get the previous checkpoint in the chain","","","Puts another checkpoint onto the linked list representing …","Get the highest checkpoint.","The update chain’s new tip.","","","","","","","","","","","","","","The suggested checkpoint to include to connect the two …","","","","","","","","","","","","","Update checkpoint’s block hash.","","","","","","","Errors returned by TxGraph::calculate_fee.","An outwards-facing view of a transaction that is part of …","A structure that represents changes to a TxGraph.","Missing TxOut for one or more of the inputs of the tx","When the transaction is invalid according to the graph it …","An iterator that traverses transaction descendants.","A graph of transactions and spends.","An outward-facing view of a (transaction) node in the …","Get all transaction anchors known by TxGraph.","Iterate over all tx outputs known by TxGraph.","The blocks that the transaction is “anchored” in.","Added anchors.","","Applies ChangeSet to TxGraph.","Extends this graph with another so that self becomes the …","","Get the total balance of outpoints that are in chain of …","","","","","","","","","","","","","Calculates the fee of a given transaction. Returns 0 if tx …","How the transaction is observed as (confirmed or …","","","","","","","","","","","","","","","","","Given a transaction, return an iterator of txids that …","","","","","","Get a filtered list of outputs from the given outpoints …","Get a filtered list of unspent outputs (UTXOs) from the …","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.","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 …","Determines the ChangeSet between self and an empty TxGraph.","Inserts the given anchor into TxGraph.","Inserts the given seen_at for txid into TxGraph.","Inserts the given transaction into TxGraph.","Inserts the given TxOut at OutPoint.","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 the graph has any transactions or outputs in it.","Returns true if the ChangeSet is empty (no transactions or …","","Added last-seen unix timestamps of transactions.","The last-seen unix timestamp of the transaction as …","List graph transactions that are in chain with chain_tip.","Find missing block heights of chain.","Construct a new TxGraph from a list of transactions.","","The transactions spending from this output.","","","","","","","","Get the total balance of outpoints that are in chain of …","Get a filtered list of outputs from the given outpoints …","Get a filtered list of unspent outputs (UTXOs) from the …","","","","","","","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","","","","","","","List graph transactions that are in chain with chain_tip.","A partial or full representation of the transaction.","The transaction node (as part of the graph).","Returns known outputs of a given txid.","Iterates over the transactions spending from txid.","Txid of the transaction.","Iterates over all outpoints contained within ChangeSet.","Added txouts.","Added transactions.","","","","","","","","","","","","","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,0,0,0,8,9,0,73,0,0,0,74,0,0,0,0,0,8,9,74,3,17,5,6,7,6,7,40,3,0,3,8,9,5,6,7,10,13,11,3,8,9,5,6,7,10,13,11,10,3,8,9,5,6,7,10,11,3,8,9,5,6,7,10,11,8,8,9,5,6,7,10,13,6,7,17,17,8,6,7,7,3,5,6,7,9,5,6,7,75,8,9,5,6,7,10,3,8,9,5,6,7,10,13,76,3,8,9,9,5,5,5,6,7,10,13,11,73,8,9,5,6,7,5,5,3,3,3,0,3,3,3,8,9,5,6,7,10,13,11,11,73,8,9,10,40,10,10,3,3,3,0,74,0,3,0,3,13,11,11,11,10,3,3,8,9,5,6,7,10,3,3,3,9,5,6,7,10,3,13,13,3,8,9,5,6,7,10,11,3,8,9,5,6,7,10,13,11,3,8,9,5,6,7,10,13,11,0,3,10,3,3,3,8,9,5,6,7,10,13,11,9,3,3,3,8,9,5,6,7,10,13,11,74,77,78,77,0,42,0,0,41,42,43,43,43,41,43,41,41,41,43,41,41,41,43,41,43,41,41,41,43,41,43,42,42,41,42,43,43,43,43,43,41,41,42,43,41,41,43,41,43,41,43,41,43,41,0,0,0,0,0,49,50,47,53,50,50,47,47,50,47,54,53,49,50,47,54,53,49,54,53,50,47,54,53,49,50,47,54,53,49,49,50,47,53,49,50,47,53,49,47,53,49,50,47,54,53,49,49,50,47,54,53,53,53,49,54,49,50,53,50,50,50,50,47,54,53,49,47,53,50,50,54,50,50,50,50,50,50,50,50,54,50,50,50,50,50,50,50,50,50,50,47,53,49,50,50,50,50,50,47,54,53,49,49,49,49,49,50,47,54,53,49,50,47,54,53,49,50,50,47,54,53,49,50,49,50,50,47,54,53,49,0,0,0,0,0,0,0,59,59,61,59,64,61,56,59,62,60,64,61,56,59,62,60,61,56,59,62,60,61,56,59,62,60,59,59,62,60,61,61,56,59,62,62,60,60,64,61,56,59,59,62,60,59,59,59,59,61,61,62,59,59,64,61,56,59,62,60,64,61,56,59,59,61,59,61,64,62,61,62,60,61,59,56,61,56,59,62,60,62,60,64,61,56,59,62,60,60,64,61,56,59,62,60,64,61,56,59,62,60,62,64,61,56,59,62,60,0,0,0,66,66,0,0,0,44,44,69,46,46,44,44,44,44,71,44,69,70,66,46,71,44,69,70,66,46,44,70,71,71,44,69,70,46,44,69,70,46,69,70,44,46,69,46,44,44,69,70,66,46,44,44,44,44,69,70,66,46,44,46,71,44,69,70,66,46,44,44,44,44,44,44,44,44,44,44,44,71,44,69,70,66,46,71,44,46,46,46,69,44,44,44,71,44,69,70,46,44,69,70,46,44,44,44,71,44,69,70,66,46,44,44,71,44,69,70,66,46,44,69,70,44,44,69,46,46,46,71,44,69,70,66,46,71,44,69,70,66,46,44,44],"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,[[[3,[[0,[1,2]]]]],4],[[],5],[5,5],[6,5],[7,5],0,0,[[]],[[[3,[[0,[1,2]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[3,[1]]],[[3,[1]]]],[[[8,[1]]],[[8,[1]]]],[9,9],[5,5],[6,6],[7,7],[[[10,[1]]],[[10,[1]]]],[[[11,[1]]],[[11,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[8,[[8,[1]]]],[[[8,[2]],8],12],[[9,9],12],[[5,5],12],[[6,6],12],[[7,7],12],[[[10,[2]],10],12],[13,[[15,[14]]]],0,0,[[],16],[[],16],[[[8,[17]]],[[14,[16]]]],[6,16],[7,16],0,[[],3],[[],5],[[],6],[[],7],[[],[[15,[9]]]],[[],[[15,[5]]]],[[],[[15,[6]]]],[[],[[15,[7]]]],[[],18],[[[8,[19]],8],20],[[9,9],20],[[5,5],20],[[6,6],20],[[7,7],20],[[[10,[19]],10],20],[[[3,[21]],22],23],[[[8,[21]],22],23],[[9,22],23],[[5,22],23],[[6,22],23],[[7,22],23],[[[10,[21]],22],23],[[[13,[21,21]],22],23],[24],[[]],[[]],[[]],[[[8,[7]]],9],[[],5],[[]],[[],5],[[]],[[]],[[]],[[]],[[]],[[],[[15,[[14,[5]]]]]],[[[8,[25]]]],[9],[5],[6],[7],0,0,[[[3,[[0,[1,2]]]],26],14],[[[3,[[0,[1,2]]]],27]],[[[3,[[0,[1,2]]]],28,29]],0,[[[3,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],[0,[1,2]],30],20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[5,5],[[15,[[14,[20]]]]]],[8,20],[9,20],[[[10,[17]],16],20],[[],20],[[[10,[17]],16],20],0,[[[3,[[0,[1,2]]]],27],20],[[[3,[[0,[1,2]]]],27],20],[[[3,[[0,[1,2]]]]],20],0,[[],15],0,[[[3,[[0,[1,2]]]]],20],0,[[[3,[[0,[1,2]]]],27],31],[[],13],[[],11],[11,14],[[11,32],14],0,[[[3,[[0,[1,2]]]]],33],[[[3,[[0,[1,2]]]],[34,[[0,[1,2]]]]],35],[[[8,[36]],8],[[14,[12]]]],[[9,9],[[14,[12]]]],[[5,5],[[14,[12]]]],[[6,6],[[14,[12]]]],[[7,7],[[14,[12]]]],[[[10,[36]],10],[[14,[12]]]],[[[3,[[0,[1,2]]]]],[[33,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],28,29],14],[[[3,[[0,[1,2]]]],27]],[9,15],[5,15],[6,15],[7,15],0,[[[3,[[0,[1,2]]]]],[[14,[26]]]],[13],[13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],0,[[[3,[[0,[1,2]]]],28],14],0,[[[3,[[0,[1,2]]]]],[[0,[35,37]]]],[[[3,[[0,[1,2]]]],38],35],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[18,9],[[[3,[[0,[1,2]]]]],20],[[[3,[[0,[1,2]]]]],35],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],0,0,0,0,0,0,0,[[[41,[17,40]],[41,[17,40]]]],[[]],[[[43,[17,42]],[41,[17]]]],[[[43,[17,42]],[44,[17]]],[[41,[17]]]],[[]],[[]],[[]],[[]],[[[41,[1,1]]],[[41,[1,1]]]],[[]],[[],[[43,[45]]]],[[],[[41,[45]]]],[[],[[15,[41]]]],[[[41,[19,19]],41],20],[[[43,[21,21]],22],23],[[[41,[21,21]],22],23],[[]],[46,[[41,[45]]]],[47,[[41,[47]]]],[[]],[43,44],0,0,[27],[[28,29]],0,[[]],[[[43,[17,42]]],[[41,[17]]]],[[[43,[17,42]],48,[14,[18]]],[[41,[17]]]],[[[43,[17,42]],27,48,[14,[18]]],[[41,[17]]]],[[[43,[17,42]],28,29],[[41,[17]]]],[[]],[[]],[[[41,[17,40]]],20],[27,20],[[],43],[41,15],[[]],[[],15],[[],15],[[],15],[[],15],[[],39],[[],39],[[]],[[]],0,0,0,0,0,[[49,49],49],[[[50,[[0,[1,2,21]]]],[0,[1,2,21]],[52,[51]]]],[[[47,[2]],[47,[2]]]],[[[53,[2,17]],[53,[2,17]]]],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]],[47,[[0,[1,2,21]]]]]],[47,4],[47,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[50,[1]]],[[50,[1]]]],[[[47,[1]]],[[47,[1]]]],[[[54,[1,1]]],[[54,[1,1]]]],[[[53,[1,1]]],[[53,[1,1]]]],[49,49],[[]],[[]],[[]],[[]],[[]],0,[[],50],[[],47],[[],53],[[],49],[50],[[],[[15,[47]]]],[[],[[15,[53]]]],[[],[[15,[49]]]],[[[47,[19]],47],20],[[[53,[19,19]],53],20],[[49,49],20],[[[50,[21]],22],23],[[[47,[21]],22],23],[[[54,[21,21]],22],23],[[[53,[21,21]],22],23],[[49,22],23],[[49,22],23],[[]],[[]],[[]],[[[41,[47]]],53],[55,53],[[]],[[]],0,0,[[[50,[[0,[1,2,21]]]],27]],0,[[[50,[[0,[1,2,21]]]],28,29]],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]],3],[[]],[[]],[[]],[[]],[[]],[[[47,[2]]],20],[[[53,[2,17]]],20],[[[50,[[0,[1,2,21]]]],27],20],[[[50,[[0,[1,2,21]]]]],4],0,[[[50,[[0,[1,2,21]]]]],[[14,[16]]]],[[[50,[[0,[1,2,21]]]]],4],[[[50,[[0,[1,2,21]]]]],[[14,[16]]]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],16]]]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],[4,[[0,[1,2,21]],16]]]],[[[50,[[0,[1,2,21]]]]],4],[[[50,[[0,[1,2,21]]]],16],20],[56,54],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]],33],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],4]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],[0,[57,1]]]]]],[[[50,[[0,[1,2,21]]]]],[[0,[35,1]]]],[[[50,[[0,[1,2,21]]]]],[[47,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]],28,29],[[47,[[0,[1,2,21]]]]]],[47,15],[53,15],[49,15],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],[11,[[52,[51]]]]]]]],[[[50,[[0,[1,2,21]]]]],[[11,[[52,[51]]]]]],[[]],[[]],[[]],[[]],[[]],[[],58],[49,18],0,[49,18],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[50,[[0,[1,2,21]]]]],35],[[],39],[[],39],[[],39],[[],39],[[],39],[[[50,[[0,[1,2,21]]]],16],20],0,[[[50,[[0,[1,2,21]]]]],35],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[59,55]],[[59,56],[[15,[55,60]]]],[61,5],[59,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61,61],[56,56],[59,59],[62,62],[60,60],[[]],[[]],[[]],[[]],[[]],[[],59],[[59,59],20],[[62,62],20],[[60,60],20],[[61,48],[[15,[61,61]]]],[[61,22],23],[[56,22],23],[[59,22],23],[[62,22],23],[[62,22],23],[[60,22],23],[[60,22],23],[[]],[[]],[[]],[[]],[[[4,[16,63]]],59],[[]],[[]],[[[4,[16,63]]],59],[55,59],[61,59],[59,[[15,[[14,[5]]]]]],[61,63],[61,16],0,[59,55],[[59,5],[[15,[55,62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61],0,[[59,5,5],[[15,[[14,[20]]]]]],[59,20],[61,64],[59,64],[5,61],[64,14],0,[61,[[14,[61]]]],[65],[65],[[61,5],[[15,[61,61]]]],[59,[[14,[61]]]],0,[[]],[[]],[[]],[[]],[[]],[[],58],[[],58],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],0,[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[44,33],[44,57],0,0,[[[46,[2]],[46,[2]]]],[[[44,[[0,[1,2]]]],[46,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],[44,[[0,[1,2]]]]],[[46,[[0,[1,2]]]]]],[44,44],[[[44,[17]],5,48,24],49],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[44,27],[[15,[18,66]]]],0,[[],[[14,[67]]]],[[],[[14,[68]]]],[[[44,[1]]],[[44,[1]]]],[[[69,[1,1]]],[[69,[1,1]]]],[[[70,[1,1]]],[[70,[1,1]]]],[[[46,[1]]],[[46,[1]]]],[[]],[[]],[[]],[[]],[[[69,[2,2]],69],12],[[[70,[2,2]],70],12],[[],44],[[],46],[69],[[],[[15,[46]]]],[[44,27],57],[[[44,[19]],44],20],[[[69,[19,19]],69],20],[[[70,[19,19]],70],20],[[66,66],20],[[[46,[19]],46],20],[[[44,[17]],5,48],57],[[[44,[17]],5,48],57],[44,57],[[[44,[21]],22],23],[[[69,[21,21]],22],23],[[[70,[21,21]],22],23],[[66,22],23],[[[46,[21]],22],23],[[44,24]],[[46,24]],[[]],[[]],[[]],[[]],[[]],[[]],[44,57],[[[44,[17]],5,38],[[14,[8]]]],[[[44,[17]],5,28],14],[[44,38],[[14,[27]]]],[[44,38],[[14,[[69,[27]]]]]],[[44,28],[[14,[29]]]],[[[44,[[0,[1,2]]]]],[[46,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],38,[0,[1,2]]],[[46,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],38,18],[[46,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],27],[[46,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],28,29],[[46,[[0,[1,2]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[44,20],[46,20],[[[46,[2]]],20],0,0,[[[44,[17]],5],57],[[[44,[17]],59],57],[48,[[44,[[0,[1,2]]]]]],[71,14],[[44,28],72],[[[69,[36,36]],69],[[14,[12]]]],[[[70,[36,36]],70],[[14,[12]]]],[46,15],[[]],[[]],[[]],[[]],[[[44,[17]],5,48,24],[[15,[49]]]],[[[44,[17]],5,48],57],[[[44,[17]],5,48],57],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[44,[17]],5,38],[[15,[[14,[8]]]]]],[[[44,[17]],5,28],[[15,[14]]]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[44,[17]],5],57],0,0,[[44,38],[[14,[[4,[16,29]]]]]],[[44,38],35],0,[46,57],0,0,[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[]],[[]],[[]],[[]],[[]],[[]],[[44,27],71],[[44,38],71]],"p":[[8,"Clone"],[8,"Ord"],[3,"SpkTxOutIndex"],[3,"BTreeMap"],[3,"BlockId"],[3,"ConfirmationHeightAnchor"],[3,"ConfirmationTimeAnchor"],[4,"ChainPosition"],[4,"ConfirmationTime"],[3,"FullTxOut"],[3,"SpkIterator"],[4,"Ordering"],[3,"Persist"],[4,"Option"],[4,"Result"],[15,"u32"],[8,"Anchor"],[15,"u64"],[8,"PartialEq"],[15,"bool"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FnMut"],[8,"Hash"],[3,"Script"],[3,"Transaction"],[3,"OutPoint"],[3,"TxOut"],[3,"ScriptBuf"],[15,"i64"],[15,"usize"],[3,"BTreeSet"],[8,"RangeBounds"],[8,"DoubleEndedIterator"],[8,"PartialOrd"],[8,"ExactSizeIterator"],[3,"Txid"],[3,"TypeId"],[8,"Append"],[3,"ChangeSet"],[8,"Indexer"],[3,"IndexedTxGraph"],[3,"TxGraph"],[8,"Default"],[3,"ChangeSet"],[3,"ChangeSet"],[8,"IntoIterator"],[3,"Balance"],[3,"KeychainTxOutIndex"],[4,"DescriptorPublicKey"],[4,"Descriptor"],[3,"WalletChangeSet"],[3,"WalletUpdate"],[6,"ChangeSet"],[3,"Update"],[8,"Iterator"],[3,"String"],[3,"LocalChain"],[3,"CannotConnectError"],[3,"CheckPoint"],[3,"InsertBlockError"],[3,"BlockHash"],[3,"CheckPointIter"],[3,"Demand"],[4,"CalculateFeeError"],[3,"Amount"],[3,"SignedAmount"],[3,"TxNode"],[3,"CanonicalTx"],[3,"TxDescendants"],[3,"HashSet"],[8,"ChainOracle"],[8,"PersistBackend"],[8,"DescriptorExt"],[8,"ForEachTxOut"],[13,"Confirmed"],[13,"Unconfirmed"]]},\ +"bdk_chain":{"doc":"This crate is a collection of core structures for Bitcoin …","t":[8,8,17,3,17,8,4,3,4,3,13,13,8,16,8,3,2,16,3,8,3,3,2,13,13,16,11,10,11,11,11,12,12,10,11,2,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,12,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,10,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,12,12,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,10,11,12,11,11,11,0,10,0,11,2,11,11,11,11,11,12,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,0,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,10,12,12,12,3,16,3,8,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,10,12,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,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,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,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,12,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,3,6,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,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,11,11,11,12,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,11,11,11,11,12,11,11,11,11,11,11,4,3,3,13,13,3,3,3,11,11,11,12,12,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,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,12,12,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["Anchor","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeAnchor","Confirmed","Confirmed","DescriptorExt","Error","ForEachTxOut","FullTxOut","IndexedTxGraph","LoadError","Persist","PersistBackend","SpkIterator","SpkTxOutIndex","TxGraph","Unconfirmed","Unconfirmed","WriteError","all_spks","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","apply_changeset","bitcoin","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","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","commit","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","default","default","default","default","deserialize","deserialize","deserialize","deserialize","dust_value","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_txout","from","from","from","from","from","from","from","from","from","from","from","from","get_chain_tip","hash","hash","hash","hash","hash","hash","height","index_of_spk","index_tx","index_txout","indexed_tx_graph","initial_changeset","insert_spk","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","is_relevant","is_tx_relevant","is_used","keychain","load_from_persistence","local_chain","mark_used","miniscript","net_value","new","new","next","nth","outpoint","outpoints","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serialize","serialize","serialize","serialize","spent_by","spk_at_index","stage","staged","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_changes","height","last_seen","time","ChangeSet","ChangeSet","IndexedTxGraph","Indexer","append","apply_changeset","apply_changeset","apply_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","graph","index","index_tx","index_txout","indexer","initial_changeset","initial_changeset","insert_relevant_txs","insert_tx","insert_txout","into","into","is_empty","is_tx_relevant","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Balance","ChangeSet","KeychainTxOutIndex","WalletChangeSet","WalletUpdate","add","add_keychain","append","append","apply_changeset","apply_changeset","as_inner","as_ref","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","chain","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","default","deref","deserialize","deserialize","deserialize","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","graph","immature","index_tx","index_txout","indexed_tx_graph","initial_changeset","inner","into","into","into","into","into","is_empty","is_empty","is_tx_relevant","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","new","next_index","next_unused_spk","outpoints","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_lookahead","set_lookahead_for_all","spks_of_all_keychains","spks_of_keychain","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_into","try_into","try_into","try_into","try_into","txouts_of_keychain","type_id","type_id","type_id","type_id","type_id","unmark_used","untrusted_pending","unused_spks_of_keychain","vzip","vzip","vzip","vzip","vzip","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InsertBlockError","LocalChain","Update","apply_changeset","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","default","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_blocks","from_changeset","from_tip","get_chain_tip","hash","height","height","initial_changeset","insert_block","into","into","into","into","into","into","into_iter","into_iter","introduce_older_blocks","is_block_in_chain","is_empty","iter","iter_checkpoints","new","next","original_hash","prev","provide","provide","push","tip","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","append","apply_changeset","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts_of_tx","eq","eq","eq","eq","eq","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","for_each_txout","for_each_txout","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into_iter","is_empty","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txs","missing_heights","missing_heights_from","new","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","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_into","try_list_chain_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","walk_conflicts","walk_descendants"],"q":["bdk_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::ConfirmationTime","","","bdk_chain::indexed_tx_graph","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::keychain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_chain::local_chain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","Represents the observed position of some chain data.","An Anchor implementation that also records the exact …","Block height and timestamp at which a transaction is …","An Anchor implementation that also records the exact …","The chain data is seen as confirmed, and in anchored by A.","The confirmed variant.","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","","The error the backend returns when it fails to load …","Persist wraps a PersistBackend (B) to create a convenient …","A persistence backend for Persist.","An iterator for derived script pubkeys.","An index storing TxOuts that have a script pubkey that …","","The chain data is seen in mempool at this given timestamp.","The unconfirmed variant.","The error the backend returns when it fails to write.","The script pubkeys that are being tracked by the index.","Returns the BlockId that the associated blockchain data is …","","","","The anchor block.","The anchor block.","Append another object of the same type onto self.","","","","","","","","","","","","","","","","","","","","","The position of the transaction in outpoint in the overall …","","","","","","","","","","","","","","","","","Maps a ChainPosition<&A> into a ChainPosition<A> by …","","","","","","","Commit the staged changes to the underlying persistance …","The exact confirmation height of the transaction.","The confirmation height of the chain data being anchored.","Get the upper bound of the chain data’s confirmation …","Get the upper bound of the chain data’s confirmation …","Determines the upper bound of the confirmation height.","","","The confirmation time of the chain data being anchored.","","","","","","","","","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.","Returns the argument unchanged.","Returns the argument unchanged.","Get the best chain’s chain tip.","","","","","","The hash of the block.","The height of the block.","Returns the index associated with the script pubkey.","","","Contains the IndexedTxGraph structure and associated types.","","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).","Calls U::from(self).","Calls U::from(self).","","Determines whether block of BlockId exists as an ancestor …","Returns whether ChainPosition is confirmed or not.","Returns whether ConfirmationTime is the confirmed variant.","Whether the utxo is/was/will be spendable with chain tip.","Returns whether the structure is considered empty.","Whether the txout is considered mature.","Whether this output is on a coinbase transaction.","Whether any of the inputs of this transaction spend a …","","Returns whether the script pubkey at index has been used …","Module for keychain related structures.","Return the aggregate changeset C from persistence.","The LocalChain is a local implementation of ChainOracle.","Marks the script pubkey at index as used even though it …","","Computes the net value that this transaction gives to the …","Create a new Persist from PersistBackend.","Creates a new script pubkey iterator starting at 0 from a …","","","The location of the TxOut.","Get a reference to the set of indexed outpoints.","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 …","","","","","The txid and chain position of the transaction (if any) …","Returns the script that has been inserted at the index.","Stage a changeset to be commited later with commit.","Get the changes that have not been commited yet.","","","","","","","","","","","","","","","","","","","","","","","","","","","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 …","","","","","","","","","","Construct an unconfirmed variant using the given last_seen …","Undoes the effect of mark_used. Returns whether the index …","Iterates over all unused script pubkeys in an index range.","","","","","","","","","","Writes a changeset to the persistence backend.","Confirmation height.","The last-seen timestamp in unix seconds.","Confirmation time in unix seconds.","A structure that represents changes to an IndexedTxGraph.","The resultant “changeset” when new transaction data is …","A struct that combines TxGraph and an Indexer …","Represents a structure that can index transaction data.","","Apply changeset to itself.","Applies the ChangeSet to the IndexedTxGraph.","Apply an update directly.","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Get a reference of the internal transaction graph.","TxGraph changeset.","Transaction index.","Scan and index the given transaction.","Scan and index the given outpoint and txout.","Indexer changeset.","Determines the ChangeSet between self and an empty Indexer.","Determines the ChangeSet between self and an empty …","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 the transaction should be included in …","Construct a new IndexedTxGraph with a given index.","","","","","","","","","","","Balance, differentiated into various categories.","Represents updates to the derivation index of a …","A convenient wrapper around SpkTxOutIndex that relates …","A structure that records the corresponding changes as …","A structure to update KeychainTxOutIndex, TxGraph and …","","Add a keychain to the tracker’s txout_index with a …","Append another ChangeSet into self.","","Applies the derivation changeset to the KeychainTxOutIndex…","","Get the inner map of the keychain to its new derivation …","","","","","","","","","","","","Update for the LocalChain.","Changes to the LocalChain.","","","","","","","","","","","Confirmed and immediately spendable balance","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Update for the TxGraph.","All coinbase outputs not yet matured","","","ChangeSet to IndexedTxGraph.","","Return a reference to the internal SpkTxOutIndex.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns whether the changeset are empty.","","","Return a reference to the internal map of the keychain to …","Contains the last active derivation indices per keychain (K…","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 …","Construct a WalletUpdate with a given local_chain::Update.","Get the next derivation index for keychain. The next index …","Gets the next unused script pubkey in the keychain. I.e., …","Get a reference to the set of indexed outpoints.","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 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.","","","","","","","","","","","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 …","","","","","","Occurs when an update does not have a common checkpoint …","A structure that represents changes to LocalChain.","A LocalChain checkpoint is used to find the agreement …","A structure that iterates over checkpoints backwards.","Represents a failure when trying to insert a checkpoint …","This is a local implementation of ChainOracle.","A struct to update LocalChain.","Apply the given changeset.","Applies the given update to the chain.","Get the BlockId of the checkpoint.","Get a reference to the internal index mapping the height …","","","","","","","","","","","","","","","","","","","","","","","","","","","Extends the checkpoint linked list by a iterator of block …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Constructs a LocalChain from a BTreeMap of height to …","Construct a LocalChain from an initial changeset.","Construct a LocalChain from a given checkpoint tip.","","Get the block hash of the checkpoint.","Get the height of the checkpoint.","The checkpoints’ height.","Derives an initial ChangeSet, meaning that it can be …","Insert a BlockId.","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 the update allows for introducing older blocks.","","Returns whether the LocalChain is empty (has no …","Iterate from this checkpoint in descending height.","Iterate over checkpoints in descending height order.","Construct a new base block at the front of a linked list.","","Original checkpoint’s block hash.","Get the previous checkpoint in the chain","","","Puts another checkpoint onto the linked list representing …","Get the highest checkpoint.","The update chain’s new tip.","","","","","","","","","","","","","","The suggested checkpoint to include to connect the two …","","","","","","","","","","","","","Update checkpoint’s block hash.","","","","","","","Errors returned by TxGraph::calculate_fee.","An outwards-facing view of a transaction that is part of …","A structure that represents changes to a TxGraph.","Missing TxOut for one or more of the inputs of the tx","When the transaction is invalid according to the graph it …","An iterator that traverses transaction descendants.","A graph of transactions and spends.","An outward-facing view of a (transaction) node in the …","Get all transaction anchors known by TxGraph.","Iterate over all tx outputs known by TxGraph.","Iterates over the heights of that the new transaction …","The blocks that the transaction is “anchored” in.","Added anchors.","","Applies ChangeSet to TxGraph.","Extends this graph with another so that self becomes the …","","Get the total balance of outpoints that are in chain of …","","","","","","","","","","","","","Calculates the fee of a given transaction. Returns 0 if tx …","How the transaction is observed as (confirmed or …","","","","","","","","","","","","","","","","","Given a transaction, return an iterator of txids that …","","","","","","Get a filtered list of outputs from the given outpoints …","Get a filtered list of unspent outputs (UTXOs) from the …","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.","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 …","Determines the ChangeSet between self and an empty TxGraph.","Inserts the given anchor into TxGraph.","Inserts the given seen_at for txid into TxGraph.","Inserts the given transaction into TxGraph.","Inserts the given TxOut at OutPoint.","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 the graph has any transactions or outputs in it.","","Returns true if the ChangeSet is empty (no transactions or …","Added last-seen unix timestamps of transactions.","The last-seen unix timestamp of the transaction as …","List graph transactions that are in chain with chain_tip.","Find missing block heights of chain.","Returns an iterator for the anchor_heights in this …","Construct a new TxGraph from a list of transactions.","","The transactions spending from this output.","","","","","","","","Get the total balance of outpoints that are in chain of …","Get a filtered list of outputs from the given outpoints …","Get a filtered list of unspent outputs (UTXOs) from the …","","","","","","","Get the position of the transaction in chain with tip …","Get the txid of the spending transaction and where the …","","","","","","","List graph transactions that are in chain with chain_tip.","A partial or full representation of the transaction.","The transaction node (as part of the graph).","Returns known outputs of a given txid.","Iterates over the transactions spending from txid.","Txid of the transaction.","Iterates over all outpoints contained within ChangeSet.","Added txouts.","Added transactions.","","","","","","","","","","","","","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,0,0,0,8,9,0,73,0,0,0,74,0,0,0,0,0,8,9,74,3,17,5,6,7,6,7,40,3,0,3,8,9,5,6,7,10,13,11,3,8,9,5,6,7,10,13,11,10,3,8,9,5,6,7,10,11,3,8,9,5,6,7,10,11,8,8,9,5,6,7,10,13,6,7,17,17,8,6,7,7,3,5,6,7,9,5,6,7,75,8,9,5,6,7,10,3,8,9,5,6,7,10,13,76,3,8,9,9,5,5,5,6,7,10,13,11,73,8,9,5,6,7,5,5,3,3,3,0,3,3,3,8,9,5,6,7,10,13,11,11,73,8,9,10,40,10,10,3,3,3,0,74,0,3,0,3,13,11,11,11,10,3,3,8,9,5,6,7,10,3,3,3,9,5,6,7,10,3,13,13,3,8,9,5,6,7,10,11,3,8,9,5,6,7,10,13,11,3,8,9,5,6,7,10,13,11,0,3,10,3,3,3,8,9,5,6,7,10,13,11,9,3,3,3,8,9,5,6,7,10,13,11,74,77,78,77,0,42,0,0,41,42,43,43,43,41,43,41,41,41,43,41,41,41,43,41,43,41,41,41,43,41,43,42,42,41,42,43,43,43,43,43,41,41,42,43,41,41,43,41,43,41,43,41,43,41,0,0,0,0,0,49,50,46,53,50,50,46,46,50,46,54,53,49,50,46,54,53,49,54,53,50,46,54,53,49,50,46,54,53,49,49,50,46,53,49,50,46,53,49,46,53,49,50,46,54,53,49,49,50,46,54,53,53,53,49,54,49,50,50,53,50,50,50,46,54,53,49,46,53,50,50,54,50,50,50,50,50,50,50,50,54,50,50,50,50,50,50,50,50,50,50,46,53,49,50,50,50,50,50,46,54,53,49,49,49,49,49,50,46,54,53,49,50,46,54,53,49,50,50,46,54,53,49,50,49,50,50,46,54,53,49,0,0,0,0,0,0,0,59,59,61,59,64,61,56,59,62,60,64,61,56,59,62,60,61,56,59,62,60,61,56,59,62,60,59,59,62,60,61,61,56,59,62,62,60,60,64,61,56,59,59,62,60,59,59,59,59,61,61,62,59,59,64,61,56,59,62,60,64,61,56,59,59,61,59,61,64,62,61,62,60,61,59,56,61,56,59,62,60,62,60,64,61,56,59,62,60,60,64,61,56,59,62,60,64,61,56,59,62,60,62,64,61,56,59,62,60,0,0,0,66,66,0,0,0,44,44,47,69,47,47,44,44,44,44,71,44,69,70,66,47,71,44,69,70,66,47,44,70,71,71,44,69,70,47,44,69,70,47,69,70,44,47,69,47,44,44,69,70,66,47,44,44,44,44,69,70,66,47,44,47,71,44,69,70,66,47,44,44,44,44,44,44,44,44,44,44,44,71,44,69,70,66,47,71,44,47,47,47,69,44,44,47,44,71,44,69,70,47,44,69,70,47,44,44,44,71,44,69,70,66,47,44,44,71,44,69,70,66,47,44,69,70,44,44,69,47,47,47,71,44,69,70,66,47,71,44,69,70,66,47,44,44],"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,[[[3,[[0,[1,2]]]]],4],[[],5],[5,5],[6,5],[7,5],0,0,[[]],[[[3,[[0,[1,2]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[3,[1]]],[[3,[1]]]],[[[8,[1]]],[[8,[1]]]],[9,9],[5,5],[6,6],[7,7],[[[10,[1]]],[[10,[1]]]],[[[11,[1]]],[[11,[1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[8,[[8,[1]]]],[[[8,[2]],8],12],[[9,9],12],[[5,5],12],[[6,6],12],[[7,7],12],[[[10,[2]],10],12],[13,[[15,[14]]]],0,0,[[],16],[[],16],[[[8,[17]]],[[14,[16]]]],[6,16],[7,16],0,[[],3],[[],5],[[],6],[[],7],[[],[[15,[9]]]],[[],[[15,[5]]]],[[],[[15,[6]]]],[[],[[15,[7]]]],[[],18],[[[8,[19]],8],20],[[9,9],20],[[5,5],20],[[6,6],20],[[7,7],20],[[[10,[19]],10],20],[[[3,[21]],22],23],[[[8,[21]],22],23],[[9,22],23],[[5,22],23],[[6,22],23],[[7,22],23],[[[10,[21]],22],23],[[[13,[21,21]],22],23],[24],[[]],[[]],[[]],[[[8,[7]]],9],[[]],[[],5],[[],5],[[]],[[]],[[]],[[]],[[]],[[],[[15,[[14,[5]]]]]],[[[8,[25]]]],[9],[5],[6],[7],0,0,[[[3,[[0,[1,2]]]],26],14],[[[3,[[0,[1,2]]]],27]],[[[3,[[0,[1,2]]]],28,29]],0,[[[3,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],[0,[1,2]],30],20],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[5,5],[[15,[[14,[20]]]]]],[8,20],[9,20],[[[10,[17]],16],20],[[],20],[[[10,[17]],16],20],0,[[[3,[[0,[1,2]]]],27],20],[[[3,[[0,[1,2]]]],27],20],[[[3,[[0,[1,2]]]]],20],0,[[],15],0,[[[3,[[0,[1,2]]]]],20],0,[[[3,[[0,[1,2]]]],27],31],[[],13],[[],11],[11,14],[[11,32],14],0,[[[3,[[0,[1,2]]]]],33],[[[3,[[0,[1,2]]]],[34,[[0,[1,2]]]]],35],[[[8,[36]],8],[[14,[12]]]],[[9,9],[[14,[12]]]],[[5,5],[[14,[12]]]],[[6,6],[[14,[12]]]],[[7,7],[[14,[12]]]],[[[10,[36]],10],[[14,[12]]]],[[[3,[[0,[1,2]]]]],[[33,[[0,[1,2]]]]]],[[[3,[[0,[1,2]]]],28,29],14],[[[3,[[0,[1,2]]]],27]],[9,15],[5,15],[6,15],[7,15],0,[[[3,[[0,[1,2]]]]],[[14,[26]]]],[13],[13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],0,[[[3,[[0,[1,2]]]],28],14],0,[[[3,[[0,[1,2]]]]],[[0,[35,37]]]],[[[3,[[0,[1,2]]]],38],35],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[18,9],[[[3,[[0,[1,2]]]]],20],[[[3,[[0,[1,2]]]]],35],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],15],0,0,0,0,0,0,0,[[[41,[17,40]],[41,[17,40]]]],[[]],[[[43,[17,42]],[41,[17]]]],[[[43,[17,42]],[44,[17]]],[[41,[17]]]],[[]],[[]],[[]],[[]],[[[41,[1,1]]],[[41,[1,1]]]],[[]],[[],[[43,[45]]]],[[],[[41,[45]]]],[[],[[15,[41]]]],[[[41,[19,19]],41],20],[[[43,[21,21]],22],23],[[[41,[21,21]],22],23],[[]],[46,[[41,[46]]]],[[]],[47,[[41,[45]]]],[43,44],0,0,[27],[[28,29]],0,[[]],[[[43,[17,42]]],[[41,[17]]]],[[[43,[17,42]],48,[14,[18]]],[[41,[17]]]],[[[43,[17,42]],27,48,[14,[18]]],[[41,[17]]]],[[[43,[17,42]],28,29],[[41,[17]]]],[[]],[[]],[[[41,[17,40]]],20],[27,20],[[],43],[41,15],[[]],[[],15],[[],15],[[],15],[[],15],[[],39],[[],39],[[]],[[]],0,0,0,0,0,[[49,49],49],[[[50,[[0,[1,2,21]]]],[0,[1,2,21]],[52,[51]]]],[[[46,[2]],[46,[2]]]],[[[53,[2,17]],[53,[2,17]]]],[[[50,[[0,[1,2,21]]]],[46,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]]],[46,4],[46,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[50,[1]]],[[50,[1]]]],[[[46,[1]]],[[46,[1]]]],[[[54,[1,1]]],[[54,[1,1]]]],[[[53,[1,1]]],[[53,[1,1]]]],[49,49],[[]],[[]],[[]],[[]],[[]],0,[[],50],[[],46],[[],53],[[],49],[50],[[],[[15,[46]]]],[[],[[15,[53]]]],[[],[[15,[49]]]],[[[46,[19]],46],20],[[[53,[19,19]],53],20],[[49,49],20],[[[50,[21]],22],23],[[[46,[21]],22],23],[[[54,[21,21]],22],23],[[[53,[21,21]],22],23],[[49,22],23],[[49,22],23],[[]],[[]],[[]],[[[41,[46]]],53],[55,53],[[]],[[]],0,0,[[[50,[[0,[1,2,21]]]],27]],[[[50,[[0,[1,2,21]]]],28,29]],0,[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]],3],[[]],[[]],[[]],[[]],[[]],[[[46,[2]]],20],[[[53,[2,17]]],20],[[[50,[[0,[1,2,21]]]],27],20],[[[50,[[0,[1,2,21]]]]],4],0,[[[50,[[0,[1,2,21]]]]],[[14,[16]]]],[[[50,[[0,[1,2,21]]]]],4],[[[50,[[0,[1,2,21]]]]],[[14,[16]]]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],16]]]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],[4,[[0,[1,2,21]],16]]]],[[[50,[[0,[1,2,21]]]]],4],[[[50,[[0,[1,2,21]]]],16],20],[56,54],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]]],33],[[[50,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],4]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],[0,[57,1]]]]]],[[[50,[[0,[1,2,21]]]]],[[0,[35,1]]]],[[[50,[[0,[1,2,21]]]]],[[46,[[0,[1,2,21]]]]]],[[[50,[[0,[1,2,21]]]],28,29],[[46,[[0,[1,2,21]]]]]],[46,15],[53,15],[49,15],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]],16]],[[[50,[[0,[1,2,21]]]]],[[4,[[0,[1,2,21]],[11,[[52,[51]]]]]]]],[[[50,[[0,[1,2,21]]]]],[[11,[[52,[51]]]]]],[[]],[[]],[[]],[[]],[[]],[[],58],[49,18],0,[49,18],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[50,[[0,[1,2,21]]]]],35],[[],39],[[],39],[[],39],[[],39],[[],39],[[[50,[[0,[1,2,21]]]],16],20],0,[[[50,[[0,[1,2,21]]]]],35],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[59,55]],[[59,56],[[15,[55,60]]]],[61,5],[59,4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61,61],[56,56],[59,59],[62,62],[60,60],[[]],[[]],[[]],[[]],[[]],[[],59],[[59,59],20],[[62,62],20],[[60,60],20],[[61,48],[[15,[61,61]]]],[[61,22],23],[[56,22],23],[[59,22],23],[[62,22],23],[[62,22],23],[[60,22],23],[[60,22],23],[[]],[[]],[[]],[[]],[[[4,[16,63]]],59],[[]],[[]],[[[4,[16,63]]],59],[55,59],[61,59],[59,[[15,[[14,[5]]]]]],[61,63],[61,16],0,[59,55],[[59,5],[[15,[55,62]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61],0,[[59,5,5],[[15,[[14,[20]]]]]],[59,20],[61,64],[59,64],[5,61],[64,14],0,[61,[[14,[61]]]],[65],[65],[[61,5],[[15,[61,61]]]],[59,[[14,[61]]]],0,[[]],[[]],[[]],[[]],[[]],[[],58],[[],58],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],0,[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[44,33],[44,57],[47,57],0,0,[[[47,[2]],[47,[2]]]],[[[44,[[0,[1,2]]]],[47,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],[44,[[0,[1,2]]]]],[[47,[[0,[1,2]]]]]],[44,44],[[[44,[17]],5,48,24],49],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[44,27],[[15,[18,66]]]],0,[[],[[14,[67]]]],[[],[[14,[68]]]],[[[44,[1]]],[[44,[1]]]],[[[69,[1,1]]],[[69,[1,1]]]],[[[70,[1,1]]],[[70,[1,1]]]],[[[47,[1]]],[[47,[1]]]],[[]],[[]],[[]],[[]],[[[69,[2,2]],69],12],[[[70,[2,2]],70],12],[[],44],[[],47],[69],[[],[[15,[47]]]],[[44,27],57],[[[44,[19]],44],20],[[[69,[19,19]],69],20],[[[70,[19,19]],70],20],[[66,66],20],[[[47,[19]],47],20],[[[44,[17]],5,48],57],[[[44,[17]],5,48],57],[44,57],[[[44,[21]],22],23],[[[69,[21,21]],22],23],[[[70,[21,21]],22],23],[[66,22],23],[[[47,[21]],22],23],[[44,24]],[[47,24]],[[]],[[]],[[]],[[]],[[]],[[]],[44,57],[[[44,[17]],5,38],[[14,[8]]]],[[[44,[17]],5,28],14],[[44,38],[[14,[27]]]],[[44,38],[[14,[[69,[27]]]]]],[[44,28],[[14,[29]]]],[[[44,[[0,[1,2]]]]],[[47,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],38,[0,[1,2]]],[[47,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],38,18],[[47,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],27],[[47,[[0,[1,2]]]]]],[[[44,[[0,[1,2]]]],28,29],[[47,[[0,[1,2]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[44,20],[[[47,[2]]],20],[47,20],0,0,[[[44,[17]],5],57],[[[44,[17]],59],57],[[47,59],57],[48,[[44,[[0,[1,2]]]]]],[71,14],[[44,28],72],[[[69,[36,36]],69],[[14,[12]]]],[[[70,[36,36]],70],[[14,[12]]]],[47,15],[[]],[[]],[[]],[[]],[[[44,[17]],5,48,24],[[15,[49]]]],[[[44,[17]],5,48],57],[[[44,[17]],5,48],57],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[44,[17]],5,38],[[15,[[14,[8]]]]]],[[[44,[17]],5,28],[[15,[14]]]],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[[44,[17]],5],57],0,0,[[44,38],[[14,[[4,[16,29]]]]]],[[44,38],35],0,[47,57],0,0,[[],39],[[],39],[[],39],[[],39],[[],39],[[],39],[[]],[[]],[[]],[[]],[[]],[[]],[[44,27],71],[[44,38],71]],"p":[[8,"Clone"],[8,"Ord"],[3,"SpkTxOutIndex"],[3,"BTreeMap"],[3,"BlockId"],[3,"ConfirmationHeightAnchor"],[3,"ConfirmationTimeAnchor"],[4,"ChainPosition"],[4,"ConfirmationTime"],[3,"FullTxOut"],[3,"SpkIterator"],[4,"Ordering"],[3,"Persist"],[4,"Option"],[4,"Result"],[15,"u32"],[8,"Anchor"],[15,"u64"],[8,"PartialEq"],[15,"bool"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FnMut"],[8,"Hash"],[3,"Script"],[3,"Transaction"],[3,"OutPoint"],[3,"TxOut"],[3,"ScriptBuf"],[15,"i64"],[15,"usize"],[3,"BTreeSet"],[8,"RangeBounds"],[8,"DoubleEndedIterator"],[8,"PartialOrd"],[8,"ExactSizeIterator"],[3,"Txid"],[3,"TypeId"],[8,"Append"],[3,"ChangeSet"],[8,"Indexer"],[3,"IndexedTxGraph"],[3,"TxGraph"],[8,"Default"],[3,"ChangeSet"],[3,"ChangeSet"],[8,"IntoIterator"],[3,"Balance"],[3,"KeychainTxOutIndex"],[4,"DescriptorPublicKey"],[4,"Descriptor"],[3,"WalletChangeSet"],[3,"WalletUpdate"],[6,"ChangeSet"],[3,"Update"],[8,"Iterator"],[3,"String"],[3,"LocalChain"],[3,"CannotConnectError"],[3,"CheckPoint"],[3,"InsertBlockError"],[3,"BlockHash"],[3,"CheckPointIter"],[3,"Demand"],[4,"CalculateFeeError"],[3,"SignedAmount"],[3,"Amount"],[3,"TxNode"],[3,"CanonicalTx"],[3,"TxDescendants"],[3,"HashSet"],[8,"ChainOracle"],[8,"PersistBackend"],[8,"DescriptorExt"],[8,"ForEachTxOut"],[13,"Confirmed"],[13,"Unconfirmed"]]},\ "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,2,11,11,11,11,2,11,11,11,11,12,11,12,11,12,10,11,11,11,11,11,11,11],"n":["ElectrumExt","ElectrumUpdate","bdk_chain","borrow","borrow_mut","clone","clone_into","electrum_client","finalize","finalize_as_confirmation_time","fmt","from","graph_update","into","keychain_update","missing_full_txs","new_tip","scan","scan_without_keychain","scan_without_keychain","to_owned","try_from","try_into","type_id","vzip"],"q":["bdk_electrum","","","","","","","","","","","","","","","","","","","","","","","",""],"d":["Trait to extend Client functionality.","Represents an update fetched from an Electrum server, but …","","","","","","","Finalizes update with missing txids to fetch from client.","Finalizes the ElectrumUpdate with new_txs and anchors of …","","Returns the argument unchanged.","Map of Txids to associated Anchors.","Calls U::from(self).","Last-used index update for KeychainTxOutIndex.","Determine the full transactions that are missing from graph…","The latest chain tip, as seen by the Electrum server.","Scan the blockchain (via electrum) for the data specified …","Convenience method to call scan without requiring a …","Convenience method to call scan without requiring a …","","","","",""],"i":[0,0,0,2,2,2,2,0,2,2,2,2,2,2,2,2,2,24,24,24,2,2,2,2,2],"f":[0,0,0,[[]],[[]],[[[2,[1,1]]],[[2,[1,1]]]],[[]],0,[[[2,[3]],4,[6,[5]],[8,[7]]],[[11,[[9,[3]],10]]]],[[[2,[12]],4,[6,[5]],[8,[7]]],[[11,[[9,[13]],10]]]],[[[2,[14,14]],15],16],[[]],0,[[]],0,[[[2,[3]],17],[[8,[7]]]],0,[[[6,[18]],[21,[[0,[19,1]],20]],20,20,22,22],[[11,[[2,[[0,[19,1]]]],10]]]],[[[6,[18]],20,20,20,22],[[11,[2,10]]]],[[[6,[18]],20,20,20,22],[[11,[2,10]]]],[[]],[[],11],[[],11],[[],23],[[]]],"p":[[8,"Clone"],[3,"ElectrumUpdate"],[8,"Anchor"],[3,"Client"],[15,"u64"],[4,"Option"],[3,"Txid"],[3,"Vec"],[3,"WalletUpdate"],[4,"Error"],[4,"Result"],[3,"ConfirmationHeightAnchor"],[3,"ConfirmationTimeAnchor"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[3,"TxGraph"],[3,"CheckPoint"],[8,"Ord"],[8,"IntoIterator"],[3,"BTreeMap"],[15,"usize"],[3,"TypeId"],[8,"ElectrumExt"]]},\ "bdk_esplora":{"doc":"BDK Esplora","t":[8,8,2,10,10,10,10,11,11,11,11],"n":["EsploraAsyncExt","EsploraExt","esplora_client","update_local_chain","update_local_chain","update_tx_graph","update_tx_graph","update_tx_graph_without_keychain","update_tx_graph_without_keychain","update_tx_graph_without_keychain","update_tx_graph_without_keychain"],"q":["bdk_esplora","","","","","","","","","",""],"d":["Trait to extend the functionality of …","Trait to extend the functionality of …","","Prepare an LocalChain update with blocks fetched from …","Prepare an LocalChain update with blocks fetched from …","Scan Esplora for the data specified and return a TxGraph …","Scan Esplora for the data specified and return a TxGraph …","Convenience method to call update_tx_graph without …","Convenience method to call update_tx_graph without …","Convenience method to call update_tx_graph without …","Convenience method to call update_tx_graph without …"],"i":[0,0,0,17,18,17,18,17,17,18,18],"f":[0,0,0,[[[2,[1]],3],[[6,[4,5]]]],[[[2,[1]],[0,[3,7]]],[[10,[[9,[8]]]]]],[[[13,[[0,[11,12]],3]],3,3,14,14],[[6,[5]]]],[[[13,[[0,[3,7]]]],[0,[3,7]],[0,[3,7]],14,14],[[10,[[9,[8]]]]]],[[3,3,3,14],[[6,[[16,[15]],5]]]],[[3,3,3,14],[[6,[[16,[15]],5]]]],[[[0,[3,7]],[0,[3,7]],[0,[3,7]],14],[[10,[[9,[8]]]]]],[[[0,[3,7]],[0,[3,7]],[0,[3,7]],14],[[10,[[9,[8]]]]]]],"p":[[3,"CheckPoint"],[4,"Option"],[8,"IntoIterator"],[3,"Update"],[4,"Error"],[4,"Result"],[8,"Send"],[8,"Future"],[3,"Box"],[3,"Pin"],[8,"Ord"],[8,"Clone"],[3,"BTreeMap"],[15,"usize"],[3,"ConfirmationTimeAnchor"],[3,"TxGraph"],[8,"EsploraExt"],[8,"EsploraAsyncExt"]]},\ @@ -8,6 +8,7 @@ var searchIndex = JSON.parse('{\ "bdk_tmp_plan":{"doc":"A spending plan or plan for short is a representation of a …","t":[3,8,13,13,13,13,3,3,4,4,3,3,13,13,4,13,13,12,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,12,12,12,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,11,11,11,11,11,11,11,11,12,12,11,5,11,11,11,11,11,12,12,12,12,12,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,12,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],"n":["Assets","CanDerive","Complete","DerivationError","Incomplete","Legacy","Plan","PlanKey","PlanState","RequiredSignatures","Requirements","SatisfactionMaterial","Segwitv0","SigHashError","SigningError","TapKey","TapScript","asset_key","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_derive","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","derivation_hint","descriptor_key","ecdsa_sigs","expected_weight","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash160","hash160_images","hash160_preimages","hash256","hash256_images","hash256_preimages","into","into","into","into","into","into","into","into","keys","max_locktime","min_version","plan_satisfaction","provide","required_locktime","required_sequence","requirements","requires_hash_preimages","ripemd160","ripemd160_images","ripemd160_preimages","schnorr_sigs","sha256","sha256_images","sha256_preimages","sign_with_keymap","signatures","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_complete","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txo_age","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness_version","final_script_sig","final_script_witness","keys","keys","leaf_hash","merkle_root","plan_key","plan_keys"],"q":["bdk_tmp_plan","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk_tmp_plan::PlanState","","bdk_tmp_plan::RequiredSignatures","","","","",""],"d":["","","The plan is complete","","","Legacy ECDSA signatures are required","A plan represents a particular spending path for a …","A plan key contains the asset key originally provided …","The returned value from Plan::try_complete.","The signatures required to complete the plan","Signatures and hash pre-images that must be provided to …","Signatures and hash pre-images that can be used to …","Segwitv0 ECDSA signatures are required","","","A Taproot key spend signature is required","Taproot script path signatures are required","The key the planner will sign with","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A hint from how to get from the asset key to the concrete …","The key that was in the descriptor that we are satisfying …","ECDSA signatures under their keys","The expected satisfaction weight for the plan if it is …","","","","","","","","","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.","","required hash160 pre-images","hash160 pre-images under their images","","required hash256 pre-images","hash256 pre-images under their images","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).","","","The minmum required transaction version required on the …","","","The minimum required locktime height or time on the …","The minimum required sequence (height or time) on the …","","Whether any hash pre-images are required in the plan","","required ripemd160 pre-images","ripemd160 pre-images under their images","Schnorr signautres under their keys","","required sha256 pre-images","SHA256 pre-images under their images","","required signatures","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Witness version for the plan","The script sig that should be set on the input","The witness that should be set on the input","","","The leaf hash of the script being used","The merkle root of the taproot output","the internal key","The keys in the script that require signatures"],"i":[0,0,33,7,33,6,0,0,0,0,0,0,6,7,0,6,6,8,33,5,6,7,8,9,10,11,33,5,6,7,8,9,10,11,36,5,6,7,8,9,10,11,5,6,7,8,9,10,11,5,6,10,11,8,8,10,9,5,6,7,7,8,9,10,11,33,5,6,7,7,7,8,9,10,11,11,5,10,11,5,10,33,5,6,7,8,9,10,11,11,11,9,0,7,9,9,9,5,11,5,10,10,11,5,10,6,5,5,6,7,8,9,10,11,7,9,33,5,6,7,8,9,10,11,33,5,6,7,8,9,10,11,11,33,5,6,7,8,9,10,11,33,5,6,7,8,9,10,11,9,37,37,38,39,40,41,41,40],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,[[3,[2]]]],[[[5,[4]]],[[5,[4]]]],[[[6,[4]]],[[6,[4]]]],[7,7],[[[8,[4]]],[[8,[4]]]],[[[9,[4]]],[[9,[4]]]],[10,10],[[[11,[4]]],[[11,[4]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],6],[[],10],[[],11],0,0,0,[9,12],[[[5,[13]],14],15],[[[6,[13]],14],15],[[7,14],15],[[7,14],15],[[[8,[13]],14],15],[[[9,[13]],14],15],[[10,14],15],[[[11,[13]],14],15],[[]],[[]],[[]],[16,7],[[]],[17,7],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[9,[[3,[18]]]],[[19,11],[[3,[9]]]],[20],[9,[[3,[21]]]],[9,[[3,[22]]]],[9,5],[5,23],0,0,0,0,0,0,0,[[[6,[24]],12,25,26,[3,[27]],[3,[28]],29,10,30],[[31,[23,7]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],32],[[9,10],33],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],0,[[],34],[[],34],[[],34],[[],34],[[],34],[[],34],[[],34],[[],34],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[9,[[3,[35]]]],0,0,0,0,0,0,0,0],"p":[[3,"DefiniteDescriptorKey"],[3,"DerivationPath"],[4,"Option"],[8,"Clone"],[3,"Requirements"],[4,"RequiredSignatures"],[4,"SigningError"],[3,"PlanKey"],[3,"Plan"],[3,"SatisfactionMaterial"],[3,"Assets"],[15,"usize"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[4,"Error"],[4,"Error"],[15,"u32"],[4,"Descriptor"],[3,"Demand"],[4,"LockTime"],[3,"Sequence"],[15,"bool"],[4,"DescriptorPublicKey"],[6,"KeyMap"],[4,"Prevouts"],[4,"TapSighashType"],[4,"EcdsaSighashType"],[3,"SighashCache"],[3,"Secp256k1"],[4,"Result"],[3,"String"],[4,"PlanState"],[3,"TypeId"],[4,"WitnessVersion"],[8,"CanDerive"],[13,"Complete"],[13,"Legacy"],[13,"Segwitv0"],[13,"TapScript"],[13,"TapKey"]]},\ "example_cli":{"doc":"","t":[13,4,3,13,13,13,4,4,6,13,13,13,4,6,6,13,13,13,13,13,13,13,13,13,13,4,2,11,11,11,11,11,11,11,11,2,11,11,11,11,11,11,11,11,11,11,11,11,12,2,11,11,11,11,11,11,11,11,11,11,11,12,12,5,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,5,11,11,11,5,11,11,11,11,11,11,11,11,12,11,5,5,5,5,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,12,12,12,12,12,12,12,12,12,12],"n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","Database","External","Index","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db_path","default","descriptor","deserialize","eq","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","init","into","into","into","into","into","into","into_app","into_app_for_update","network","partial_cmp","planned_utxos","run_address_cmd","run_balance_cmd","run_send_cmd","run_txo_cmd","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":["example_cli","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example_cli::AddressCmd","example_cli::Commands","","","","","example_cli::TxOutCmd","","",""],"d":["Address generation and inspection.","","","Get the wallet balance.","","","","","","","","","","","","","List all addresses","","Get a new address regardless of the existing unused …","","Get the next unused address.","","Send coins to an address.","","TxOut related commands.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return only confirmed outputs.","Return only spent outputs.","Return only unconfirmed outputs.","Return only unspent outputs."],"i":[4,0,0,4,5,4,0,0,0,8,6,8,0,0,0,5,6,7,6,5,6,5,4,5,4,0,0,21,21,4,6,7,4,6,7,0,21,4,5,6,7,8,21,4,5,6,7,8,21,0,4,5,6,7,8,4,5,6,7,8,8,21,21,0,21,5,21,8,8,8,4,5,5,6,7,8,8,21,4,5,6,7,8,21,4,6,7,21,4,6,7,5,0,4,6,7,0,21,4,5,6,7,8,21,21,21,8,0,0,0,0,0,8,4,5,6,7,8,5,8,21,4,5,6,7,8,21,4,5,6,7,8,21,4,5,6,7,8,21,4,6,7,21,4,6,7,21,4,5,6,7,8,32,33,34,34,35,34,36,36,36,36],"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,[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],[1,1],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[4,[[0,[2,3]]]]],[[4,[[0,[2,3]]]]]],[5,5],[6,6],[7,7],[8,8],[[]],[[]],[[]],[[]],[[]],[[8,8],9],0,0,[[10,11,5,12,13],14],0,[[],5],0,[[],[[15,[8]]]],[[8,8],16],[[],16],[[[4,[[0,[17,3]]]],18],19],[[5,18],19],[[5,18],19],[[6,18],19],[[7,18],19],[[8,18],19],[[8,18],19],[[]],[[]],[[]],[[]],[[]],[[]],[20,[[15,[[21,[3]],22]]]],[20,[[15,[[4,[3]],22]]]],[20,[[15,[6,22]]]],[20,[[15,[7,22]]]],[20,[[15,[[21,[3]],22]]]],[20,[[15,[[4,[3]],22]]]],[20,[[15,[6,22]]]],[20,[[15,[7,22]]]],[23,[[15,[5]]]],[[24,24,24,11,25,26,[4,[3]]],14],[23,16],[23,16],[23,16],[23,14],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],0,[[8,8],[[27,[9]]]],[[10,28],[[15,[29]]]],[[10,24,25,6],14],[10,15],[[24,24,11,5,12,13,26],14],[[10,25,7],14],[8,15],[[]],[[]],[[]],[[]],[[]],[[],30],[[],30],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],15],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[[21,[3]],20],[[15,[22]]]],[[[4,[3]],20],[[15,[22]]]],[[6,20],[[15,[22]]]],[[7,20],[[15,[22]]]],[[[21,[3]],20],[[15,[22]]]],[[[4,[3]],20],[[15,[22]]]],[[6,20],[[15,[22]]]],[[7,20],[[15,[22]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0],"p":[[6,"Command"],[8,"Clone"],[8,"Subcommand"],[4,"Commands"],[4,"CoinSelectionAlgo"],[4,"AddressCmd"],[4,"TxOutCmd"],[4,"Keychain"],[4,"Ordering"],[6,"KeychainTxGraph"],[3,"HashMap"],[3,"Address"],[15,"u64"],[6,"Result"],[4,"Result"],[15,"bool"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[3,"Args"],[3,"Error"],[15,"str"],[3,"Mutex"],[4,"Network"],[8,"FnOnce"],[4,"Option"],[3,"Assets"],[3,"Vec"],[3,"String"],[3,"TypeId"],[13,"List"],[13,"Address"],[13,"Send"],[13,"TxOut"],[13,"List"]]},\ "example_electrum":{"doc":"","t":[6,17,17,4,13,3,13,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,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12],"n":["ChangeSet","DB_MAGIC","DB_PATH","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","eq","fmt","fmt","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into_app","into_app_for_update","main","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","all_spks","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":["example_electrum","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example_electrum::ElectrumCommands","","","","","",""],"d":["","","","","Scans the addresses in the wallet using the electrum API.","","Scans particular addresses using the electrum API.","","","","","Set batch size for each script_history call to electrum …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Scan every address that you have derived.","","","When a gap this large has been found for a keychain, it …","Scan unconfirmed transactions for updates.","Scan all the unused addresses.","Scan unspent outpoints for spends or changes to …"],"i":[0,0,0,0,2,0,2,3,3,2,2,3,2,3,2,3,2,3,2,3,3,2,3,2,3,2,3,2,3,2,2,3,3,3,0,2,3,2,3,2,3,2,3,2,3,2,3,2,3,13,14,13,14,13,13,13],"f":[0,0,0,0,0,0,0,[1,1],[1,1],[1,1],[1,1],0,[[]],[[]],[[]],[[]],[2,2],[3,3],[[]],[[]],[[3,3],4],[[2,5],6],[[3,5],6],[[]],[[]],[7,[[9,[2,8]]]],[7,[[9,[3,8]]]],[7,[[9,[2,8]]]],[7,[[9,[3,8]]]],[10,4],[[]],[[]],[[],1],[[],1],[[],11],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],12],[[],12],[[2,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[2,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]],0,0,0,0,0,0,0],"p":[[6,"Command"],[4,"ElectrumCommands"],[3,"ScanOptions"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[3,"Error"],[4,"Result"],[15,"str"],[6,"Result"],[3,"TypeId"],[13,"Sync"],[13,"Scan"]]},\ +"example_esplora":{"doc":"","t":[17,17,4,13,3,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,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12],"n":["DB_MAGIC","DB_PATH","EsploraCommands","Scan","ScanOptions","Sync","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","eq","fmt","fmt","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into_app","into_app_for_update","main","parallel_requests","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","all_spks","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":["example_esplora","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","example_esplora::EsploraCommands","","","","","",""],"d":["","","","Scans the addresses in the wallet using the esplora API.","","Scan for particular addresses and unconfirmed transactions …","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","Max number of concurrent esplora server requests.","","","","","","","","","","","","","","","Scan every address that you have derived.","","","When a gap this large has been found for a keychain, it …","Scan unconfirmed transactions for updates.","Scan all the unused addresses.","Scan unspent outpoints for spends or changes to …"],"i":[0,0,0,2,0,2,3,3,2,2,2,3,2,3,2,3,2,3,3,2,3,2,3,2,3,2,3,2,2,3,3,3,0,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,13,14,13,14,13,13,13],"f":[0,0,0,0,0,0,[1,1],[1,1],[1,1],[1,1],[[]],[[]],[[]],[[]],[2,2],[3,3],[[]],[[]],[[3,3],4],[[2,5],6],[[3,5],6],[[]],[[]],[7,[[9,[2,8]]]],[7,[[9,[3,8]]]],[7,[[9,[2,8]]]],[7,[[9,[3,8]]]],[10,4],[[]],[[]],[[],1],[[],1],[[],11],0,[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],12],[[],12],[[2,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[2,7],[[9,[8]]]],[[3,7],[[9,[8]]]],[[]],[[]],0,0,0,0,0,0,0],"p":[[6,"Command"],[4,"EsploraCommands"],[3,"ScanOptions"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"ArgMatches"],[3,"Error"],[4,"Result"],[15,"str"],[6,"Result"],[3,"TypeId"],[13,"Sync"],[13,"Scan"]]},\ "wallet_electrum_example":{"doc":"","t":[17,17,17,17,5],"n":["BATCH_SIZE","DB_MAGIC","SEND_AMOUNT","STOP_GAP","main"],"q":["wallet_electrum_example","","","",""],"d":["","","","",""],"i":[0,0,0,0,0],"f":[0,0,0,0,[[],[[3,[[2,[1]]]]]]],"p":[[8,"Error"],[3,"Box"],[4,"Result"]]},\ "wallet_esplora_async":{"doc":"","t":[17,17,17,17,5],"n":["DB_MAGIC","PARALLEL_REQUESTS","SEND_AMOUNT","STOP_GAP","main"],"q":["wallet_esplora_async","","","",""],"d":["","","","",""],"i":[0,0,0,0,0],"f":[0,0,0,0,[[],[[3,[[2,[1]]]]]]],"p":[[8,"Error"],[3,"Box"],[4,"Result"]]},\ "wallet_esplora_blocking":{"doc":"","t":[17,17,17,17,5],"n":["DB_MAGIC","PARALLEL_REQUESTS","SEND_AMOUNT","STOP_GAP","main"],"q":["wallet_esplora_blocking","","","",""],"d":["","","","",""],"i":[0,0,0,0,0],"f":[0,0,0,0,[[],[[3,[[2,[1]]]]]]],"p":[[8,"Error"],[3,"Box"],[4,"Result"]]}\ 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 9ae935c682..2a42781435 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 @@ -8,6 +8,7 @@ var sourcesIndex = JSON.parse('{\ "bdk_tmp_plan":["",[],["lib.rs","plan_impls.rs","requirements.rs","template.rs"]],\ "example_cli":["",[],["lib.rs"]],\ "example_electrum":["",[],["main.rs"]],\ +"example_esplora":["",[],["main.rs"]],\ "wallet_electrum_example":["",[],["main.rs"]],\ "wallet_esplora_async":["",[],["main.rs"]],\ "wallet_esplora_blocking":["",[],["main.rs"]]\ diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html index 62c56036d9..2c64ffc421 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html @@ -2251,7 +2251,7 @@ let changeset = db.load_from_persistence().map_err(NewError::Persist)?; chain.apply_changeset(&changeset.chain); - indexed_graph.apply_changeset(changeset.index_tx_graph); + indexed_graph.apply_changeset(changeset.indexed_tx_graph); let persist = Persist::new(db); diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain.rs.html index dc6363b110..7314556691 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/keychain.rs.html @@ -401,14 +401,14 @@ /// ChangeSet to [`IndexedTxGraph`]. /// /// [`IndexedTxGraph`]: crate::indexed_tx_graph::IndexedTxGraph - pub index_tx_graph: indexed_tx_graph::ChangeSet<A, ChangeSet<K>>, + pub indexed_tx_graph: indexed_tx_graph::ChangeSet<A, ChangeSet<K>>, } impl<K, A> Default for WalletChangeSet<K, A> { fn default() -> Self { Self { chain: Default::default(), - index_tx_graph: Default::default(), + indexed_tx_graph: Default::default(), } } } @@ -416,11 +416,11 @@ impl<K: Ord, A: Anchor> Append for WalletChangeSet<K, A> { fn append(&mut self, other: Self) { Append::append(&mut self.chain, other.chain); - Append::append(&mut self.index_tx_graph, other.index_tx_graph); + Append::append(&mut self.indexed_tx_graph, other.indexed_tx_graph); } fn is_empty(&self) -> bool { - self.chain.is_empty() && self.index_tx_graph.is_empty() + self.chain.is_empty() && self.indexed_tx_graph.is_empty() } } @@ -434,9 +434,9 @@ } impl<K, A> From<indexed_tx_graph::ChangeSet<A, ChangeSet<K>>> for WalletChangeSet<K, A> { - fn from(index_tx_graph: indexed_tx_graph::ChangeSet<A, ChangeSet<K>>) -> Self { + fn from(indexed_tx_graph: indexed_tx_graph::ChangeSet<A, ChangeSet<K>>) -> Self { Self { - index_tx_graph, + indexed_tx_graph, ..Default::default() } } diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/tx_graph.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/tx_graph.rs.html index eb99f279ea..be7201af61 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/tx_graph.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/tx_graph.rs.html @@ -1227,6 +1227,45 @@ 1227 1228 1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268
//! Module for structures that store and traverse transactions.
 //!
 //! [`TxGraph`] is a monotone structure that inserts transactions and indexes the spends. The
@@ -2295,6 +2334,45 @@
             })
             .chain(self.txouts.iter().map(|(op, txout)| (*op, txout)))
     }
+
+    /// Iterates over the heights of that the new transaction anchors in this changeset.
+    ///
+    /// This is useful if you want to find which heights you need to fetch data about in order to
+    /// confirm or exclude these anchors.
+    ///
+    /// See also: [`TxGraph::missing_heights`]
+    pub fn anchor_heights(&self) -> impl Iterator<Item = u32> + '_
+    where
+        A: Anchor,
+    {
+        let mut dedup = None;
+        self.anchors
+            .iter()
+            .map(|(a, _)| a.anchor_block().height)
+            .filter(move |height| {
+                let duplicate = dedup == Some(*height);
+                dedup = Some(*height);
+                !duplicate
+            })
+    }
+
+    /// Returns an iterator for the [`anchor_heights`] in this changeset that are not included in
+    /// `local_chain`. This tells you which heights you need to include in `local_chain` in order
+    /// for it to conclusively act as a [`ChainOracle`] for the transaction anchors this changeset
+    /// will add.
+    ///
+    /// [`ChainOracle`]: crate::ChainOracle
+    /// [`anchor_heights`]: Self::anchor_heights
+    pub fn missing_heights_from<'a>(
+        &'a self,
+        local_chain: &'a LocalChain,
+    ) -> impl Iterator<Item = u32> + 'a
+    where
+        A: Anchor,
+    {
+        self.anchor_heights()
+            .filter(move |height| !local_chain.blocks().contains_key(height))
+    }
 }
 
 impl<A: Ord> Append for ChangeSet<A> {
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_electrum/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_electrum/main.rs.html
index ae25b65249..ce3742422f 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_electrum/main.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_electrum/main.rs.html
@@ -372,7 +372,7 @@
 
     let graph = Mutex::new({
         let mut graph = IndexedTxGraph::new(index);
-        graph.apply_changeset(init_changeset.index_tx_graph);
+        graph.apply_changeset(init_changeset.indexed_tx_graph);
         graph
     });
 
@@ -581,7 +581,7 @@
 
         let chain = chain.apply_update(final_update.chain)?;
 
-        let index_tx_graph = {
+        let indexed_tx_graph = {
             let mut changeset =
                 indexed_tx_graph::ChangeSet::<ConfirmationHeightAnchor, _>::default();
             let (_, indexer) = graph
@@ -596,7 +596,7 @@
         };
 
         ChangeSet {
-            index_tx_graph,
+            indexed_tx_graph,
             chain,
         }
     };
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_esplora/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_esplora/main.rs.html
new file mode 100644
index 0000000000..1bdf1df149
--- /dev/null
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/example_esplora/main.rs.html
@@ -0,0 +1,650 @@
+main.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
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+
use std::{
+    collections::{BTreeMap, BTreeSet},
+    io::{self, Write},
+    sync::Mutex,
+};
+
+use bdk_chain::{
+    bitcoin::{Address, Network, OutPoint, ScriptBuf, Txid},
+    indexed_tx_graph::IndexedTxGraph,
+    keychain::WalletChangeSet,
+    local_chain::{CheckPoint, LocalChain},
+    Append, ConfirmationTimeAnchor,
+};
+
+use bdk_esplora::{esplora_client, EsploraExt};
+
+use example_cli::{
+    anyhow::{self, Context},
+    clap::{self, Parser, Subcommand},
+    Keychain,
+};
+
+const DB_MAGIC: &[u8] = b"bdk_example_esplora";
+const DB_PATH: &str = ".bdk_esplora_example.db";
+
+#[derive(Subcommand, Debug, Clone)]
+enum EsploraCommands {
+    /// Scans the addresses in the wallet using the esplora API.
+    Scan {
+        /// When a gap this large has been found for a keychain, it will stop.
+        #[clap(long, default_value = "5")]
+        stop_gap: usize,
+        #[clap(flatten)]
+        scan_options: ScanOptions,
+    },
+    /// Scan for particular addresses and unconfirmed transactions using the esplora API.
+    Sync {
+        /// Scan all the unused addresses.
+        #[clap(long)]
+        unused_spks: bool,
+        /// Scan every address that you have derived.
+        #[clap(long)]
+        all_spks: bool,
+        /// Scan unspent outpoints for spends or changes to confirmation status of residing tx.
+        #[clap(long)]
+        utxos: bool,
+        /// Scan unconfirmed transactions for updates.
+        #[clap(long)]
+        unconfirmed: bool,
+        #[clap(flatten)]
+        scan_options: ScanOptions,
+    },
+}
+
+#[derive(Parser, Debug, Clone, PartialEq)]
+pub struct ScanOptions {
+    /// Max number of concurrent esplora server requests.
+    #[clap(long, default_value = "1")]
+    pub parallel_requests: usize,
+}
+
+fn main() -> anyhow::Result<()> {
+    let (args, keymap, index, db, init_changeset) = example_cli::init::<
+        EsploraCommands,
+        WalletChangeSet<Keychain, ConfirmationTimeAnchor>,
+    >(DB_MAGIC, DB_PATH)?;
+
+    // Contruct `IndexedTxGraph` and `LocalChain` with our initial changeset. They are wrapped in
+    // `Mutex` to display how they can be used in a multithreaded context. Technically the mutexes
+    // aren't strictly needed here.
+    let graph = Mutex::new({
+        let mut graph = IndexedTxGraph::new(index);
+        graph.apply_changeset(init_changeset.indexed_tx_graph);
+        graph
+    });
+    let chain = Mutex::new({
+        let mut chain = LocalChain::default();
+        chain.apply_changeset(&init_changeset.chain);
+        chain
+    });
+
+    let esplora_url = match args.network {
+        Network::Bitcoin => "https://blockstream.info/api",
+        Network::Testnet => "https://blockstream.info/testnet/api",
+        Network::Regtest => "http://localhost:3002",
+        Network::Signet => "https://mempool.space/signet/api",
+        _ => panic!("unsupported network"),
+    };
+
+    let client = esplora_client::Builder::new(esplora_url).build_blocking()?;
+
+    let esplora_cmd = match &args.command {
+        // These are commands that are handled by this example (sync, scan).
+        example_cli::Commands::ChainSpecific(esplora_cmd) => esplora_cmd,
+        // These are general commands handled by example_cli. Execute the cmd and return.
+        general_cmd => {
+            let res = example_cli::handle_commands(
+                &graph,
+                &db,
+                &chain,
+                &keymap,
+                args.network,
+                |tx| {
+                    client
+                        .broadcast(tx)
+                        .map(|_| ())
+                        .map_err(anyhow::Error::from)
+                },
+                general_cmd.clone(),
+            );
+
+            db.lock().unwrap().commit()?;
+            return res;
+        }
+    };
+
+    // Prepare the `IndexedTxGraph` update based on whether we are scanning or syncing.
+    // Scanning: We are iterating through spks of all keychains and scanning for transactions for
+    //   each spk. We start with the lowest derivation index spk and stop scanning after `stop_gap`
+    //   number of consecutive spks have no transaction history. A Scan is done in situations of
+    //   wallet restoration. It is a special case. Applications should use "sync" style updates
+    //   after an initial scan.
+    // Syncing: We only check for specified spks, utxos and txids to update their confirmation
+    //   status or fetch missing transactions.
+    let indexed_tx_graph_changeset = match &esplora_cmd {
+        EsploraCommands::Scan {
+            stop_gap,
+            scan_options,
+        } => {
+            let keychain_spks = graph
+                .lock()
+                .expect("mutex must not be poisoned")
+                .index
+                .spks_of_all_keychains()
+                .into_iter()
+                // This `map` is purely for logging.
+                .map(|(keychain, iter)| {
+                    let mut first = true;
+                    let spk_iter = iter.inspect(move |(i, _)| {
+                        if first {
+                            eprint!("\nscanning {}: ", keychain);
+                            first = false;
+                        }
+                        eprint!("{} ", i);
+                        // Flush early to ensure we print at every iteration.
+                        let _ = io::stderr().flush();
+                    });
+                    (keychain, spk_iter)
+                })
+                .collect::<BTreeMap<_, _>>();
+
+            // The client scans keychain spks for transaction histories, stopping after `stop_gap`
+            // is reached. It returns a `TxGraph` update (`graph_update`) and a structure that
+            // represents the last active spk derivation indices of keychains
+            // (`keychain_indices_update`).
+            let (graph_update, last_active_indices) = client
+                .update_tx_graph(
+                    keychain_spks,
+                    core::iter::empty(),
+                    core::iter::empty(),
+                    *stop_gap,
+                    scan_options.parallel_requests,
+                )
+                .context("scanning for transactions")?;
+
+            let mut graph = graph.lock().expect("mutex must not be poisoned");
+            // Because we did a stop gap based scan we are likely to have some updates to our
+            // deriviation indices. Usually before a scan you are on a fresh wallet with no
+            // addresses derived so we need to derive up to last active addresses the scan found
+            // before adding the transactions.
+            let (_, index_changeset) = graph.index.reveal_to_target_multi(&last_active_indices);
+            let mut indexed_tx_graph_changeset = graph.apply_update(graph_update);
+            indexed_tx_graph_changeset.append(index_changeset.into());
+            indexed_tx_graph_changeset
+        }
+        EsploraCommands::Sync {
+            mut unused_spks,
+            all_spks,
+            mut utxos,
+            mut unconfirmed,
+            scan_options,
+        } => {
+            if !(*all_spks || unused_spks || utxos || unconfirmed) {
+                // If nothing is specifically selected, we select everything (except all spks).
+                unused_spks = true;
+                unconfirmed = true;
+                utxos = true;
+            } else if *all_spks {
+                // If all spks is selected, we don't need to also select unused spks (as unused spks
+                // is a subset of all spks).
+                unused_spks = false;
+            }
+
+            // Spks, outpoints and txids we want updates on will be accumulated here.
+            let mut spks: Box<dyn Iterator<Item = ScriptBuf>> = Box::new(core::iter::empty());
+            let mut outpoints: Box<dyn Iterator<Item = OutPoint>> = Box::new(core::iter::empty());
+            let mut txids: Box<dyn Iterator<Item = Txid>> = Box::new(core::iter::empty());
+
+            // Get a short lock on the structures to get spks, utxos, and txs that we are interested
+            // in.
+            {
+                let graph = graph.lock().unwrap();
+                let chain = chain.lock().unwrap();
+                let chain_tip = chain.tip().map(|cp| cp.block_id()).unwrap_or_default();
+
+                if *all_spks {
+                    let all_spks = graph
+                        .index
+                        .all_spks()
+                        .iter()
+                        .map(|(k, v)| (*k, v.clone()))
+                        .collect::<Vec<_>>();
+                    spks = Box::new(spks.chain(all_spks.into_iter().map(|(index, script)| {
+                        eprintln!("scanning {:?}", index);
+                        // Flush early to ensure we print at every iteration.
+                        let _ = io::stderr().flush();
+                        script
+                    })));
+                }
+                if unused_spks {
+                    let unused_spks = graph
+                        .index
+                        .unused_spks(..)
+                        .map(|(k, v)| (*k, v.to_owned()))
+                        .collect::<Vec<_>>();
+                    spks = Box::new(spks.chain(unused_spks.into_iter().map(|(index, script)| {
+                        eprintln!(
+                            "Checking if address {} {:?} has been used",
+                            Address::from_script(&script, args.network).unwrap(),
+                            index
+                        );
+                        // Flush early to ensure we print at every iteration.
+                        let _ = io::stderr().flush();
+                        script
+                    })));
+                }
+                if utxos {
+                    // We want to search for whether the UTXO is spent, and spent by which
+                    // transaction. We provide the outpoint of the UTXO to
+                    // `EsploraExt::update_tx_graph_without_keychain`.
+                    let init_outpoints = graph.index.outpoints().iter().cloned();
+                    let utxos = graph
+                        .graph()
+                        .filter_chain_unspents(&*chain, chain_tip, init_outpoints)
+                        .map(|(_, utxo)| utxo)
+                        .collect::<Vec<_>>();
+                    outpoints = Box::new(
+                        utxos
+                            .into_iter()
+                            .inspect(|utxo| {
+                                eprintln!(
+                                    "Checking if outpoint {} (value: {}) has been spent",
+                                    utxo.outpoint, utxo.txout.value
+                                );
+                                // Flush early to ensure we print at every iteration.
+                                let _ = io::stderr().flush();
+                            })
+                            .map(|utxo| utxo.outpoint),
+                    );
+                };
+                if unconfirmed {
+                    // We want to search for whether the unconfirmed transaction is now confirmed.
+                    // We provide the unconfirmed txids to
+                    // `EsploraExt::update_tx_graph_without_keychain`.
+                    let unconfirmed_txids = graph
+                        .graph()
+                        .list_chain_txs(&*chain, chain_tip)
+                        .filter(|canonical_tx| !canonical_tx.chain_position.is_confirmed())
+                        .map(|canonical_tx| canonical_tx.tx_node.txid)
+                        .collect::<Vec<Txid>>();
+                    txids = Box::new(unconfirmed_txids.into_iter().inspect(|txid| {
+                        eprintln!("Checking if {} is confirmed yet", txid);
+                        // Flush early to ensure we print at every iteration.
+                        let _ = io::stderr().flush();
+                    }));
+                }
+            }
+
+            let graph_update = client.update_tx_graph_without_keychain(
+                spks,
+                txids,
+                outpoints,
+                scan_options.parallel_requests,
+            )?;
+
+            graph.lock().unwrap().apply_update(graph_update)
+        }
+    };
+
+    println!();
+
+    // Now that we're done updating the `IndexedTxGraph`, it's time to update the `LocalChain`! We
+    // want the `LocalChain` to have data about all the anchors in the `TxGraph` - for this reason,
+    // we want retrieve the blocks at the heights of the newly added anchors that are missing from
+    // our view of the chain.
+    let (missing_block_heights, tip) = {
+        let chain = &*chain.lock().unwrap();
+        let missing_block_heights = indexed_tx_graph_changeset
+            .graph
+            .missing_heights_from(chain)
+            .collect::<BTreeSet<_>>();
+        let tip = chain.tip();
+        (missing_block_heights, tip)
+    };
+
+    println!("prev tip: {}", tip.as_ref().map_or(0, CheckPoint::height));
+    println!("missing block heights: {:?}", missing_block_heights);
+
+    // Here, we actually fetch the missing blocks and create a `local_chain::Update`.
+    let chain_update = client
+        .update_local_chain(tip, missing_block_heights)
+        .context("scanning for blocks")?;
+
+    println!("new tip: {}", chain_update.tip.height());
+
+    // We persist the changes
+    let mut db = db.lock().unwrap();
+    db.stage(WalletChangeSet {
+        chain: chain.lock().unwrap().apply_update(chain_update)?,
+        indexed_tx_graph: indexed_tx_graph_changeset,
+    });
+    db.commit()?;
+    Ok(())
+}
+
+
\ No newline at end of file