From: github-actions Date: Sun, 25 Aug 2024 04:28:25 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/static/struct.OutputsIndexError.html?a=commitdiff_plain;h=c5ea7f44aa89b483dbcdd40fbc781d1627b26c3b;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html index f25dccd2f6..5289a6d966 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html index b966fc1479..bb039da85e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.BIP32_MAX_INDEX.html @@ -1,2 +1,2 @@ -BIP32_MAX_INDEX in bdk_chain - Rust

Constant bdk_chain::BIP32_MAX_INDEX

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

Maximum BIP32 derivation index.

+BIP32_MAX_INDEX in bdk_chain - Rust

Constant bdk_chain::BIP32_MAX_INDEX

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

Maximum BIP32 derivation index.

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

Constant bdk_chain::COINBASE_MATURITY

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

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

+COINBASE_MATURITY in bdk_chain - Rust

Constant bdk_chain::COINBASE_MATURITY

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

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

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ChainPosition.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ChainPosition.html index fbf76f0db1..49215d4c31 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ChainPosition.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ChainPosition.html @@ -1,4 +1,4 @@ -ChainPosition in bdk_chain - Rust

Enum bdk_chain::ChainPosition

source ·
pub enum ChainPosition<A> {
+ChainPosition in bdk_chain - Rust

Enum bdk_chain::ChainPosition

source ·
pub enum ChainPosition<A> {
     Confirmed(A),
     Unconfirmed(u64),
 }
Expand description

Represents the observed position of some chain data.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ConfirmationTime.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ConfirmationTime.html index 7dd15d5ac3..e8964fa2e2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ConfirmationTime.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/enum.ConfirmationTime.html @@ -1,4 +1,4 @@ -ConfirmationTime in bdk_chain - Rust

Enum bdk_chain::ConfirmationTime

source ·
pub enum ConfirmationTime {
+ConfirmationTime in bdk_chain - Rust

Enum bdk_chain::ConfirmationTime

source ·
pub enum ConfirmationTime {
     Confirmed {
         height: u32,
         time: u64,
@@ -14,8 +14,8 @@
 

Fields

§last_seen: u64

The last-seen timestamp in unix seconds.

Implementations§

source§

impl ConfirmationTime

source

pub fn unconfirmed(last_seen: u64) -> Self

Construct an unconfirmed variant using the given last_seen time in unix seconds.

source

pub fn is_confirmed(&self) -> bool

Returns whether ConfirmationTime is the confirmed variant.

-

Trait Implementations§

source§

impl Clone for ConfirmationTime

source§

fn clone(&self) -> ConfirmationTime

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ConfirmationTime

source§

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

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

impl<'de> Deserialize<'de> for ConfirmationTime

source§

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

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

impl From<ChainPosition<ConfirmationBlockTime>> for ConfirmationTime

source§

fn from(observed_as: ChainPosition<ConfirmationBlockTime>) -> Self

Converts to this type from the input type.
source§

impl Hash for ConfirmationTime

source§

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

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

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

Trait Implementations§

source§

impl Clone for ConfirmationTime

source§

fn clone(&self) -> ConfirmationTime

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ConfirmationTime

source§

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

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

impl<'de> Deserialize<'de> for ConfirmationTime

source§

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

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

impl From<ChainPosition<ConfirmationBlockTime>> for ConfirmationTime

source§

fn from(observed_as: ChainPosition<ConfirmationBlockTime>) -> Self

Converts to this type from the input type.
source§

impl Hash for ConfirmationTime

source§

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

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

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

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

impl Ord for ConfirmationTime

source§

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

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

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

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

fn min(self, other: Self) -> Self
where @@ -24,8 +24,8 @@ by ==.

1.0.0 · source§

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

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

impl PartialOrd for ConfirmationTime

source§

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

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

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

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

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

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

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

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

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

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

impl Serialize for ConfirmationTime

source§

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

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

impl Copy for ConfirmationTime

source§

impl Eq for ConfirmationTime

source§

impl StructuralPartialEq for ConfirmationTime

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Serialize for ConfirmationTime

source§

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

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

impl Copy for ConfirmationTime

source§

impl Eq for ConfirmationTime

source§

impl StructuralPartialEq for ConfirmationTime

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -39,5 +39,5 @@ operator. Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

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

Crate bdk_chain

source ·
Expand description

This crate is a collection of core structures for Bitcoin Dev Kit.

+bdk_chain - Rust

Crate bdk_chain

source ·
Expand description

This crate is a collection of core structures for Bitcoin Dev Kit.

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

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

Re-exports§

Modules§

Re-exports§

Modules§

Structs§

  • Balance, differentiated into various categories.
  • A reference to a block in the canonical chain.
  • An Anchor implementation that also records the exact confirmation time of the transaction.
  • Represents the unique ID of a descriptor.
  • A TxOut with as much data as we can retrieve about it
  • A wrapper that we use to impl remote traits for types in our crate or dependency crates.
  • An iterator for derived script pubkeys.

Enums§

Constants§

Traits§

  • Trait that “anchors” blockchain data to a specific block of height and hash.
  • An Anchor that can be constructed from a given block, block height and transaction position within the block.
  • Represents a service that tracks the blockchain.
  • A trait to extend the functionality of a miniscript descriptor.
  • Trait that makes an object mergeable.

Type Aliases§

  • A tuple of keychain index and T representing the indexed value.
  • A tuple of keychain K, derivation index (u32) and a T associated with them.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/index.html index 2fc628bbf5..5d63fd52c8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/index.html @@ -1,3 +1,3 @@ -bdk_chain::indexed_tx_graph - Rust

Module bdk_chain::indexed_tx_graph

source ·
Expand description

Contains the IndexedTxGraph and associated types. Refer to the +bdk_chain::indexed_tx_graph - Rust

Module bdk_chain::indexed_tx_graph

source ·
Expand description

Contains the IndexedTxGraph and associated types. Refer to the IndexedTxGraph documentation for more.

Structs§

\ No newline at end of file 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 c9eea88a2d..c8285a1cfb 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 @@ -1,18 +1,18 @@ -ChangeSet in bdk_chain::indexed_tx_graph - Rust

Struct bdk_chain::indexed_tx_graph::ChangeSet

source ·
pub struct ChangeSet<A, IA> {
+ChangeSet in bdk_chain::indexed_tx_graph - Rust

Struct bdk_chain::indexed_tx_graph::ChangeSet

source ·
pub struct ChangeSet<A, IA> {
     pub tx_graph: ChangeSet<A>,
     pub indexer: IA,
 }
Expand description

Represents changes to an IndexedTxGraph.

Fields§

§tx_graph: ChangeSet<A>

TxGraph changeset.

§indexer: IA

Indexer changeset.

-

Trait Implementations§

source§

impl<A: Clone, IA: Clone> Clone for ChangeSet<A, IA>

source§

fn clone(&self) -> ChangeSet<A, IA>

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug, IA: Debug> Debug for ChangeSet<A, IA>

source§

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

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

impl<A, IA: Default> Default for ChangeSet<A, IA>

source§

fn default() -> Self

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

impl<'de, A, IA> Deserialize<'de> for ChangeSet<A, IA>
where - A: Ord + Deserialize<'de>, - IA: Deserialize<'de>,

source§

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

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

impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

source§

fn from(graph: ChangeSet<A>) -> Self

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl<A: PartialEq, IA: PartialEq> PartialEq for ChangeSet<A, IA>

source§

fn eq(&self, other: &ChangeSet<A, IA>) -> bool

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<A: Clone, IA: Clone> Clone for ChangeSet<A, IA>

source§

fn clone(&self) -> ChangeSet<A, IA>

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug, IA: Debug> Debug for ChangeSet<A, IA>

source§

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

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

impl<A, IA: Default> Default for ChangeSet<A, IA>

source§

fn default() -> Self

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

impl<'de, A, IA> Deserialize<'de> for ChangeSet<A, IA>
where + A: Ord + Deserialize<'de>, + IA: Deserialize<'de>,

source§

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

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

impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

source§

fn from(graph: ChangeSet<A>) -> Self

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl<A: PartialEq, IA: PartialEq> PartialEq for ChangeSet<A, IA>

source§

fn eq(&self, other: &ChangeSet<A, IA>) -> bool

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

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

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

impl<A, IA> Serialize for ChangeSet<A, IA>
where - A: Ord + Serialize, - IA: Serialize,

source§

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

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

impl<A, IA> StructuralPartialEq for ChangeSet<A, IA>

Auto Trait Implementations§

§

impl<A, IA> Freeze for ChangeSet<A, IA>
where +sufficient, and should not be overridden without very good reason.

source§

impl<A, IA> Serialize for ChangeSet<A, IA>
where + A: Ord + Serialize, + IA: Serialize,

source§

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

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

impl<A, IA> StructuralPartialEq for ChangeSet<A, IA>

Auto Trait Implementations§

§

impl<A, IA> Freeze for ChangeSet<A, IA>
where IA: Freeze,

§

impl<A, IA> RefUnwindSafe for ChangeSet<A, IA>

§

impl<A, IA> Send for ChangeSet<A, IA>
where @@ -34,5 +34,5 @@ sufficient, and should not be overridden without very good reason.
Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html index 3e21044ed5..d523e127e4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html @@ -1,4 +1,4 @@ -IndexedTxGraph in bdk_chain::indexed_tx_graph - Rust

Struct bdk_chain::indexed_tx_graph::IndexedTxGraph

source ·
pub struct IndexedTxGraph<A, I> {
+IndexedTxGraph in bdk_chain::indexed_tx_graph - Rust

Struct bdk_chain::indexed_tx_graph::IndexedTxGraph

source ·
pub struct IndexedTxGraph<A, I> {
     pub index: I,
     /* private fields */
 }
Expand description

The IndexedTxGraph combines a TxGraph and an Indexer implementation.

@@ -8,34 +8,48 @@
source

pub fn graph(&self) -> &TxGraph<A>

Get a reference of the internal transaction graph.

source§

impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>

source

pub fn apply_changeset(&mut self, changeset: ChangeSet<A, I::ChangeSet>)

Applies the ChangeSet to the IndexedTxGraph.

source

pub fn initial_changeset(&self) -> ChangeSet<A, I::ChangeSet>

Determines the ChangeSet between self and an empty IndexedTxGraph.

-
source§

impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>
where - I::ChangeSet: Default + Merge,

source

pub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A, I::ChangeSet>

Apply an update directly.

-

update is a TxGraph<A> and the resultant changes is returned as ChangeSet.

-
source

pub fn insert_txout( +

source§

impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>
where + I::ChangeSet: Default + Merge,

source

pub fn apply_update(&mut self, update: Update<A>) -> ChangeSet<A, I::ChangeSet>

Available on crate feature std only.

Apply an update directly.

+

update is a tx_graph::Update<A> and the resultant changes is returned as ChangeSet.

+
source

pub fn apply_update_at( + &mut self, + update: Update<A>, + seen_at: Option<u64> +) -> ChangeSet<A, I::ChangeSet>

Apply the given update with an optional seen_at timestamp.

+

seen_at represents when the update is seen (in unix seconds). It is used to determine the +last_seens for all transactions in the update which have no corresponding anchor(s). The +last_seen value is used internally to determine precedence of conflicting unconfirmed +transactions (where the transaction with the lower last_seen value is omitted from the +canonical history).

+

Not setting a seen_at value means unconfirmed transactions introduced by this update will +not be part of the canonical history of transactions.

+

Use apply_update to have the seen_at value automatically +set to the current time.

+
source

pub fn insert_txout( &mut self, outpoint: OutPoint, txout: TxOut ) -> ChangeSet<A, I::ChangeSet>

Insert a floating txout of given outpoint.

-
source

pub fn insert_tx(&mut self, tx: Transaction) -> ChangeSet<A, I::ChangeSet>

Insert and index a transaction into the graph.

-
source

pub fn insert_anchor( +

source

pub fn insert_tx(&mut self, tx: Transaction) -> ChangeSet<A, I::ChangeSet>

Insert and index a transaction into the graph.

+
source

pub fn insert_anchor( &mut self, txid: Txid, anchor: A ) -> ChangeSet<A, I::ChangeSet>

Insert an anchor for a given transaction.

-
source

pub fn insert_seen_at( +

source

pub fn insert_seen_at( &mut self, txid: Txid, seen_at: u64 ) -> ChangeSet<A, I::ChangeSet>

Insert a unix timestamp of when a transaction is seen in the mempool.

This is used for transaction conflict resolution in TxGraph where the transaction with the later last-seen is prioritized.

-
source

pub fn batch_insert_relevant<'t>( +

source

pub fn batch_insert_relevant<'t>( &mut self, txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)> ) -> ChangeSet<A, I::ChangeSet>

Batch insert transactions, filtering out those that are irrelevant.

Relevancy is determined by the Indexer::is_tx_relevant implementation of I. Irrelevant transactions in txs will be ignored. txs do not need to be in topological order.

-
source

pub fn batch_insert_relevant_unconfirmed<'t>( +

source

pub fn batch_insert_relevant_unconfirmed<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> ) -> ChangeSet<A, I::ChangeSet>

Batch insert unconfirmed transactions, filtering out those that are irrelevant.

@@ -44,7 +58,7 @@ Irrelevant transactions in txs will be ignored.

Items of txs are tuples containing the transaction and a last seen timestamp. The last seen communicates when the transaction is last seen in the mempool which is used for conflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

-
source

pub fn batch_insert_unconfirmed( +

source

pub fn batch_insert_unconfirmed( &mut self, txs: impl IntoIterator<Item = (Transaction, u64)> ) -> ChangeSet<A, I::ChangeSet>

Batch insert unconfirmed transactions.

@@ -52,10 +66,10 @@ conflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

-
source§

impl<A, I: Indexer> IndexedTxGraph<A, I>
where +

source§

impl<A, I: Indexer> IndexedTxGraph<A, I>

Methods are available if the anchor (A) implements AnchorFromBlockPosition.

-
source

pub fn apply_block_relevant( &mut self, block: &Block, height: u32 @@ -65,7 +79,7 @@ irrelevant.

AnchorFromBlockPosition::from_block_position.

Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I. Irrelevant transactions in txs will be ignored.

-

source

pub fn apply_block( +

source

pub fn apply_block( &mut self, block: Block, height: u32 @@ -73,7 +87,7 @@ Irrelevant transactions in txs will be ignored.

Each inserted transaction’s anchor will be constructed from AnchorFromBlockPosition::from_block_position.

To only insert relevant transactions, use apply_block_relevant instead.

-

Trait Implementations§

source§

impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

source§

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

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

impl<A: Debug, I: Debug> Debug for IndexedTxGraph<A, I>

source§

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

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

impl<A, I: Default> Default for IndexedTxGraph<A, I>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<A, I> Freeze for IndexedTxGraph<A, I>
where +

Trait Implementations§

source§

impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

source§

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

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

impl<A: Debug, I: Debug> Debug for IndexedTxGraph<A, I>

source§

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

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

impl<A, I: Default> Default for IndexedTxGraph<A, I>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<A, I> Freeze for IndexedTxGraph<A, I>
where I: Freeze,

§

impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>

§

impl<A, I> Send for IndexedTxGraph<A, I>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/index.html index 8afacb7bbe..990ad55c22 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/index.html @@ -1,3 +1,3 @@ -bdk_chain::indexer - Rust

Module bdk_chain::indexer

source ·
Expand description

Indexer provides utilities for indexing transaction data.

+bdk_chain::indexer - Rust

Module bdk_chain::indexer

source ·
Expand description

Indexer provides utilities for indexing transaction data.

Modules§

Traits§

  • Utilities for indexing transaction data.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/constant.DEFAULT_LOOKAHEAD.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/constant.DEFAULT_LOOKAHEAD.html index 50ed9dc408..be281ce8e8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/constant.DEFAULT_LOOKAHEAD.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/constant.DEFAULT_LOOKAHEAD.html @@ -1,2 +1,2 @@ -DEFAULT_LOOKAHEAD in bdk_chain::indexer::keychain_txout - Rust

Constant bdk_chain::indexer::keychain_txout::DEFAULT_LOOKAHEAD

source ·
pub const DEFAULT_LOOKAHEAD: u32 = 25;
Expand description

The default lookahead for a KeychainTxOutIndex

+DEFAULT_LOOKAHEAD in bdk_chain::indexer::keychain_txout - Rust

Constant bdk_chain::indexer::keychain_txout::DEFAULT_LOOKAHEAD

source ·
pub const DEFAULT_LOOKAHEAD: u32 = 25;
Expand description

The default lookahead for a KeychainTxOutIndex

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html index 445d86790a..8c3b85a3b7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/enum.InsertDescriptorError.html @@ -1,4 +1,4 @@ -InsertDescriptorError in bdk_chain::indexer::keychain_txout - Rust
pub enum InsertDescriptorError<K> {
+InsertDescriptorError in bdk_chain::indexer::keychain_txout - Rust
pub enum InsertDescriptorError<K> {
     DescriptorAlreadyAssigned {
         descriptor: Descriptor<DescriptorPublicKey>,
         existing_assignment: K,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/index.html
index 1d2e2ddb5f..5e6a8d33a7 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/index.html
@@ -1,4 +1,4 @@
-bdk_chain::indexer::keychain_txout - Rust

Module bdk_chain::indexer::keychain_txout

source ·
Expand description

KeychainTxOutIndex controls how script pubkeys are revealed for multiple keychains and +bdk_chain::indexer::keychain_txout - Rust

Module bdk_chain::indexer::keychain_txout

source ·
Expand description

KeychainTxOutIndex controls how script pubkeys are revealed for multiple keychains and indexes [TxOut]s with them.

Structs§

Trait Implementations§

source§

impl Clone for ChangeSet

source§

fn clone(&self) -> ChangeSet

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSet

source§

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

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

impl Default for ChangeSet

source§

fn default() -> ChangeSet

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

impl<'de> Deserialize<'de> for ChangeSet

source§

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

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

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

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

Merge another ChangeSet into self.

+

Trait Implementations§

source§

impl Clone for ChangeSet

source§

fn clone(&self) -> ChangeSet

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSet

source§

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

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

impl Default for ChangeSet

source§

fn default() -> ChangeSet

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

impl<'de> Deserialize<'de> for ChangeSet

source§

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

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

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

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

Merge another ChangeSet into self.

source§

fn is_empty(&self) -> bool

Returns whether the changeset are empty.

source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl PartialEq for ChangeSet

source§

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

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

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

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

impl Serialize for ChangeSet

source§

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

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

impl StructuralPartialEq for ChangeSet

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for ChangeSet

source§

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

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

impl StructuralPartialEq for ChangeSet

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -34,5 +34,5 @@ sufficient, and should not be overridden without very good reason.
Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html index 74d1bfabe7..31ea30352d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.KeychainTxOutIndex.html @@ -1,4 +1,4 @@ -KeychainTxOutIndex in bdk_chain::indexer::keychain_txout - Rust

Struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex

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

KeychainTxOutIndex controls how script pubkeys are revealed for multiple keychains, and +KeychainTxOutIndex in bdk_chain::indexer::keychain_txout - Rust

Struct bdk_chain::indexer::keychain_txout::KeychainTxOutIndex

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

KeychainTxOutIndex controls how script pubkeys are revealed for multiple keychains, and indexes [TxOut]s with them.

A single keychain is a chain of script pubkeys derived from a single Descriptor. Keychains are identified using the K generic. Script pubkeys are identified by the keychain that they diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/index.html index 05c72288d9..4d88d60f15 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/index.html @@ -1,2 +1,2 @@ -bdk_chain::indexer::spk_txout - Rust

Module bdk_chain::indexer::spk_txout

source ·
Expand description

SpkTxOutIndex is an index storing [TxOut]s that have a script pubkey that matches those in a list.

+bdk_chain::indexer::spk_txout - Rust

Module bdk_chain::indexer::spk_txout

source ·
Expand description

SpkTxOutIndex is an index storing [TxOut]s that have a script pubkey that matches those in a list.

Structs§

  • An index storing TxOuts that have a script pubkey that matches those in a list.
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html index 62df2dbc35..3f135fd17d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/spk_txout/struct.SpkTxOutIndex.html @@ -1,4 +1,4 @@ -SpkTxOutIndex in bdk_chain::indexer::spk_txout - Rust

Struct bdk_chain::indexer::spk_txout::SpkTxOutIndex

source ·
pub struct SpkTxOutIndex<I> { /* private fields */ }
Expand description

An index storing TxOuts that have a script pubkey that matches those in a list.

+SpkTxOutIndex in bdk_chain::indexer::spk_txout - Rust

Struct bdk_chain::indexer::spk_txout::SpkTxOutIndex

source ·
pub struct SpkTxOutIndex<I> { /* private fields */ }
Expand description

An index storing TxOuts that have a script pubkey that matches those in a list.

The basic idea is that you insert script pubkeys you care about into the index with insert_spk and then when you call Indexer::index_tx or Indexer::index_txout, the index will look at any txouts you pass in and store and index any txouts matching one of its diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/trait.Indexer.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/trait.Indexer.html index eb7c16c2ed..0eb2af86c5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/trait.Indexer.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/trait.Indexer.html @@ -1,4 +1,4 @@ -Indexer in bdk_chain::indexer - Rust

Trait bdk_chain::indexer::Indexer

source ·
pub trait Indexer {
+Indexer in bdk_chain::indexer - Rust

Trait bdk_chain::indexer::Indexer

source ·
pub trait Indexer {
     type ChangeSet;
 
     // Required methods
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/enum.ApplyHeaderError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/enum.ApplyHeaderError.html
index 476f543d66..6d309f4bfa 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/enum.ApplyHeaderError.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/enum.ApplyHeaderError.html
@@ -1,10 +1,10 @@
-ApplyHeaderError in bdk_chain::local_chain - Rust

Enum bdk_chain::local_chain::ApplyHeaderError

source ·
pub enum ApplyHeaderError {
+ApplyHeaderError in bdk_chain::local_chain - Rust

Enum bdk_chain::local_chain::ApplyHeaderError

source ·
pub enum ApplyHeaderError {
     InconsistentBlocks,
     CannotConnect(CannotConnectError),
 }
Expand description

Variants§

§

InconsistentBlocks

Occurs when connected_to block conflicts with either the current block or previous block.

§

CannotConnect(CannotConnectError)

Occurs when the update cannot connect with the original chain.

-

Trait Implementations§

source§

impl Clone for ApplyHeaderError

source§

fn clone(&self) -> ApplyHeaderError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ApplyHeaderError

source§

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

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

impl Display for ApplyHeaderError

source§

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

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

impl Error for ApplyHeaderError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for ApplyHeaderError

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ApplyHeaderError

source§

fn clone(&self) -> ApplyHeaderError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ApplyHeaderError

source§

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

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

impl Display for ApplyHeaderError

source§

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

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

impl Error for ApplyHeaderError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for ApplyHeaderError

source§

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

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

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

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

impl StructuralPartialEq for ApplyHeaderError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html index e73fbf14df..26ac3df2e0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html @@ -1,3 +1,3 @@ -bdk_chain::local_chain - Rust

Module bdk_chain::local_chain

source ·
Expand description

The LocalChain is a local implementation of ChainOracle.

+bdk_chain::local_chain - Rust

Module bdk_chain::local_chain

source ·
Expand description

The LocalChain is a local implementation of ChainOracle.

Structs§

Enums§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html index 8942e17049..6b87f34c58 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html @@ -1,4 +1,4 @@ -AlterCheckPointError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::AlterCheckPointError

source ·
pub struct AlterCheckPointError {
+AlterCheckPointError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::AlterCheckPointError

source ·
pub struct AlterCheckPointError {
     pub height: u32,
     pub original_hash: BlockHash,
     pub update_hash: Option<BlockHash>,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CannotConnectError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CannotConnectError.html
index cf49d315c5..50e5f9a65e 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CannotConnectError.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CannotConnectError.html
@@ -1,4 +1,4 @@
-CannotConnectError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CannotConnectError

source ·
pub struct CannotConnectError {
+CannotConnectError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CannotConnectError

source ·
pub struct CannotConnectError {
     pub try_include_height: u32,
 }
Expand description

Occurs when an update does not have a common checkpoint with the original chain.

Fields§

§try_include_height: u32

The suggested checkpoint to include to connect the two chains.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html index b9a7758cdc..7a7b7c7d6f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html @@ -1,4 +1,4 @@ -ChangeSet in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::ChangeSet

source ·
pub struct ChangeSet {
+ChangeSet in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::ChangeSet

source ·
pub struct ChangeSet {
     pub blocks: BTreeMap<u32, Option<BlockHash>>,
 }
Expand description

The ChangeSet represents changes to LocalChain.

Fields§

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

Changes to the LocalChain blocks.

@@ -11,11 +11,11 @@

Remember to call Self::init_sqlite_tables beforehand.

source

pub fn persist_to_sqlite(&self, db_tx: &Transaction<'_>) -> Result<()>

Persist changeset to the sqlite database.

Remember to call Self::init_sqlite_tables beforehand.

-

Trait Implementations§

source§

impl Clone for ChangeSet

source§

fn clone(&self) -> ChangeSet

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSet

source§

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

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

impl Default for ChangeSet

source§

fn default() -> ChangeSet

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

impl<'de> Deserialize<'de> for ChangeSet

source§

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

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

impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet

source§

fn from(blocks: B) -> Self

Converts to this type from the input type.
source§

impl FromIterator<(u32, BlockHash)> for ChangeSet

source§

fn from_iter<T: IntoIterator<Item = (u32, BlockHash)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl FromIterator<(u32, Option<BlockHash>)> for ChangeSet

source§

fn from_iter<T: IntoIterator<Item = (u32, Option<BlockHash>)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl PartialEq for ChangeSet

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Clone for ChangeSet

source§

fn clone(&self) -> ChangeSet

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSet

source§

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

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

impl Default for ChangeSet

source§

fn default() -> ChangeSet

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

impl<'de> Deserialize<'de> for ChangeSet

source§

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

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

impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet

source§

fn from(blocks: B) -> Self

Converts to this type from the input type.
source§

impl FromIterator<(u32, BlockHash)> for ChangeSet

source§

fn from_iter<T: IntoIterator<Item = (u32, BlockHash)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl FromIterator<(u32, Option<BlockHash>)> for ChangeSet

source§

fn from_iter<T: IntoIterator<Item = (u32, Option<BlockHash>)>>(iter: T) -> Self

Creates a value from an iterator. Read more
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl PartialEq for ChangeSet

source§

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

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

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

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

impl Serialize for ChangeSet

source§

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

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

impl StructuralPartialEq for ChangeSet

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for ChangeSet

source§

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

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

impl StructuralPartialEq for ChangeSet

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

@@ -27,5 +27,5 @@ sufficient, and should not be overridden without very good reason.
Clone,
§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html index a309e92669..01ed1f7861 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html @@ -1,4 +1,4 @@ -CheckPoint in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CheckPoint

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

A LocalChain checkpoint is used to find the agreement point between two chains and as a +CheckPoint in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CheckPoint

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

A LocalChain checkpoint is used to find the agreement point between two chains and as a transaction anchor.

Each checkpoint contains the height and hash of a block (BlockId).

Internally, checkpoints are nodes of a reference-counted linked-list. This allows the caller to diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html index c63ba143e2..dbfd8a01d1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html @@ -1,4 +1,4 @@ -CheckPointIter in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CheckPointIter

source ·
pub struct CheckPointIter { /* private fields */ }
Expand description

Iterates over checkpoints backwards.

+CheckPointIter in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::CheckPointIter

source ·
pub struct CheckPointIter { /* private fields */ }
Expand description

Iterates over checkpoints backwards.

Trait Implementations§

source§

impl Iterator for CheckPointIter

§

type Item = CheckPoint

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.LocalChain.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.LocalChain.html index a58955243c..077ec9cece 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.LocalChain.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.LocalChain.html @@ -1,4 +1,4 @@ -LocalChain in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::LocalChain

source ·
pub struct LocalChain { /* private fields */ }
Expand description

This is a local implementation of ChainOracle.

+LocalChain in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::LocalChain

source ·
pub struct LocalChain { /* private fields */ }
Expand description

This is a local implementation of ChainOracle.

Implementations§

source§

impl LocalChain

source

pub fn genesis_hash(&self) -> BlockHash

Get the genesis hash.

source

pub fn from_genesis_hash(hash: BlockHash) -> (Self, ChangeSet)

Construct LocalChain from genesis hash.

source

pub fn from_changeset(changeset: ChangeSet) -> Result<Self, MissingGenesisError>

Construct a LocalChain from an initial changeset.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html index a306d45ad1..a813d90285 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html @@ -1,4 +1,4 @@ -MissingGenesisError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::MissingGenesisError

source ·
pub struct MissingGenesisError;
Expand description

An error which occurs when a LocalChain is constructed without a genesis checkpoint.

+MissingGenesisError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::MissingGenesisError

source ·
pub struct MissingGenesisError;
Expand description

An error which occurs when a LocalChain is constructed without a genesis checkpoint.

Trait Implementations§

source§

impl Clone for MissingGenesisError

source§

fn clone(&self) -> MissingGenesisError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for MissingGenesisError

source§

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

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

impl Display for MissingGenesisError

source§

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

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

impl Error for MissingGenesisError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for MissingGenesisError

source§

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

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

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

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

impl StructuralPartialEq for MissingGenesisError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html index 8417e6bb22..48471a94f6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html @@ -1,2 +1,2 @@ -SCHEMAS_TABLE_NAME in bdk_chain::rusqlite_impl - Rust

Constant bdk_chain::rusqlite_impl::SCHEMAS_TABLE_NAME

source ·
pub const SCHEMAS_TABLE_NAME: &str = "bdk_schemas";
Expand description

Table name for schemas.

+SCHEMAS_TABLE_NAME in bdk_chain::rusqlite_impl - Rust

Constant bdk_chain::rusqlite_impl::SCHEMAS_TABLE_NAME

source ·
pub const SCHEMAS_TABLE_NAME: &str = "bdk_schemas";
Expand description

Table name for schemas.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/fn.migrate_schema.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/fn.migrate_schema.html index 5c1e5bc67a..9bbd81d28e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/fn.migrate_schema.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/fn.migrate_schema.html @@ -1,4 +1,4 @@ -migrate_schema in bdk_chain::rusqlite_impl - Rust

Function bdk_chain::rusqlite_impl::migrate_schema

source ·
pub fn migrate_schema(
+migrate_schema in bdk_chain::rusqlite_impl - Rust

Function bdk_chain::rusqlite_impl::migrate_schema

source ·
pub fn migrate_schema(
     db_tx: &Transaction<'_>,
     schema_name: &str,
     versioned_scripts: &[&[&str]]
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/index.html
index 02cad9a0ae..0d90eea3d1 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/rusqlite_impl/index.html
@@ -1,2 +1,2 @@
-bdk_chain::rusqlite_impl - Rust

Module bdk_chain::rusqlite_impl

source ·
Expand description

Module for stuff

+bdk_chain::rusqlite_impl - Rust

Module bdk_chain::rusqlite_impl

source ·
Expand description

Module for stuff

Constants§

Functions§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html index db8e3de3ec..f574871966 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html @@ -1,4 +1,4 @@ -SyncItem in bdk_chain::spk_client - Rust

Enum bdk_chain::spk_client::SyncItem

source ·
pub enum SyncItem<'i, I> {
+SyncItem in bdk_chain::spk_client - Rust

Enum bdk_chain::spk_client::SyncItem

source ·
pub enum SyncItem<'i, I> {
     Spk(I, &'i Script),
     Txid(Txid),
     OutPoint(OutPoint),
@@ -6,7 +6,7 @@
 

Variants§

§

Spk(I, &'i Script)

Script pubkey sync item.

§

Txid(Txid)

Txid sync item.

§

OutPoint(OutPoint)

Outpoint sync item.

-

Trait Implementations§

source§

impl<'i, I: Clone> Clone for SyncItem<'i, I>

source§

fn clone(&self) -> SyncItem<'i, I>

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

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

Performs copy-assignment from source. Read more
source§

impl<'i, I: Debug> Debug for SyncItem<'i, I>

source§

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

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

impl<'i, I: Debug + Any> Display for SyncItem<'i, I>

source§

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

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

impl<'i, I: Hash> Hash for SyncItem<'i, I>

source§

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

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

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

Trait Implementations§

source§

impl<'i, I: Clone> Clone for SyncItem<'i, I>

source§

fn clone(&self) -> SyncItem<'i, I>

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

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

Performs copy-assignment from source. Read more
source§

impl<'i, I: Debug> Debug for SyncItem<'i, I>

source§

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

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

impl<'i, I: Debug + Any> Display for SyncItem<'i, I>

source§

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

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

impl<'i, I: Hash> Hash for SyncItem<'i, I>

source§

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

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

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

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

impl<'i, I: Ord> Ord for SyncItem<'i, I>

source§

fn cmp(&self, other: &SyncItem<'i, I>) -> Ordering

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

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

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

fn min(self, other: Self) -> Self
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html index 9a90ff840e..3caee5d883 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html @@ -1,2 +1,2 @@ -bdk_chain::spk_client - Rust

Module bdk_chain::spk_client

source ·
Expand description

Helper types for spk-based blockchain clients.

+bdk_chain::spk_client - Rust

Module bdk_chain::spk_client

source ·
Expand description

Helper types for spk-based blockchain clients.

Structs§

Enums§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html index 038b05be43..03425df45d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html @@ -1,4 +1,4 @@ -FullScanRequest in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanRequest

source ·
pub struct FullScanRequest<K> { /* private fields */ }
Expand description

Data required to perform a spk-based blockchain client full scan.

+FullScanRequest in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanRequest

source ·
pub struct FullScanRequest<K> { /* private fields */ }
Expand description

Data required to perform a spk-based blockchain client full scan.

A client full scan iterates through all the scripts for the given keychains, fetching relevant data until some stop gap number of scripts is found that have no data. This operation is generally only used when importing or restoring previously used keychains in which the list of diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html index 7c50aa2a39..090050020b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html @@ -1,4 +1,4 @@ -FullScanRequestBuilder in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanRequestBuilder

source ·
pub struct FullScanRequestBuilder<K> { /* private fields */ }
Expand description

Builds a FullScanRequest.

+FullScanRequestBuilder in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanRequestBuilder

source ·
pub struct FullScanRequestBuilder<K> { /* private fields */ }
Expand description

Builds a FullScanRequest.

Implementations§

source§

impl<K: Ord + Clone + Debug> FullScanRequestBuilder<K>

source

pub fn spks_from_indexer(self, indexer: &KeychainTxOutIndex<K>) -> Self

Add spk iterators for each keychain tracked in indexer.

source§

impl<K: Ord> FullScanRequestBuilder<K>

source

pub fn chain_tip(self, tip: CheckPoint) -> Self

Set the initial chain tip for the full scan request.

This is used to update LocalChain.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResult.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResult.html index 9dc0e0ac8e..9971e64ab0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResult.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResult.html @@ -1,10 +1,10 @@ -FullScanResult in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanResult

source ·
pub struct FullScanResult<K, A = ConfirmationBlockTime> {
-    pub graph_update: TxGraph<A>,
+FullScanResult in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::FullScanResult

source ·
pub struct FullScanResult<K, A = ConfirmationBlockTime> {
+    pub graph_update: Update<A>,
     pub chain_update: Option<CheckPoint>,
     pub last_active_indices: BTreeMap<K, u32>,
 }
Expand description

Data returned from a spk-based blockchain client full scan.

See also FullScanRequest.

-

Fields§

§graph_update: TxGraph<A>

The update to apply to the receiving LocalChain.

+

Fields§

§graph_update: Update<A>

The update to apply to the receiving LocalChain.

§chain_update: Option<CheckPoint>

The update to apply to the receiving TxGraph.

§last_active_indices: BTreeMap<K, u32>

Last active indices for the corresponding keychains (K).

Trait Implementations§

source§

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

source§

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

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

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

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<K, A> Freeze for FullScanResult<K, A>

§

impl<K, A> RefUnwindSafe for FullScanResult<K, A>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html index d1a2a4519e..346945017b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html @@ -1,4 +1,4 @@ -SyncProgress in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncProgress

source ·
pub struct SyncProgress {
+SyncProgress in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncProgress

source ·
pub struct SyncProgress {
     pub spks_consumed: usize,
     pub spks_remaining: usize,
     pub txids_consumed: usize,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html
index 0870cdb56e..a3984fdff8 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html
@@ -1,4 +1,4 @@
-SyncRequest in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncRequest

source ·
pub struct SyncRequest<I = ()> { /* private fields */ }
Expand description

Data required to perform a spk-based blockchain client sync.

+SyncRequest in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncRequest

source ·
pub struct SyncRequest<I = ()> { /* private fields */ }
Expand description

Data required to perform a spk-based blockchain client sync.

A client sync fetches relevant chain data for a known list of scripts, transaction ids and outpoints. The sync process also updates the chain from the given chain_tip (if provided).

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html index 9f2a6c0293..9bb2f10780 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html @@ -1,4 +1,4 @@ -SyncRequestBuilder in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncRequestBuilder

source ·
pub struct SyncRequestBuilder<I = ()> { /* private fields */ }
Expand description

Builds a SyncRequest.

+SyncRequestBuilder in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncRequestBuilder

source ·
pub struct SyncRequestBuilder<I = ()> { /* private fields */ }
Expand description

Builds a SyncRequest.

Implementations§

source§

impl<K: Clone + Ord + Debug + Send + Sync> SyncRequestBuilder<(K, u32)>

source

pub fn revealed_spks_from_indexer( self, indexer: &KeychainTxOutIndex<K>, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResult.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResult.html index 9251ab0b43..796548245a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResult.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResult.html @@ -1,9 +1,9 @@ -SyncResult in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncResult

source ·
pub struct SyncResult<A = ConfirmationBlockTime> {
-    pub graph_update: TxGraph<A>,
+SyncResult in bdk_chain::spk_client - Rust

Struct bdk_chain::spk_client::SyncResult

source ·
pub struct SyncResult<A = ConfirmationBlockTime> {
+    pub graph_update: Update<A>,
     pub chain_update: Option<CheckPoint>,
 }
Expand description

Data returned from a spk-based blockchain client sync.

See also SyncRequest.

-

Fields§

§graph_update: TxGraph<A>

The update to apply to the receiving TxGraph.

+

Fields§

§graph_update: Update<A>

The update to apply to the receiving TxGraph.

§chain_update: Option<CheckPoint>

The update to apply to the receiving LocalChain.

Trait Implementations§

source§

impl<A: Debug> Debug for SyncResult<A>

source§

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

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

impl<A> Default for SyncResult<A>

source§

fn default() -> Self

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

Auto Trait Implementations§

§

impl<A> Freeze for SyncResult<A>

§

impl<A> RefUnwindSafe for SyncResult<A>
where A: RefUnwindSafe,

§

impl<A> Send for SyncResult<A>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Balance.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Balance.html index 1f8cc1bfa7..e51e10e79d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Balance.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Balance.html @@ -1,4 +1,4 @@ -Balance in bdk_chain - Rust

Struct bdk_chain::Balance

source ·
pub struct Balance {
+Balance in bdk_chain - Rust

Struct bdk_chain::Balance

source ·
pub struct Balance {
     pub immature: Amount,
     pub trusted_pending: Amount,
     pub untrusted_pending: Amount,
@@ -12,11 +12,11 @@
 

This is the balance you can spend right now that shouldn’t get cancelled via another party double spending it.

source

pub fn total(&self) -> Amount

Get the whole balance visible to the wallet.

-

Trait Implementations§

source§

impl Add for Balance

§

type Output = Balance

The resulting type after applying the + operator.
source§

fn add(self, other: Self) -> Self

Performs the + operation. Read more
source§

impl Clone for Balance

source§

fn clone(&self) -> Balance

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Balance

source§

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

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

impl Default for Balance

source§

fn default() -> Balance

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

impl<'de> Deserialize<'de> for Balance

source§

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

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

impl Display for Balance

source§

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

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

impl PartialEq for Balance

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Add for Balance

§

type Output = Balance

The resulting type after applying the + operator.
source§

fn add(self, other: Self) -> Self

Performs the + operation. Read more
source§

impl Clone for Balance

source§

fn clone(&self) -> Balance

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Balance

source§

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

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

impl Default for Balance

source§

fn default() -> Balance

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

impl<'de> Deserialize<'de> for Balance

source§

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

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

impl Display for Balance

source§

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

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

impl PartialEq for Balance

source§

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

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

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

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

impl Serialize for Balance

source§

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

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

impl Eq for Balance

source§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Serialize for Balance

source§

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

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

impl Eq for Balance

source§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -31,5 +31,5 @@ sufficient, and should not be overridden without very good reason.
Display + ?Sized,

source§

default fn to_string(&self) -> String

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html index 110a7b0812..3b8c4f631b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html @@ -1,4 +1,4 @@ -BlockId in bdk_chain - Rust

Struct bdk_chain::BlockId

source ·
pub struct BlockId {
+BlockId in bdk_chain - Rust

Struct bdk_chain::BlockId

source ·
pub struct BlockId {
     pub height: u32,
     pub hash: BlockHash,
 }
Expand description

A reference to a block in the canonical chain.

@@ -10,8 +10,8 @@ block and anchor block are the same block.

_block: &Block, block_id: BlockId, _tx_pos: usize -) -> Self

Construct the anchor from a given block, block height and tx_pos within the block.
source§

impl Clone for BlockId

source§

fn clone(&self) -> BlockId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for BlockId

source§

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

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

impl Default for BlockId

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for BlockId

source§

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

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

impl From<(&u32, &BlockHash)> for BlockId

source§

fn from((height, hash): (&u32, &BlockHash)) -> Self

Converts to this type from the input type.
source§

impl From<(u32, BlockHash)> for BlockId

source§

fn from((height, hash): (u32, BlockHash)) -> Self

Converts to this type from the input type.
source§

impl From<BlockId> for (u32, BlockHash)

source§

fn from(block_id: BlockId) -> Self

Converts to this type from the input type.
source§

impl Hash for BlockId

source§

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

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

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

Construct the anchor from a given block, block height and tx_pos within the block.
source§

impl Clone for BlockId

source§

fn clone(&self) -> BlockId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for BlockId

source§

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

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

impl Default for BlockId

source§

fn default() -> Self

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

impl<'de> Deserialize<'de> for BlockId

source§

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

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

impl From<(&u32, &BlockHash)> for BlockId

source§

fn from((height, hash): (&u32, &BlockHash)) -> Self

Converts to this type from the input type.
source§

impl From<(u32, BlockHash)> for BlockId

source§

fn from((height, hash): (u32, BlockHash)) -> Self

Converts to this type from the input type.
source§

impl From<BlockId> for (u32, BlockHash)

source§

fn from(block_id: BlockId) -> Self

Converts to this type from the input type.
source§

impl Hash for BlockId

source§

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

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

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

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

impl Ord for BlockId

source§

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

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

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

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

fn min(self, other: Self) -> Self
where @@ -20,8 +20,8 @@ block and anchor block are the same block.

by ==.

1.0.0 · source§

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

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

impl PartialOrd for BlockId

source§

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

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

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

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

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

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

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

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

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

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

impl Serialize for BlockId

source§

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

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

impl Copy for BlockId

source§

impl Eq for BlockId

source§

impl StructuralPartialEq for BlockId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Serialize for BlockId

source§

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

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

impl Copy for BlockId

source§

impl Eq for BlockId

source§

impl StructuralPartialEq for BlockId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -35,5 +35,5 @@ operator. Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html index d400ed2352..3fb655170f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html @@ -1,12 +1,12 @@ -ConfirmationBlockTime in bdk_chain - Rust

Struct bdk_chain::ConfirmationBlockTime

source ·
pub struct ConfirmationBlockTime {
+ConfirmationBlockTime in bdk_chain - Rust

Struct bdk_chain::ConfirmationBlockTime

source ·
pub struct ConfirmationBlockTime {
     pub block_id: BlockId,
     pub confirmation_time: u64,
 }
Expand description

An Anchor implementation that also records the exact confirmation time of the transaction.

Refer to Anchor for more details.

Fields§

§block_id: BlockId

The anchor block.

§confirmation_time: u64

The confirmation time of the transaction being anchored.

-

Trait Implementations§

source§

impl Anchor for ConfirmationBlockTime

source§

fn anchor_block(&self) -> BlockId

Returns the BlockId that the associated blockchain data is “anchored” in.
source§

fn confirmation_height_upper_bound(&self) -> u32

Get the upper bound of the chain data’s confirmation height. Read more
source§

impl AnchorFromBlockPosition for ConfirmationBlockTime

source§

fn from_block_position(block: &Block, block_id: BlockId, _tx_pos: usize) -> Self

Construct the anchor from a given block, block height and tx_pos within the block.
source§

impl Clone for ConfirmationBlockTime

source§

fn clone(&self) -> ConfirmationBlockTime

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ConfirmationBlockTime

source§

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

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

impl Default for ConfirmationBlockTime

source§

fn default() -> ConfirmationBlockTime

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

impl<'de> Deserialize<'de> for ConfirmationBlockTime

source§

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

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

impl Hash for ConfirmationBlockTime

source§

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

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

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

Trait Implementations§

source§

impl Anchor for ConfirmationBlockTime

source§

fn anchor_block(&self) -> BlockId

Returns the BlockId that the associated blockchain data is “anchored” in.
source§

fn confirmation_height_upper_bound(&self) -> u32

Get the upper bound of the chain data’s confirmation height. Read more
source§

impl AnchorFromBlockPosition for ConfirmationBlockTime

source§

fn from_block_position(block: &Block, block_id: BlockId, _tx_pos: usize) -> Self

Construct the anchor from a given block, block height and tx_pos within the block.
source§

impl Clone for ConfirmationBlockTime

source§

fn clone(&self) -> ConfirmationBlockTime

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ConfirmationBlockTime

source§

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

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

impl Default for ConfirmationBlockTime

source§

fn default() -> ConfirmationBlockTime

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

impl<'de> Deserialize<'de> for ConfirmationBlockTime

source§

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

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

impl Hash for ConfirmationBlockTime

source§

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

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

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

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

impl Ord for ConfirmationBlockTime

source§

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

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

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

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

fn min(self, other: Self) -> Self
where @@ -15,8 +15,8 @@ by ==.

1.0.0 · source§

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

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

impl PartialOrd for ConfirmationBlockTime

source§

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

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

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

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

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

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

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

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

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

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

impl Serialize for ConfirmationBlockTime

source§

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

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

impl Copy for ConfirmationBlockTime

source§

impl Eq for ConfirmationBlockTime

source§

impl StructuralPartialEq for ConfirmationBlockTime

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Serialize for ConfirmationBlockTime

source§

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

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

impl Copy for ConfirmationBlockTime

source§

impl Eq for ConfirmationBlockTime

source§

impl StructuralPartialEq for ConfirmationBlockTime

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -30,5 +30,5 @@ operator. Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html index 320dc3bcc7..e6c707c638 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html @@ -1,19 +1,19 @@ -DescriptorId in bdk_chain - Rust

Struct bdk_chain::DescriptorId

source ·
pub struct DescriptorId(pub Hash);
Expand description

Represents the unique ID of a descriptor.

+DescriptorId in bdk_chain - Rust

Struct bdk_chain::DescriptorId

source ·
pub struct DescriptorId(pub Hash);
Expand description

Represents the unique ID of a descriptor.

This is useful for having a fixed-length unique representation of a descriptor, in particular, we use it to persist application state changes related to the descriptor without having to re-write the whole descriptor each time.

Tuple Fields§

§0: Hash

Implementations§

source§

impl DescriptorId

source

pub fn from_raw_hash(inner: Hash) -> DescriptorId

Creates this wrapper type from the inner hash type.

source

pub fn to_raw_hash(self) -> Hash

Returns the inner hash (sha256, sh256d etc.).

source

pub fn as_raw_hash(&self) -> &Hash

Returns a reference to the inner hash (sha256, sh256d etc.).

-

Trait Implementations§

source§

impl AsRef<[u8]> for DescriptorId

source§

fn as_ref(&self) -> &[u8] ⓘ

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

impl AsRef<[u8; 32]> for DescriptorId

source§

fn as_ref(&self) -> &[u8; 32]

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

impl Borrow<[u8]> for DescriptorId

source§

fn borrow(&self) -> &[u8] ⓘ

Immutably borrows from an owned value. Read more
source§

impl Clone for DescriptorId

source§

fn clone(&self) -> DescriptorId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DescriptorId

source§

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

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

impl<'de> Deserialize<'de> for DescriptorId

source§

fn deserialize<D: Deserializer<'de>>(d: D) -> Result<DescriptorId, D::Error>

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

impl Display for DescriptorId

source§

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

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

impl From<DescriptorId> for Hash

source§

fn from(hashtype: DescriptorId) -> Hash

Converts to this type from the input type.
source§

impl From<Hash> for DescriptorId

source§

fn from(inner: Hash) -> DescriptorId

Converts to this type from the input type.
source§

impl FromStr for DescriptorId

§

type Err = HexToArrayError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<DescriptorId, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for DescriptorId

§

type Engine = <Hash as Hash>::Engine

A hashing engine which bytes can be serialized into. It is expected +

Trait Implementations§

source§

impl AsRef<[u8]> for DescriptorId

source§

fn as_ref(&self) -> &[u8] ⓘ

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

impl AsRef<[u8; 32]> for DescriptorId

source§

fn as_ref(&self) -> &[u8; 32]

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

impl Borrow<[u8]> for DescriptorId

source§

fn borrow(&self) -> &[u8] ⓘ

Immutably borrows from an owned value. Read more
source§

impl Clone for DescriptorId

source§

fn clone(&self) -> DescriptorId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DescriptorId

source§

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

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

impl<'de> Deserialize<'de> for DescriptorId

source§

fn deserialize<D: Deserializer<'de>>(d: D) -> Result<DescriptorId, D::Error>

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

impl Display for DescriptorId

source§

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

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

impl From<DescriptorId> for Hash

source§

fn from(hashtype: DescriptorId) -> Hash

Converts to this type from the input type.
source§

impl From<Hash> for DescriptorId

source§

fn from(inner: Hash) -> DescriptorId

Converts to this type from the input type.
source§

impl FromStr for DescriptorId

§

type Err = HexToArrayError

The associated error which can be returned from parsing.
source§

fn from_str(s: &str) -> Result<DescriptorId, Self::Err>

Parses a string s to return a value of this type. Read more
source§

impl Hash for DescriptorId

source§

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

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

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

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

impl Hash for DescriptorId

§

type Engine = <Hash as Hash>::Engine

A hashing engine which bytes can be serialized into. It is expected to implement the io::Write trait, and to never return errors under any conditions.
§

type Bytes = <Hash as Hash>::Bytes

The byte array that represents the hash internally.
source§

const LEN: usize = 32usize

Length of the hash, in bytes.
source§

const DISPLAY_BACKWARD: bool = false

Flag indicating whether user-visible serializations of this hash should be backward. For some reason Satoshi decided this should be -true for Sha256dHash, so here we are.
source§

fn engine() -> Self::Engine

Constructs a new engine.
source§

fn from_engine(e: Self::Engine) -> Self

Produces a hash from the current state of a given engine.
source§

fn from_slice(sl: &[u8]) -> Result<DescriptorId, FromSliceError>

Copies a byte slice into a hash object.
source§

fn from_byte_array(bytes: Self::Bytes) -> Self

Constructs a hash from the underlying byte array.
source§

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.
source§

fn as_byte_array(&self) -> &Self::Bytes

Returns a reference to the underlying byte array.
source§

fn all_zeros() -> Self

Returns an all zero hash. Read more
§

fn hash(data: &[u8]) -> Self

Hashes some bytes.
§

fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
where +true for Sha256dHash, so here we are.

source§

fn engine() -> Self::Engine

Constructs a new engine.
source§

fn from_engine(e: Self::Engine) -> Self

Produces a hash from the current state of a given engine.
source§

fn from_slice(sl: &[u8]) -> Result<DescriptorId, FromSliceError>

Copies a byte slice into a hash object.
source§

fn from_byte_array(bytes: Self::Bytes) -> Self

Constructs a hash from the underlying byte array.
source§

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.
source§

fn as_byte_array(&self) -> &Self::Bytes

Returns a reference to the underlying byte array.
source§

fn all_zeros() -> Self

Returns an all zero hash. Read more
§

fn hash(data: &[u8]) -> Self

Hashes some bytes.
§

fn hash_byte_chunks<B, I>(byte_slices: I) -> Self
where B: AsRef<[u8]>, - I: IntoIterator<Item = B>,

Hashes all the byte slices retrieved from the iterator together.
source§

impl Hash for DescriptorId

source§

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

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

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

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

impl<I: SliceIndex<[u8]>> Index<I> for DescriptorId

§

type Output = <I as SliceIndex<[u8]>>::Output

The returned type after indexing.
source§

fn index(&self, index: I) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

fn max(self, other: Self) -> Self
where + I: IntoIterator<Item = B>,

Hashes all the byte slices retrieved from the iterator together.
source§

impl<I: SliceIndex<[u8]>> Index<I> for DescriptorId

§

type Output = <I as SliceIndex<[u8]>>::Output

The returned type after indexing.
source§

fn index(&self, index: I) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

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

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

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

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

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

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

impl PartialEq for DescriptorId

source§

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

This method tests for self and other values to be equal, and is used @@ -23,9 +23,9 @@ operator. Read more
source§

impl SerdeHash for DescriptorId

source§

const N: usize = 32usize

Size, in bits, of the hash.
source§

fn from_slice_delegated(sl: &[u8]) -> Result<Self, FromSliceError>

Helper function to turn a deserialized slice into the correct hash type.
§

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

Do serde serialization.
§

fn deserialize<'de, D>(d: D) -> Result<Self, <D as Deserializer<'de>>::Error>
where - D: Deserializer<'de>,

Do serde deserialization.
source§

impl Serialize for DescriptorId

source§

fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

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

impl UpperHex for DescriptorId

source§

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

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

impl Copy for DescriptorId

source§

impl Eq for DescriptorId

source§

impl StructuralPartialEq for DescriptorId

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where + S: Serializer,

Do serde serialization.
§

fn deserialize<'de, D>(d: D) -> Result<Self, <D as Deserializer<'de>>::Error>
where + D: Deserializer<'de>,

Do serde deserialization.
source§

impl Serialize for DescriptorId

source§

fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

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

impl UpperHex for DescriptorId

source§

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

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

impl Copy for DescriptorId

source§

impl Eq for DescriptorId

source§

impl StructuralPartialEq for DescriptorId

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where @@ -40,5 +40,5 @@ operator. Display + ?Sized,

source§

default fn to_string(&self) -> String

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html index fb6f31af84..15efd69be5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html @@ -1,4 +1,4 @@ -FullTxOut in bdk_chain - Rust

Struct bdk_chain::FullTxOut

source ·
pub struct FullTxOut<A> {
+FullTxOut in bdk_chain - Rust

Struct bdk_chain::FullTxOut

source ·
pub struct FullTxOut<A> {
     pub chain_position: ChainPosition<A>,
     pub outpoint: OutPoint,
     pub txout: TxOut,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html
index c2159a0aba..7a09bc670d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html
@@ -1,6 +1,6 @@
-Impl in bdk_chain - Rust

Struct bdk_chain::Impl

source ·
pub struct Impl<T>(pub T);
Expand description

A wrapper that we use to impl remote traits for types in our crate or dependency crates.

-

Tuple Fields§

§0: T

Implementations§

source§

impl<T> Impl<T>

source

pub fn into_inner(self) -> T

Returns the inner T.

-

Trait Implementations§

source§

impl<T> Deref for Impl<T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> From<T> for Impl<T>

source§

fn from(value: T) -> Self

Converts to this type from the input type.
source§

impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Amount>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<BlockHash>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Descriptor<DescriptorPublicKey>>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<DescriptorId>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Network>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<ScriptBuf>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Transaction>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Txid>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl<A: Anchor + Serialize> ToSql for Impl<A>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Amount>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<BlockHash>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Descriptor<DescriptorPublicKey>>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<DescriptorId>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Network>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<ScriptBuf>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Transaction>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Txid>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value

Auto Trait Implementations§

§

impl<T> Freeze for Impl<T>
where +Impl in bdk_chain - Rust

Struct bdk_chain::Impl

source ·
pub struct Impl<T>(pub T);
Expand description

A wrapper that we use to impl remote traits for types in our crate or dependency crates.

+

Tuple Fields§

§0: T

Implementations§

source§

impl<T> Impl<T>

source

pub fn into_inner(self) -> T

Returns the inner T.

+

Trait Implementations§

source§

impl<T> Deref for Impl<T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<T> From<T> for Impl<T>

source§

fn from(value: T) -> Self

Converts to this type from the input type.
source§

impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Amount>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<BlockHash>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Descriptor<DescriptorPublicKey>>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<DescriptorId>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Network>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<ScriptBuf>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Transaction>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl FromSql for Impl<Txid>

source§

fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

Converts SQLite value into Rust value.
source§

impl<A: Anchor + Serialize> ToSql for Impl<A>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Amount>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<BlockHash>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Descriptor<DescriptorPublicKey>>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<DescriptorId>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Network>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<ScriptBuf>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Transaction>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value
source§

impl ToSql for Impl<Txid>

source§

fn to_sql(&self) -> Result<ToSqlOutput<'_>>

Converts Rust value to SQLite value

Auto Trait Implementations§

§

impl<T> Freeze for Impl<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Impl<T>
where T: RefUnwindSafe,

§

impl<T> Send for Impl<T>
where T: Send,

§

impl<T> Sync for Impl<T>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html index 98f932641f..26842ec21c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.SpkIterator.html @@ -1,4 +1,4 @@ -SpkIterator in bdk_chain - Rust

Struct bdk_chain::SpkIterator

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

An iterator for derived script pubkeys.

+SpkIterator in bdk_chain - Rust

Struct bdk_chain::SpkIterator

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

An iterator for derived script pubkeys.

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

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html index b8ded0cceb..946cc087f2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html @@ -1,4 +1,4 @@ -Anchor in bdk_chain - Rust

Trait bdk_chain::Anchor

source ·
pub trait Anchor: Debug + Clone + Eq + PartialOrd + Ord + Hash {
+Anchor in bdk_chain - Rust

Trait bdk_chain::Anchor

source ·
pub trait Anchor: Debug + Clone + Eq + PartialOrd + Ord + Hash {
     // Required method
     fn anchor_block(&self) -> BlockId;
 
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
index 9ae13d6c18..e30b0fe316 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
@@ -1,4 +1,4 @@
-AnchorFromBlockPosition in bdk_chain - Rust

Trait bdk_chain::AnchorFromBlockPosition

source ·
pub trait AnchorFromBlockPosition: Anchor {
+AnchorFromBlockPosition in bdk_chain - Rust

Trait bdk_chain::AnchorFromBlockPosition

source ·
pub trait AnchorFromBlockPosition: Anchor {
     // Required method
     fn from_block_position(
         block: &Block,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
index af8fda3285..1360ef334a 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
@@ -1,4 +1,4 @@
-ChainOracle in bdk_chain - Rust

Trait bdk_chain::ChainOracle

source ·
pub trait ChainOracle {
+ChainOracle in bdk_chain - Rust

Trait bdk_chain::ChainOracle

source ·
pub trait ChainOracle {
     type Error: Debug;
 
     // Required methods
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.DescriptorExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.DescriptorExt.html
index e32ff927f7..370a273923 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.DescriptorExt.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.DescriptorExt.html
@@ -1,4 +1,4 @@
-DescriptorExt in bdk_chain - Rust

Trait bdk_chain::DescriptorExt

source ·
pub trait DescriptorExt {
+DescriptorExt in bdk_chain - Rust

Trait bdk_chain::DescriptorExt

source ·
pub trait DescriptorExt {
     // Required methods
     fn dust_value(&self) -> u64;
     fn descriptor_id(&self) -> DescriptorId;
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html
index b1c73dc2e1..8228b852d2 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html
@@ -1,4 +1,4 @@
-Merge in bdk_chain - Rust

Trait bdk_chain::Merge

source ·
pub trait Merge: Default {
+Merge in bdk_chain - Rust

Trait bdk_chain::Merge

source ·
pub trait Merge: Default {
     // Required methods
     fn merge(&mut self, other: Self);
     fn is_empty(&self) -> bool;
@@ -75,4 +75,4 @@
     T7: Merge,
     T8: Merge,
     T9: Merge,
-    T10: Merge,

source§

fn merge(&mut self, _other: Self)

source§

fn is_empty(&self) -> bool

source§

impl<T> Merge for Vec<T>

source§

fn merge(&mut self, other: Self)

source§

fn is_empty(&self) -> bool

source§

impl<T: Ord> Merge for BTreeSet<T>

source§

fn merge(&mut self, other: Self)

source§

fn is_empty(&self) -> bool

Implementors§

source§

impl Merge for bdk_chain::indexer::keychain_txout::ChangeSet

source§

impl Merge for bdk_chain::local_chain::ChangeSet

source§

impl<A: Ord> Merge for bdk_chain::tx_graph::ChangeSet<A>

source§

impl<A: Anchor, IA: Merge> Merge for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>

\ No newline at end of file + T10: Merge,

source§

fn merge(&mut self, _other: Self)

source§

fn is_empty(&self) -> bool

source§

impl<T> Merge for Vec<T>

source§

fn merge(&mut self, other: Self)

source§

fn is_empty(&self) -> bool

source§

impl<T: Ord> Merge for BTreeSet<T>

source§

fn merge(&mut self, other: Self)

source§

fn is_empty(&self) -> bool

Implementors§

source§

impl Merge for bdk_chain::indexer::keychain_txout::ChangeSet

source§

impl Merge for bdk_chain::local_chain::ChangeSet

source§

impl<A: Ord> Merge for bdk_chain::tx_graph::ChangeSet<A>

source§

impl<A: Anchor, IA: Merge> Merge for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html index 341ff14358..2395a6455b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html @@ -1,12 +1,12 @@ -CalculateFeeError in bdk_chain::tx_graph - Rust

Enum bdk_chain::tx_graph::CalculateFeeError

source ·
pub enum CalculateFeeError {
+CalculateFeeError in bdk_chain::tx_graph - Rust

Enum bdk_chain::tx_graph::CalculateFeeError

source ·
pub enum CalculateFeeError {
     MissingTxOut(Vec<OutPoint>),
     NegativeFee(SignedAmount),
 }
Expand description

Errors returned by TxGraph::calculate_fee.

Variants§

§

MissingTxOut(Vec<OutPoint>)

Missing TxOut for one or more of the inputs of the tx

§

NegativeFee(SignedAmount)

When the transaction is invalid according to the graph it has a negative fee

-

Trait Implementations§

source§

impl Debug for CalculateFeeError

source§

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

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

impl Display for CalculateFeeError

source§

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

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

impl Error for CalculateFeeError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for CalculateFeeError

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl Debug for CalculateFeeError

source§

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

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

impl Display for CalculateFeeError

source§

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

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

impl Error for CalculateFeeError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for CalculateFeeError

source§

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

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

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

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

impl Eq for CalculateFeeError

source§

impl StructuralPartialEq for CalculateFeeError

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +sufficient, and should not be overridden without very good reason.

source§

impl Eq for CalculateFeeError

source§

impl StructuralPartialEq for CalculateFeeError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where 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 5d80888778..d27f717a5c 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 contains transactions and indexes them so you can easily traverse the graph of those transactions. TxGraph is monotone in that you can always insert a transaction – it does not care whether that transaction is in the current best chain or whether it conflicts with @@ -50,7 +50,10 @@ restored_tx_graph.apply_changeset(changeset);

A TxGraph can also be updated with another TxGraph which merges them together.

let mut graph: TxGraph = TxGraph::default();
-let update = TxGraph::new(vec![tx_a, tx_b]);
+
+let mut update = tx_graph::Update::default();
+update.txs.push(Arc::new(tx_a));
+update.txs.push(Arc::new(tx_b));
 
 // apply the update graph
 let changeset = graph.apply_update(update.clone());
@@ -58,4 +61,4 @@ restored_tx_graph.apply_changeset(changeset);
 // if we apply it again, the resulting changeset will be empty
 let changeset = graph.apply_update(update);
 assert!(changeset.is_empty());
-

Structs§

Enums§

\ No newline at end of file +

Structs§

Enums§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js index 52e9d38815..200633c09b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["CalculateFeeError"],"struct":["CanonicalTx","ChangeSet","TxAncestors","TxDescendants","TxGraph","TxNode"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["CalculateFeeError"],"struct":["CanonicalTx","ChangeSet","TxAncestors","TxDescendants","TxGraph","TxNode","Update"]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html index 8ac50fb6e2..7561f74d76 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html @@ -1,17 +1,17 @@ -CanonicalTx in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::CanonicalTx

source ·
pub struct CanonicalTx<'a, T, A> {
+CanonicalTx in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::CanonicalTx

source ·
pub struct CanonicalTx<'a, T, A> {
     pub chain_position: ChainPosition<&'a A>,
     pub tx_node: TxNode<'a, T, A>,
 }
Expand description

A transaction that is included in the chain, or is still in mempool.

Fields§

§chain_position: ChainPosition<&'a A>

How the transaction is observed as (confirmed or unconfirmed).

§tx_node: TxNode<'a, T, A>

The transaction node (as part of the graph).

-

Trait Implementations§

source§

impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>

source§

fn clone(&self) -> CanonicalTx<'a, T, A>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a, T: Debug, A: Debug> Debug for CanonicalTx<'a, T, A>

source§

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

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

impl<'a, T: Ord, A: Ord> Ord for CanonicalTx<'a, T, A>

source§

fn cmp(&self, other: &CanonicalTx<'a, T, A>) -> Ordering

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

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

Trait Implementations§

source§

impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>

source§

fn clone(&self) -> CanonicalTx<'a, T, A>

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

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

Performs copy-assignment from source. Read more
source§

impl<'a, T: Debug, A: Debug> Debug for CanonicalTx<'a, T, A>

source§

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

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

impl<'a, T: Ord, A: Ord> Ord for CanonicalTx<'a, T, A>

source§

fn cmp(&self, other: &CanonicalTx<'a, T, A>) -> Ordering

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

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

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

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

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

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

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

impl<'a, T: PartialEq, A: PartialEq> PartialEq for CanonicalTx<'a, T, A>

source§

fn eq(&self, other: &CanonicalTx<'a, T, A>) -> bool

This method tests for self and other values to be equal, and is used + Self: Sized + PartialOrd,

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

impl<'a, T: PartialEq, A: PartialEq> PartialEq for CanonicalTx<'a, T, A>

source§

fn eq(&self, other: &CanonicalTx<'a, T, A>) -> bool

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

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

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

impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd for CanonicalTx<'a, T, A>

source§

fn partial_cmp(&self, other: &CanonicalTx<'a, T, A>) -> Option<Ordering>

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

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

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

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

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

impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd for CanonicalTx<'a, T, A>

source§

fn partial_cmp(&self, other: &CanonicalTx<'a, T, A>) -> Option<Ordering>

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

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

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

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

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

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

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

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

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

impl<'a, T: Eq, A: Eq> Eq for CanonicalTx<'a, T, A>

source§

impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>

Auto Trait Implementations§

§

impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>
where +operator. Read more

source§

impl<'a, T: Eq, A: Eq> Eq for CanonicalTx<'a, T, A>

source§

impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>

Auto Trait Implementations§

§

impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>
where T: Freeze,

§

impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>

§

impl<'a, T, A> Send for CanonicalTx<'a, T, A>
where 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 9e703e17f0..095e8e02f9 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<Arc<Transaction>>,
     pub txouts: BTreeMap<OutPoint, TxOut>,
     pub anchors: BTreeSet<(A, Txid)>,
@@ -11,17 +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§

source§

impl<A> ChangeSet<A>

source

pub fn txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterates over all outpoints contained within ChangeSet.

-
source

pub fn anchor_heights(&self) -> impl Iterator<Item = u32> + '_
where +

Implementations§

source§

impl<A> ChangeSet<A>

source

pub fn txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterates over all outpoints contained within ChangeSet.

+
source

pub fn anchor_heights(&self) -> impl Iterator<Item = u32> + '_
where A: Anchor,

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.

-
source§

impl<A: Ord> ChangeSet<A>

source

pub fn map_anchors<A2: Ord, F>(self, f: F) -> ChangeSet<A2>
where +

source§

impl<A: Ord> ChangeSet<A>

source

pub fn map_anchors<A2: Ord, F>(self, f: F) -> ChangeSet<A2>
where F: FnMut(A) -> A2,

Transform the ChangeSet to have Anchors of another type.

This takes in a closure of signature FnMut(A) -> A2 which is called for each Anchor to transform it.

source§

impl<A> ChangeSet<A>

source

pub const SCHEMA_NAME: &'static str = "bdk_txgraph"

source

pub const SCHEMA_NAME: &'static str = "bdk_txgraph"

Schema name for tx_graph::ChangeSet.

source

pub const TXS_TABLE_NAME: &'static str = "bdk_txs"

Name of table that stores full transactions and last_seen timestamps.

source

pub const TXOUTS_TABLE_NAME: &'static str = "bdk_txouts"

Name of table that stores floating txouts.

source

pub const ANCHORS_TABLE_NAME: &'static str = "bdk_anchors"

Name of table that stores Anchors.

@@ -30,13 +30,13 @@ transform it.

Remember to call Self::init_sqlite_tables beforehand.

source

pub fn persist_to_sqlite(&self, db_tx: &Transaction<'_>) -> Result<()>

Persist changeset to the sqlite database.

Remember to call Self::init_sqlite_tables beforehand.

-

Trait Implementations§

source§

impl<A: Clone> Clone for ChangeSet<A>

source§

fn clone(&self) -> ChangeSet<A>

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug> Debug for ChangeSet<A>

source§

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

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

impl<A> Default for ChangeSet<A>

source§

fn default() -> Self

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

impl<'de, A> Deserialize<'de> for ChangeSet<A>
where - A: Ord + Deserialize<'de>,

source§

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

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

impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

source§

fn from(graph: ChangeSet<A>) -> Self

Converts to this type from the input type.
source§

impl<A: Ord> Merge for ChangeSet<A>

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl<A: PartialEq> PartialEq for ChangeSet<A>

source§

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

This method tests for self and other values to be equal, and is used +

Trait Implementations§

source§

impl<A: Clone> Clone for ChangeSet<A>

source§

fn clone(&self) -> ChangeSet<A>

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug> Debug for ChangeSet<A>

source§

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

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

impl<A> Default for ChangeSet<A>

source§

fn default() -> Self

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

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

source§

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

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

impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

source§

fn from(graph: ChangeSet<A>) -> Self

Converts to this type from the input type.
source§

impl<A: Ord> Merge for ChangeSet<A>

source§

fn merge(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

fn take(&mut self) -> Option<Self>

Take the value, replacing it with the default value.
source§

impl<A: PartialEq> PartialEq for ChangeSet<A>

source§

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

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

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

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

impl<A> Serialize for ChangeSet<A>
where - A: Ord + Serialize,

source§

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

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

impl<A> StructuralPartialEq for ChangeSet<A>

Auto Trait Implementations§

§

impl<A> Freeze for ChangeSet<A>

§

impl<A> RefUnwindSafe for ChangeSet<A>
where +sufficient, and should not be overridden without very good reason.

source§

impl<A> Serialize for ChangeSet<A>
where + A: Ord + Serialize,

source§

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

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

impl<A> StructuralPartialEq for ChangeSet<A>

Auto Trait Implementations§

§

impl<A> Freeze for ChangeSet<A>

§

impl<A> RefUnwindSafe for ChangeSet<A>
where A: RefUnwindSafe,

§

impl<A> Send for ChangeSet<A>
where A: Send,

§

impl<A> Sync for ChangeSet<A>
where A: Sync,

§

impl<A> Unpin for ChangeSet<A>

§

impl<A> UnwindSafe for ChangeSet<A>
where @@ -52,5 +52,5 @@ sufficient, and should not be overridden without very good reason.
Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where - T: for<'de> Deserialize<'de>,

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where + T: for<'de> Deserialize<'de>,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html index 487da1b32f..765388e1df 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html @@ -1,8 +1,8 @@ -TxAncestors in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxAncestors

source ·
pub struct TxAncestors<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses ancestors of a given root transaction.

+TxAncestors in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxAncestors

source ·
pub struct TxAncestors<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses ancestors of a given root transaction.

The iterator excludes partial transactions.

Returned by the walk_ancestors method of TxGraph.

-

Trait Implementations§

source§

impl<'g, A, F, O> Iterator for TxAncestors<'g, A, F>
where - F: FnMut(usize, Arc<Transaction>) -> Option<O>,

§

type Item = O

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( +

Trait Implementations§

source§

impl<'g, A, F, O> Iterator for TxAncestors<'g, A, F>
where + F: FnMut(usize, Arc<Transaction>) -> Option<O>,

§

type Item = O

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
1.0.0 · source§

fn count(self) -> usize
where 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 67a1882f1d..38536d21fe 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,7 +1,7 @@ -TxDescendants in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxDescendants

source ·
pub struct TxDescendants<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses transaction descendants.

+TxDescendants in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxDescendants

source ·
pub struct TxDescendants<'g, A, F> { /* private fields */ }
Expand description

An iterator that traverses transaction descendants.

Returned by the walk_descendants method of TxGraph.

-

Trait Implementations§

source§

impl<'g, A, F, O> Iterator for TxDescendants<'g, A, F>
where - F: FnMut(usize, Txid) -> Option<O>,

§

type Item = O

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( +

Trait Implementations§

source§

impl<'g, A, F, O> Iterator for TxDescendants<'g, A, F>
where + F: FnMut(usize, Txid) -> Option<O>,

§

type Item = O

The type of the elements being iterated over.
source§

fn next(&mut self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
where Self: Sized,

🔬This is a nightly-only experimental API. (iter_next_chunk)
Advances the iterator and returns an array containing the next N values. Read more
1.0.0 · source§

fn size_hint(&self) -> (usize, Option<usize>)

Returns the bounds on the remaining length of the iterator. Read more
1.0.0 · source§

fn count(self) -> usize
where 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 fc4b438354..f7e232441d 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 @@ -1,21 +1,21 @@ -TxGraph in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxGraph

source ·
pub struct TxGraph<A = ()> { /* private fields */ }
Expand description

A graph of transactions and spends.

+TxGraph in bdk_chain::tx_graph - Rust

Struct bdk_chain::tx_graph::TxGraph

source ·
pub struct TxGraph<A = ()> { /* private fields */ }
Expand description

A graph of transactions and spends.

See the module-level documentation for more.

-

Implementations§

source§

impl<A> TxGraph<A>

source

pub fn all_txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterate over all tx outputs known by TxGraph.

+

Implementations§

source§

impl<A> TxGraph<A>

source

pub fn all_txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterate over all tx outputs known by TxGraph.

This includes txouts of both full transactions as well as floating transactions.

-
source

pub fn floating_txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterate over floating txouts known by TxGraph.

+
source

pub fn floating_txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>

Iterate over floating txouts known by TxGraph.

Floating txouts are txouts that do not have the residing full transaction contained in the graph.

-
source

pub fn full_txs(&self) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, A>>

Iterate over all full transactions in the graph.

-
source

pub fn txs_with_no_anchor_or_last_seen( +

source

pub fn full_txs(&self) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, A>>

Iterate over all full transactions in the graph.

+
source

pub fn txs_with_no_anchor_or_last_seen( &self ) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, A>>

Iterate over graph transactions with no anchors or last-seen.

-
source

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

Get a transaction by txid. This only returns Some for full transactions.

+
source

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

Get a transaction by txid. This only returns Some for full transactions.

Refer to get_txout for getting a specific [TxOut].

-
source

pub fn get_tx_node(&self, txid: Txid) -> Option<TxNode<'_, Arc<Transaction>, A>>

Get a transaction node by txid. This only returns Some for full transactions.

-
source

pub fn get_txout(&self, outpoint: OutPoint) -> Option<&TxOut>

Obtains a single tx output (if any) at the specified outpoint.

-
source

pub fn tx_outputs(&self, txid: Txid) -> Option<BTreeMap<u32, &TxOut>>

Returns known outputs of a given txid.

+
source

pub fn get_tx_node(&self, txid: Txid) -> Option<TxNode<'_, Arc<Transaction>, A>>

Get a transaction node by txid. This only returns Some for full transactions.

+
source

pub fn get_txout(&self, outpoint: OutPoint) -> Option<&TxOut>

Obtains a single tx output (if any) at the specified outpoint.

+
source

pub fn tx_outputs(&self, txid: Txid) -> Option<BTreeMap<u32, &TxOut>>

Returns known outputs of a given txid.

Returns a BTreeMap of vout to output of the provided txid.

-
source

pub fn calculate_fee( +

source

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

Calculates the fee of a given transaction. Returns [Amount::ZERO] if tx is a coinbase transaction. @@ -25,10 +25,10 @@ the full transactions or individual txouts).

first manually insert the foreign TxOuts into the tx graph using the insert_txout function. Only insert TxOuts you trust the values for!

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

-
source

pub fn outspends(&self, outpoint: OutPoint) -> &HashSet<Txid>

The transactions spending from this output.

+
source

pub fn outspends(&self, outpoint: OutPoint) -> &HashSet<Txid>

The transactions spending from this output.

TxGraph allows conflicting transactions within the graph. Obviously the transactions in the returned set will never be in the same active-chain.

-
source

pub fn tx_spends( +

source

pub fn tx_spends( &self, txid: Txid ) -> impl DoubleEndedIterator<Item = (u32, &HashSet<Txid>)> + '_

Iterates over the transactions spending from txid.

@@ -37,7 +37,7 @@ the returned set will never be in the same active-chain.

  • vout is the provided txid’s outpoint that is being spent
  • txid-set is the set of txids spending the vout.
  • -

    source§

    impl<A: Clone + Ord> TxGraph<A>

    source

    pub fn walk_ancestors<'g, T, F, O>( +

    source§

    impl<A: Clone + Ord> TxGraph<A>

    source

    pub fn walk_ancestors<'g, T, F, O>( &'g self, tx: T, walk_map: F @@ -54,7 +54,7 @@ the Transaction is spending an output of the ancestor_tx

    The supplied closure returns an Option<T>, allowing the caller to map each Transaction it visits and decide whether to visit ancestors.

    -

    source

    pub fn walk_descendants<'g, F, O>( +

    source

    pub fn walk_descendants<'g, F, O>( &'g self, txid: Txid, walk_map: F @@ -68,7 +68,7 @@ descendant is spending an output of the starting txid then de

    The supplied closure returns an Option<T>, allowing the caller to map each node it visits and decide whether to visit descendants.

    -

    source§

    impl<A> TxGraph<A>

    source

    pub fn walk_conflicts<'g, F, O>( +

    source§

    impl<A> TxGraph<A>

    source

    pub fn walk_conflicts<'g, F, O>( &'g self, tx: &'g Transaction, walk_map: F @@ -76,7 +76,7 @@ and decide whether to visit descendants.

    F: FnMut(usize, Txid) -> Option<O> + 'g,

    Creates an iterator that both filters and maps conflicting transactions (this includes descendants of directly-conflicting transactions, which are also considered conflicts).

    Refer to Self::walk_descendants for walk_map usage.

    -
    source

    pub fn direct_conflicts<'g>( +

    source

    pub fn direct_conflicts<'g>( &'g self, tx: &'g Transaction ) -> impl Iterator<Item = (usize, Txid)> + '_

    Given a transaction, return an iterator of txids that directly conflict with the given @@ -87,63 +87,52 @@ transaction’s vin (in which it conflicts).

  • descendants of conflicting transactions (which are technically also conflicting)
  • transactions conflicting with the given transaction’s ancestors
  • -
    source

    pub fn all_anchors(&self) -> &BTreeSet<(A, Txid)>

    Get all transaction anchors known by TxGraph.

    -
    source

    pub fn is_empty(&self) -> bool

    Whether the graph has any transactions or outputs in it.

    -
    source§

    impl<A: Clone + Ord> TxGraph<A>

    source

    pub fn map_anchors<A2: Clone + Ord, F>(self, f: F) -> TxGraph<A2>
    where +

    source

    pub fn all_anchors(&self) -> &BTreeSet<(A, Txid)>

    Get all transaction anchors known by TxGraph.

    +
    source

    pub fn is_empty(&self) -> bool

    Whether the graph has any transactions or outputs in it.

    +
    source§

    impl<A: Clone + Ord> TxGraph<A>

    source

    pub fn map_anchors<A2: Clone + Ord, F>(self, f: F) -> TxGraph<A2>
    where F: FnMut(A) -> A2,

    Transform the TxGraph to have Anchors of another type.

    This takes in a closure of signature FnMut(A) -> A2 which is called for each Anchor to transform it.

    -
    source

    pub fn new(txs: impl IntoIterator<Item = Transaction>) -> Self

    Construct a new TxGraph from a list of transactions.

    -
    source

    pub fn insert_txout(&mut self, outpoint: OutPoint, txout: TxOut) -> ChangeSet<A>

    Inserts the given [TxOut] at [OutPoint].

    +
    source

    pub fn new(txs: impl IntoIterator<Item = Transaction>) -> Self

    Construct a new TxGraph from a list of transactions.

    +
    source

    pub fn insert_txout(&mut self, outpoint: OutPoint, txout: TxOut) -> ChangeSet<A>

    Inserts the given [TxOut] at [OutPoint].

    Inserting floating txouts are useful for determining fee/feerate of transactions we care about.

    The ChangeSet result will be empty if the outpoint (or a full transaction containing the outpoint) already existed in self.

    -
    source

    pub fn insert_tx<T: Into<Arc<Transaction>>>(&mut self, tx: T) -> ChangeSet<A>

    Inserts the given transaction into TxGraph.

    +
    source

    pub fn insert_tx<T: Into<Arc<Transaction>>>(&mut self, tx: T) -> ChangeSet<A>

    Inserts the given transaction into TxGraph.

    The ChangeSet returned will be empty if tx already exists.

    -
    source

    pub fn batch_insert_unconfirmed( +

    source

    pub fn batch_insert_unconfirmed( &mut self, txs: impl IntoIterator<Item = (Transaction, u64)> ) -> ChangeSet<A>

    Batch insert unconfirmed transactions.

    Items of txs are tuples containing the transaction and a last seen timestamp. The last seen communicates when the transaction is last seen in mempool which is used for conflict-resolution (refer to TxGraph::insert_seen_at for details).

    -
    source

    pub fn insert_anchor(&mut self, txid: Txid, anchor: A) -> ChangeSet<A>

    Inserts the given anchor into TxGraph.

    +
    source

    pub fn insert_anchor(&mut self, txid: Txid, anchor: A) -> ChangeSet<A>

    Inserts the given anchor into TxGraph.

    The ChangeSet returned will be empty if graph already knows that txid exists in anchor.

    -
    source

    pub fn insert_seen_at(&mut self, txid: Txid, seen_at: u64) -> ChangeSet<A>

    Inserts the given seen_at for txid into TxGraph.

    -

    Note that TxGraph only keeps track of the latest seen_at. To batch -update all unconfirmed transactions with the latest seen_at, see -update_last_seen_unconfirmed.

    -
    source

    pub fn update_last_seen_unconfirmed(&mut self, seen_at: u64) -> ChangeSet<A>

    Update the last seen time for all unconfirmed transactions.

    -

    This method updates the last seen unconfirmed time for this TxGraph by inserting -the given seen_at for every transaction not yet anchored to a confirmed block, -and returns the ChangeSet after applying all updates to self.

    -

    This is useful for keeping track of the latest time a transaction was seen -unconfirmed, which is important for evaluating transaction conflicts in the same -TxGraph. For details of how TxGraph resolves conflicts, see the docs for -try_get_chain_position.

    -

    A normal use of this method is to call it with the current system time. Although -block headers contain a timestamp, using the header time would be less effective -at tracking mempool transactions, because it can drift from actual clock time, plus -we may want to update a transaction’s last seen time repeatedly between blocks.

    -
    §Example
    -
    let now = std::time::SystemTime::now()
    -    .duration_since(UNIX_EPOCH)
    -    .expect("valid duration")
    -    .as_secs();
    -let changeset = tx_graph.update_last_seen_unconfirmed(now);
    -assert!(!changeset.last_seen.is_empty());
    -

    Note that TxGraph only keeps track of the latest seen_at, so the given time must -by strictly greater than what is currently stored for a transaction to have an effect. -To insert a last seen time for a single txid, see insert_seen_at.

    -
    source

    pub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A>

    Extends this graph with another so that self becomes the union of the two sets of -transactions.

    +
    source

    pub fn insert_seen_at(&mut self, txid: Txid, seen_at: u64) -> ChangeSet<A>

    Inserts the given seen_at for txid into TxGraph.

    +

    Note that TxGraph only keeps track of the latest seen_at.

    +
    source

    pub fn apply_update(&mut self, update: Update<A>) -> ChangeSet<A>

    Available on crate feature std only.

    Extends this graph with the given update.

    The returned ChangeSet is the set difference between update and self (transactions that exist in update but not in self).

    -
    source

    pub fn initial_changeset(&self) -> ChangeSet<A>

    Determines the ChangeSet between self and an empty TxGraph.

    -
    source

    pub fn apply_changeset(&mut self, changeset: ChangeSet<A>)

    Applies ChangeSet to TxGraph.

    -
    source§

    impl<A: Anchor> TxGraph<A>

    source

    pub fn apply_update_at( + &mut self, + update: Update<A>, + seen_at: Option<u64> +) -> ChangeSet<A>

    Extends this graph with the given update alongside an optional seen_at timestamp.

    +

    seen_at represents when the update is seen (in unix seconds). It is used to determine the +last_seens for all transactions in the update which have no corresponding anchor(s). The +last_seen value is used internally to determine precedence of conflicting unconfirmed +transactions (where the transaction with the lower last_seen value is omitted from the +canonical history).

    +

    Not setting a seen_at value means unconfirmed transactions introduced by this update will +not be part of the canonical history of transactions.

    +

    Use apply_update to have the seen_at value automatically set +to the current time.

    +
    source

    pub fn initial_changeset(&self) -> ChangeSet<A>

    Determines the ChangeSet between self and an empty TxGraph.

    +
    source

    pub fn apply_changeset(&mut self, changeset: ChangeSet<A>)

    Applies ChangeSet to TxGraph.

    +
    source§

    impl<A: Anchor> TxGraph<A>

    source

    pub fn try_get_chain_position<C: ChainOracle>( &self, chain: &C, chain_tip: BlockId, @@ -166,14 +155,14 @@ lexicographical order) is evicted.

    §Error

    An error will occur if the ChainOracle implementation (chain) fails. If the ChainOracle is infallible, get_chain_position can be used instead.

    -
    source

    pub fn get_chain_position<C: ChainOracle<Error = Infallible>>( +

    source

    pub fn get_chain_position<C: ChainOracle<Error = Infallible>>( &self, chain: &C, chain_tip: BlockId, txid: Txid ) -> Option<ChainPosition<&A>>

    Get the position of the transaction in chain with tip chain_tip.

    This is the infallible version of try_get_chain_position.

    -
    source

    pub fn try_get_chain_spend<C: ChainOracle>( +

    source

    pub fn try_get_chain_spend<C: ChainOracle>( &self, chain: &C, chain_tip: BlockId, @@ -184,7 +173,7 @@ the chain of chain_tip.

    §Error

    An error will occur only if the ChainOracle implementation (chain) fails.

    If the ChainOracle is infallible, get_chain_spend can be used instead.

    -
    source

    pub fn get_chain_spend<C: ChainOracle<Error = Infallible>>( +

    source

    pub fn get_chain_spend<C: ChainOracle<Error = Infallible>>( &self, chain: &C, static_block: BlockId, @@ -192,7 +181,7 @@ the chain of chain_tip.

    ) -> Option<(ChainPosition<&A>, Txid)>

    Get the txid of the spending transaction and where the spending transaction is observed in the chain of chain_tip.

    This is the infallible version of try_get_chain_spend

    -
    source

    pub fn try_list_canonical_txs<'a, C: ChainOracle + 'a>( +

    source

    pub fn try_list_canonical_txs<'a, C: ChainOracle + 'a>( &'a self, chain: &'a C, chain_tip: BlockId @@ -203,13 +192,13 @@ observed in-chain, and the ChainOracle implementation (chain) fails, an error will be returned with the returned item.

    If the ChainOracle is infallible, list_canonical_txs can be used instead.

    -

    source

    pub fn list_canonical_txs<'a, C: ChainOracle + 'a>( +

    source

    pub fn list_canonical_txs<'a, C: ChainOracle + 'a>( &'a self, chain: &'a C, chain_tip: BlockId ) -> impl Iterator<Item = CanonicalTx<'a, Arc<Transaction>, A>>

    List graph transactions that are in chain with chain_tip.

    This is the infallible version of try_list_canonical_txs.

    -
    source

    pub fn try_filter_chain_txouts<'a, C: ChainOracle + 'a, OI: Clone + 'a>( +

    source

    pub fn try_filter_chain_txouts<'a, C: ChainOracle + 'a, OI: Clone + 'a>( &'a self, chain: &'a C, chain_tip: BlockId, @@ -226,7 +215,7 @@ are ignored.

    fails.

    If the ChainOracle implementation is infallible, filter_chain_txouts can be used instead.

    -

    source

    pub fn filter_chain_txouts<'a, C: ChainOracle<Error = Infallible> + 'a, OI: Clone + 'a>( +

    source

    pub fn filter_chain_txouts<'a, C: ChainOracle<Error = Infallible> + 'a, OI: Clone + 'a>( &'a self, chain: &'a C, chain_tip: BlockId, @@ -234,7 +223,7 @@ instead.

    ) -> impl Iterator<Item = (OI, FullTxOut<A>)> + 'a

    Get a filtered list of outputs from the given outpoints that are in chain with chain_tip.

    This is the infallible version of try_filter_chain_txouts.

    -
    source

    pub fn try_filter_chain_unspents<'a, C: ChainOracle + 'a, OI: Clone + 'a>( +

    source

    pub fn try_filter_chain_unspents<'a, C: ChainOracle + 'a, OI: Clone + 'a>( &'a self, chain: &'a C, chain_tip: BlockId, @@ -250,7 +239,7 @@ instead.

    fails.

    If the ChainOracle implementation is infallible, filter_chain_unspents can be used instead.

    -

    source

    pub fn filter_chain_unspents<'a, C: ChainOracle<Error = Infallible> + 'a, OI: Clone + 'a>( +

    source

    pub fn filter_chain_unspents<'a, C: ChainOracle<Error = Infallible> + 'a, OI: Clone + 'a>( &'a self, chain: &'a C, chain_tip: BlockId, @@ -258,7 +247,7 @@ instead.

    ) -> impl Iterator<Item = (OI, FullTxOut<A>)> + 'a

    Get a filtered list of unspent outputs (UTXOs) from the given outpoints that are in chain with chain_tip.

    This is the infallible version of try_filter_chain_unspents.

    -
    source

    pub fn try_balance<C: ChainOracle, OI: Clone>( +

    source

    pub fn try_balance<C: ChainOracle, OI: Clone>( &self, chain: &C, chain_tip: BlockId, @@ -271,7 +260,7 @@ instead.

    Iterator::enumerate over a list of [OutPoint]s.

    If the provided ChainOracle implementation (chain) is infallible, balance can be used instead.

    -

    source

    pub fn balance<C: ChainOracle<Error = Infallible>, OI: Clone>( +

    source

    pub fn balance<C: ChainOracle<Error = Infallible>, OI: Clone>( &self, chain: &C, chain_tip: BlockId, @@ -279,16 +268,16 @@ used instead.

    trust_predicate: impl FnMut(&OI, ScriptBuf) -> bool ) -> Balance

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

    This is the infallible version of try_balance.

    -

    Trait Implementations§

    source§

    impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

    source§

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

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

    impl<A> AsRef<TxGraph<A>> for TxGraph<A>

    source§

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

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

    impl<A: Clone> Clone for TxGraph<A>

    source§

    fn clone(&self) -> TxGraph<A>

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

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

    Performs copy-assignment from source. Read more
    source§

    impl<A: Debug> Debug for TxGraph<A>

    source§

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

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

    impl<A> Default for TxGraph<A>

    source§

    fn default() -> Self

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

    impl<A: PartialEq> PartialEq for TxGraph<A>

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

    source§

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

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

    impl<A> AsRef<TxGraph<A>> for TxGraph<A>

    source§

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

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

    impl<A: Clone> Clone for TxGraph<A>

    source§

    fn clone(&self) -> TxGraph<A>

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

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

    Performs copy-assignment from source. Read more
    source§

    impl<A: Debug> Debug for TxGraph<A>

    source§

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

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

    impl<A> Default for TxGraph<A>

    source§

    fn default() -> Self

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

    impl<A> From<TxGraph<A>> for Update<A>

    source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    source§

    impl<A: Ord + Clone> From<Update<A>> for TxGraph<A>

    source§

    fn from(update: Update<A>) -> Self

    Converts to this type from the input type.
    source§

    impl<A: PartialEq> PartialEq for TxGraph<A>

    source§

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

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

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

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

    impl<A> StructuralPartialEq for TxGraph<A>

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxGraph<A>

    §

    impl<A> RefUnwindSafe for TxGraph<A>
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl<A> StructuralPartialEq for TxGraph<A>

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxGraph<A>

    §

    impl<A> RefUnwindSafe for TxGraph<A>
    where A: RefUnwindSafe,

    §

    impl<A> Send for TxGraph<A>
    where A: Send,

    §

    impl<A> Sync for TxGraph<A>
    where A: Sync,

    §

    impl<A> Unpin for TxGraph<A>

    §

    impl<A> UnwindSafe for TxGraph<A>
    where A: RefUnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    + T: ?Sized,
    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    source§

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

    source§

    fn into(self) -> U

    Calls U::from(self).

    That is, this conversion is whatever the implementation of diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxNode.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxNode.html index ba1e839815..b0f86e728d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxNode.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxNode.html @@ -1,4 +1,4 @@ -TxNode in bdk_chain::tx_graph - Rust

    Struct bdk_chain::tx_graph::TxNode

    source ·
    pub struct TxNode<'a, T, A> {
    +TxNode in bdk_chain::tx_graph - Rust

    Struct bdk_chain::tx_graph::TxNode

    source ·
    pub struct TxNode<'a, T, A> {
         pub txid: Txid,
         pub tx: T,
         pub anchors: &'a BTreeSet<A>,
    @@ -8,14 +8,14 @@
     
    §tx: T

    A partial or full representation of the transaction.

    §anchors: &'a BTreeSet<A>

    The blocks that the transaction is “anchored” in.

    §last_seen_unconfirmed: Option<u64>

    The last-seen unix timestamp of the transaction as unconfirmed.

    -

    Trait Implementations§

    source§

    impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>

    source§

    fn clone(&self) -> TxNode<'a, T, A>

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

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

    Performs copy-assignment from source. Read more
    source§

    impl<'a, T: Debug, A: Debug> Debug for TxNode<'a, T, A>

    source§

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

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

    impl<'a, T, A> Deref for TxNode<'a, T, A>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'a, T: Ord, A: Ord> Ord for TxNode<'a, T, A>

    source§

    fn cmp(&self, other: &TxNode<'a, T, A>) -> Ordering

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

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

    Trait Implementations§

    source§

    impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>

    source§

    fn clone(&self) -> TxNode<'a, T, A>

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

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

    Performs copy-assignment from source. Read more
    source§

    impl<'a, T: Debug, A: Debug> Debug for TxNode<'a, T, A>

    source§

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

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

    impl<'a, T, A> Deref for TxNode<'a, T, A>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl<'a, T: Ord, A: Ord> Ord for TxNode<'a, T, A>

    source§

    fn cmp(&self, other: &TxNode<'a, T, A>) -> Ordering

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

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

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

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

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

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

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

    impl<'a, T: PartialEq, A: PartialEq> PartialEq for TxNode<'a, T, A>

    source§

    fn eq(&self, other: &TxNode<'a, T, A>) -> bool

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

    impl<'a, T: PartialEq, A: PartialEq> PartialEq for TxNode<'a, T, A>

    source§

    fn eq(&self, other: &TxNode<'a, T, A>) -> bool

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

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

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

    impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd for TxNode<'a, T, A>

    source§

    fn partial_cmp(&self, other: &TxNode<'a, T, A>) -> Option<Ordering>

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

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

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

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

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

    impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd for TxNode<'a, T, A>

    source§

    fn partial_cmp(&self, other: &TxNode<'a, T, A>) -> Option<Ordering>

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

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

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

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

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

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

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

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

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

    impl<'a, T: Eq, A: Eq> Eq for TxNode<'a, T, A>

    source§

    impl<'a, T, A> StructuralPartialEq for TxNode<'a, T, A>

    Auto Trait Implementations§

    §

    impl<'a, T, A> Freeze for TxNode<'a, T, A>
    where +operator. Read more

    source§

    impl<'a, T: Eq, A: Eq> Eq for TxNode<'a, T, A>

    source§

    impl<'a, T, A> StructuralPartialEq for TxNode<'a, T, A>

    Auto Trait Implementations§

    §

    impl<'a, T, A> Freeze for TxNode<'a, T, A>
    where T: Freeze,

    §

    impl<'a, T, A> RefUnwindSafe for TxNode<'a, T, A>

    §

    impl<'a, T, A> Send for TxNode<'a, T, A>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.Update.html new file mode 100644 index 0000000000..4eacf31f63 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.Update.html @@ -0,0 +1,28 @@ +Update in bdk_chain::tx_graph - Rust

    Struct bdk_chain::tx_graph::Update

    source ·
    pub struct Update<A = ()> {
    +    pub txs: Vec<Arc<Transaction>>,
    +    pub txouts: BTreeMap<OutPoint, TxOut>,
    +    pub anchors: BTreeSet<(A, Txid)>,
    +    pub seen_ats: HashMap<Txid, u64>,
    +}
    Expand description

    Data object used to update the TxGraph with.

    +

    Fields§

    §txs: Vec<Arc<Transaction>>

    Full transactions.

    +
    §txouts: BTreeMap<OutPoint, TxOut>

    Floating txouts.

    +
    §anchors: BTreeSet<(A, Txid)>

    Transaction anchors.

    +
    §seen_ats: HashMap<Txid, u64>

    Seen at times for transactions.

    +

    Implementations§

    source§

    impl<A: Ord> Update<A>

    source

    pub fn extend(&mut self, other: Update<A>)

    Extend this update with other.

    +

    Trait Implementations§

    source§

    impl<A: Clone> Clone for Update<A>

    source§

    fn clone(&self) -> Update<A>

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

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

    Performs copy-assignment from source. Read more
    source§

    impl<A: Debug> Debug for Update<A>

    source§

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

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

    impl<A> Default for Update<A>

    source§

    fn default() -> Self

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

    impl<A> From<TxGraph<A>> for Update<A>

    source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    source§

    impl<A: Ord + Clone> From<Update<A>> for TxGraph<A>

    source§

    fn from(update: Update<A>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<A> Freeze for Update<A>

    §

    impl<A> RefUnwindSafe for Update<A>
    where + A: RefUnwindSafe,

    §

    impl<A> Send for Update<A>
    where + A: Send,

    §

    impl<A> Sync for Update<A>
    where + A: Sync,

    §

    impl<A> Unpin for Update<A>

    §

    impl<A> UnwindSafe for Update<A>
    where + A: RefUnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

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

    source§

    fn into(self) -> U

    Calls U::from(self).

    +

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

    +
    source§

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

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

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

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

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

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

    §

    type Error = Infallible

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

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

    Performs the conversion.
    source§

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

    §

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

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

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

    Performs the conversion.
    §

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

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html index 6c8cdf1e53..30ef1692bc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html @@ -1,2 +1,2 @@ -Indexed in bdk_chain - Rust

    Type Alias bdk_chain::Indexed

    source ·
    pub type Indexed<T> = (u32, T);
    Expand description

    A tuple of keychain index and T representing the indexed value.

    +Indexed in bdk_chain - Rust

    Type Alias bdk_chain::Indexed

    source ·
    pub type Indexed<T> = (u32, T);
    Expand description

    A tuple of keychain index and T representing the indexed value.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html index 9441ec8e8e..612de455f4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html @@ -1,2 +1,2 @@ -KeychainIndexed in bdk_chain - Rust

    Type Alias bdk_chain::KeychainIndexed

    source ·
    pub type KeychainIndexed<K, T> = ((K, u32), T);
    Expand description

    A tuple of keychain K, derivation index (u32) and a T associated with them.

    +KeychainIndexed in bdk_chain - Rust

    Type Alias bdk_chain::KeychainIndexed

    source ·
    pub type KeychainIndexed<K, T> = ((K, u32), T);
    Expand description

    A tuple of keychain K, derivation index (u32) and a T associated with them.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html index c0f9ebfb32..612855e1d3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html @@ -4,7 +4,7 @@ }
    Expand description

    Wrapper around an [electrum_client::ElectrumApi] which includes an internal in-memory transaction cache to avoid re-fetching already downloaded transactions.

    Fields§

    §inner: E

    The internal [electrum_client::ElectrumApi]

    -

    Implementations§

    source§

    impl<E: ElectrumApi> BdkElectrumClient<E>

    source

    pub fn new(client: E) -> Self

    Creates a new bdk client from a [electrum_client::ElectrumApi]

    +

    Implementations§

    source§

    impl<E: ElectrumApi> BdkElectrumClient<E>

    source

    pub fn new(client: E) -> Self

    Creates a new bdk client from a [electrum_client::ElectrumApi]

    source

    pub fn populate_tx_cache<A>(&self, tx_graph: impl AsRef<TxGraph<A>>)

    Inserts transactions into the transaction cache so that the client will not fetch these transactions.

    source

    pub fn fetch_tx(&self, txid: Txid) -> Result<Arc<Transaction>, Error>

    Fetch transaction of given txid.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html index 3d2976769e..c3ddc5efe9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html @@ -1,4 +1,4 @@ -EsploraAsyncExt in bdk_esplora - Rust

    Trait bdk_esplora::EsploraAsyncExt

    source ·
    pub trait EsploraAsyncExt {
    +EsploraAsyncExt in bdk_esplora - Rust

    Trait bdk_esplora::EsploraAsyncExt

    source ·
    pub trait EsploraAsyncExt {
         // Required methods
         fn full_scan<'life0, 'async_trait, K, R>(
             &'life0 self,
    @@ -21,7 +21,7 @@
                  'life0: 'async_trait;
     }
    Expand description

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

    Refer to crate-level documentation for more.

    -

    Required Methods§

    source

    fn full_scan<'life0, 'async_trait, K, R>( +

    Required Methods§

    source

    fn full_scan<'life0, 'async_trait, K, R>( &'life0 self, request: R, stop_gap: usize, @@ -37,7 +37,7 @@ applied to the receiving structures.

    stop_gap script pubkeys with no associated transactions. parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    -

    source

    fn sync<'life0, 'async_trait, I, R>( +

    source

    fn sync<'life0, 'async_trait, I, R>( &'life0 self, request: R, parallel_requests: usize @@ -50,7 +50,7 @@ the maximum number of HTTP requests to make in parallel.

    [SyncRequest]). parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    -

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl EsploraAsyncExt for AsyncClient

    source§

    fn full_scan<'life0, 'async_trait, K, R>( +

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl EsploraAsyncExt for AsyncClient

    source§

    fn full_scan<'life0, 'async_trait, K, R>( &'life0 self, request: R, stop_gap: usize, @@ -59,7 +59,7 @@ in parallel.

    K: 'async_trait + Ord + Clone + Send, R: 'async_trait + Into<FullScanRequest<K>> + Send, Self: 'async_trait, - 'life0: 'async_trait,

    source§

    fn sync<'life0, 'async_trait, I, R>( + 'life0: 'async_trait,

    source§

    fn sync<'life0, 'async_trait, I, R>( &'life0 self, request: R, parallel_requests: usize diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html index d7f5540f5e..bf10bf73b6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html @@ -34,12 +34,12 @@ the maximum number of HTTP requests to make in parallel.

    [SyncRequest]). parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    -

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl EsploraExt for BlockingClient

    source§

    fn full_scan<K: Ord + Clone, R: Into<FullScanRequest<K>>>( +

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl EsploraExt for BlockingClient

    source§

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

    source§

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( +) -> Result<FullScanResult<K>, Error>

    source§

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( &self, request: R, parallel_requests: usize diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html index 1858225ad8..4c027b0c72 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html @@ -4,7 +4,7 @@ }
    Expand description

    Fields§

    §changeset: Option<C>

    The partially-aggregated changeset.

    §iter_error: IterError

    The error returned by EntryIter.

    -

    Trait Implementations§

    source§

    impl<C: Debug> Debug for AggregateChangesetsError<C>

    source§

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

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

    impl<C> Display for AggregateChangesetsError<C>

    source§

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

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

    impl<C: Debug> Error for AggregateChangesetsError<C>

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    §

    impl<C> Freeze for AggregateChangesetsError<C>
    where +

    Trait Implementations§

    source§

    impl<C: Debug> Debug for AggregateChangesetsError<C>

    source§

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

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

    impl<C> Display for AggregateChangesetsError<C>

    source§

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

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

    impl<C: Debug> Error for AggregateChangesetsError<C>

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    §

    impl<C> Freeze for AggregateChangesetsError<C>
    where C: Freeze,

    §

    impl<C> !RefUnwindSafe for AggregateChangesetsError<C>

    §

    impl<C> Send for AggregateChangesetsError<C>
    where C: Send,

    §

    impl<C> Sync for AggregateChangesetsError<C>
    where C: Sync,

    §

    impl<C> Unpin for AggregateChangesetsError<C>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.EntryIter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.EntryIter.html index 746af8a64e..8beedb9921 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.EntryIter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.EntryIter.html @@ -2,7 +2,7 @@

    Reads and returns an entry each time next is called. If an error occurs while reading the iterator will yield a Result::Err(_) instead and then None for the next call to next.

    Implementations§

    source§

    impl<'t, T> EntryIter<'t, T>

    source

    pub fn new(start_pos: u64, db_file: &'t mut File) -> Self

    Trait Implementations§

    source§

    impl<'t, T> Drop for EntryIter<'t, T>

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source§

    impl<'t, T> Iterator for EntryIter<'t, T>
    where - T: DeserializeOwned,

    §

    type Item = Result<T, IterError>

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn next_chunk<const N: usize>( + T: DeserializeOwned,

    §

    type Item = Result<T, IterError>

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html index 08c077a565..05b81bd1ed 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html @@ -1,7 +1,7 @@ Store in bdk_file_store - Rust

    Struct bdk_file_store::Store

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

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

    Implementations§

    source§

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

    source

    pub fn create_new<P>(magic: &[u8], file_path: P) -> Result<Self, FileError>
    where + C: Merge + Serialize + DeserializeOwned + Send + Sync,

    source

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

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

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

    @@ -54,4 +54,4 @@ directly after the appended changeset.

    source§

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

    §

    type Error = Infallible

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

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

    Performs the conversion.
    source§

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

    §

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

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

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

    Performs the conversion.
    §

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

    §

    fn vzip(self) -> V

    \ No newline at end of file + V: MultiLane<T>,

    §

    fn vzip(self) -> V

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

    Pk: Clone + MiniscriptKey,
    §

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

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

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

    Performs copy-assignment from source. Read more
    §

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

    §

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

    Formats the value using the given formatter. Read more
    §

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    §

    fn dust_value(&self) -> u64

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

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the -descriptor at index 0.
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where - Pk: FromStrKey,

    §

    fn deserialize<D>( +descriptor at index 0.

    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where + Pk: FromStrKey,

    §

    fn deserialize<D>( deserializer: D -) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

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

    impl<Pk> Display for Descriptor<Pk>
    where +) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

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

    impl<Pk> Display for Descriptor<Pk>
    where Pk: MiniscriptKey,

    §

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

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

    impl ExtractPolicy for Descriptor<DescriptorPublicKey>

    source§

    fn extract_policy( &self, signers: &SignersContainer, @@ -255,12 +255,12 @@ the predicate returned true for every key

    FnMut(&'a Pk) -> bool, Pk: 'a,
    Run a predicate on every key in the descriptor, returning whether the predicate returned true for any key
    §

    impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

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

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    §

    impl<Pk> FromStr for Descriptor<Pk>
    where Pk: FromStrKey,

    §

    type Err = Error

    The associated error which can be returned from parsing.
    §

    fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

    Parses a string s to return a value of this type. Read more
    §

    impl<Pk> FromTree for Descriptor<Pk>
    where Pk: FromStrKey,

    §

    fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

    Parse an expression tree into a descriptor.

    §

    impl<Pk> Hash for Descriptor<Pk>
    where @@ -278,12 +278,12 @@ by ==.

    §

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

    §

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

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

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

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

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

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

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

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

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

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

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

    fn serialize<S>( +operator. Read more

    §

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where + Pk: MiniscriptKey,

    §

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

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

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where +) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where + S: Serializer,

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

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where P: MiniscriptKey, Q: MiniscriptKey,

    §

    fn translate_pk<T, E>( &self, @@ -332,5 +332,5 @@ operator. Display + ?Sized,

    source§

    default fn to_string(&self) -> String

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

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

    §

    type Error = Infallible

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

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

    Performs the conversion.
    source§

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

    §

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

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

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

    Performs the conversion.
    §

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

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html index f743d53ed2..ed5ddc1dd5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html @@ -44,10 +44,10 @@ to the wildcard type (hardened or normal).

    For raw public key and single-path extended keys it will return the key itself. For multipath extended keys it will return a single-path extended key per derivation path.

    -

    Trait Implementations§

    §

    impl Clone for DescriptorPublicKey

    §

    fn clone(&self) -> DescriptorPublicKey

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for DescriptorPublicKey

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for DescriptorPublicKey

    Trait Implementations§

    §

    impl Clone for DescriptorPublicKey

    §

    fn clone(&self) -> DescriptorPublicKey

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for DescriptorPublicKey

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for DescriptorPublicKey

    §

    fn deserialize<D>( deserializer: D -) -> Result<DescriptorPublicKey, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

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

    impl Display for DescriptorPublicKey

    §

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

    Formats the value using the given formatter. Read more
    §

    impl From<DefiniteDescriptorKey> for DescriptorPublicKey

    §

    fn from(d: DefiniteDescriptorKey) -> DescriptorPublicKey

    Converts to this type from the input type.
    §

    impl FromStr for DescriptorPublicKey

    §

    type Err = DescriptorKeyParseError

    The associated error which can be returned from parsing.
    §

    fn from_str( +) -> Result<DescriptorPublicKey, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

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

    impl Display for DescriptorPublicKey

    §

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

    Formats the value using the given formatter. Read more
    §

    impl From<DefiniteDescriptorKey> for DescriptorPublicKey

    §

    fn from(d: DefiniteDescriptorKey) -> DescriptorPublicKey

    Converts to this type from the input type.
    §

    impl FromStr for DescriptorPublicKey

    §

    type Err = DescriptorKeyParseError

    The associated error which can be returned from parsing.
    §

    fn from_str( s: &str ) -> Result<DescriptorPublicKey, <DescriptorPublicKey as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    §

    impl Hash for DescriptorPublicKey

    §

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

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

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where @@ -64,11 +64,11 @@ in BIP389 multipath descriptors.

    1.0.0 · source§

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

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

    impl PartialOrd for DescriptorPublicKey

    §

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

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

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

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

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

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

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

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

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

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

    impl Serialize for DescriptorPublicKey

    §

    fn serialize<S>( +operator. Read more

    §

    impl Serialize for DescriptorPublicKey

    §

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

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

    impl Eq for DescriptorPublicKey

    §

    impl StructuralPartialEq for DescriptorPublicKey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where + S: Serializer,

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

    impl Eq for DescriptorPublicKey

    §

    impl StructuralPartialEq for DescriptorPublicKey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -93,5 +93,5 @@ operator. Display + ?Sized,

    source§

    default fn to_string(&self) -> String

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

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

    §

    type Error = Infallible

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

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

    Performs the conversion.
    source§

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

    §

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

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

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

    Performs the conversion.
    §

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

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/error/enum.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/error/enum.Error.html index b0cfee11e5..429a1c3c55 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/error/enum.Error.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/error/enum.Error.html @@ -26,7 +26,7 @@
    §

    Miniscript(Error)

    Miniscript error

    §

    Hex(HexToBytesError)

    Hex decoding error

    §

    ExternalAndInternalAreTheSame

    The provided wallet descriptors are identical

    -

    Trait Implementations§

    source§

    impl Debug for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for Error

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<HexToBytesError> for Error

    source§

    fn from(err: HexToBytesError) -> Self

    Converts to this type from the input type.
    source§

    impl From<KeyError> for Error

    source§

    fn from(key_error: KeyError) -> Error

    Converts to this type from the input type.
    source§

    impl From<ParsePublicKeyError> for Error

    source§

    fn from(err: ParsePublicKeyError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for Error

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Error

    source§

    fn eq(&self, other: &Error) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Debug for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for Error

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for Error

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for Error

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<HexToBytesError> for Error

    source§

    fn from(err: HexToBytesError) -> Self

    Converts to this type from the input type.
    source§

    impl From<KeyError> for Error

    source§

    fn from(key_error: KeyError) -> Error

    Converts to this type from the input type.
    source§

    impl From<ParsePublicKeyError> for Error

    source§

    fn from(err: ParsePublicKeyError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for Error

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Error

    source§

    fn eq(&self, other: &Error) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for Error

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PkOrF.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PkOrF.html index 146ce24cb6..26cbeb9bf1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PkOrF.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PkOrF.html @@ -10,8 +10,8 @@ H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for PkOrF

    source§

    fn eq(&self, other: &PkOrF) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for PkOrF

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for PkOrF

    source§

    impl StructuralPartialEq for PkOrF

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for PkOrF

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for PkOrF

    source§

    impl StructuralPartialEq for PkOrF

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html index 6b52dab374..9b5671aa49 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html @@ -12,7 +12,7 @@
    §

    AddOnPartialComplete

    Can not add to an item that is Satisfaction::PartialComplete

    §

    MixedTimelockUnits

    Can not merge CSV or timelock values unless both are less than or both are equal or greater than 500_000_000

    §

    IncompatibleConditions

    Incompatible conditions (not currently used)

    -

    Trait Implementations§

    source§

    impl Debug for PolicyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PolicyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PolicyError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<PolicyError> for CreateTxError

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for Error

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for PolicyError

    source§

    fn eq(&self, other: &PolicyError) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Debug for PolicyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for PolicyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for PolicyError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<PolicyError> for CreateTxError

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for Error

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for PolicyError

    source§

    fn eq(&self, other: &PolicyError) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl Eq for PolicyError

    source§

    impl StructuralPartialEq for PolicyError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.Satisfaction.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.Satisfaction.html index 76dc428d23..6413fa1e35 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.Satisfaction.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.Satisfaction.html @@ -36,8 +36,8 @@

    Implementations§

    source§

    impl Satisfaction

    source

    pub fn is_leaf(&self) -> bool

    Returns whether the Satisfaction is a leaf item

    Trait Implementations§

    source§

    impl Clone for Satisfaction

    source§

    fn clone(&self) -> Satisfaction

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Satisfaction

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<bool> for Satisfaction

    source§

    fn from(other: bool) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Satisfaction

    source§

    fn eq(&self, other: &Satisfaction) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Satisfaction

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Satisfaction

    source§

    impl StructuralPartialEq for Satisfaction

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Satisfaction

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Satisfaction

    source§

    impl StructuralPartialEq for Satisfaction

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.SatisfiableItem.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.SatisfiableItem.html index f91474319d..aae7e1bacd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.SatisfiableItem.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.SatisfiableItem.html @@ -52,8 +52,8 @@

    source

    pub fn id(&self) -> String

    Returns a unique id for the SatisfiableItem

    Trait Implementations§

    source§

    impl Clone for SatisfiableItem

    source§

    fn clone(&self) -> SatisfiableItem

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SatisfiableItem

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<SatisfiableItem> for Policy

    source§

    fn from(other: SatisfiableItem) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for SatisfiableItem

    source§

    fn eq(&self, other: &SatisfiableItem) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for SatisfiableItem

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for SatisfiableItem

    source§

    impl StructuralPartialEq for SatisfiableItem

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for SatisfiableItem

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for SatisfiableItem

    source§

    impl StructuralPartialEq for SatisfiableItem

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Condition.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Condition.html index 8cad677303..51fe293120 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Condition.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Condition.html @@ -12,8 +12,8 @@ TODO: use bitcoin::LockTime and bitcoin::Sequence

    by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Condition

    source§

    fn partial_cmp(&self, other: &Condition) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for Condition

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for Condition

    source§

    impl Eq for Condition

    source§

    impl StructuralPartialEq for Condition

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for Condition

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for Condition

    source§

    impl Eq for Condition

    source§

    impl StructuralPartialEq for Condition

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Policy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Policy.html index d5b582fb06..48eb26f5c2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Policy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/struct.Policy.html @@ -20,8 +20,8 @@ on that.

    policy tree

    Trait Implementations§

    source§

    impl Clone for Policy

    source§

    fn clone(&self) -> Policy

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Policy

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<SatisfiableItem> for Policy

    source§

    fn from(other: SatisfiableItem) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for Policy

    source§

    fn eq(&self, other: &Policy) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for Policy

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Policy

    source§

    impl StructuralPartialEq for Policy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for Policy

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for Policy

    source§

    impl StructuralPartialEq for Policy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/struct.Miniscript.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/struct.Miniscript.html index e04d039ab7..3977747d8b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/struct.Miniscript.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/struct.Miniscript.html @@ -187,12 +187,12 @@ bitcoin network. This can occur if the miniscript contains:

    Pk: Clone + MiniscriptKey, Ctx: Clone + ScriptContext,

    §

    fn clone(&self) -> Miniscript<Pk, Ctx>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl<Pk, Ctx> Debug for Miniscript<Pk, Ctx>
    where Pk: MiniscriptKey, - Ctx: ScriptContext,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, Pk, Ctx> Deserialize<'de> for Miniscript<Pk, Ctx>
    where + Ctx: ScriptContext,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de, Pk, Ctx> Deserialize<'de> for Miniscript<Pk, Ctx>
    where Pk: FromStrKey, - Ctx: ScriptContext,

    §

    fn deserialize<D>( deserializer: D -) -> Result<Miniscript<Pk, Ctx>, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<Pk, Ctx> Display for Miniscript<Pk, Ctx>
    where +) -> Result<Miniscript<Pk, Ctx>, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl<Pk, Ctx> Display for Miniscript<Pk, Ctx>
    where Pk: MiniscriptKey, Ctx: ScriptContext,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source§

    impl<Ctx: ScriptContext + 'static> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>

    source§

    fn extract_policy( &self, @@ -243,13 +243,13 @@ sufficient, and should not be overridden without very good reason.

    The type information and extra properties are implied by the AST.

    §

    fn partial_cmp(&self, other: &Miniscript<Pk, Ctx>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    §

    impl<'de, Pk, Ctx> Serialize for Miniscript<Pk, Ctx>
    where +operator. Read more

    §

    impl<'de, Pk, Ctx> Serialize for Miniscript<Pk, Ctx>
    where Pk: MiniscriptKey, - Ctx: ScriptContext,

    §

    fn serialize<S>( &self, serializer: S -) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<Pk, Q, Ctx> TranslatePk<Pk, Q> for Miniscript<Pk, Ctx>
    where +) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where + S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl<Pk, Q, Ctx> TranslatePk<Pk, Q> for Miniscript<Pk, Ctx>
    where Pk: MiniscriptKey, Q: MiniscriptKey, Ctx: ScriptContext,

    §

    fn translate_pk<T, E>( @@ -314,5 +314,5 @@ for Pk is provided by [Translator]

    T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html index 3608ce7374..ee215a87f3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html @@ -2,7 +2,7 @@ UnknownUtxo(OutPoint), }
    Expand description

    Error returned from TxBuilder::add_utxo and TxBuilder::add_utxos

    Variants§

    §

    UnknownUtxo(OutPoint)

    Happens when trying to spend an UTXO that is not in the internal database

    -

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for AddUtxoError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for AddUtxoError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html index d70addd0cf..3ee43946a3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html @@ -9,7 +9,7 @@
    §

    UnexpectedConnectedToHash

    Occurs when the connected_to hash does not match the hash derived from block.

    Fields

    §connected_to_hash: BlockHash

    Block hash of connected_to.

    §expected_hash: BlockHash

    Expected block hash of connected_to, as derived from block.

    -

    Trait Implementations§

    source§

    impl Debug for ApplyBlockError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ApplyBlockError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ApplyBlockError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for ApplyBlockError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for ApplyBlockError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for ApplyBlockError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html index 20cb677a2e..942ca7d23a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html @@ -1,10 +1,10 @@ FileStoreError in bdk_wallet - Rust

    Enum bdk_wallet::FileStoreError

    source ·
    pub enum FileStoreError {
    -    Load(AggregateChangesetsError<ChangeSet>),
    +    Load(AggregateChangesetsError<ChangeSet>),
         Write(Error),
    -}
    Expand description

    Error for [bdk_file_store]’s implementation of WalletPersister.

    -

    Variants§

    §

    Load(AggregateChangesetsError<ChangeSet>)

    Error when loading from the store.

    +}
    Expand description

    Error for bdk_file_store’s implementation of WalletPersister.

    +

    Variants§

    §

    Load(AggregateChangesetsError<ChangeSet>)

    Error when loading from the store.

    §

    Write(Error)

    Error when writing to the store.

    -

    Trait Implementations§

    source§

    impl Debug for FileStoreError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for FileStoreError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for FileStoreError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for FileStoreError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for FileStoreError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for FileStoreError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.KeychainKind.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.KeychainKind.html index 9dc4b94ea0..3672b12fd9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.KeychainKind.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.KeychainKind.html @@ -5,8 +5,8 @@

    Variants§

    §

    External = 0

    External keychain, used for deriving recipient addresses.

    §

    Internal = 1

    Internal keychain, used for deriving change addresses.

    Implementations§

    source§

    impl KeychainKind

    source

    pub fn as_byte(&self) -> u8

    Return KeychainKind as a byte

    -

    Trait Implementations§

    source§

    impl AsRef<[u8]> for KeychainKind

    source§

    fn as_ref(&self) -> &[u8] ⓘ

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Clone for KeychainKind

    source§

    fn clone(&self) -> KeychainKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KeychainKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeychainKind

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for KeychainKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +

    Trait Implementations§

    source§

    impl AsRef<[u8]> for KeychainKind

    source§

    fn as_ref(&self) -> &[u8] ⓘ

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Clone for KeychainKind

    source§

    fn clone(&self) -> KeychainKind

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for KeychainKind

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for KeychainKind

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for KeychainKind

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl Ord for KeychainKind

    source§

    fn cmp(&self, other: &KeychainKind) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where @@ -15,8 +15,8 @@ by ==.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for KeychainKind

    source§

    fn partial_cmp(&self, other: &KeychainKind) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for KeychainKind

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for KeychainKind

    source§

    impl Eq for KeychainKind

    source§

    impl StructuralPartialEq for KeychainKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for KeychainKind

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for KeychainKind

    source§

    impl Eq for KeychainKind

    source§

    impl StructuralPartialEq for KeychainKind

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -30,5 +30,5 @@ operator. Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html index febb475444..26b9af8ed1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html @@ -23,7 +23,7 @@

    Fields

    §keychain: KeychainKind

    Keychain identifying the descriptor.

    §loaded: Option<ExtendedDescriptor>

    The loaded descriptor.

    §expected: Option<ExtendedDescriptor>

    The expected descriptor.

    -

    Trait Implementations§

    source§

    impl Debug for LoadMismatch

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LoadMismatch> for LoadError

    source§

    fn from(mismatch: LoadMismatch) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<LoadMismatch> for LoadWithPersistError<E>

    source§

    fn from(mismatch: LoadMismatch) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LoadMismatch

    source§

    fn eq(&self, other: &LoadMismatch) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Debug for LoadMismatch

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl From<LoadMismatch> for LoadError

    source§

    fn from(mismatch: LoadMismatch) -> Self

    Converts to this type from the input type.
    source§

    impl<E> From<LoadMismatch> for LoadWithPersistError<E>

    source§

    fn from(mismatch: LoadMismatch) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for LoadMismatch

    source§

    fn eq(&self, other: &LoadMismatch) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for LoadMismatch

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.BuildFeeBumpError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.BuildFeeBumpError.html index 5b85139117..a53a2bb0d2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.BuildFeeBumpError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.BuildFeeBumpError.html @@ -10,7 +10,7 @@
    §

    TransactionConfirmed(Txid)

    Happens when trying to bump a transaction that is already confirmed

    §

    IrreplaceableTransaction(Txid)

    Trying to replace a tx that has a sequence >= 0xFFFFFFFE

    §

    FeeRateUnavailable

    Node doesn’t have data to estimate a fee rate

    -

    Trait Implementations§

    source§

    impl Debug for BuildFeeBumpError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildFeeBumpError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildFeeBumpError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for BuildFeeBumpError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for BuildFeeBumpError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for BuildFeeBumpError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.CreateTxError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.CreateTxError.html index d98e02271f..85e631a911 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.CreateTxError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/error/enum.CreateTxError.html @@ -56,7 +56,7 @@ explicit origin provided

    §

    UnknownUtxo

    Happens when trying to spend an UTXO that is not in the internal database

    §

    MissingNonWitnessUtxo(OutPoint)

    Missing non_witness_utxo on foreign utxo for given OutPoint

    §

    MiniscriptPsbt(MiniscriptPsbtError)

    Miniscript PSBT error

    -

    Trait Implementations§

    source§

    impl Debug for CreateTxError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for CreateTxError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for CreateTxError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MiniscriptPsbtError> for CreateTxError

    source§

    fn from(err: MiniscriptPsbtError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for CreateTxError

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for CreateTxError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for CreateTxError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for CreateTxError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for CreateTxError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<MiniscriptPsbtError> for CreateTxError

    source§

    fn from(err: MiniscriptPsbtError) -> Self

    Converts to this type from the input type.
    source§

    impl From<PolicyError> for CreateTxError

    source§

    fn from(err: PolicyError) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/index.html index 9cb4138922..b55c7dae26 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/index.html @@ -1,4 +1,4 @@ -bdk_wallet::export - Rust

    Module bdk_wallet::export

    source ·
    Expand description

    Wallet export

    +bdk_wallet::export - Rust

    Module bdk_wallet::export

    source ·
    Expand description

    Wallet export

    This modules implements the wallet export format used by FullyNoded.

    §Examples

    §Import from JSON

    let import = r#"{
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/struct.FullyNodedExport.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/struct.FullyNodedExport.html
    index 45c814761d..e34e597da1 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/struct.FullyNodedExport.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/struct.FullyNodedExport.html
    @@ -20,9 +20,9 @@ for the oldest transaction it knows and use that as the earliest block to rescan
     returned will be 0.

    source

    pub fn descriptor(&self) -> String

    Return the external descriptor

    source

    pub fn change_descriptor(&self) -> Option<String>

    Return the internal descriptor, if present

    -

    Trait Implementations§

    source§

    impl Debug for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for FullyNodedExport

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for FullyNodedExport

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Serialize for FullyNodedExport

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for FullyNodedExport

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl FromStr for FullyNodedExport

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Serialize for FullyNodedExport

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -34,5 +34,5 @@ returned will be 0.

    T: Display + ?Sized,
    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html index 8e0b6ba7bc..043ef27ca8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html @@ -1,4 +1,4 @@ -wallet_name_from_descriptor in bdk_wallet - Rust

    Function bdk_wallet::wallet_name_from_descriptor

    source ·
    pub fn wallet_name_from_descriptor<T>(
    +wallet_name_from_descriptor in bdk_wallet - Rust

    Function bdk_wallet::wallet_name_from_descriptor

    source ·
    pub fn wallet_name_from_descriptor<T>(
         descriptor: T,
         change_descriptor: Option<T>,
         network: Network,
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html
    index 4df1b57bbf..a1b62e6d22 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html
    @@ -184,7 +184,7 @@ that the Wallet can use to update its view of the chain.

    submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

    -

    Re-exports§

    • pub extern crate bitcoin;
    • pub extern crate bdk_chain as chain;
    • pub extern crate bdk_file_store as file_store;
    • pub extern crate miniscript;
    • pub extern crate serde;
    • pub extern crate serde_json;
    • pub use descriptor::template;
    • pub use descriptor::HdKeyPaths;
    • pub use signer;
    • pub use bdk_chain::rusqlite;

    Modules§

    Macros§

    • Macro to write full descriptors with code
    • Macro to write descriptor fragments with code

    Structs§

    Enums§

    Traits§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html index 58cc9aa5aa..199a6c993a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html @@ -44,10 +44,10 @@ to the wildcard type (hardened or normal).

    For raw public key and single-path extended keys it will return the key itself. For multipath extended keys it will return a single-path extended key per derivation path.

    -

    Trait Implementations§

    §

    impl Clone for DescriptorPublicKey

    §

    fn clone(&self) -> DescriptorPublicKey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for DescriptorPublicKey

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for DescriptorPublicKey

    Trait Implementations§

    §

    impl Clone for DescriptorPublicKey

    §

    fn clone(&self) -> DescriptorPublicKey

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for DescriptorPublicKey

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl<'de> Deserialize<'de> for DescriptorPublicKey

    §

    fn deserialize<D>( deserializer: D -) -> Result<DescriptorPublicKey, <D as Deserializer<'de>>::Error>
    where - D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Display for DescriptorPublicKey

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl From<DefiniteDescriptorKey> for DescriptorPublicKey

    §

    fn from(d: DefiniteDescriptorKey) -> DescriptorPublicKey

    Converts to this type from the input type.
    §

    impl FromStr for DescriptorPublicKey

    §

    type Err = DescriptorKeyParseError

    The associated error which can be returned from parsing.
    §

    fn from_str( +) -> Result<DescriptorPublicKey, <D as Deserializer<'de>>::Error>
    where + D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Display for DescriptorPublicKey

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl From<DefiniteDescriptorKey> for DescriptorPublicKey

    §

    fn from(d: DefiniteDescriptorKey) -> DescriptorPublicKey

    Converts to this type from the input type.
    §

    impl FromStr for DescriptorPublicKey

    §

    type Err = DescriptorKeyParseError

    The associated error which can be returned from parsing.
    §

    fn from_str( s: &str ) -> Result<DescriptorPublicKey, <DescriptorPublicKey as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    §

    impl Hash for DescriptorPublicKey

    §

    fn hash<__H>(&self, state: &mut __H)
    where __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where @@ -64,11 +64,11 @@ in BIP389 multipath descriptors.

    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    §

    impl PartialOrd for DescriptorPublicKey

    §

    fn partial_cmp(&self, other: &DescriptorPublicKey) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    §

    impl Serialize for DescriptorPublicKey

    §

    fn serialize<S>( +operator. Read more

    §

    impl Serialize for DescriptorPublicKey

    §

    fn serialize<S>( &self, serializer: S -) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where - S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Eq for DescriptorPublicKey

    §

    impl StructuralPartialEq for DescriptorPublicKey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where + S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Eq for DescriptorPublicKey

    §

    impl StructuralPartialEq for DescriptorPublicKey

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -93,5 +93,5 @@ operator. Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html index 688279ca2e..2339f307a8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html @@ -22,7 +22,7 @@ given [Network]

    origin: Option<KeySource>, derivation_path: DerivationPath ) -> Result<DescriptorKey<Ctx>, KeyError>
    Consume self and turn it into a DescriptorKey by adding the extra metadata, such as -key origin and derivation path
    source§

    impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>

    source§

    fn from(xprv: Xpriv) -> Self

    Converts to this type from the input type.
    source§

    impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>

    source§

    fn from(xpub: Xpub) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<Ctx> Freeze for ExtendedKey<Ctx>

    §

    impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
    where +key origin and derivation path

    source§

    impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>

    source§

    fn from(xprv: Xpriv) -> Self

    Converts to this type from the input type.
    source§

    impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>

    source§

    fn from(xpub: Xpub) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<Ctx> Freeze for ExtendedKey<Ctx>

    §

    impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
    where Ctx: RefUnwindSafe,

    §

    impl<Ctx> Send for ExtendedKey<Ctx>
    where Ctx: Send,

    §

    impl<Ctx> Sync for ExtendedKey<Ctx>
    where Ctx: Sync,

    §

    impl<Ctx> Unpin for ExtendedKey<Ctx>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html index cbd0f33990..13039b2c18 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html @@ -12,7 +12,7 @@
    §

    Message(String)

    Custom error message

    §

    Bip32(Error)

    BIP32 error

    §

    Miniscript(Error)

    Miniscript error

    -

    Trait Implementations§

    source§

    impl Debug for KeyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for KeyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for KeyError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for KeyError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for KeyError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<KeyError> for Error

    source§

    fn from(key_error: KeyError) -> Error

    Converts to this type from the input type.
    source§

    impl PartialEq for KeyError

    source§

    fn eq(&self, other: &KeyError) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Debug for KeyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for KeyError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for KeyError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for KeyError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<Error> for KeyError

    source§

    fn from(err: Error) -> Self

    Converts to this type from the input type.
    source§

    impl From<KeyError> for Error

    source§

    fn from(key_error: KeyError) -> Error

    Converts to this type from the input type.
    source§

    impl PartialEq for KeyError

    source§

    fn eq(&self, other: &KeyError) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl StructuralPartialEq for KeyError

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerError.html index 9456917660..5897d0ba2b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerError.html @@ -35,7 +35,7 @@ explicitly allowed them

    §

    External(String)

    To be used only by external libraries implementing InputSigner or TransactionSigner, so that they can return their own custom errors, without having to modify SignerError in BDK.

    -

    Trait Implementations§

    source§

    impl Debug for SignerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for SignerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for SignerError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for SignerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for SignerError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for SignerError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/struct.SignerWrapper.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/struct.SignerWrapper.html index 9a6e24b987..4e60517329 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/struct.SignerWrapper.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/struct.SignerWrapper.html @@ -1,6 +1,6 @@ SignerWrapper in bdk_wallet::signer - Rust

    Struct bdk_wallet::signer::SignerWrapper

    source ·
    pub struct SignerWrapper<S: Sized + Debug + Clone> { /* private fields */ }
    Expand description

    Wrapper to pair a signer with its context

    Implementations§

    source§

    impl<S: Sized + Debug + Clone> SignerWrapper<S>

    source

    pub fn new(signer: S, ctx: SignerContext) -> Self

    Create a wrapped signer from a signer and a context

    -

    Trait Implementations§

    source§

    impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>

    source§

    fn clone(&self) -> SignerWrapper<S>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<S: Debug + Sized + Debug + Clone> Debug for SignerWrapper<S>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<S: Sized + Debug + Clone> Deref for SignerWrapper<S>

    §

    type Target = S

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl InputSigner for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    Trait Implementations§

    source§

    impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>

    source§

    fn clone(&self) -> SignerWrapper<S>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl<S: Debug + Sized + Debug + Clone> Debug for SignerWrapper<S>

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<S: Sized + Debug + Clone> Deref for SignerWrapper<S>

    §

    type Target = S

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &Self::Target

    Dereferences the value.
    source§

    impl InputSigner for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    source§

    fn sign_input( &self, psbt: &mut Psbt, input_index: usize, @@ -12,13 +12,13 @@ input_index: usize, sign_options: &SignOptions, secp: &Secp256k1<All> -) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<PrivateKey>

    source§

    fn sign_input( +) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<PrivateKey>

    source§

    fn sign_input( &self, psbt: &mut Psbt, input_index: usize, sign_options: &SignOptions, secp: &Secp256k1<All> -) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<PrivateKey>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more

    Auto Trait Implementations§

    §

    impl<S> Freeze for SignerWrapper<S>
    where +) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<PrivateKey>

    source§

    fn id(&self, secp: &Secp256k1<All>) -> SignerId

    Return the SignerId for this signer Read more
    source§

    fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

    Return the secret key for the signer Read more

    Auto Trait Implementations§

    §

    impl<S> Freeze for SignerWrapper<S>
    where S: Freeze,

    §

    impl<S> RefUnwindSafe for SignerWrapper<S>
    where S: RefUnwindSafe,

    §

    impl<S> Send for SignerWrapper<S>
    where S: Send,

    §

    impl<S> Sync for SignerWrapper<S>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html index 401fb004a3..bb496ac0c8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html @@ -12,16 +12,16 @@

    This is the balance you can spend right now that shouldn’t get cancelled via another party double spending it.

    pub fn total(&self) -> Amount

    Get the whole balance visible to the wallet.

    -

    Trait Implementations§

    §

    impl Add for Balance

    §

    type Output = Balance

    The resulting type after applying the + operator.
    §

    fn add(self, other: Balance) -> Balance

    Performs the + operation. Read more
    §

    impl Clone for Balance

    §

    fn clone(&self) -> Balance

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Balance

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Balance

    §

    fn default() -> Balance

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Balance

    §

    fn deserialize<__D>( +

    Trait Implementations§

    §

    impl Add for Balance

    §

    type Output = Balance

    The resulting type after applying the + operator.
    §

    fn add(self, other: Balance) -> Balance

    Performs the + operation. Read more
    §

    impl Clone for Balance

    §

    fn clone(&self) -> Balance

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    §

    impl Debug for Balance

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl Default for Balance

    §

    fn default() -> Balance

    Returns the “default value” for a type. Read more
    §

    impl<'de> Deserialize<'de> for Balance

    §

    fn deserialize<__D>( __deserializer: __D -) -> Result<Balance, <__D as Deserializer<'de>>::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Display for Balance

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for Balance

    §

    fn eq(&self, other: &Balance) -> bool

    This method tests for self and other values to be equal, and is used +) -> Result<Balance, <__D as Deserializer<'de>>::Error>
    where + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    §

    impl Display for Balance

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for Balance

    §

    fn eq(&self, other: &Balance) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    §

    impl Serialize for Balance

    §

    fn serialize<__S>( +sufficient, and should not be overridden without very good reason.

    §

    impl Serialize for Balance

    §

    fn serialize<__S>( &self, __serializer: __S -) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Eq for Balance

    §

    impl StructuralPartialEq for Balance

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    §

    impl Eq for Balance

    §

    impl StructuralPartialEq for Balance

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -36,5 +36,5 @@ sufficient, and should not be overridden without very good reason.
    Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html index cd3bdea8b7..43cd040d94 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html @@ -17,12 +17,12 @@
    source

    pub fn init_sqlite_tables(db_tx: &Transaction<'_>) -> Result<()>

    Initialize sqlite tables for wallet tables.

    source

    pub fn from_sqlite(db_tx: &Transaction<'_>) -> Result<Self>

    Recover a ChangeSet from sqlite database.

    source

    pub fn persist_to_sqlite(&self, db_tx: &Transaction<'_>) -> Result<()>

    Persist ChangeSet to sqlite database.

    -

    Trait Implementations§

    source§

    impl Clone for ChangeSet

    source§

    fn clone(&self) -> ChangeSet

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangeSet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ChangeSet

    source§

    fn default() -> ChangeSet

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ChangeSet

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

    source§

    fn from(tx_graph: ChangeSet<ConfirmationBlockTime>) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet

    source§

    fn from(indexed_tx_graph: ChangeSet<ConfirmationBlockTime, ChangeSet>) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet> for ChangeSet

    source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet> for ChangeSet

    source§

    fn from(chain: ChangeSet) -> Self

    Converts to this type from the input type.
    source§

    impl Merge for ChangeSet

    source§

    fn merge(&mut self, other: Self)

    Merge another ChangeSet into itself.

    +

    Trait Implementations§

    source§

    impl Clone for ChangeSet

    source§

    fn clone(&self) -> ChangeSet

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangeSet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ChangeSet

    source§

    fn default() -> ChangeSet

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ChangeSet

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

    source§

    fn from(tx_graph: ChangeSet<ConfirmationBlockTime>) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet

    source§

    fn from(indexed_tx_graph: ChangeSet<ConfirmationBlockTime, ChangeSet>) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet> for ChangeSet

    source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    source§

    impl From<ChangeSet> for ChangeSet

    source§

    fn from(chain: ChangeSet) -> Self

    Converts to this type from the input type.
    source§

    impl Merge for ChangeSet

    source§

    fn merge(&mut self, other: Self)

    Merge another ChangeSet into itself.

    source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

    fn take(&mut self) -> Option<Self>

    Take the value, replacing it with the default value.
    source§

    impl PartialEq for ChangeSet

    source§

    fn eq(&self, other: &ChangeSet) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ChangeSet

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for ChangeSet

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -34,5 +34,5 @@ sufficient, and should not be overridden without very good reason.
    Clone,
    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html index ede02c9fb1..2c11723b52 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html @@ -12,13 +12,13 @@ §is_spent: bool

    Whether this UTXO is spent or not

    §derivation_index: u32

    The derivation index for the script pubkey in the wallet

    §confirmation_time: ConfirmationTime

    The confirmation time for transaction containing this utxo

    -

    Trait Implementations§

    source§

    impl Clone for LocalOutput

    source§

    fn clone(&self) -> LocalOutput

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LocalOutput

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LocalOutput

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for LocalOutput

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where +

    Trait Implementations§

    source§

    impl Clone for LocalOutput

    source§

    fn clone(&self) -> LocalOutput

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for LocalOutput

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for LocalOutput

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Hash for LocalOutput

    source§

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source§

    impl PartialEq for LocalOutput

    source§

    fn eq(&self, other: &LocalOutput) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for LocalOutput

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for LocalOutput

    source§

    impl StructuralPartialEq for LocalOutput

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for LocalOutput

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Eq for LocalOutput

    source§

    impl StructuralPartialEq for LocalOutput

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -32,5 +32,5 @@ sufficient, and should not be overridden without very good reason.
    Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html index ec928643a4..a5c7fc7dcc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html @@ -1,4 +1,4 @@ -PersistedWallet in bdk_wallet - Rust

    Struct bdk_wallet::PersistedWallet

    source ·
    pub struct PersistedWallet<P> { /* private fields */ }
    Expand description

    Represents a persisted wallet which persists into type P.

    +PersistedWallet in bdk_wallet - Rust

    Struct bdk_wallet::PersistedWallet

    source ·
    pub struct PersistedWallet<P> { /* private fields */ }
    Expand description

    Represents a persisted wallet which persists into type P.

    This is a light wrapper around Wallet that enforces some level of safety-checking when used with a WalletPersister or AsyncWalletPersister implementation. Safety checks assume that WalletPersister and/or AsyncWalletPersister are implemented correctly.

    @@ -347,25 +347,39 @@ Otherwise, it will return the index of the highest address it has derived.

    ) -> Result<Input, CreateTxError>

    get the corresponding PSBT Input for a LocalUtxo

    source

    pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

    Return the checksum of the public descriptor associated to keychain

    Internally calls Self::public_descriptor to fetch the right descriptor

    -
    source

    pub fn apply_update( +

    source

    pub fn apply_update( &mut self, update: impl Into<Update> -) -> Result<(), CannotConnectError>

    Applies an update to the wallet and stages the changes (but does not persist them).

    +) -> Result<(), CannotConnectError>
    Available on crate feature std only.

    Applies an update to the wallet and stages the changes (but does not persist them).

    Usually you create an update by interacting with some blockchain data source and inserting transactions related to your wallet into it.

    After applying updates you should persist the staged wallet changes. For an example of how to persist staged wallet changes see Wallet::reveal_next_address. `

    -
    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    -
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    -
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    -
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    -
    source

    pub fn unbroadcast_transactions( +

    source

    pub fn apply_update_at( + &mut self, + update: impl Into<Update>, + seen_at: Option<u64> +) -> Result<(), CannotConnectError>

    Applies an update alongside an optional seen_at timestamp and stages the changes.

    +

    seen_at represents when the update is seen (in unix seconds). It is used to determine the +last_seens for all transactions in the update which have no corresponding anchor(s). The +last_seen value is used internally to determine precedence of conflicting unconfirmed +transactions (where the transaction with the lower last_seen value is omitted from the +canonical history).

    +

    Not setting a seen_at value means unconfirmed transactions introduced by this update will +not be part of the canonical history of transactions.

    +

    Use apply_update to have the seen_at value automatically set to +the current time.

    +
    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    +
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    +
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    +
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    +
    source

    pub fn unbroadcast_transactions( &self ) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, ConfirmationBlockTime>>

    Iterate over transactions in the wallet that are unseen and unanchored likely because they haven’t been broadcast.

    -
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    -
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    -
    source

    pub fn apply_block( +

    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    +
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    source

    pub fn apply_block( &mut self, block: &Block, height: u32 @@ -373,7 +387,7 @@ because they haven’t been broadcast.

    prev_blockhash of the block’s header.

    This is a convenience method that is equivalent to calling apply_block_connected_to with prev_blockhash and height-1 as the connected_to parameter.

    -

    source

    pub fn apply_block_connected_to( +

    source

    pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, @@ -386,7 +400,7 @@ internal [TxGraph].

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the inserted block data to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -

    source

    pub fn apply_unconfirmed_txs<'t>( +

    source

    pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

    Apply relevant unconfirmed transactions to the wallet.

    @@ -398,13 +412,13 @@ when there is conflicting unconfirmed transactions. The transaction with the lat

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the applied unconfirmed transactions to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn start_sync_with_revealed_spks( +

    source

    pub fn start_sync_with_revealed_spks( &self ) -> SyncRequestBuilder<(KeychainKind, u32)>

    Create a partial [SyncRequest] for this wallet for all revealed spks.

    This is the first step when performing a spk-based wallet partial sync, the returned [SyncRequest] collects all revealed script pubkeys from the wallet keychain needed to start a blockchain sync with a spk based blockchain client.

    -
    source

    pub fn start_full_scan(&self) -> FullScanRequestBuilder<KeychainKind>

    Create a [`FullScanRequest] for this wallet.

    +
    source

    pub fn start_full_scan(&self) -> FullScanRequestBuilder<KeychainKind>

    Create a [`FullScanRequest] for this wallet.

    This is the first step when performing a spk-based wallet full scan, the returned [`FullScanRequest] collects iterators for the wallet’s keychain script pub keys needed to start a blockchain full scan with a spk based blockchain client.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html index 46190c47bc..23e55c6de6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html @@ -1,14 +1,14 @@ Update in bdk_wallet - Rust

    Struct bdk_wallet::Update

    source ·
    pub struct Update {
         pub last_active_indices: BTreeMap<KeychainKind, u32>,
    -    pub graph: TxGraph<ConfirmationBlockTime>,
    +    pub graph: Update<ConfirmationBlockTime>,
         pub chain: Option<CheckPoint>,
     }
    Expand description

    An update to Wallet.

    It updates [KeychainTxOutIndex], [bdk_chain::TxGraph] and [local_chain::LocalChain] atomically.

    Fields§

    §last_active_indices: BTreeMap<KeychainKind, u32>

    Contains the last active derivation indices per keychain (K), which is used to update the [KeychainTxOutIndex].

    -
    §graph: TxGraph<ConfirmationBlockTime>

    Update for the wallet’s internal [TxGraph].

    +
    §graph: Update<ConfirmationBlockTime>

    Update for the wallet’s internal [TxGraph].

    §chain: Option<CheckPoint>

    Update for the wallet’s internal LocalChain.

    -

    Trait Implementations§

    source§

    impl Clone for Update

    source§

    fn clone(&self) -> Update

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Update

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Update

    source§

    fn default() -> Update

    Returns the “default value” for a type. Read more
    source§

    impl From<FullScanResult<KeychainKind>> for Update

    source§

    fn from(value: FullScanResult<KeychainKind>) -> Self

    Converts to this type from the input type.
    source§

    impl From<SyncResult> for Update

    source§

    fn from(value: SyncResult) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Update

    source§

    fn clone(&self) -> Update

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Update

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for Update

    source§

    fn default() -> Update

    Returns the “default value” for a type. Read more
    source§

    impl From<FullScanResult<KeychainKind>> for Update

    source§

    fn from(value: FullScanResult<KeychainKind>) -> Self

    Converts to this type from the input type.
    source§

    impl From<SyncResult> for Update

    source§

    fn from(value: SyncResult) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html index c6451f7267..6948b250dc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html @@ -1,4 +1,4 @@ -Wallet in bdk_wallet - Rust

    Struct bdk_wallet::Wallet

    source ·
    pub struct Wallet { /* private fields */ }
    Expand description

    A Bitcoin wallet

    +Wallet in bdk_wallet - Rust

    Struct bdk_wallet::Wallet

    source ·
    pub struct Wallet { /* private fields */ }
    Expand description

    A Bitcoin wallet

    The Wallet acts as a way of coherently interfacing with output descriptors and related transactions. Its main components are:

      @@ -10,7 +10,7 @@ Its main components are:

      on when Wallet state needs to be persisted.

      The Wallet descriptor (external) and change descriptor (internal) must not derive the same script pubkeys. See [KeychainTxOutIndex::insert_descriptor()] for more details.

      -

    Implementations§

    source§

    impl Wallet

    source

    pub fn create_single<D>(descriptor: D) -> CreateParams
    where +

    Implementations§

    source§

    impl Wallet

    source

    pub fn create_single<D>(descriptor: D) -> CreateParams
    where D: IntoWalletDescriptor + Send + Clone + 'static,

    Build a new single descriptor Wallet.

    If you have previously created a wallet, use load instead.

    §Note
    @@ -390,25 +390,39 @@ Otherwise, it will return the index of the highest address it has derived.

    ) -> Result<Input, CreateTxError>

    get the corresponding PSBT Input for a LocalUtxo

    source

    pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

    Return the checksum of the public descriptor associated to keychain

    Internally calls Self::public_descriptor to fetch the right descriptor

    -
    source

    pub fn apply_update( +

    source

    pub fn apply_update( &mut self, update: impl Into<Update> -) -> Result<(), CannotConnectError>

    Applies an update to the wallet and stages the changes (but does not persist them).

    +) -> Result<(), CannotConnectError>
    Available on crate feature std only.

    Applies an update to the wallet and stages the changes (but does not persist them).

    Usually you create an update by interacting with some blockchain data source and inserting transactions related to your wallet into it.

    After applying updates you should persist the staged wallet changes. For an example of how to persist staged wallet changes see Wallet::reveal_next_address. `

    -
    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    -
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    -
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    -
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    -
    source

    pub fn unbroadcast_transactions( +

    source

    pub fn apply_update_at( + &mut self, + update: impl Into<Update>, + seen_at: Option<u64> +) -> Result<(), CannotConnectError>

    Applies an update alongside an optional seen_at timestamp and stages the changes.

    +

    seen_at represents when the update is seen (in unix seconds). It is used to determine the +last_seens for all transactions in the update which have no corresponding anchor(s). The +last_seen value is used internally to determine precedence of conflicting unconfirmed +transactions (where the transaction with the lower last_seen value is omitted from the +canonical history).

    +

    Not setting a seen_at value means unconfirmed transactions introduced by this update will +not be part of the canonical history of transactions.

    +

    Use apply_update to have the seen_at value automatically set to +the current time.

    +
    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    +
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    +
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    +
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    +
    source

    pub fn unbroadcast_transactions( &self ) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, ConfirmationBlockTime>>

    Iterate over transactions in the wallet that are unseen and unanchored likely because they haven’t been broadcast.

    -
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    -
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    -
    source

    pub fn apply_block( +

    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    +
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    source

    pub fn apply_block( &mut self, block: &Block, height: u32 @@ -416,7 +430,7 @@ because they haven’t been broadcast.

    prev_blockhash of the block’s header.

    This is a convenience method that is equivalent to calling apply_block_connected_to with prev_blockhash and height-1 as the connected_to parameter.

    -

    source

    pub fn apply_block_connected_to( +

    source

    pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, @@ -429,7 +443,7 @@ internal [TxGraph].

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the inserted block data to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -

    source

    pub fn apply_unconfirmed_txs<'t>( +

    source

    pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

    Apply relevant unconfirmed transactions to the wallet.

    @@ -441,20 +455,20 @@ when there is conflicting unconfirmed transactions. The transaction with the lat

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the applied unconfirmed transactions to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    -
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    +
    source

    pub fn start_sync_with_revealed_spks( &self ) -> SyncRequestBuilder<(KeychainKind, u32)>

    Create a partial [SyncRequest] for this wallet for all revealed spks.

    This is the first step when performing a spk-based wallet partial sync, the returned [SyncRequest] collects all revealed script pubkeys from the wallet keychain needed to start a blockchain sync with a spk based blockchain client.

    -
    source

    pub fn start_full_scan(&self) -> FullScanRequestBuilder<KeychainKind>

    Create a [`FullScanRequest] for this wallet.

    +
    source

    pub fn start_full_scan(&self) -> FullScanRequestBuilder<KeychainKind>

    Create a [`FullScanRequest] for this wallet.

    This is the first step when performing a spk-based wallet full scan, the returned [`FullScanRequest] collects iterators for the wallet’s keychain script pub keys needed to start a blockchain full scan with a spk based blockchain client.

    This operation is generally only used when importing or restoring a previously used wallet in which the list of used scripts is not known.

    -

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

    source§

    fn as_ref(&self) -> &TxGraph<ConfirmationBlockTime>

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Debug for Wallet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

    source§

    fn as_ref(&self) -> &TxGraph<ConfirmationBlockTime>

    Converts this type into a shared reference of the (usually inferred) input type.
    source§

    impl Debug for Wallet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html index f9565b10cc..50a0f20026 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html @@ -30,13 +30,13 @@ persister implementations may NOT require initialization at all (and not error). changeset: &ChangeSet ) -> Result<(), Self::Error>

    Persist the given changeset to the persister.

    This method can fail if the persister is not initialized.

    -

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl WalletPersister for Connection

    Object Safety§

    This trait is not object safe.

    Implementations on Foreign Types§

    source§

    impl WalletPersister for Store<ChangeSet>

    §

    type Error = FileStoreError

    source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    source§

    fn persist( persister: &mut Self, changeset: &ChangeSet -) -> Result<(), Self::Error>

    source§

    impl WalletPersister for Store<ChangeSet>

    source§

    impl WalletPersister for Connection

    §

    type Error = Error

    source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    source§

    fn persist( persister: &mut Self, changeset: &ChangeSet ) -> Result<(), Self::Error>

    source§

    impl<'c> WalletPersister for Transaction<'c>

    §

    type Error = Error

    source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    source§

    fn persist( persister: &mut Self, changeset: &ChangeSet -) -> Result<(), Self::Error>

    Implementors§

    \ No newline at end of file +) -> Result<(), Self::Error>

    Implementors§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html index 02057add81..83b1845478 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html @@ -2,7 +2,7 @@ UnknownUtxo(OutPoint), }
    Expand description

    Error returned from TxBuilder::add_utxo and TxBuilder::add_utxos

    Variants§

    §

    UnknownUtxo(OutPoint)

    Happens when trying to spend an UTXO that is not in the internal database

    -

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for AddUtxoError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Display for AddUtxoError

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Error for AddUtxoError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html index 623b0d46a8..8047315499 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html @@ -1,16 +1,16 @@ Keychain in example_cli - Rust

    Enum example_cli::Keychain

    source ·
    pub enum Keychain {
         External,
         Internal,
    -}

    Variants§

    §

    External

    §

    Internal

    Trait Implementations§

    source§

    impl Clone for Keychain

    source§

    fn clone(&self) -> Keychain

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Keychain

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Keychain

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for Keychain

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Ord for Keychain

    source§

    fn cmp(&self, other: &Keychain) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where +}

    Variants§

    §

    External

    §

    Internal

    Trait Implementations§

    source§

    impl Clone for Keychain

    source§

    fn clone(&self) -> Keychain

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Keychain

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl<'de> Deserialize<'de> for Keychain

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Display for Keychain

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Ord for Keychain

    source§

    fn cmp(&self, other: &Keychain) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source§

    impl PartialEq for Keychain

    source§

    fn eq(&self, other: &Keychain) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
    source§

    impl PartialOrd for Keychain

    source§

    fn partial_cmp(&self, other: &Keychain) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <= operator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >= -operator. Read more
    source§

    impl Serialize for Keychain

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for Keychain

    source§

    impl Eq for Keychain

    source§

    impl StructuralPartialEq for Keychain

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +operator. Read more

    source§

    impl Serialize for Keychain

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl Copy for Keychain

    source§

    impl Eq for Keychain

    source§

    impl StructuralPartialEq for Keychain

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    §

    impl<Q, K> Equivalent<K> for Q
    where @@ -27,5 +27,5 @@ operator. Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html index 510d0b3c85..70b36d8db4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html @@ -12,11 +12,11 @@ §local_chain: ChangeSet

    Changes to the [LocalChain].

    §tx_graph: ChangeSet<ConfirmationBlockTime>

    Changes to TxGraph.

    §indexer: ChangeSet

    Changes to [KeychainTxOutIndex].

    -

    Trait Implementations§

    source§

    impl Clone for ChangeSet

    source§

    fn clone(&self) -> ChangeSet

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangeSet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ChangeSet

    source§

    fn default() -> ChangeSet

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ChangeSet

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where - __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Merge for ChangeSet

    source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

    fn take(&mut self) -> Option<Self>

    Take the value, replacing it with the default value.
    source§

    impl PartialEq for ChangeSet

    source§

    fn eq(&self, other: &ChangeSet) -> bool

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Clone for ChangeSet

    source§

    fn clone(&self) -> ChangeSet

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source§

    impl Debug for ChangeSet

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source§

    impl Default for ChangeSet

    source§

    fn default() -> ChangeSet

    Returns the “default value” for a type. Read more
    source§

    impl<'de> Deserialize<'de> for ChangeSet

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where + __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    source§

    impl Merge for ChangeSet

    source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

    fn take(&mut self) -> Option<Self>

    Take the value, replacing it with the default value.
    source§

    impl PartialEq for ChangeSet

    source§

    fn eq(&self, other: &ChangeSet) -> bool

    This method tests for self and other values to be equal, and is used by ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always -sufficient, and should not be overridden without very good reason.
    source§

    impl Serialize for ChangeSet

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where - __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +sufficient, and should not be overridden without very good reason.

    source§

    impl Serialize for ChangeSet

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where + __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    source§

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where T: 'static + ?Sized,

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for T
    where T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for T
    where T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    @@ -28,5 +28,5 @@ sufficient, and should not be overridden without very good reason.
    Clone,
    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for T
    where U: Into<T>,

    §

    type Error = Infallible

    The type returned in the event of a conversion error.
    source§

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source§

    impl<T, U> TryInto<U> for T
    where U: TryFrom<T>,

    §

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source§

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    §

    impl<V, T> VZip<V> for T
    where - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where - T: for<'de> Deserialize<'de>,

    \ No newline at end of file + V: MultiLane<T>,
    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where + T: for<'de> Deserialize<'de>,

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/fn.main.html index 4c17f7bcc0..df56b4d86b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/fn.main.html @@ -1 +1 @@ -main in example_electrum - Rust

    Function example_electrum::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +main in example_electrum - Rust

    Function example_electrum::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_electrum/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/index.html index 4d5480792c..e1ebc102ef 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/index.html @@ -1 +1 @@ -example_electrum - Rust

    Crate example_electrum

    source ·

    Structs§

    Enums§

    Constants§

    Functions§

    \ No newline at end of file +example_electrum - Rust

    Crate example_electrum

    source ·

    Structs§

    Enums§

    Constants§

    Functions§

    \ 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 index adbe4d767b..a1dd5e16c0 100644 --- 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 @@ -1 +1 @@ -main in example_esplora - Rust

    Function example_esplora::main

    source ·
    pub(crate) fn main() -> Result<()>
    \ No newline at end of file +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 index b826ee095c..f33749ad2e 100644 --- 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 @@ -1 +1 @@ -example_esplora - Rust

    Crate example_esplora

    source ·

    Structs§

    Enums§

    Constants§

    Functions§

    \ No newline at end of file +example_esplora - Rust

    Crate example_esplora

    source ·

    Structs§

    Enums§

    Constants§

    Functions§

    \ 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 7d6303805e..575bc54635 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,14 +1,14 @@ var searchIndex = new Map(JSON.parse('[\ ["bdk_bitcoind_rpc",{"t":"KFFEONNNNNNONNNNNNMNNNNNNNNNNNN","n":["BitcoindRpcErrorExt","BlockEvent","Emitter","bitcoincore_rpc","block","block_hash","block_height","borrow","borrow","borrow_mut","borrow_mut","checkpoint","connected_to","fmt","from","from","into","into","is_not_found_error","mempool","new","next_block","next_header","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"bdk_bitcoind_rpc"],[31,"bitcoin::blockdata::block"],[32,"bdk_chain::chain_data"],[33,"core::fmt"],[34,"bitcoin::blockdata::transaction"],[35,"alloc::vec"],[36,"bitcoincore_rpc::error"],[37,"core::result"],[38,"bitcoincore_rpc::client"],[39,"bdk_chain::local_chain"],[40,"core::option"],[41,"core::any"]],"i":[0,0,0,0,1,1,1,12,1,12,1,1,1,1,12,1,12,1,10,12,12,12,12,12,1,12,1,12,1,12,1],"f":"`````{{{d{{b{c}}}}}f{}}{{{d{{b{c}}}}}h{}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{{b{c}}}}}l{}}{{{d{{b{c}}}}{d{jn}}}A`Ab}{cc{}}0{ce{}{}}0{{{d{Ad}}}Af}{{{d{j{Ah{c}}}}}{{Bd{{B`{{An{AjAl}}}}Bb}}}Bf}{{{d{c}}Bhh}{{Ah{c}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bj}}}}Bb}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bn}}}}Bb}}}Bf}{c{{Bd{e}}}{}{}}000{{{d{c}}}C`{}}077","D":"Bd","p":[[5,"BlockEvent",0],[1,"reference"],[5,"BlockHash",31],[1,"u32"],[0,"mut"],[5,"BlockId",32],[5,"Formatter",33],[8,"Result",33],[10,"Debug",33],[10,"BitcoindRpcErrorExt",0],[1,"bool"],[5,"Emitter",0],[5,"Transaction",34],[1,"u64"],[1,"tuple"],[5,"Vec",35],[6,"Error",36],[6,"Result",37],[10,"RpcApi",38],[5,"CheckPoint",39],[5,"Block",31],[6,"Option",40],[5,"Header",31],[5,"TypeId",41]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA0ABAAEAAAACAADAA4AAAAYAAcA"}],\ -["bdk_chain",{"t":"KKSFFSKGFGPPKFRFFIEEIKFEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNMNNNMNOECMENNNNONNNNNNDCDNNNNNOCENNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCONNNNNNNNNNONNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFPPGFFFFPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNNOONNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNTGFFPPTTTFFFFNNNOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","Merge","SpkIterator","TxGraph","Unconfirmed","Unconfirmed","add","all_zeros","anchor_block","anchor_block","anchor_block","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","block_id","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","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","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","confirmed","default","default","default","deref","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","height","immature","index","indexed_tx_graph","indexer","into","into","into","into","into","into","into","into","into","into_fallible","into_inner","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_string","to_string","total","transpose_into_fallible","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","IndexedTxGraph","apply_block","apply_block_relevant","apply_changeset","apply_update","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","index","indexer","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","merge","new","serialize","to_owned","try_from","try_from","try_into","try_into","tx_graph","type_id","type_id","vzip","vzip","ChangeSet","Indexer","apply_changeset","index_tx","index_txout","initial_changeset","is_tx_relevant","keychain_txout","spk_txout","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","InsertDescriptorError","KeychainAlreadyAssigned","KeychainTxOutIndex","LAST_REVEALED_TABLE_NAME","SCHEMA_NAME","all_unbounded_spk_iters","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","default","default","deserialize","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from_sqlite","get_descriptor","index_of_spk","index_tx","index_txout","init_sqlite_tables","initial_changeset","inner","insert_descriptor","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","merge","net_value","new","next_index","next_unused_spk","outpoints","persist_to_sqlite","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","spk_at_index","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","unused_keychain_spks","unused_spks","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","SpkTxOutIndex","all_spks","apply_changeset","borrow","borrow_mut","clone","clone_into","default","fmt","from","index_of_spk","index_tx","index_txout","initial_changeset","insert_spk","into","is_relevant","is_tx_relevant","is_used","mark_used","net_value","outpoints","outputs_in_range","scan","scan_txout","sent_and_received","spk_at_index","to_owned","try_from","try_into","txout","txouts","txouts_in_tx","type_id","unmark_used","unused_spks","vzip","AlterCheckPointError","ApplyHeaderError","BLOCKS_TABLE_NAME","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","SCHEMA_NAME","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","deserialize","disconnect_from","eq","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_iter","from_iter","from_sqlite","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","init_sqlite_tables","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_block_in_chain","is_empty","iter","iter_checkpoints","merge","new","next","original_hash","persist_to_sqlite","prev","push","range","range","serialize","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","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","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","SCHEMAS_TABLE_NAME","migrate_schema","FullScanRequest","FullScanRequestBuilder","FullScanResult","OutPoint","Spk","SyncItem","SyncProgress","SyncRequest","SyncRequestBuilder","SyncResult","Txid","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","build","builder","builder","chain_tip","chain_tip","chain_tip","chain_tip","chain_update","chain_update","clone","clone","clone_into","clone_into","cmp","consumed","default","default","default","default","default","default","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","graph_update","graph_update","hash","inspect","inspect","into","into","into","into","into","into","into","into","iter_outpoints","iter_spks","iter_spks","iter_txids","keychains","last_active_indices","next_outpoint","next_spk","next_spk","next_txid","outpoints","outpoints_consumed","outpoints_remaining","partial_cmp","progress","remaining","revealed_spks_from_indexer","spks","spks_consumed","spks_for_keychain","spks_from_indexer","spks_remaining","spks_with_indexes","to_owned","to_owned","to_string","total","total_outpoints","total_spks","total_txids","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","txids","txids_consumed","txids_remaining","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unused_spks_from_indexer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ANCHORS_TABLE_NAME","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","SCHEMA_NAME","TXOUTS_TABLE_NAME","TXS_TABLE_NAME","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","apply_changeset","apply_update","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_sqlite","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","init_sqlite_tables","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_fallible","into_fallible","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","merge","new","next","next","outspends","partial_cmp","partial_cmp","persist_to_sqlite","serialize","to_owned","to_owned","to_owned","to_owned","to_string","transpose_into_fallible","transpose_into_fallible","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","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_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[288,"bdk_chain::ConfirmationTime"],[291,"bdk_chain::indexed_tx_graph"],[341,"bdk_chain::indexer"],[350,"bdk_chain::indexer::keychain_txout"],[449,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[453,"bdk_chain::indexer::spk_txout"],[490,"bdk_chain::local_chain"],[661,"bdk_chain::rusqlite_impl"],[663,"bdk_chain::spk_client"],[809,"bdk_chain::tx_graph"],[988,"bdk_chain::balance"],[989,"bdk_chain::descriptor_ext"],[990,"bdk_chain::tx_data_traits"],[991,"bdk_chain::chain_data"],[992,"bitcoin_hashes::sha256"],[993,"core::clone"],[994,"bdk_chain::spk_iter"],[995,"core::cmp"],[996,"rusqlite::types::value_ref"],[997,"miniscript::descriptor::key"],[998,"miniscript::descriptor"],[999,"rusqlite::types::from_sql"],[1000,"bitcoin::blockdata::transaction"],[1001,"bitcoin::network"],[1002,"serde::de"],[1003,"bitcoin::blockdata::block"],[1004,"bitcoin_units::amount"],[1005,"bitcoin::blockdata::script::owned"],[1006,"core::option"],[1007,"core::borrow"],[1008,"core::result"],[1009,"core::fmt"],[1010,"bitcoin_hashes"],[1011,"bdk_chain::chain_oracle"],[1012,"core::hash"],[1013,"core::slice::index"],[1014,"fallible_iterator"],[1015,"core::iter::traits::iterator"],[1016,"core::ops::range"],[1017,"serde::ser"],[1018,"rusqlite::types::to_sql"],[1019,"rusqlite"],[1020,"alloc::string"],[1021,"core::any"],[1022,"core::iter::traits::collect"],[1023,"core::default"],[1024,"alloc::collections::btree::map"],[1025,"rusqlite::transaction"],[1026,"core::iter::traits::double_ended"],[1027,"core::iter::traits::exact_size"],[1028,"alloc::collections::btree::set"],[1029,"alloc::vec"],[1030,"core::ops::function"],[1031,"core::marker"],[1032,"bitcoin::blockdata::script::borrowed"],[1033,"core::convert"],[1034,"alloc::sync"],[1035,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,12,14,0,0,52,0,0,0,0,0,0,0,0,0,12,14,1,2,3,5,6,2,2,2,2,0,6,23,1,12,14,5,6,15,2,2,16,23,1,12,14,5,6,15,2,16,15,1,12,14,5,6,15,2,16,1,12,14,5,6,15,2,16,12,12,14,5,6,15,2,23,23,23,23,23,23,23,23,23,3,3,12,6,6,1,1,5,6,23,16,35,1,14,5,6,2,35,2,1,12,14,5,6,15,2,1,1,12,12,14,14,5,5,6,6,15,15,2,2,1,1,12,14,5,6,15,2,2,2,2,23,23,23,1,12,14,14,5,5,5,6,15,2,2,16,48,5,6,2,2,2,2,2,2,52,12,14,5,6,2,5,5,1,2,0,0,23,1,12,14,5,6,15,2,16,16,23,16,52,12,14,15,59,15,15,0,0,59,0,16,16,16,16,15,12,14,5,6,15,2,0,0,0,1,14,5,6,2,15,0,0,59,59,2,1,12,14,5,6,15,2,16,2,23,23,23,23,23,23,23,23,23,1,2,1,16,1,1,23,1,12,14,5,6,15,2,16,23,1,12,14,5,6,15,2,16,0,15,23,1,12,14,5,6,15,2,16,14,1,23,1,12,14,5,6,15,2,16,126,127,126,0,0,69,69,69,69,69,69,69,69,69,70,69,70,70,70,69,70,70,70,69,70,69,70,70,70,69,69,70,69,69,69,69,69,69,70,70,70,69,70,70,69,70,69,70,70,69,70,69,70,71,0,71,71,71,71,71,0,0,0,0,83,0,83,0,76,76,81,81,81,81,83,76,81,83,76,81,83,76,81,83,76,81,76,76,83,76,81,83,83,76,81,83,76,76,81,81,81,81,76,81,81,81,81,83,76,76,81,81,81,81,81,76,81,81,81,81,81,81,81,76,81,81,81,81,81,76,81,81,81,81,81,81,76,81,81,83,76,83,81,83,76,81,83,76,81,81,81,81,83,76,81,81,81,81,81,83,76,128,128,129,129,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,0,94,98,0,0,0,0,98,0,0,94,93,93,93,93,99,94,101,99,93,94,95,100,97,98,101,99,93,94,95,100,97,98,99,93,94,95,100,97,98,99,93,94,95,100,97,98,94,94,93,99,93,94,95,100,97,98,99,99,93,94,95,95,100,100,97,97,98,98,101,99,93,94,94,95,100,97,98,99,93,93,93,99,94,94,94,93,93,99,93,93,99,99,100,94,93,99,93,101,99,93,94,95,100,97,98,101,101,99,93,94,99,93,94,99,101,100,94,99,99,99,93,94,93,99,93,94,95,100,97,98,95,100,97,98,101,101,99,93,94,95,100,97,98,97,101,99,93,94,95,100,97,98,101,99,93,94,95,100,97,98,100,101,99,93,94,95,100,97,98,0,0,0,0,0,106,106,0,0,0,0,0,106,102,103,104,105,106,107,108,109,102,103,104,105,106,107,108,109,102,104,103,105,102,103,104,105,108,109,106,107,106,107,106,107,102,103,104,105,108,109,106,106,106,106,106,107,108,109,102,103,103,104,105,105,106,107,108,109,108,109,106,102,104,102,103,104,105,106,107,108,109,103,103,105,103,105,109,103,103,105,103,102,107,107,106,103,107,102,102,107,104,104,107,102,106,107,106,107,107,107,107,102,103,104,105,106,107,108,109,102,103,104,105,106,107,108,109,102,107,107,102,103,104,105,106,107,108,109,102,102,103,104,105,106,107,108,109,77,0,0,0,118,118,77,77,77,0,0,0,0,72,72,77,119,77,72,72,72,72,72,123,124,72,119,120,118,77,123,124,72,119,120,118,77,72,120,123,123,124,124,72,119,120,77,72,119,120,77,119,120,72,77,119,77,72,72,119,120,118,77,119,119,120,120,118,118,72,72,72,72,119,120,118,118,77,123,124,72,119,120,118,77,77,72,72,72,72,72,72,77,72,72,72,72,72,123,124,72,119,120,118,77,123,124,123,124,72,77,77,119,72,72,77,77,72,123,124,72,119,120,77,77,72,119,120,77,118,123,124,72,72,72,123,124,72,119,120,118,77,72,72,123,124,72,119,120,118,77,72,119,120,72,72,119,77,77,77,72,123,124,72,119,120,118,77,72,123,124,72,119,120,118,77,72,72,72],"f":"``````````````````````````{{bb}b}{{}d}{{{h{f}}}j}{{{h{j}}}j}{{{h{l}}}j}{{{h{d}}}{{h{c}}}{}}{{{h{d}}}{{h{n}}}}{{{h{d}}}{{h{{Ab{A`}}}}}}{{{h{d}}}{{h{{Ad{A`}}}}}}``{{{h{c}}}{{h{e}}}{}{}}000000020{{{h{Afc}}}{{h{Afe}}}{}{}}00000000`{{{h{b}}}b}{{{h{{Ah{c}}}}}{{Ah{c}}}Aj}{{{h{Al}}}Al}:{{{h{l}}}l}{{{h{{An{c}}}}}{{An{c}}}Aj}{{{h{d}}}d}{{{h{{B`{c}}}}}{{B`{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}0000000{{{Ah{{h{c}}}}}{{Ah{c}}}Aj}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}BdBf}{{{h{Al}}{h{Al}}}Bd}{{{h{j}}{h{j}}}Bd}{{{h{l}}{h{l}}}Bd}{{{h{{An{c}}}}{h{{An{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bh{{C`{{Bn{{Bl{Bj}}}}}}}}{Bh{{C`{{Bn{Cb}}}}}}{Bh{{C`{{Bn{Cd}}}}}}{Bh{{C`{{Bn{c}}}}}{fCf}}{Bh{{C`{{Bn{Ch}}}}}}{Bh{{C`{{Bn{Cj}}}}}}{Bh{{C`{{Bn{Cl}}}}}}{Bh{{C`{{Bn{d}}}}}}{Bh{{C`{{Bn{Cn}}}}}}{{{h{f}}}D`}0{{{h{{Ah{c}}}}}{{Db{D`}}}f}{{{h{l}}}D`}``{{}b}{{}j}{{}l}{{{h{{Bn{c}}}}}{{h{e}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{Dd{{Bl{Bj}}}}}}{{{h{Df}}}d}{c{{Dh{b}}}Dj}{c{{Dh{Al}}}Dj}{c{{Dh{j}}}Dj}{c{{Dh{l}}}Dj}{c{{Dh{d}}}Dj}{{{h{Df}}}Dl}{{}c{}}{{{h{b}}{h{b}}}Dn}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}DnE`}{{{h{Al}}{h{Al}}}Dn}{{{h{j}}{h{j}}}Dn}{{{h{l}}{h{l}}}Dn}{{{h{{An{c}}}}{h{{An{c}}}}}DnE`}{{{h{d}}{h{d}}}Dn}{{{h{c}}{h{e}}}Dn{}{}}0000000000000{{{h{b}}{h{AfEb}}}Ed}0{{{h{{Ah{c}}}}{h{AfEb}}}EdEf}{{{h{Al}}{h{AfEb}}}Ed}{{{h{j}}{h{AfEb}}}Ed}{{{h{l}}{h{AfEb}}}Ed}{{{h{{An{c}}}}{h{AfEb}}}EdEf}{{{h{d}}{h{AfEb}}}Ed}000{c{{Bn{c}}}{}}{Ehc{}}{cc{}}000{{{Ah{l}}}Al}1{{{Ej{{h{D`}}{h{Ch}}}}}j}{{{Ej{D`Ch}}}j}33{nd}44{{{h{El}}jEn}F`}{{{h{El}}jEn}j}{{{h{El}}jEn}l}{cd{}}04{{{h{{Ab{A`}}}}}{{Dh{dFb}}}}0{{{h{Fd}}}{{Dh{dc}}}{}}{{{h{{Fh{}{{Ff{c}}}}}}}{{Dh{jc}}}Ef}{{{h{{Ah{c}}}}{h{Afe}}}BbFjFl}{{{h{Al}}{h{Afc}}}BbFl}{{{h{j}}{h{Afc}}}BbFl}{{{h{l}}{h{Afc}}}BbFl}{{{h{d}}{h{Afc}}}BbFl}```{{{h{d}}c}{{h{e}}}{{Fn{{Ab{A`}}}}}{}}``{ce{}{}}00000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}{{{Bn{c}}}c{}}2{{{h{{Fh{}{{Ff{c}}}}}}jj}{{Dh{{Db{Dn}}c}}}Ef}{{{h{{Ah{c}}}}}Dn{}}{{{h{Al}}}Dn}{{{h{{An{c}}}}D`}Dnf}{{{h{Gf}}}Dn}1```{{{h{AfGf}}Gf}Bb}`{c{{B`{c}}}{{Dd{{Bl{Bj}}}}}}{{ce}{{B`{c}}}{{Dd{{Bl{Bj}}}}}{{Gh{D`}}}}{{{h{Af{B`{c}}}}}{{Db{e}}}{{Dd{{Bl{Bj}}}}}{}}{{{h{Af{B`{c}}}}En}{{Db{e}}}{{Dd{{Bl{Bj}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Db{Bd}}}Gj}{{{h{Al}}{h{Al}}}{{Db{Bd}}}}{{{h{j}}{h{j}}}{{Db{Bd}}}}{{{h{l}}{h{l}}}{{Db{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Db{Bd}}}Gj}{{{h{d}}{h{d}}}{{Db{Bd}}}}```{{{h{b}}c}DhGl}{{{h{Al}}c}DhGl}{{{h{j}}c}DhGl}{{{h{l}}c}DhGl}{{{h{d}}c}DhGl}```{{{h{AfGf}}}{{Db{Gf}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bn{c}}}}}{{H`{Gn}}}{fHb}}{{{h{{Bn{Ch}}}}}{{H`{Gn}}}}{{{h{{Bn{Cl}}}}}{{H`{Gn}}}}{{{h{{Bn{Cj}}}}}{{H`{Gn}}}}{{{h{{Bn{Cb}}}}}{{H`{Gn}}}}{{{h{{Bn{{Bl{Bj}}}}}}}{{H`{Gn}}}}{{{h{{Bn{Cd}}}}}{{H`{Gn}}}}{{{h{{Bn{d}}}}}{{H`{Gn}}}}{{{h{{Bn{Cn}}}}}{{H`{Gn}}}}{{{h{c}}}Hd{}}0{{{h{b}}}Cj}{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}`1{c{{Dh{e}}}{}{}}00000000000000000``{{{h{c}}}Hh{}}00000000{DlAl}`{ce{}{}}00000000`````{{{h{Af{Hj{ce}}}}ElD`}{{Hl{c}}}{F`f}Hn}{{{h{Af{Hj{ce}}}}{h{El}}D`}{{Hl{c}}}{F`f}Hn}{{{h{Af{Hj{ce}}}}{Hl{c}}}BbfHn}{{{h{Af{Hj{ce}}}}{I`{c}}}{{Hl{c}}}fHn}{{{h{{Hj{ce}}}}}{{h{{I`{c}}}}}{}{}}{{{h{Af{Hj{ce}}}}i}{{Hl{c}}}fHn{{Ib{}{{Gb{c}}}}}{{Ib{}{{Gb{{Ej{{h{Cb}}g}}}}}}}}{{{h{Af{Hj{ce}}}}g}{{Hl{c}}}fHn{{Ib{}{{Gb{{Ej{{h{Cb}}Dl}}}}}}}}{{{h{Af{Hj{ce}}}}g}{{Hl{c}}}fHn{{Ib{}{{Gb{{Ej{CbDl}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Hl{ce}}}}}{{Hl{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Hj{ce}}}{}Id}{{}{{Hl{ce}}}{}Id}{c{{Dh{{Hl{eg}}}}}Dj{BfIf}If}{{{h{{Hl{ce}}}}{h{{Hl{ce}}}}}DnE`E`}{{{h{{Hj{ce}}}}{h{AfEb}}}EdEfEf}{{{h{{Hl{ce}}}}{h{AfEb}}}EdEfEf}{cc{}}{Ih{{Hl{cIh}}}{}}1{{{Ij{c}}}{{Hl{ce}}}{}Id}{{{h{{Hj{ce}}}}}{{h{{I`{c}}}}}{}{}}``{{{h{{Hj{ce}}}}}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}Cnc}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}CnDl}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}Cb}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}IlIn}{{Hl{c}}}fHn}{ce{}{}}0{{{h{{Hl{ce}}}}}DnfGf}{{{h{Af{Hl{ce}}}}{Hl{ce}}}BbfGf}{c{{Hj{ec}}}{}{}}{{{h{{Hl{ce}}}}g}Dh{BfHb}HbGl}{{{h{c}}}e{}{}}{c{{Dh{e}}}{}{}}000`{{{h{c}}}Hh{}}077``{{{h{Af{Hn{}{{J`{c}}}}}}c}Bb{}}{{{h{Af{Hn{}{{J`{c}}}}}}{h{Cb}}}c{}}{{{h{Af{Hn{}{{J`{c}}}}}}Il{h{In}}}c{}}{{{h{{Hn{}{{J`{c}}}}}}}c{}}{{{h{{Hn{}{{J`{c}}}}}}{h{Cb}}}Dn{}}``````````{{{h{{Jb{c}}}}}{{Jd{c{B`{{Bl{Bj}}}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}Ih}Bb{AjBfEf}}{{{h{Af{Jb{c}}}}e}Bb{AjBfEf}{}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Jb{c}}}}}{{Jb{c}}}Aj}{{{h{{Jf{c}}}}}{{Jf{c}}}Aj}{{{h{Ih}}}Ih}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Jb{c}}}{}}{{}Ih}{c{{Dh{Ih}}}Dj}{{{h{{Jf{c}}}}{h{{Jf{c}}}}}DnE`}{{{h{Ih}}{h{Ih}}}Dn}{{{h{{Jb{c}}}}{h{AfEb}}}EdEf}{{{h{{Jf{c}}}}{h{AfEb}}}EdEf}0{{{h{Ih}}{h{AfEb}}}Ed}{cc{}}00{{{h{Jh}}}{{H`{Ih}}}}{{{h{{Jb{c}}}}c}{{Db{{h{{Bl{Bj}}}}}}}{AjBfEf}}{{{h{{Jb{c}}}}Cl}{{Db{{h{{Ej{cD`}}}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}{h{Cb}}}e{AjBfEf}{}}{{{h{Af{Jb{c}}}}Il{h{In}}}e{AjBfEf}{}}{{{h{Jh}}}{{H`{Bb}}}}{{{h{{Jb{c}}}}}e{AjBfEf}{}}{{{h{{Jb{c}}}}}{{h{{Jj{{Ej{cD`}}}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}c{Bl{Bj}}}{{Dh{Dn{Jf{c}}}}}{AjBfEf}}{ce{}{}}00{{{h{Ih}}}Dn}{{{h{{Jb{c}}}}{h{Cb}}}Dn{AjBfEf}}{{{h{{Jb{c}}}}cD`}Dn{AjBfEf}}{{{h{{Jb{c}}}}c}{{`{{Jn{}{{Gb{{Jl{Il}}}}}}}}}{AjBfEf}}{{{h{{Jb{c}}}}e}{{`{{Jn{}{{Gb{{K`{cIl}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jb{c}}}}}{{`{{Jn{}{{Gb{{Ej{c{h{{Bl{Bj}}}}}}}}}}Kb}}}{AjBfEf}}`{{{h{{Jb{c}}}}c}{{Db{D`}}}{AjBfEf}}{{{h{{Jb{c}}}}}{{Jd{cD`}}}{AjBfEf}}10{{{h{{Jb{c}}}}}D`{AjBfEf}}{{{h{Af{Jb{c}}}}cD`}Bb{AjBfEf}}{{{h{Af{Jb{c}}}}cD`}Dn{AjBfEf}}{{{h{AfIh}}Ih}Bb}{{{h{{Jb{c}}}}{h{Cb}}e}Kd{AjBfEf}{{Gh{c}}}}{D`{{Jb{c}}}{}}{{{h{{Jb{c}}}}c}{{Db{{Ej{D`Dn}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}c}{{Db{{Ej{{Jl{Cl}}Ih}}}}}{AjBfEf}}{{{h{{Jb{c}}}}}{{h{{Kf{{K`{cIl}}}}}}}{AjBfEf}}{{{h{Ih}}{h{Jh}}}{{H`{Bb}}}}2{{{h{Af{Jb{c}}}}cD`}{{Db{{Ej{{Kh{{Jl{Cl}}}}Ih}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}{h{{Jd{cD`}}}}}Ih{AjBfEf}}{{{h{{Jb{c}}}}c}{{`{{Jn{}{{Gb{{Jl{Cl}}}}}}}}}{AjBfEf}}{{{h{{Jb{c}}}}e}{{`{{Gd{}{{Gb{{K`{cCl}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jb{c}}}}{h{Cb}}e}{{Ej{CjCj}}}{AjBfEf}{{Gh{c}}}}{{{h{Ih}}c}DhGl}{{{h{{Jb{c}}}}cD`}{{Db{Cl}}}{AjBfEf}}{{{h{c}}}e{}{}}00{{{h{c}}}Hd{}}{c{{Dh{e}}}{}{}}00000{{{h{{Jb{c}}}}Il}{{Db{{K`{c{h{In}}}}}}}{AjBfEf}}{{{h{{Jb{c}}}}}{{`{{Jn{}{{Gb{{K`{c{Ej{Il{h{In}}}}}}}}}}Kb}}}{AjBfEf}}{{{h{{Jb{c}}}}Cn}{{`{{Jn{}{{Gb{{K`{c{Ej{Il{h{In}}}}}}}}}}}}}{AjBfEf}}{{{h{c}}}Hh{}}00{{{h{{Jb{c}}}}c}{{Db{{B`{{Bl{Bj}}}}}}}{AjBfEf}}{{{h{Af{Jb{c}}}}cD`}Dn{AjBfEf}}{{{h{{Jb{c}}}}c}{{`{{Jn{}{{Gb{{Jl{Cl}}}}}}Aj}}}{AjBfEf}}{{{h{{Jb{c}}}}}{{`{{Jn{}{{Gb{{K`{cCl}}}}}}Aj}}}{AjBfEf}}{ce{}{}}00`````{{{h{{Jj{c}}}}}{{h{{Jd{cCl}}}}}{AjBfEf}}{{{h{Af{Jj{c}}}}e}Bb{AjBfEf}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Jj{c}}}}}{{Jj{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jj{c}}}{}}{{{h{{Jj{c}}}}{h{AfEb}}}EdEf}{cc{}}{{{h{{Jj{c}}}}Cl}{{Db{{h{c}}}}}{AjBfEf}}{{{h{Af{Jj{c}}}}{h{Cb}}}e{AjBfEf}{}}{{{h{Af{Jj{c}}}}Il{h{In}}}e{AjBfEf}{}}{{{h{{Jj{c}}}}}e{AjBfEf}{}}{{{h{Af{Jj{c}}}}cCl}Dn{AjBfEf}}>{{{h{{Jj{c}}}}{h{Cb}}}Dn{AjBfEf}}0{{{h{{Jj{c}}}}{h{c}}}Dn{AjBfEf}}{{{h{Af{Jj{c}}}}{h{c}}}Dn{AjBfEf}}{{{h{{Jj{c}}}}{h{Cb}}e}Kd{AjBfEf}{{Gh{c}}}}{{{h{{Jj{c}}}}}{{h{{Kf{{Ej{cIl}}}}}}}{AjBfEf}}{{{h{{Jj{c}}}}e}{{`{{Jn{}{{Gb{{Ej{{h{c}}Il}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{Af{Jj{c}}}}{h{Cb}}}{{Kf{c}}}{AjBfEf}}{{{h{Af{Jj{c}}}}Il{h{In}}}{{Db{{h{c}}}}}{AjBfEf}}{{{h{{Jj{c}}}}{h{Cb}}e}{{Ej{CjCj}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jj{c}}}}{h{c}}}{{Db{Cl}}}{AjBfEf}}{{{h{c}}}e{}{}}{c{{Dh{e}}}{}{}}0{{{h{{Jj{c}}}}Il}{{Db{{Ej{{h{c}}{h{In}}}}}}}{AjBfEf}}{{{h{{Jj{c}}}}}{{`{{Jn{}{{Gb{{Ej{{h{c}}Il{h{In}}}}}}}}Kb}}}{AjBfEf}}{{{h{{Jj{c}}}}Cn}{{`{{Jn{}{{Gb{{Ej{{h{c}}Il{h{In}}}}}}}}}}}{AjBfEf}}{{{h{c}}}Hh{}}={{{h{{Jj{c}}}}e}{{`{{Jn{}{{Gb{{Ej{{h{c}}Cl}}}}}}Aj}}}{AjBfEf}{{Gh{c}}}}{ce{}{}}````````````{{{h{AfKj}}{h{Kl}}}{{Dh{BbKn}}}}{{{h{AfKj}}{h{L`}}D`}{{Dh{KlLb}}}}{{{h{AfKj}}{h{L`}}D`j}{{Dh{KlLd}}}}{{{h{AfKj}}Lf}{{Dh{KlLb}}}}{{{h{Lf}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Lf}}}Lf}{{{h{Kj}}}Kj}{{{h{Kl}}}Kl}{{{h{Kn}}}Kn}{{{h{Lh}}}Lh}{{{h{Lb}}}Lb}{{{h{Ld}}}Ld}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Kl}{c{{Dh{Kl}}}Dj}{{{h{AfKj}}j}{{Dh{KlKn}}}}{{{h{Lf}}{h{Lf}}}Dn}{{{h{Kj}}{h{Kj}}}Dn}{{{h{Kl}}{h{Kl}}}Dn}{{{h{Kn}}{h{Kn}}}Dn}{{{h{Lh}}{h{Lh}}}Dn}{{{h{Lb}}{h{Lb}}}Dn}{{{h{Ld}}{h{Ld}}}Dn}{{Lfc}{{Dh{LfLf}}}{{Ib{}{{Gb{j}}}}}}{{{h{Lf}}{h{AfEb}}}Ed}{{{h{Kj}}{h{AfEb}}}Ed}{{{h{Kl}}{h{AfEb}}}Ed}{{{h{Kn}}{h{AfEb}}}Ed}0{{{h{Lh}}{h{AfEb}}}Ed}0{{{h{Lb}}{h{AfEb}}}Ed}0{{{h{Ld}}{h{AfEb}}}Ed}0{cc{}}000{cKl{{Ib{}{{Gb{{Ej{D`{Db{Ch}}}}}}}}}}1111{c{{Dh{Lf{Db{Lf}}}}}{{Ib{}{{Gb{j}}}}}}{{{Jd{D`Ch}}}{{Dh{KjKn}}}}{Kl{{Dh{KjKn}}}}{Ch{{Ej{KjKl}}}}{{{h{L`}}D`}Lf}5{cKl{{Ib{}{{Gb{{Ej{D`Ch}}}}}}}}{{{h{Jh}}}{{H`{Kl}}}}{Lf{{Dh{KjKn}}}}{{{h{Kj}}}Ch}{{{h{Lf}}D`}{{Db{Lf}}}}{{{h{Kj}}D`}{{Db{Lf}}}}{{{h{Kj}}}{{Dh{jc}}}{}}{{{h{Lf}}}Ch}{{{h{Lf}}}D`}`{{{h{Jh}}}{{H`{Bb}}}}{{{h{Kj}}}Kl}{{Lfj}Lf}{{{h{AfKj}}j}{{Dh{KlLh}}}}{ce{}{}}0000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}1{Lfc{}}{{{h{Kj}}jj}{{Dh{{Db{Dn}}c}}}{}}{{{h{Kl}}}Dn}{{{h{Lf}}}Lj}{{{h{Kj}}}Lj}{{{h{AfKl}}Kl}Bb}{jLf}{{{h{AfLj}}}{{Db{c}}}{}}`{{{h{Kl}}{h{Jh}}}{{H`{Bb}}}}{{{h{Lf}}}{{Db{Lf}}}}{{Lfj}{{Dh{LfLf}}}}{{{h{Lf}}c}{{`{{Gd{}{{Gb{Lf}}}}}}}{{Gh{D`}}}}{{{h{Kj}}c}{{`{{Gd{}{{Gb{Lf}}}}}}}{{Gh{D`}}}}{{{h{Kl}}c}DhGl}{{{h{Kj}}}Lf}{{{h{c}}}e{}{}}000000{{{h{c}}}Hd{}}000{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}{c{{Dh{e}}}{}{}}0000000`00000000{{{h{c}}}Hh{}}0000000`{ce{}{}}0000000`{{{h{Jh}}{h{Fd}}{h{{Ab{{h{{Ab{{h{Fd}}}}}}}}}}}{{H`{Bb}}}}```````````{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{Ll{c}}}{{Ln{c}}}{}}{{{M`{c}}}{{Mb{c}}}Bf}{{}{{Ll{c}}}{}}{{}{{M`{c}}}{BfAj}}{{{Ll{c}}Lf}{{Ll{c}}}{}}{{{h{{Ln{c}}}}}{{Db{Lf}}}{}}{{{M`{c}}Lf}{{M`{c}}}Bf}{{{h{{Mb{c}}}}}{{Db{Lf}}}{BfAj}}``{{{h{{Md{c}}}}}{{Md{c}}}Aj}{{{h{Mf}}}Mf}{{{h{c}}{h{Afe}}}Bb{}{}}0{{{h{{Md{c}}}}{h{{Md{c}}}}}BdBf}{{{h{Mf}}}En}:{{}{{Ln{c}}}{}}{{}{{M`{c}}}{}}{{}{{Mb{c}}}{}}{{}{{Mh{c}}}{}}{{}{{Mj{ce}}}{}{}}{{{h{{Md{c}}}}{h{{Md{c}}}}}DnE`}{{{h{c}}{h{e}}}Dn{}{}}0{{{h{{Md{c}}}}{h{AfEb}}}EdEf}{{{h{{Md{c}}}}{h{AfEb}}}Ed{EfMl}}{{{h{Mf}}{h{AfEb}}}Ed}{{{h{{Mh{c}}}}{h{AfEb}}}EdEf}{{{h{{Mj{ce}}}}{h{AfEb}}}EdEfEf}{cc{}}{{{Ll{c}}}{{Ln{c}}}{}}111{{{M`{c}}}{{Mb{c}}}{}}2222``{{{h{{Md{c}}}}{h{Afe}}}BbFjFl}{{{Ll{c}}e}{{Ll{c}}}{}{{Mn{{Md{c}}Mf}}N`}}{{{M`{c}}e}{{M`{c}}}Bf{{Mn{cD`{h{Nb}}}}N`}}{ce{}{}}0000000{{{h{Af{Ln{c}}}}}{{`{{Kb{}{{Gb{Il}}}}}}}{}}{{{h{Af{Ln{c}}}}}{{`{{Kb{}{{Gb{Cl}}}}}}}{}}{{{h{Af{Mb{c}}}}c}{{`{{Gd{}{{Gb{{Jl{Cl}}}}}}}}}{BfAj}}{{{h{Af{Ln{c}}}}}{{`{{Kb{}{{Gb{Cn}}}}}}}{}}{{{h{{Mb{c}}}}}{{Kh{c}}}{BfAj}}`{{{h{Af{Ln{c}}}}}{{Db{Il}}}{}}{{{h{Af{Ln{c}}}}}{{Db{Cl}}}{}}{{{h{Af{Mb{c}}}}c}{{Db{{Jl{Cl}}}}}{BfAj}}{{{h{Af{Ln{c}}}}}{{Db{Cn}}}{}}{{{Ll{c}}e}{{Ll{c}}}{}{{Ib{}{{Gb{Il}}}}}}``{{{h{{Md{c}}}}{h{{Md{c}}}}}{{Db{Bd}}}Gj}{{{h{{Ln{c}}}}}Mf{}}{{{h{Mf}}}En}{{{Ll{{Ej{cD`}}}}{h{{Jb{c}}}}e}{{Ll{{Ej{cD`}}}}}{AjBfEfN`Nd}{{Gh{c}}}}{{{Ll{Bb}}c}{{Ll{Bb}}}{{Ib{}{{Gb{Cl}}}}}}`{{{M`{c}}cg}{{M`{c}}}Bf{{Gd{}{{Gb{{Jl{Cl}}}}}}N`}{{Ib{}{{Nf{e}}}}}}{{{M`{c}}{h{{Jb{c}}}}}{{M`{c}}}{BfAjEf}}`{{{Ll{c}}e}{{Ll{c}}}{}{{Ib{}{{Gb{{Ej{cCl}}}}}}}}{{{h{c}}}e{}{}}0{{{h{c}}}Hd{}}7777{c{{Dh{e}}}{}{}}000000000000000{{{Ll{c}}e}{{Ll{c}}}{}{{Ib{}{{Gb{Cn}}}}}}``{{{h{c}}}Hh{}}0000000{{{Ll{{Ej{cD`}}}}{h{{Jb{c}}}}}{{Ll{{Ej{cD`}}}}}{AjBfEfN`Nd}}{ce{}{}}0000000`````````````{{{h{{I`{c}}}}}{{h{{Kf{{Ej{cCn}}}}}}}{}}{{{h{{I`{c}}}}}{{`{{Gd{}{{Gb{{Ej{Il{h{In}}}}}}}}}}}{}}{{{h{{Ij{c}}}}}{{`{{Gd{}{{Gb{D`}}}}}}}f}``{{{h{Af{I`{c}}}}{Ij{c}}}Bb{AjBf}}{{{h{Af{I`{c}}}}{I`{c}}}{{Ij{c}}}{AjBf}}{{{h{{I`{c}}}}}{{h{{I`{c}}}}}{}}{{{h{{I`{c}}}}{h{e}}jik}bf{{Fh{}{{Ff{Nh}}}}}Aj{{Ib{}{{Gb{{Ej{gIl}}}}}}}{{Mn{{h{g}}Cl}{{Nj{Dn}}}}}}{{{h{Af{I`{c}}}}e}{{Ij{c}}}{AjBf}{{Ib{}{{Gb{{Ej{CbDl}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{Afc}}}{{h{Afe}}}{}{}}000000{{{h{{I`{c}}}}{h{Cb}}}{{Dh{CjNl}}}{}}`{c{{Db{Kd}}}{}}{c{{Db{Cj}}}{}}01{{{h{{I`{c}}}}}{{I`{c}}}Aj}{{{h{{Nn{ce}}}}}{{Nn{ce}}}AjAj}{{{h{{O`{ce}}}}}{{O`{ce}}}AjAj}{{{h{{Ij{c}}}}}{{Ij{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}000{{{h{{Nn{ce}}}}{h{{Nn{ce}}}}}BdBfBf}{{{h{{O`{ce}}}}{h{{O`{ce}}}}}BdBfBf}{{}{{I`{c}}}{}}{{}{{Ij{c}}}{}}{{{h{{Nn{ce}}}}}{{h{g}}}{}{}{}}{c{{Dh{{Ij{e}}}}}Dj{BfIf}}{{{h{{I`{c}}}}{h{Cb}}}{{`{{Gd{}{{Gb{{Ej{EnCn}}}}}}}}}{}}{{{h{{I`{c}}}}{h{{I`{c}}}}}DnE`}{{{h{{Nn{ce}}}}{h{{Nn{ce}}}}}DnE`E`}{{{h{{O`{ce}}}}{h{{O`{ce}}}}}DnE`E`}{{{h{Nl}}{h{Nl}}}Dn}{{{h{{Ij{c}}}}{h{{Ij{c}}}}}DnE`}{{{h{c}}{h{e}}}Dn{}{}}00000{{{h{{I`{c}}}}{h{e}}ji}{{`{{Gd{}{{Gb{{Ej{g{An{c}}}}}}}}}}}f{{Fh{}{{Ff{Nh}}}}}Aj{{Ib{}{{Gb{{Ej{gIl}}}}}}}}0{{{h{{I`{c}}}}}{{`{{Gd{}{{Gb{{Ej{Il{h{In}}}}}}}}}}}{}}{{{h{{I`{c}}}}{h{AfEb}}}EdEf}{{{h{{Nn{ce}}}}{h{AfEb}}}EdEfEf}{{{h{{O`{ce}}}}{h{AfEb}}}EdEfEf}{{{h{Nl}}{h{AfEb}}}Ed}0{{{h{{Ij{c}}}}{h{AfEb}}}EdEf}{cc{}}000000{{{h{Jh}}}{{H`{{Ij{c}}}}}{fAjBfHbCf}}{{{h{{I`{c}}}}}{{`{{Gd{}{{Gb{{Nn{{Ob{Cb}}c}}}}}}}}}{}}{{{h{{I`{c}}}}{h{e}}jCn}{{Db{{Ah{{h{c}}}}}}}f{{Fh{}{{Ff{Nh}}}}}}{{{h{{I`{c}}}}{h{e}}jIl}{{Db{{Ej{{Ah{{h{c}}}}Cn}}}}}f{{Fh{}{{Ff{Nh}}}}}}{{{h{{I`{c}}}}Cn}{{Db{{Ob{Cb}}}}}{}}{{{h{{I`{c}}}}Cn}{{Db{{Nn{{Ob{Cb}}c}}}}}{}}{{{h{{I`{c}}}}Il}{{Db{{h{In}}}}}{}}{{{h{Jh}}}{{H`{Bb}}}}{{{h{{I`{c}}}}}{{Ij{c}}}{AjBf}}{{{h{Af{I`{c}}}}Cnc}{{Ij{c}}}{AjBf}}{{{h{Af{I`{c}}}}CnDl}{{Ij{c}}}{AjBf}}{{{h{Af{I`{c}}}}e}{{Ij{c}}}{AjBf}{{Od{{Ob{Cb}}}}}}{{{h{Af{I`{c}}}}IlIn}{{Ij{c}}}{AjBf}}{ce{}{}}000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}011{{{h{{I`{c}}}}}Dn{}}{{{h{{Ij{c}}}}}DnBf}``{{{h{{I`{c}}}}{h{e}}j}{{`{{Gd{}{{Gb{{O`{{Ob{Cb}}c}}}}}}}}}fFh}{{{I`{c}}g}{{I`{e}}}{AjBf}{AjBf}{{Mn{c}{{Nj{e}}}}}}{{{Ij{c}}g}{{Ij{e}}}BfBf{{Mn{c}{{Nj{e}}}}}}{{{h{Af{Ij{c}}}}{Ij{c}}}BbBf}{c{{I`{e}}}{{Ib{}{{Gb{Cb}}}}}{AjBf}}{{{h{Af{Of{cg}}}}}{{Db{i}}}{}{}{{Mn{En{Ob{Cb}}}{{Nj{{Db{e}}}}}}}{}}{{{h{Af{Oh{cg}}}}}{{Db{i}}}{}{}{{Mn{EnCn}{{Nj{{Db{e}}}}}}}{}}{{{h{{I`{c}}}}Il}{{h{{Oj{Cn}}}}}{}}{{{h{{Nn{ce}}}}{h{{Nn{ce}}}}}{{Db{Bd}}}GjGj}{{{h{{O`{ce}}}}{h{{O`{ce}}}}}{{Db{Bd}}}GjGj}{{{h{{Ij{c}}}}{h{Jh}}}{{H`{Bb}}}{fAjBfHbCf}}{{{h{{Ij{c}}}}e}Dh{BfHb}Gl}{{{h{c}}}e{}{}}000{{{h{c}}}Hd{}}{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}0{{{h{{I`{c}}}}{h{e}}jik}{{Dh{b}}}fFhAj{{Ib{}{{Gb{{Ej{gIl}}}}}}}{{Mn{{h{g}}Cl}{{Nj{Dn}}}}}}{{{h{{I`{c}}}}{h{e}}ji}{{`{{Gd{}{{Gb{{Dh{{Ej{g{An{c}}}}}}}}}}}}}fFhAj{{Ib{}{{Gb{{Ej{gIl}}}}}}}}0{c{{Dh{e}}}{}{}}000000{{{h{{I`{c}}}}{h{e}}jCn}{{Dh{{Db{{Ah{{h{c}}}}}}}}}fFh}{{{h{{I`{c}}}}{h{e}}jIl}{{Dh{{Db{{Ej{{Ah{{h{c}}}}Cn}}}}}}}fFh}2222222{{{h{{I`{c}}}}{h{e}}j}{{`{{Gd{}{{Gb{{Dh{{O`{{Ob{Cb}}c}}}}}}}}}}}fFh}``{{{h{{I`{c}}}}Cn}{{Db{{Jd{D`{h{In}}}}}}}{}}{{{h{{I`{c}}}}Cn}{{`{{Jn{}{{Gb{{Ej{D`{h{{Oj{Cn}}}}}}}}}}}}}{}}`{{{h{{Ij{c}}}}}{{`{{Gd{}{{Gb{{Ej{Il{h{In}}}}}}}}}}}{}}``{{{h{{I`{c}}}}}{{`{{Gd{}{{Gb{{Nn{{Ob{Cb}}c}}}}}}}}}{}}{{{h{c}}}Hh{}}000000{{{h{Af{I`{c}}}}Dl}{{Ij{c}}}{AjBf}}{ce{}{}}000000{{{h{{I`{c}}}}ei}{{Of{ci}}}{AjBf}{{Od{{Ob{Cb}}}}}{}{{Mn{En{Ob{Cb}}}{{Nj{{Db{g}}}}}}}}{{{h{{I`{c}}}}{h{Cb}}g}{{Oh{cg}}}{}{}{{Mn{EnCn}{{Nj{{Db{e}}}}}}}}{{{h{{I`{c}}}}Cng}{{Oh{cg}}}{AjBf}{}{{Mn{EnCn}{{Nj{{Db{e}}}}}}}}","D":"CFf","p":[[5,"Balance",0,988],[5,"DescriptorId",0,989],[10,"Anchor",0,990],[1,"reference"],[5,"BlockId",0,991],[5,"ConfirmationBlockTime",0,991],[5,"Hash",992],[1,"u8"],[1,"slice"],[1,"array"],[0,"mut"],[6,"ChainPosition",0,991],[10,"Clone",993],[6,"ConfirmationTime",0,991],[5,"FullTxOut",0,991],[5,"SpkIterator",0,994],[1,"unit"],[6,"Ordering",995],[10,"Ord",995],[6,"ValueRef",996],[6,"DescriptorPublicKey",997],[6,"Descriptor",998],[5,"Impl",0],[8,"FromSqlResult",999],[5,"Transaction",1000],[6,"Network",1001],[10,"DeserializeOwned",1002],[5,"BlockHash",1003],[5,"Amount",1004],[5,"ScriptBuf",1005],[5,"Txid",1000],[1,"u32"],[6,"Option",1006],[10,"Borrow",1007],[10,"DescriptorExt",0,989],[6,"Result",1008],[10,"Deserializer",1002],[1,"u64"],[1,"bool"],[10,"PartialEq",995],[5,"Formatter",1009],[8,"Result",1009],[10,"Debug",1009],[1,"never"],[1,"tuple"],[5,"Block",1003],[1,"usize"],[10,"AnchorFromBlockPosition",0,990],[5,"FromSliceError",1010],[1,"str"],[17,"Error"],[10,"ChainOracle",0,1011],[10,"Hash",1012],[10,"Hasher",1012],[10,"SliceIndex",1013],[5,"IntoFallible",1014],[17,"Item"],[10,"Iterator",1015],[10,"Merge",0,990],[10,"RangeBounds",1016],[10,"PartialOrd",995],[10,"Serializer",1017],[6,"ToSqlOutput",1018],[8,"Result",1019],[10,"Serialize",1017],[5,"String",1020],[5,"Convert",1014],[5,"TypeId",1021],[5,"IndexedTxGraph",291],[5,"ChangeSet",291],[10,"Indexer",341],[5,"TxGraph",809],[10,"IntoIterator",1022],[10,"Default",1023],[10,"Deserialize",1002],[5,"ChangeSet",350],[5,"ChangeSet",809],[5,"OutPoint",1000],[5,"TxOut",1000],[17,"ChangeSet"],[5,"KeychainTxOutIndex",350],[5,"BTreeMap",1024],[6,"InsertDescriptorError",350],[5,"Transaction",1025],[5,"SpkTxOutIndex",453],[8,"Indexed",0],[10,"DoubleEndedIterator",1026],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",1027],[5,"SignedAmount",1004],[5,"BTreeSet",1028],[5,"Vec",1029],[5,"LocalChain",490],[5,"ChangeSet",490],[5,"MissingGenesisError",490],[5,"Header",1003],[5,"CannotConnectError",490],[6,"ApplyHeaderError",490],[5,"CheckPoint",490],[5,"AlterCheckPointError",490],[5,"CheckPointIter",490],[5,"SyncRequestBuilder",663],[5,"SyncRequest",663],[5,"FullScanRequestBuilder",663],[5,"FullScanRequest",663],[6,"SyncItem",663],[5,"SyncProgress",663],[5,"SyncResult",663],[5,"FullScanResult",663],[10,"Any",1021],[10,"FnMut",1030],[10,"Send",1031],[5,"Script",1032],[10,"Sync",1031],[17,"IntoIter"],[6,"Infallible",1033],[17,"Output"],[6,"CalculateFeeError",809],[5,"TxNode",809],[5,"CanonicalTx",809],[5,"Arc",1034],[10,"Into",1033],[5,"TxAncestors",809],[5,"TxDescendants",809],[5,"HashSet",1035],[15,"Confirmed",288],[15,"Unconfirmed",288],[15,"DescriptorAlreadyAssigned",449],[15,"KeychainAlreadyAssigned",449]],"r":[[0,990],[1,990],[2,994],[3,988],[4,991],[6,1011],[7,991],[8,991],[9,991],[12,989],[13,989],[15,991],[18,291],[19,341],[21,990],[22,994],[23,809],[195,341],[220,341]],"b":[[33,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[34,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[80,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[81,"impl-FromSql-for-Impl%3CTransaction%3E"],[82,"impl-FromSql-for-Impl%3CNetwork%3E"],[83,"impl-FromSql-for-Impl%3CA%3E"],[84,"impl-FromSql-for-Impl%3CBlockHash%3E"],[85,"impl-FromSql-for-Impl%3CAmount%3E"],[86,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[87,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[88,"impl-FromSql-for-Impl%3CTxid%3E"],[129,"impl-Display-for-Balance"],[130,"impl-Debug-for-Balance"],[136,"impl-LowerHex-for-DescriptorId"],[137,"impl-Debug-for-DescriptorId"],[138,"impl-Display-for-DescriptorId"],[139,"impl-UpperHex-for-DescriptorId"],[148,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[149,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[233,"impl-ToSql-for-Impl%3CA%3E"],[234,"impl-ToSql-for-Impl%3CBlockHash%3E"],[235,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[236,"impl-ToSql-for-Impl%3CAmount%3E"],[237,"impl-ToSql-for-Impl%3CTransaction%3E"],[238,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[239,"impl-ToSql-for-Impl%3CNetwork%3E"],[240,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[241,"impl-ToSql-for-Impl%3CTxid%3E"],[314,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[316,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[359,"impl-KeychainTxOutIndex%3CK%3E"],[360,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[379,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[380,"impl-Display-for-InsertDescriptorError%3CK%3E"],[552,"impl-Debug-for-MissingGenesisError"],[553,"impl-Display-for-MissingGenesisError"],[554,"impl-Display-for-AlterCheckPointError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Display-for-CannotConnectError"],[557,"impl-Debug-for-CannotConnectError"],[558,"impl-Debug-for-ApplyHeaderError"],[559,"impl-Display-for-ApplyHeaderError"],[574,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[575,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[715,"impl-Debug-for-SyncItem%3C\'i,+I%3E"],[716,"impl-Display-for-SyncItem%3C\'i,+I%3E"],[884,"impl-Display-for-CalculateFeeError"],[885,"impl-Debug-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACkCXAATAAEAGAAAABsAAQAeAAIAIgACACYAEgA6AA8ASwAOAF0AAABgAAMAZgAEAGwAIgCTAAAAlQABAJkAAACdAAMAogACAKYABACuAAAAvAAAAMQAAADHAAAAygABAM0ABgDVAAUA3QAAAOAACADqAAoA+QARAA0BCAAYAQgAKgEAAC4BCwA7AQAAPQEAAEgBAQBLAQUAUgEDAGkBFQCFAQEAiAEAAI8BAACpAQAAqwEJALgBAgC/AQIAyAEGANEBAgDXAQAA4QECAOcBAADqAQAA/QEfAB4CBgAmAgoANQIAAD8CAQBGAgAAVwIDAF0CAABfAgAAZgIAAGgCCgB0AgcAfQIPAI4CBwCjAg8AvQIEAMMCDQDSAgAA1gIAAN0CAAD1AgAA/wICAAYDDwAZAwcAIgMHAD4DAABBAw0AUQMRAGQDCgByAwUAlQMBAJgDAACeAwAAoAMBAKMDAQCmAwUAsQMGALoDBgDLAwYA0wMGAA=="}],\ +["bdk_chain",{"t":"KKSFFSKGFGPPKFRFFIEEIKFEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNMNNNMNOECMENNNNONNNNNNDCDNNNNNOCENNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCONNNNNNNNNNONNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFPPGFFFFPNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNNOONNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNTGFFPPTTTFFFFFNNNOOONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOOOONNNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","Merge","SpkIterator","TxGraph","Unconfirmed","Unconfirmed","add","all_zeros","anchor_block","anchor_block","anchor_block","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","block_id","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","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","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","confirmed","default","default","default","deref","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","height","immature","index","indexed_tx_graph","indexer","into","into","into","into","into","into","into","into","into","into_fallible","into_inner","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_string","to_string","total","transpose_into_fallible","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","IndexedTxGraph","apply_block","apply_block_relevant","apply_changeset","apply_update","apply_update_at","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","index","indexer","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","merge","new","serialize","to_owned","try_from","try_from","try_into","try_into","tx_graph","type_id","type_id","vzip","vzip","ChangeSet","Indexer","apply_changeset","index_tx","index_txout","initial_changeset","is_tx_relevant","keychain_txout","spk_txout","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","InsertDescriptorError","KeychainAlreadyAssigned","KeychainTxOutIndex","LAST_REVEALED_TABLE_NAME","SCHEMA_NAME","all_unbounded_spk_iters","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","default","default","deserialize","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from_sqlite","get_descriptor","index_of_spk","index_tx","index_txout","init_sqlite_tables","initial_changeset","inner","insert_descriptor","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","merge","net_value","new","next_index","next_unused_spk","outpoints","persist_to_sqlite","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","spk_at_index","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","unused_keychain_spks","unused_spks","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","SpkTxOutIndex","all_spks","apply_changeset","borrow","borrow_mut","clone","clone_into","default","fmt","from","index_of_spk","index_tx","index_txout","initial_changeset","insert_spk","into","is_relevant","is_tx_relevant","is_used","mark_used","net_value","outpoints","outputs_in_range","scan","scan_txout","sent_and_received","spk_at_index","to_owned","try_from","try_into","txout","txouts","txouts_in_tx","type_id","unmark_used","unused_spks","vzip","AlterCheckPointError","ApplyHeaderError","BLOCKS_TABLE_NAME","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","SCHEMA_NAME","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","deserialize","disconnect_from","eq","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_iter","from_iter","from_sqlite","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","init_sqlite_tables","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_block_in_chain","is_empty","iter","iter_checkpoints","merge","new","next","original_hash","persist_to_sqlite","prev","push","range","range","serialize","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","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","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","SCHEMAS_TABLE_NAME","migrate_schema","FullScanRequest","FullScanRequestBuilder","FullScanResult","OutPoint","Spk","SyncItem","SyncProgress","SyncRequest","SyncRequestBuilder","SyncResult","Txid","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","build","builder","builder","chain_tip","chain_tip","chain_tip","chain_tip","chain_update","chain_update","clone","clone","clone_into","clone_into","cmp","consumed","default","default","default","default","default","default","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","graph_update","graph_update","hash","inspect","inspect","into","into","into","into","into","into","into","into","iter_outpoints","iter_spks","iter_spks","iter_txids","keychains","last_active_indices","next_outpoint","next_spk","next_spk","next_txid","outpoints","outpoints_consumed","outpoints_remaining","partial_cmp","progress","remaining","revealed_spks_from_indexer","spks","spks_consumed","spks_for_keychain","spks_from_indexer","spks_remaining","spks_with_indexes","to_owned","to_owned","to_string","total","total_outpoints","total_spks","total_txids","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","txids","txids_consumed","txids_remaining","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unused_spks_from_indexer","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ANCHORS_TABLE_NAME","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","SCHEMA_NAME","TXOUTS_TABLE_NAME","TXS_TABLE_NAME","TxAncestors","TxDescendants","TxGraph","TxNode","Update","all_anchors","all_txouts","anchor_heights","anchors","anchors","anchors","apply_changeset","apply_update","apply_update_at","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","extend","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_sqlite","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","init_sqlite_tables","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into_fallible","into_fallible","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","merge","new","next","next","outspends","partial_cmp","partial_cmp","persist_to_sqlite","seen_ats","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","transpose_into_fallible","transpose_into_fallible","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","try_from","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_into","try_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txouts","txs","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[288,"bdk_chain::ConfirmationTime"],[291,"bdk_chain::indexed_tx_graph"],[342,"bdk_chain::indexer"],[351,"bdk_chain::indexer::keychain_txout"],[450,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[454,"bdk_chain::indexer::spk_txout"],[491,"bdk_chain::local_chain"],[662,"bdk_chain::rusqlite_impl"],[664,"bdk_chain::spk_client"],[810,"bdk_chain::tx_graph"],[1010,"bdk_chain::balance"],[1011,"bdk_chain::descriptor_ext"],[1012,"bdk_chain::tx_data_traits"],[1013,"bdk_chain::chain_data"],[1014,"bitcoin_hashes::sha256"],[1015,"core::clone"],[1016,"bdk_chain::spk_iter"],[1017,"core::cmp"],[1018,"rusqlite::types::value_ref"],[1019,"bitcoin::blockdata::transaction"],[1020,"rusqlite::types::from_sql"],[1021,"miniscript::descriptor::key"],[1022,"miniscript::descriptor"],[1023,"serde::de"],[1024,"bitcoin::network"],[1025,"bitcoin::blockdata::script::owned"],[1026,"bitcoin::blockdata::block"],[1027,"bitcoin_units::amount"],[1028,"core::option"],[1029,"core::borrow"],[1030,"core::result"],[1031,"core::fmt"],[1032,"bitcoin_hashes"],[1033,"bdk_chain::chain_oracle"],[1034,"core::hash"],[1035,"core::slice::index"],[1036,"fallible_iterator"],[1037,"core::iter::traits::iterator"],[1038,"core::ops::range"],[1039,"serde::ser"],[1040,"rusqlite::types::to_sql"],[1041,"rusqlite"],[1042,"alloc::string"],[1043,"core::any"],[1044,"core::iter::traits::collect"],[1045,"core::default"],[1046,"alloc::collections::btree::map"],[1047,"rusqlite::transaction"],[1048,"core::iter::traits::double_ended"],[1049,"core::iter::traits::exact_size"],[1050,"alloc::collections::btree::set"],[1051,"alloc::vec"],[1052,"core::ops::function"],[1053,"core::marker"],[1054,"bitcoin::blockdata::script::borrowed"],[1055,"core::convert"],[1056,"alloc::sync"],[1057,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,12,14,0,0,52,0,0,0,0,0,0,0,0,0,12,14,1,2,3,5,6,2,2,2,2,0,6,22,1,12,14,5,6,15,2,2,16,22,1,12,14,5,6,15,2,16,15,1,12,14,5,6,15,2,16,1,12,14,5,6,15,2,16,12,12,14,5,6,15,2,22,22,22,22,22,22,22,22,22,3,3,12,6,6,1,1,5,6,22,16,35,1,14,5,6,2,35,2,1,12,14,5,6,15,2,1,1,12,12,14,14,5,5,6,6,15,15,2,2,1,1,12,14,5,6,15,2,2,2,2,22,22,22,1,12,14,14,5,5,5,6,15,2,2,16,48,5,6,2,2,2,2,2,2,52,12,14,5,6,2,5,5,1,2,0,0,22,1,12,14,5,6,15,2,16,16,22,16,52,12,14,15,59,15,15,0,0,59,0,16,16,16,16,15,12,14,5,6,15,2,0,0,0,1,14,5,6,2,15,0,0,59,59,2,1,12,14,5,6,15,2,16,2,22,22,22,22,22,22,22,22,22,1,2,1,16,1,1,22,1,12,14,5,6,15,2,16,22,1,12,14,5,6,15,2,16,0,15,22,1,12,14,5,6,15,2,16,14,1,22,1,12,14,5,6,15,2,16,127,128,127,0,0,69,69,69,69,69,69,69,69,69,69,70,69,70,70,70,69,70,70,70,69,70,69,70,70,70,69,69,70,69,69,69,69,69,69,70,70,70,69,70,70,69,70,69,70,70,69,70,69,70,71,0,71,71,71,71,71,0,0,0,0,84,0,84,0,77,77,82,82,82,82,84,77,82,84,77,82,84,77,82,84,77,82,77,77,84,77,82,84,84,77,82,84,77,77,82,82,82,82,77,82,82,82,82,84,77,77,82,82,82,82,82,77,82,82,82,82,82,82,82,77,82,82,82,82,82,77,82,82,82,82,82,82,77,82,82,84,77,84,82,84,77,82,84,77,82,82,82,82,84,77,82,82,82,82,82,84,77,129,129,130,130,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,0,0,95,99,0,0,0,0,99,0,0,95,94,94,94,94,100,95,102,100,94,95,96,101,98,99,102,100,94,95,96,101,98,99,100,94,95,96,101,98,99,100,94,95,96,101,98,99,95,95,94,100,94,95,96,101,98,99,100,100,94,95,96,96,101,101,98,98,99,99,102,100,94,95,95,96,101,98,99,100,94,94,94,100,95,95,95,94,94,100,94,94,100,100,101,95,94,100,94,102,100,94,95,96,101,98,99,102,102,100,94,95,100,94,95,100,102,101,95,100,100,100,94,95,94,100,94,95,96,101,98,99,96,101,98,99,102,102,100,94,95,96,101,98,99,98,102,100,94,95,96,101,98,99,102,100,94,95,96,101,98,99,101,102,100,94,95,96,101,98,99,0,0,0,0,0,107,107,0,0,0,0,0,107,103,104,105,106,107,108,109,110,103,104,105,106,107,108,109,110,103,105,104,106,103,104,105,106,109,110,107,108,107,108,107,108,103,104,105,106,109,110,107,107,107,107,107,108,109,110,103,104,104,105,106,106,107,108,109,110,109,110,107,103,105,103,104,105,106,107,108,109,110,104,104,106,104,106,110,104,104,106,104,103,108,108,107,104,108,103,103,108,105,105,108,103,107,108,107,108,108,108,108,103,104,105,106,107,108,109,110,103,104,105,106,107,108,109,110,103,108,108,103,104,105,106,107,108,109,110,103,103,104,105,106,107,108,109,110,78,0,0,0,119,119,78,78,78,0,0,0,0,0,73,73,78,72,120,78,73,73,73,73,73,73,124,125,72,73,120,121,119,78,124,125,72,73,120,121,119,78,73,121,124,124,125,125,72,73,120,121,78,72,73,120,121,78,120,121,72,73,78,120,78,73,73,120,121,119,78,120,120,121,121,119,119,72,73,73,73,72,73,120,121,119,119,78,124,125,72,72,73,73,120,121,119,78,78,73,73,73,73,73,73,78,73,73,73,73,73,124,125,72,73,120,121,119,78,124,125,124,125,73,78,78,120,73,73,78,78,73,124,125,73,120,121,78,72,78,72,73,120,121,78,119,124,125,73,73,73,124,125,72,73,120,121,119,78,73,73,124,125,72,73,120,121,119,78,73,120,121,73,73,120,78,72,78,72,78,73,124,125,72,73,120,121,119,78,124,125,72,73,120,121,119,78,73,73,73],"f":"``````````````````````````{{bb}b}{{}d}{{{h{f}}}j}{{{h{j}}}j}{{{h{l}}}j}{{{h{d}}}{{h{c}}}{}}{{{h{d}}}{{h{n}}}}{{{h{d}}}{{h{{Ab{A`}}}}}}{{{h{d}}}{{h{{Ad{A`}}}}}}``{{{h{c}}}{{h{e}}}{}{}}000000020{{{h{Afc}}}{{h{Afe}}}{}{}}00000000`{{{h{b}}}b}{{{h{{Ah{c}}}}}{{Ah{c}}}Aj}{{{h{Al}}}Al}:{{{h{l}}}l}{{{h{{An{c}}}}}{{An{c}}}Aj}{{{h{d}}}d}{{{h{{B`{c}}}}}{{B`{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}0000000{{{Ah{{h{c}}}}}{{Ah{c}}}Aj}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}BdBf}{{{h{Al}}{h{Al}}}Bd}{{{h{j}}{h{j}}}Bd}{{{h{l}}{h{l}}}Bd}{{{h{{An{c}}}}{h{{An{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bh{{Bn{{Bl{Bj}}}}}}{Bh{{Bn{{Bl{{Cb{C`}}}}}}}}{Bh{{Bn{{Bl{d}}}}}}{Bh{{Bn{{Bl{c}}}}}{fCd}}{Bh{{Bn{{Bl{Cf}}}}}}{Bh{{Bn{{Bl{Ch}}}}}}{Bh{{Bn{{Bl{Cj}}}}}}{Bh{{Bn{{Bl{Cl}}}}}}{Bh{{Bn{{Bl{Cn}}}}}}{{{h{f}}}D`}0{{{h{{Ah{c}}}}}{{Db{D`}}}f}{{{h{l}}}D`}``{{}b}{{}j}{{}l}{{{h{{Bl{c}}}}}{{h{e}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{Dd{{Cb{C`}}}}}}{{{h{Df}}}d}{c{{Dh{b}}}Dj}{c{{Dh{Al}}}Dj}{c{{Dh{j}}}Dj}{c{{Dh{l}}}Dj}{c{{Dh{d}}}Dj}{{{h{Df}}}Dl}{{}c{}}{{{h{b}}{h{b}}}Dn}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}DnE`}{{{h{Al}}{h{Al}}}Dn}{{{h{j}}{h{j}}}Dn}{{{h{l}}{h{l}}}Dn}{{{h{{An{c}}}}{h{{An{c}}}}}DnE`}{{{h{d}}{h{d}}}Dn}{{{h{c}}{h{e}}}Dn{}{}}0000000000000{{{h{b}}{h{AfEb}}}Ed}0{{{h{{Ah{c}}}}{h{AfEb}}}EdEf}{{{h{Al}}{h{AfEb}}}Ed}{{{h{j}}{h{AfEb}}}Ed}{{{h{l}}{h{AfEb}}}Ed}{{{h{{An{c}}}}{h{AfEb}}}EdEf}{{{h{d}}{h{AfEb}}}Ed}000{c{{Bl{c}}}{}}{cc{}}{Ehc{}}11{{{Ah{l}}}Al}2{{{Ej{{h{D`}}{h{Cj}}}}}j}3{{{Ej{D`Cj}}}j}444{nd}5{{{h{El}}jEn}F`}{{{h{El}}jEn}j}{{{h{El}}jEn}l}{cd{}}04{{{h{{Ab{A`}}}}}{{Dh{dFb}}}}0{{{h{Fd}}}{{Dh{dc}}}{}}{{{h{{Fh{}{{Ff{c}}}}}}}{{Dh{jc}}}Ef}{{{h{{Ah{c}}}}{h{Afe}}}BbFjFl}{{{h{Al}}{h{Afc}}}BbFl}{{{h{j}}{h{Afc}}}BbFl}{{{h{l}}{h{Afc}}}BbFl}{{{h{d}}{h{Afc}}}BbFl}```{{{h{d}}c}{{h{e}}}{{Fn{{Ab{A`}}}}}{}}``{ce{}{}}00000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}{{{Bl{c}}}c{}}2{{{h{{Fh{}{{Ff{c}}}}}}jj}{{Dh{{Db{Dn}}c}}}Ef}{{{h{{Ah{c}}}}}Dn{}}{{{h{Al}}}Dn}{{{h{{An{c}}}}D`}Dnf}{{{h{Gf}}}Dn}1```{{{h{AfGf}}Gf}Bb}`{c{{B`{c}}}{{Dd{{Cb{C`}}}}}}{{ce}{{B`{c}}}{{Dd{{Cb{C`}}}}}{{Gh{D`}}}}{{{h{Af{B`{c}}}}}{{Db{e}}}{{Dd{{Cb{C`}}}}}{}}{{{h{Af{B`{c}}}}En}{{Db{e}}}{{Dd{{Cb{C`}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Db{Bd}}}Gj}{{{h{Al}}{h{Al}}}{{Db{Bd}}}}{{{h{j}}{h{j}}}{{Db{Bd}}}}{{{h{l}}{h{l}}}{{Db{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Db{Bd}}}Gj}{{{h{d}}{h{d}}}{{Db{Bd}}}}```{{{h{b}}c}DhGl}{{{h{Al}}c}DhGl}{{{h{j}}c}DhGl}{{{h{l}}c}DhGl}{{{h{d}}c}DhGl}```{{{h{AfGf}}}{{Db{Gf}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bl{Bj}}}}}{{H`{Gn}}}}{{{h{{Bl{d}}}}}{{H`{Gn}}}}{{{h{{Bl{Cj}}}}}{{H`{Gn}}}}{{{h{{Bl{Ch}}}}}{{H`{Gn}}}}{{{h{{Bl{Cn}}}}}{{H`{Gn}}}}{{{h{{Bl{Cf}}}}}{{H`{Gn}}}}{{{h{{Bl{{Cb{C`}}}}}}}{{H`{Gn}}}}{{{h{{Bl{Cl}}}}}{{H`{Gn}}}}{{{h{{Bl{c}}}}}{{H`{Gn}}}{fHb}}{{{h{c}}}Hd{}}0{{{h{b}}}Cl}{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}`1{c{{Dh{e}}}{}{}}00000000000000000``{{{h{c}}}Hh{}}00000000{DlAl}`{ce{}{}}00000000`````{{{h{Af{Hj{ce}}}}ElD`}{{Hl{c}}}{F`f}Hn}{{{h{Af{Hj{ce}}}}{h{El}}D`}{{Hl{c}}}{F`f}Hn}{{{h{Af{Hj{ce}}}}{Hl{c}}}BbfHn}{{{h{Af{Hj{ce}}}}{I`{c}}}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}{I`{c}}{Db{Dl}}}{{Hl{c}}}fHn}{{{h{{Hj{ce}}}}}{{h{{Ib{c}}}}}{}{}}{{{h{Af{Hj{ce}}}}i}{{Hl{c}}}fHn{{Id{}{{Gb{c}}}}}{{Id{}{{Gb{{Ej{{h{Bj}}g}}}}}}}}{{{h{Af{Hj{ce}}}}g}{{Hl{c}}}fHn{{Id{}{{Gb{{Ej{{h{Bj}}Dl}}}}}}}}{{{h{Af{Hj{ce}}}}g}{{Hl{c}}}fHn{{Id{}{{Gb{{Ej{BjDl}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Hl{ce}}}}}{{Hl{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Hj{ce}}}{}If}{{}{{Hl{ce}}}{}If}{c{{Dh{{Hl{eg}}}}}Dj{BfIh}Ih}{{{h{{Hl{ce}}}}{h{{Hl{ce}}}}}DnE`E`}{{{h{{Hj{ce}}}}{h{AfEb}}}EdEfEf}{{{h{{Hl{ce}}}}{h{AfEb}}}EdEfEf}{cc{}}0{Ij{{Hl{cIj}}}{}}{{{Il{c}}}{{Hl{ce}}}{}If}{{{h{{Hj{ce}}}}}{{h{{Ib{c}}}}}{}{}}``{{{h{{Hj{ce}}}}}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}Cnc}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}CnDl}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}Bj}{{Hl{c}}}fHn}{{{h{Af{Hj{ce}}}}InJ`}{{Hl{c}}}fHn}{ce{}{}}0{{{h{{Hl{ce}}}}}DnfGf}{{{h{Af{Hl{ce}}}}{Hl{ce}}}BbfGf}{c{{Hj{ec}}}{}{}}{{{h{{Hl{ce}}}}g}Dh{BfHb}HbGl}{{{h{c}}}e{}{}}{c{{Dh{e}}}{}{}}000`{{{h{c}}}Hh{}}077``{{{h{Af{Hn{}{{Jb{c}}}}}}c}Bb{}}{{{h{Af{Hn{}{{Jb{c}}}}}}{h{Bj}}}c{}}{{{h{Af{Hn{}{{Jb{c}}}}}}In{h{J`}}}c{}}{{{h{{Hn{}{{Jb{c}}}}}}}c{}}{{{h{{Hn{}{{Jb{c}}}}}}{h{Bj}}}Dn{}}``````````{{{h{{Jd{c}}}}}{{Jf{c{B`{{Cb{C`}}}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}e}Bb{AjBfEf}{}}{{{h{Af{Jd{c}}}}Ij}Bb{AjBfEf}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Jd{c}}}}}{{Jd{c}}}Aj}{{{h{{Jh{c}}}}}{{Jh{c}}}Aj}{{{h{Ij}}}Ij}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Jd{c}}}{}}{{}Ij}{c{{Dh{Ij}}}Dj}{{{h{{Jh{c}}}}{h{{Jh{c}}}}}DnE`}{{{h{Ij}}{h{Ij}}}Dn}{{{h{{Jd{c}}}}{h{AfEb}}}EdEf}{{{h{{Jh{c}}}}{h{AfEb}}}EdEf}0{{{h{Ij}}{h{AfEb}}}Ed}{cc{}}00{{{h{Jj}}}{{H`{Ij}}}}{{{h{{Jd{c}}}}c}{{Db{{h{{Cb{C`}}}}}}}{AjBfEf}}{{{h{{Jd{c}}}}Ch}{{Db{{h{{Ej{cD`}}}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}{h{Bj}}}e{AjBfEf}{}}{{{h{Af{Jd{c}}}}In{h{J`}}}e{AjBfEf}{}}{{{h{Jj}}}{{H`{Bb}}}}{{{h{{Jd{c}}}}}e{AjBfEf}{}}{{{h{{Jd{c}}}}}{{h{{Jl{{Ej{cD`}}}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}c{Cb{C`}}}{{Dh{Dn{Jh{c}}}}}{AjBfEf}}{ce{}{}}00{{{h{Ij}}}Dn}{{{h{{Jd{c}}}}{h{Bj}}}Dn{AjBfEf}}{{{h{{Jd{c}}}}cD`}Dn{AjBfEf}}{{{h{{Jd{c}}}}c}{{`{{K`{}{{Gb{{Jn{In}}}}}}}}}{AjBfEf}}{{{h{{Jd{c}}}}e}{{`{{K`{}{{Gb{{Kb{cIn}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jd{c}}}}}{{`{{K`{}{{Gb{{Ej{c{h{{Cb{C`}}}}}}}}}}Kd}}}{AjBfEf}}`{{{h{{Jd{c}}}}c}{{Db{D`}}}{AjBfEf}}{{{h{{Jd{c}}}}}{{Jf{cD`}}}{AjBfEf}}10{{{h{{Jd{c}}}}}D`{AjBfEf}}{{{h{Af{Jd{c}}}}cD`}Bb{AjBfEf}}{{{h{Af{Jd{c}}}}cD`}Dn{AjBfEf}}{{{h{AfIj}}Ij}Bb}{{{h{{Jd{c}}}}{h{Bj}}e}Kf{AjBfEf}{{Gh{c}}}}{D`{{Jd{c}}}{}}{{{h{{Jd{c}}}}c}{{Db{{Ej{D`Dn}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}c}{{Db{{Ej{{Jn{Ch}}Ij}}}}}{AjBfEf}}{{{h{{Jd{c}}}}}{{h{{Kh{{Kb{cIn}}}}}}}{AjBfEf}}{{{h{Ij}}{h{Jj}}}{{H`{Bb}}}}2{{{h{Af{Jd{c}}}}cD`}{{Db{{Ej{{Kj{{Jn{Ch}}}}Ij}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}{h{{Jf{cD`}}}}}Ij{AjBfEf}}{{{h{{Jd{c}}}}c}{{`{{K`{}{{Gb{{Jn{Ch}}}}}}}}}{AjBfEf}}{{{h{{Jd{c}}}}e}{{`{{Gd{}{{Gb{{Kb{cCh}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jd{c}}}}{h{Bj}}e}{{Ej{ClCl}}}{AjBfEf}{{Gh{c}}}}{{{h{Ij}}c}DhGl}{{{h{{Jd{c}}}}cD`}{{Db{Ch}}}{AjBfEf}}{{{h{c}}}e{}{}}00{{{h{c}}}Hd{}}{c{{Dh{e}}}{}{}}00000{{{h{{Jd{c}}}}In}{{Db{{Kb{c{h{J`}}}}}}}{AjBfEf}}{{{h{{Jd{c}}}}}{{`{{K`{}{{Gb{{Kb{c{Ej{In{h{J`}}}}}}}}}}Kd}}}{AjBfEf}}{{{h{{Jd{c}}}}Cn}{{`{{K`{}{{Gb{{Kb{c{Ej{In{h{J`}}}}}}}}}}}}}{AjBfEf}}{{{h{c}}}Hh{}}00{{{h{{Jd{c}}}}c}{{Db{{B`{{Cb{C`}}}}}}}{AjBfEf}}{{{h{Af{Jd{c}}}}cD`}Dn{AjBfEf}}{{{h{{Jd{c}}}}c}{{`{{K`{}{{Gb{{Jn{Ch}}}}}}Aj}}}{AjBfEf}}{{{h{{Jd{c}}}}}{{`{{K`{}{{Gb{{Kb{cCh}}}}}}Aj}}}{AjBfEf}}{ce{}{}}00`````{{{h{{Jl{c}}}}}{{h{{Jf{cCh}}}}}{AjBfEf}}{{{h{Af{Jl{c}}}}e}Bb{AjBfEf}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Jl{c}}}}}{{Jl{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jl{c}}}{}}{{{h{{Jl{c}}}}{h{AfEb}}}EdEf}{cc{}}{{{h{{Jl{c}}}}Ch}{{Db{{h{c}}}}}{AjBfEf}}{{{h{Af{Jl{c}}}}{h{Bj}}}e{AjBfEf}{}}{{{h{Af{Jl{c}}}}In{h{J`}}}e{AjBfEf}{}}{{{h{{Jl{c}}}}}e{AjBfEf}{}}{{{h{Af{Jl{c}}}}cCh}Dn{AjBfEf}}>{{{h{{Jl{c}}}}{h{Bj}}}Dn{AjBfEf}}0{{{h{{Jl{c}}}}{h{c}}}Dn{AjBfEf}}{{{h{Af{Jl{c}}}}{h{c}}}Dn{AjBfEf}}{{{h{{Jl{c}}}}{h{Bj}}e}Kf{AjBfEf}{{Gh{c}}}}{{{h{{Jl{c}}}}}{{h{{Kh{{Ej{cIn}}}}}}}{AjBfEf}}{{{h{{Jl{c}}}}e}{{`{{K`{}{{Gb{{Ej{{h{c}}In}}}}}}}}}{AjBfEf}{{Gh{c}}}}{{{h{Af{Jl{c}}}}{h{Bj}}}{{Kh{c}}}{AjBfEf}}{{{h{Af{Jl{c}}}}In{h{J`}}}{{Db{{h{c}}}}}{AjBfEf}}{{{h{{Jl{c}}}}{h{Bj}}e}{{Ej{ClCl}}}{AjBfEf}{{Gh{c}}}}{{{h{{Jl{c}}}}{h{c}}}{{Db{Ch}}}{AjBfEf}}{{{h{c}}}e{}{}}{c{{Dh{e}}}{}{}}0{{{h{{Jl{c}}}}In}{{Db{{Ej{{h{c}}{h{J`}}}}}}}{AjBfEf}}{{{h{{Jl{c}}}}}{{`{{K`{}{{Gb{{Ej{{h{c}}In{h{J`}}}}}}}}Kd}}}{AjBfEf}}{{{h{{Jl{c}}}}Cn}{{`{{K`{}{{Gb{{Ej{{h{c}}In{h{J`}}}}}}}}}}}{AjBfEf}}{{{h{c}}}Hh{}}={{{h{{Jl{c}}}}e}{{`{{K`{}{{Gb{{Ej{{h{c}}Ch}}}}}}Aj}}}{AjBfEf}{{Gh{c}}}}{ce{}{}}````````````{{{h{AfKl}}{h{Kn}}}{{Dh{BbL`}}}}{{{h{AfKl}}{h{Lb}}D`}{{Dh{KnLd}}}}{{{h{AfKl}}{h{Lb}}D`j}{{Dh{KnLf}}}}{{{h{AfKl}}Lh}{{Dh{KnLd}}}}{{{h{Lh}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Lh}}}Lh}{{{h{Kl}}}Kl}{{{h{Kn}}}Kn}{{{h{L`}}}L`}{{{h{Lj}}}Lj}{{{h{Ld}}}Ld}{{{h{Lf}}}Lf}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Kn}{c{{Dh{Kn}}}Dj}{{{h{AfKl}}j}{{Dh{KnL`}}}}{{{h{Lh}}{h{Lh}}}Dn}{{{h{Kl}}{h{Kl}}}Dn}{{{h{Kn}}{h{Kn}}}Dn}{{{h{L`}}{h{L`}}}Dn}{{{h{Lj}}{h{Lj}}}Dn}{{{h{Ld}}{h{Ld}}}Dn}{{{h{Lf}}{h{Lf}}}Dn}{{Lhc}{{Dh{LhLh}}}{{Id{}{{Gb{j}}}}}}{{{h{Lh}}{h{AfEb}}}Ed}{{{h{Kl}}{h{AfEb}}}Ed}{{{h{Kn}}{h{AfEb}}}Ed}{{{h{L`}}{h{AfEb}}}Ed}0{{{h{Lj}}{h{AfEb}}}Ed}0{{{h{Ld}}{h{AfEb}}}Ed}0{{{h{Lf}}{h{AfEb}}}Ed}0{cc{}}00{cKn{{Id{}{{Gb{{Ej{D`{Db{Cj}}}}}}}}}}11111{c{{Dh{Lh{Db{Lh}}}}}{{Id{}{{Gb{j}}}}}}{{{Jf{D`Cj}}}{{Dh{KlL`}}}}{Kn{{Dh{KlL`}}}}{Cj{{Ej{KlKn}}}}{{{h{Lb}}D`}Lh}{cKn{{Id{}{{Gb{{Ej{D`Cj}}}}}}}}6{{{h{Jj}}}{{H`{Kn}}}}{Lh{{Dh{KlL`}}}}{{{h{Kl}}}Cj}{{{h{Lh}}D`}{{Db{Lh}}}}{{{h{Kl}}D`}{{Db{Lh}}}}{{{h{Kl}}}{{Dh{jc}}}{}}{{{h{Lh}}}Cj}{{{h{Lh}}}D`}`{{{h{Jj}}}{{H`{Bb}}}}{{{h{Kl}}}Kn}{{Lhj}Lh}{{{h{AfKl}}j}{{Dh{KnLj}}}}{ce{}{}}0000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}1{Lhc{}}{{{h{Kl}}jj}{{Dh{{Db{Dn}}c}}}{}}{{{h{Kn}}}Dn}{{{h{Lh}}}Ll}{{{h{Kl}}}Ll}{{{h{AfKn}}Kn}Bb}{jLh}{{{h{AfLl}}}{{Db{c}}}{}}`{{{h{Kn}}{h{Jj}}}{{H`{Bb}}}}{{{h{Lh}}}{{Db{Lh}}}}{{Lhj}{{Dh{LhLh}}}}{{{h{Lh}}c}{{`{{Gd{}{{Gb{Lh}}}}}}}{{Gh{D`}}}}{{{h{Kl}}c}{{`{{Gd{}{{Gb{Lh}}}}}}}{{Gh{D`}}}}{{{h{Kn}}c}DhGl}{{{h{Kl}}}Lh}{{{h{c}}}e{}{}}000000{{{h{c}}}Hd{}}000{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}{c{{Dh{e}}}{}{}}0000000`00000000{{{h{c}}}Hh{}}0000000`{ce{}{}}0000000`{{{h{Jj}}{h{Fd}}{h{{Ab{{h{{Ab{{h{Fd}}}}}}}}}}}{{H`{Bb}}}}```````````{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{Ln{c}}}{{M`{c}}}{}}{{{Mb{c}}}{{Md{c}}}Bf}{{}{{Ln{c}}}{}}{{}{{Mb{c}}}{BfAj}}{{{Ln{c}}Lh}{{Ln{c}}}{}}{{{h{{M`{c}}}}}{{Db{Lh}}}{}}{{{Mb{c}}Lh}{{Mb{c}}}Bf}{{{h{{Md{c}}}}}{{Db{Lh}}}{BfAj}}``{{{h{{Mf{c}}}}}{{Mf{c}}}Aj}{{{h{Mh}}}Mh}{{{h{c}}{h{Afe}}}Bb{}{}}0{{{h{{Mf{c}}}}{h{{Mf{c}}}}}BdBf}{{{h{Mh}}}En}:{{}{{M`{c}}}{}}{{}{{Mb{c}}}{}}{{}{{Md{c}}}{}}{{}{{Mj{c}}}{}}{{}{{Ml{ce}}}{}{}}{{{h{{Mf{c}}}}{h{{Mf{c}}}}}DnE`}{{{h{c}}{h{e}}}Dn{}{}}0{{{h{{Mf{c}}}}{h{AfEb}}}Ed{EfMn}}{{{h{{Mf{c}}}}{h{AfEb}}}EdEf}{{{h{Mh}}{h{AfEb}}}Ed}{{{h{{Mj{c}}}}{h{AfEb}}}EdEf}{{{h{{Ml{ce}}}}{h{AfEb}}}EdEfEf}{cc{}}{{{Ln{c}}}{{M`{c}}}{}}111{{{Mb{c}}}{{Md{c}}}{}}2222``{{{h{{Mf{c}}}}{h{Afe}}}BbFjFl}{{{Ln{c}}e}{{Ln{c}}}{}{{N`{{Mf{c}}Mh}}Nb}}{{{Mb{c}}e}{{Mb{c}}}Bf{{N`{cD`{h{Nd}}}}Nb}}{ce{}{}}0000000{{{h{Af{M`{c}}}}}{{`{{Kd{}{{Gb{In}}}}}}}{}}{{{h{Af{M`{c}}}}}{{`{{Kd{}{{Gb{Ch}}}}}}}{}}{{{h{Af{Md{c}}}}c}{{`{{Gd{}{{Gb{{Jn{Ch}}}}}}}}}{BfAj}}{{{h{Af{M`{c}}}}}{{`{{Kd{}{{Gb{Cn}}}}}}}{}}{{{h{{Md{c}}}}}{{Kj{c}}}{BfAj}}`{{{h{Af{M`{c}}}}}{{Db{In}}}{}}{{{h{Af{M`{c}}}}}{{Db{Ch}}}{}}{{{h{Af{Md{c}}}}c}{{Db{{Jn{Ch}}}}}{BfAj}}{{{h{Af{M`{c}}}}}{{Db{Cn}}}{}}{{{Ln{c}}e}{{Ln{c}}}{}{{Id{}{{Gb{In}}}}}}``{{{h{{Mf{c}}}}{h{{Mf{c}}}}}{{Db{Bd}}}Gj}{{{h{{M`{c}}}}}Mh{}}{{{h{Mh}}}En}{{{Ln{{Ej{cD`}}}}{h{{Jd{c}}}}e}{{Ln{{Ej{cD`}}}}}{AjBfEfNbNf}{{Gh{c}}}}{{{Ln{Bb}}c}{{Ln{Bb}}}{{Id{}{{Gb{Ch}}}}}}`{{{Mb{c}}cg}{{Mb{c}}}Bf{{Gd{}{{Gb{{Jn{Ch}}}}}}Nb}{{Id{}{{Nh{e}}}}}}{{{Mb{c}}{h{{Jd{c}}}}}{{Mb{c}}}{BfAjEf}}`{{{Ln{c}}e}{{Ln{c}}}{}{{Id{}{{Gb{{Ej{cCh}}}}}}}}{{{h{c}}}e{}{}}0{{{h{c}}}Hd{}}7777{c{{Dh{e}}}{}{}}000000000000000{{{Ln{c}}e}{{Ln{c}}}{}{{Id{}{{Gb{Cn}}}}}}``{{{h{c}}}Hh{}}0000000{{{Ln{{Ej{cD`}}}}{h{{Jd{c}}}}}{{Ln{{Ej{cD`}}}}}{AjBfEfNbNf}}{ce{}{}}0000000``````````````{{{h{{Ib{c}}}}}{{h{{Kh{{Ej{cCn}}}}}}}{}}{{{h{{Ib{c}}}}}{{`{{Gd{}{{Gb{{Ej{In{h{J`}}}}}}}}}}}{}}{{{h{{Il{c}}}}}{{`{{Gd{}{{Gb{D`}}}}}}}f}```{{{h{Af{Ib{c}}}}{Il{c}}}Bb{AjBf}}{{{h{Af{Ib{c}}}}{I`{c}}}{{Il{c}}}{AjBf}}{{{h{Af{Ib{c}}}}{I`{c}}{Db{Dl}}}{{Il{c}}}{AjBf}}{{{h{{Ib{c}}}}}{{h{{Ib{c}}}}}{}}{{{h{{Ib{c}}}}{h{e}}jik}bf{{Fh{}{{Ff{Nj}}}}}Aj{{Id{}{{Gb{{Ej{gIn}}}}}}}{{N`{{h{g}}Ch}{{Nl{Dn}}}}}}{{{h{Af{Ib{c}}}}e}{{Il{c}}}{AjBf}{{Id{}{{Gb{{Ej{BjDl}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{{Ib{c}}}}{h{Bj}}}{{Dh{ClNn}}}{}}`{c{{Db{Cl}}}{}}{c{{Db{Kf}}}{}}10{{{h{{I`{c}}}}}{{I`{c}}}Aj}{{{h{{Ib{c}}}}}{{Ib{c}}}Aj}{{{h{{O`{ce}}}}}{{O`{ce}}}AjAj}{{{h{{Ob{ce}}}}}{{Ob{ce}}}AjAj}{{{h{{Il{c}}}}}{{Il{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}0000{{{h{{O`{ce}}}}{h{{O`{ce}}}}}BdBfBf}{{{h{{Ob{ce}}}}{h{{Ob{ce}}}}}BdBfBf}{{}{{I`{c}}}{}}{{}{{Ib{c}}}{}}{{}{{Il{c}}}{}}{{{h{{O`{ce}}}}}{{h{g}}}{}{}{}}{c{{Dh{{Il{e}}}}}Dj{BfIh}}{{{h{{Ib{c}}}}{h{Bj}}}{{`{{Gd{}{{Gb{{Ej{EnCn}}}}}}}}}{}}{{{h{{Ib{c}}}}{h{{Ib{c}}}}}DnE`}{{{h{{O`{ce}}}}{h{{O`{ce}}}}}DnE`E`}{{{h{{Ob{ce}}}}{h{{Ob{ce}}}}}DnE`E`}{{{h{Nn}}{h{Nn}}}Dn}{{{h{{Il{c}}}}{h{{Il{c}}}}}DnE`}{{{h{c}}{h{e}}}Dn{}{}}00000{{{h{Af{I`{c}}}}{I`{c}}}BbBf}{{{h{{Ib{c}}}}{h{e}}ji}{{`{{Gd{}{{Gb{{Ej{g{An{c}}}}}}}}}}}f{{Fh{}{{Ff{Nj}}}}}Aj{{Id{}{{Gb{{Ej{gIn}}}}}}}}0{{{h{{Ib{c}}}}}{{`{{Gd{}{{Gb{{Ej{In{h{J`}}}}}}}}}}}{}}{{{h{{I`{c}}}}{h{AfEb}}}EdEf}{{{h{{Ib{c}}}}{h{AfEb}}}EdEf}{{{h{{O`{ce}}}}{h{AfEb}}}EdEfEf}{{{h{{Ob{ce}}}}{h{AfEb}}}EdEfEf}{{{h{Nn}}{h{AfEb}}}Ed}0{{{h{{Il{c}}}}{h{AfEb}}}EdEf}{cc{}}0{{{Ib{c}}}{{I`{c}}}{}}1{{{I`{c}}}{{Ib{c}}}{BfAj}}22222{{{h{Jj}}}{{H`{{Il{c}}}}}{fAjBfHbCd}}{{{h{{Ib{c}}}}}{{`{{Gd{}{{Gb{{O`{{Od{Bj}}c}}}}}}}}}{}}{{{h{{Ib{c}}}}{h{e}}jCn}{{Db{{Ah{{h{c}}}}}}}f{{Fh{}{{Ff{Nj}}}}}}{{{h{{Ib{c}}}}{h{e}}jIn}{{Db{{Ej{{Ah{{h{c}}}}Cn}}}}}f{{Fh{}{{Ff{Nj}}}}}}{{{h{{Ib{c}}}}Cn}{{Db{{Od{Bj}}}}}{}}{{{h{{Ib{c}}}}Cn}{{Db{{O`{{Od{Bj}}c}}}}}{}}{{{h{{Ib{c}}}}In}{{Db{{h{J`}}}}}{}}{{{h{Jj}}}{{H`{Bb}}}}{{{h{{Ib{c}}}}}{{Il{c}}}{AjBf}}{{{h{Af{Ib{c}}}}Cnc}{{Il{c}}}{AjBf}}{{{h{Af{Ib{c}}}}CnDl}{{Il{c}}}{AjBf}}{{{h{Af{Ib{c}}}}e}{{Il{c}}}{AjBf}{{Of{{Od{Bj}}}}}}{{{h{Af{Ib{c}}}}InJ`}{{Il{c}}}{AjBf}}{ce{}{}}0000000{c{{G`{g}}}{}{}{{Gd{}{{Gb{e}}}}}}011{{{h{{Ib{c}}}}}Dn{}}{{{h{{Il{c}}}}}DnBf}``{{{h{{Ib{c}}}}{h{e}}j}{{`{{Gd{}{{Gb{{Ob{{Od{Bj}}c}}}}}}}}}fFh}{{{Ib{c}}g}{{Ib{e}}}{AjBf}{AjBf}{{N`{c}{{Nl{e}}}}}}{{{Il{c}}g}{{Il{e}}}BfBf{{N`{c}{{Nl{e}}}}}}{{{h{Af{Il{c}}}}{Il{c}}}BbBf}{c{{Ib{e}}}{{Id{}{{Gb{Bj}}}}}{AjBf}}{{{h{Af{Oh{cg}}}}}{{Db{i}}}{}{}{{N`{En{Od{Bj}}}{{Nl{{Db{e}}}}}}}{}}{{{h{Af{Oj{cg}}}}}{{Db{i}}}{}{}{{N`{EnCn}{{Nl{{Db{e}}}}}}}{}}{{{h{{Ib{c}}}}In}{{h{{Ol{Cn}}}}}{}}{{{h{{O`{ce}}}}{h{{O`{ce}}}}}{{Db{Bd}}}GjGj}{{{h{{Ob{ce}}}}{h{{Ob{ce}}}}}{{Db{Bd}}}GjGj}{{{h{{Il{c}}}}{h{Jj}}}{{H`{Bb}}}{fAjBfHbCd}}`{{{h{{Il{c}}}}e}Dh{BfHb}Gl}{{{h{c}}}e{}{}}0000{{{h{c}}}Hd{}}{c{{Hf{i}}}{}{}{}{{Gd{}{{Gb{{Dh{eg}}}}}}}}0{{{h{{Ib{c}}}}{h{e}}jik}{{Dh{b}}}fFhAj{{Id{}{{Gb{{Ej{gIn}}}}}}}{{N`{{h{g}}Ch}{{Nl{Dn}}}}}}{{{h{{Ib{c}}}}{h{e}}ji}{{`{{Gd{}{{Gb{{Dh{{Ej{g{An{c}}}}}}}}}}}}}fFhAj{{Id{}{{Gb{{Ej{gIn}}}}}}}}0{c{{Dh{e}}}{}{}}0000000{{{h{{Ib{c}}}}{h{e}}jCn}{{Dh{{Db{{Ah{{h{c}}}}}}}}}fFh}{{{h{{Ib{c}}}}{h{e}}jIn}{{Dh{{Db{{Ej{{Ah{{h{c}}}}Cn}}}}}}}fFh}22222222{{{h{{Ib{c}}}}{h{e}}j}{{`{{Gd{}{{Gb{{Dh{{Ob{{Od{Bj}}c}}}}}}}}}}}fFh}``{{{h{{Ib{c}}}}Cn}{{Db{{Jf{D`{h{J`}}}}}}}{}}{{{h{{Ib{c}}}}Cn}{{`{{K`{}{{Gb{{Ej{D`{h{{Ol{Cn}}}}}}}}}}}}}{}}`{{{h{{Il{c}}}}}{{`{{Gd{}{{Gb{{Ej{In{h{J`}}}}}}}}}}}{}}````{{{h{{Ib{c}}}}}{{`{{Gd{}{{Gb{{O`{{Od{Bj}}c}}}}}}}}}{}}{{{h{c}}}Hh{}}0000000{ce{}{}}0000000{{{h{{Ib{c}}}}ei}{{Oh{ci}}}{AjBf}{{Of{{Od{Bj}}}}}{}{{N`{En{Od{Bj}}}{{Nl{{Db{g}}}}}}}}{{{h{{Ib{c}}}}{h{Bj}}g}{{Oj{cg}}}{}{}{{N`{EnCn}{{Nl{{Db{e}}}}}}}}{{{h{{Ib{c}}}}Cng}{{Oj{cg}}}{AjBf}{}{{N`{EnCn}{{Nl{{Db{e}}}}}}}}","D":"CGh","p":[[5,"Balance",0,1010],[5,"DescriptorId",0,1011],[10,"Anchor",0,1012],[1,"reference"],[5,"BlockId",0,1013],[5,"ConfirmationBlockTime",0,1013],[5,"Hash",1014],[1,"u8"],[1,"slice"],[1,"array"],[0,"mut"],[6,"ChainPosition",0,1013],[10,"Clone",1015],[6,"ConfirmationTime",0,1013],[5,"FullTxOut",0,1013],[5,"SpkIterator",0,1016],[1,"unit"],[6,"Ordering",1017],[10,"Ord",1017],[6,"ValueRef",1018],[5,"Transaction",1019],[5,"Impl",0],[8,"FromSqlResult",1020],[6,"DescriptorPublicKey",1021],[6,"Descriptor",1022],[10,"DeserializeOwned",1023],[6,"Network",1024],[5,"ScriptBuf",1025],[5,"BlockHash",1026],[5,"Amount",1027],[5,"Txid",1019],[1,"u32"],[6,"Option",1028],[10,"Borrow",1029],[10,"DescriptorExt",0,1011],[6,"Result",1030],[10,"Deserializer",1023],[1,"u64"],[1,"bool"],[10,"PartialEq",1017],[5,"Formatter",1031],[8,"Result",1031],[10,"Debug",1031],[1,"never"],[1,"tuple"],[5,"Block",1026],[1,"usize"],[10,"AnchorFromBlockPosition",0,1012],[5,"FromSliceError",1032],[1,"str"],[17,"Error"],[10,"ChainOracle",0,1033],[10,"Hash",1034],[10,"Hasher",1034],[10,"SliceIndex",1035],[5,"IntoFallible",1036],[17,"Item"],[10,"Iterator",1037],[10,"Merge",0,1012],[10,"RangeBounds",1038],[10,"PartialOrd",1017],[10,"Serializer",1039],[6,"ToSqlOutput",1040],[8,"Result",1041],[10,"Serialize",1039],[5,"String",1042],[5,"Convert",1036],[5,"TypeId",1043],[5,"IndexedTxGraph",291],[5,"ChangeSet",291],[10,"Indexer",342],[5,"Update",810],[5,"TxGraph",810],[10,"IntoIterator",1044],[10,"Default",1045],[10,"Deserialize",1023],[5,"ChangeSet",351],[5,"ChangeSet",810],[5,"OutPoint",1019],[5,"TxOut",1019],[17,"ChangeSet"],[5,"KeychainTxOutIndex",351],[5,"BTreeMap",1046],[6,"InsertDescriptorError",351],[5,"Transaction",1047],[5,"SpkTxOutIndex",454],[8,"Indexed",0],[10,"DoubleEndedIterator",1048],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",1049],[5,"SignedAmount",1027],[5,"BTreeSet",1050],[5,"Vec",1051],[5,"LocalChain",491],[5,"ChangeSet",491],[5,"MissingGenesisError",491],[5,"Header",1026],[5,"CannotConnectError",491],[6,"ApplyHeaderError",491],[5,"CheckPoint",491],[5,"AlterCheckPointError",491],[5,"CheckPointIter",491],[5,"SyncRequestBuilder",664],[5,"SyncRequest",664],[5,"FullScanRequestBuilder",664],[5,"FullScanRequest",664],[6,"SyncItem",664],[5,"SyncProgress",664],[5,"SyncResult",664],[5,"FullScanResult",664],[10,"Any",1043],[10,"FnMut",1052],[10,"Send",1053],[5,"Script",1054],[10,"Sync",1053],[17,"IntoIter"],[6,"Infallible",1055],[17,"Output"],[6,"CalculateFeeError",810],[5,"TxNode",810],[5,"CanonicalTx",810],[5,"Arc",1056],[10,"Into",1055],[5,"TxAncestors",810],[5,"TxDescendants",810],[5,"HashSet",1057],[15,"Confirmed",288],[15,"Unconfirmed",288],[15,"DescriptorAlreadyAssigned",450],[15,"KeychainAlreadyAssigned",450]],"r":[[0,1012],[1,1012],[2,1016],[3,1010],[4,1013],[6,1033],[7,1013],[8,1013],[9,1013],[12,1011],[13,1011],[15,1013],[18,291],[19,342],[21,1012],[22,1016],[23,810],[195,342],[220,342]],"b":[[33,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[34,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[80,"impl-FromSql-for-Impl%3CTransaction%3E"],[81,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[82,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[83,"impl-FromSql-for-Impl%3CA%3E"],[84,"impl-FromSql-for-Impl%3CNetwork%3E"],[85,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[86,"impl-FromSql-for-Impl%3CBlockHash%3E"],[87,"impl-FromSql-for-Impl%3CAmount%3E"],[88,"impl-FromSql-for-Impl%3CTxid%3E"],[129,"impl-Display-for-Balance"],[130,"impl-Debug-for-Balance"],[136,"impl-Display-for-DescriptorId"],[137,"impl-UpperHex-for-DescriptorId"],[138,"impl-Debug-for-DescriptorId"],[139,"impl-LowerHex-for-DescriptorId"],[147,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[149,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[233,"impl-ToSql-for-Impl%3CTransaction%3E"],[234,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[235,"impl-ToSql-for-Impl%3CBlockHash%3E"],[236,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[237,"impl-ToSql-for-Impl%3CTxid%3E"],[238,"impl-ToSql-for-Impl%3CNetwork%3E"],[239,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[240,"impl-ToSql-for-Impl%3CAmount%3E"],[241,"impl-ToSql-for-Impl%3CA%3E"],[316,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[317,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[360,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[361,"impl-KeychainTxOutIndex%3CK%3E"],[380,"impl-Display-for-InsertDescriptorError%3CK%3E"],[381,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[553,"impl-Display-for-MissingGenesisError"],[554,"impl-Debug-for-MissingGenesisError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Display-for-AlterCheckPointError"],[557,"impl-Display-for-CannotConnectError"],[558,"impl-Debug-for-CannotConnectError"],[559,"impl-Display-for-ApplyHeaderError"],[560,"impl-Debug-for-ApplyHeaderError"],[575,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[576,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[716,"impl-Display-for-SyncItem%3C\'i,+I%3E"],[717,"impl-Debug-for-SyncItem%3C\'i,+I%3E"],[895,"impl-Debug-for-CalculateFeeError"],[896,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADYCXwATAAEAGAAAABsAAQAeAAIAIgACACYAEgA6AA8ASwAOAF0AAABgAAMAZgAEAGwAIQCPAAAAkgAAAJQAAACWAAAAmgAAAJ0AAwCiAAIApgAEAK4AAAC8AAAAxAAAAMcAAADKAAEAzQAGANUABQDdAAAA4AAIAOoACgD5ABEADQEIABgBCAArAQAALwELAD0BAQBJAQEATAEFAFMBAwBpAQAAawEUAIYBAQCJAQAAkAEAAKoBAACsAQkAuQECAMABAgDJAQYA0gECANgBAADiAQIA6AEAAOsBAAD+AR8AHwIGACcCCgA1AgAAQAIBAEcCAABYAgMAXgIAAGACAABnAgAAaQIKAHUCBwB+Ag8AjwIHAKQCDwC+AgQAxAINANMCAADXAgAA3gIAAPYCAAAAAwIABwMPABoDBwAjAwcAQgMAAEUDDwBXAxQAbQMKAHwDBgCFAwAAhwMAAKQDAQCnAwAArQMAAK8DAQCyAwEAtgMGAMIDBwDMAwcA4AMPAA=="}],\ ["bdk_electrum",{"t":"FENNENNNNONNNNNNNNN","n":["BdkElectrumClient","bdk_chain","borrow","borrow_mut","electrum_client","fetch_tx","fmt","from","full_scan","inner","into","new","populate_tx_cache","sync","transaction_broadcast","try_from","try_into","type_id","vzip"],"q":[[0,"bdk_electrum"],[19,"bdk_electrum::bdk_electrum_client"],[20,"bitcoin::blockdata::transaction"],[21,"alloc::sync"],[22,"electrum_client::types"],[23,"core::result"],[24,"electrum_client::api"],[25,"core::fmt"],[26,"bdk_chain::spk_client"],[27,"core::cmp"],[28,"core::clone"],[29,"core::convert"],[30,"bdk_chain::tx_graph"],[31,"core::any"]],"i":[0,0,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{{f{c}}}}h}{{A`{{l{j}}n}}}Ab}{{{b{{f{c}}}}{b{dAd}}}AfAh}{cc{}}{{{b{{f{c}}}}gAjAjAl}{{A`{{An{e}}n}}}Ab{B`Bb}{{Bf{{Bd{e}}}}}}`{ce{}{}}{c{{f{c}}}Ab}{{{b{{f{c}}}}g}BhAb{}{{Bl{{Bj{e}}}}}}{{{b{{f{c}}}}gAjAl}{{A`{Bnn}}}Ab{}{{Bf{{C`{e}}}}}}{{{b{{f{c}}}}{b{j}}}{{A`{hn}}}Ab}{c{{A`{e}}}{}{}}0{{{b{c}}}Cb{}}6","D":"Af","p":[[1,"reference"],[0,"mut"],[5,"BdkElectrumClient",0,19],[5,"Txid",20],[5,"Transaction",20],[5,"Arc",21],[6,"Error",22],[6,"Result",23],[10,"ElectrumApi",24],[5,"Formatter",25],[8,"Result",25],[10,"Debug",25],[1,"usize"],[1,"bool"],[5,"FullScanResult",26],[10,"Ord",27],[10,"Clone",28],[5,"FullScanRequest",26],[10,"Into",29],[1,"unit"],[5,"TxGraph",30],[10,"AsRef",29],[5,"SyncResult",26],[5,"SyncRequest",26],[5,"TypeId",31]],"r":[[0,19]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAwACAAMABwAAABAAAwA="}],\ ["bdk_esplora",{"t":"IKKEMMMM","n":["Error","EsploraAsyncExt","EsploraExt","esplora_client","full_scan","full_scan","sync","sync"],"q":[[0,"bdk_esplora"],[8,"bdk_esplora::blocking_ext"],[9,"bdk_chain::spk_client"],[10,"core::result"],[11,"core::cmp"],[12,"core::clone"],[13,"core::convert"],[14,"bdk_esplora::async_ext"],[15,"core::future::future"],[16,"alloc::boxed"],[17,"core::pin"],[18,"core::marker"]],"i":[0,0,0,0,1,11,1,11],"f":"````{{{d{b}}eff}{{l{{h{c}}j}}}{nA`}{{Ad{{Ab{c}}}}}}{{{d{Af}}eff}{{Al{{Aj{Ah}}}}}{nA`An}{{Ad{{Ab{c}}}}An}}{{{d{b}}ef}{{l{B`j}}}{}{{Ad{{Bb{c}}}}}}{{{d{Af}}ef}{{Al{{Aj{Ah}}}}}An{{Ad{{Bb{c}}}}An}}","D":"A`","p":[[10,"EsploraExt",0,8],[1,"reference"],[1,"usize"],[5,"FullScanResult",9],[8,"Error",0,8],[6,"Result",10],[10,"Ord",11],[10,"Clone",12],[5,"FullScanRequest",9],[10,"Into",13],[10,"EsploraAsyncExt",0,14],[10,"Future",15],[5,"Box",16],[5,"Pin",17],[10,"Send",18],[5,"SyncResult",9],[5,"SyncRequest",9]],"r":[[0,8],[1,14],[2,8]],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAQA"}],\ -["bdk_file_store",{"t":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["AggregateChangesetsError","Bincode","EntryIter","FileError","InvalidMagicBytes","Io","Io","IterError","Store","aggregate_changesets","append_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset","create_new","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into_fallible","into_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","transpose_into_fallible","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","expected","got"],"q":[[0,"bdk_file_store"],[75,"bdk_file_store::FileError"],[77,"bdk_file_store::store"],[78,"core::option"],[79,"core::result"],[80,"bdk_chain::tx_data_traits"],[81,"serde::ser"],[82,"serde::de"],[83,"core::marker"],[84,"std::io::error"],[85,"std::path"],[86,"core::convert"],[87,"bdk_file_store::entry_iter"],[88,"core::fmt"],[89,"fallible_iterator"],[90,"core::iter::traits::iterator"],[91,"std::fs"],[92,"alloc::string"],[93,"core::any"]],"i":[0,20,0,0,16,20,16,0,0,2,2,19,20,2,5,16,19,20,2,5,16,5,2,19,20,20,2,5,5,16,16,19,20,20,2,5,16,16,19,20,2,5,16,19,19,2,5,19,19,2,2,20,5,16,19,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,32,32],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{{j{c}}}}{f{bBj}}}BlBn}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}111{AjB`}{ce{}{}}0000{c{{C`{g}}}{}{}{{Cd{}{{Cb{e}}}}}}1{{{f{b{d{c}}}}}{{Bf{c}}}{nA`AbAdAf}}`{{Cf{f{bCh}}}{{Bf{c}}}{}}{{{f{b{Bf{c}}}}}{{h{e}}}Ab{}}>>{{{f{c}}}Cj{}}00{c{{Cl{i}}}{}{}{}{{Cd{}{{Cb{{l{eg}}}}}}}}{c{{l{e}}}{}{}}000000000{{{f{c}}}Cn{}}000088888``","D":"Cl","p":[[0,"mut"],[5,"Store",0,77],[1,"reference"],[6,"Option",78],[5,"AggregateChangesetsError",0,77],[6,"Result",79],[10,"Merge",80],[10,"Serialize",81],[10,"DeserializeOwned",82],[10,"Send",83],[10,"Sync",83],[1,"unit"],[5,"Error",84],[1,"u8"],[1,"slice"],[6,"FileError",0],[5,"Path",85],[10,"AsRef",86],[5,"EntryIter",0,87],[6,"IterError",0,87],[5,"Formatter",88],[8,"Result",88],[10,"Debug",88],[5,"IntoFallible",89],[17,"Item"],[10,"Iterator",90],[1,"u64"],[5,"File",91],[5,"String",92],[5,"Convert",89],[5,"TypeId",93],[15,"InvalidMagicBytes",75]],"r":[[0,77],[2,87],[7,87],[8,77]],"b":[[24,"impl-Debug-for-IterError"],[25,"impl-Display-for-IterError"],[27,"impl-Display-for-AggregateChangesetsError%3CC%3E"],[28,"impl-Debug-for-AggregateChangesetsError%3CC%3E"],[29,"impl-Display-for-FileError"],[30,"impl-Debug-for-FileError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8ACAAMAAkAGAAHACIAAAAmAAAALQAAADAAAQA0AAIAOAAVAA=="}],\ +["bdk_file_store",{"t":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["AggregateChangesetsError","Bincode","EntryIter","FileError","InvalidMagicBytes","Io","Io","IterError","Store","aggregate_changesets","append_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset","create_new","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into_fallible","into_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","transpose_into_fallible","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","expected","got"],"q":[[0,"bdk_file_store"],[75,"bdk_file_store::FileError"],[77,"bdk_file_store::store"],[78,"core::option"],[79,"core::result"],[80,"bdk_chain::tx_data_traits"],[81,"serde::ser"],[82,"serde::de"],[83,"core::marker"],[84,"std::io::error"],[85,"std::path"],[86,"core::convert"],[87,"bdk_file_store::entry_iter"],[88,"core::fmt"],[89,"fallible_iterator"],[90,"core::iter::traits::iterator"],[91,"std::fs"],[92,"alloc::string"],[93,"core::any"]],"i":[0,20,0,0,16,20,16,0,0,2,2,19,20,2,5,16,19,20,2,5,16,5,2,19,20,20,2,5,5,16,16,19,20,20,2,5,16,16,19,20,2,5,16,19,19,2,5,19,19,2,2,20,5,16,19,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,32,32],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}BlBn}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}111{AjB`}{ce{}{}}0000{c{{C`{g}}}{}{}{{Cd{}{{Cb{e}}}}}}1{{{f{b{d{c}}}}}{{Bf{c}}}{nA`AbAdAf}}`{{Cf{f{bCh}}}{{Bf{c}}}{}}{{{f{b{Bf{c}}}}}{{h{e}}}Ab{}}>>{{{f{c}}}Cj{}}00{c{{Cl{i}}}{}{}{}{{Cd{}{{Cb{{l{eg}}}}}}}}{c{{l{e}}}{}{}}000000000{{{f{c}}}Cn{}}000088888``","D":"Cl","p":[[0,"mut"],[5,"Store",0,77],[1,"reference"],[6,"Option",78],[5,"AggregateChangesetsError",0,77],[6,"Result",79],[10,"Merge",80],[10,"Serialize",81],[10,"DeserializeOwned",82],[10,"Send",83],[10,"Sync",83],[1,"unit"],[5,"Error",84],[1,"u8"],[1,"slice"],[6,"FileError",0],[5,"Path",85],[10,"AsRef",86],[5,"EntryIter",0,87],[6,"IterError",0,87],[5,"Formatter",88],[8,"Result",88],[10,"Debug",88],[5,"IntoFallible",89],[17,"Item"],[10,"Iterator",90],[1,"u64"],[5,"File",91],[5,"String",92],[5,"Convert",89],[5,"TypeId",93],[15,"InvalidMagicBytes",75]],"r":[[0,77],[2,87],[7,87],[8,77]],"b":[[24,"impl-Debug-for-IterError"],[25,"impl-Display-for-IterError"],[27,"impl-Debug-for-AggregateChangesetsError%3CC%3E"],[28,"impl-Display-for-AggregateChangesetsError%3CC%3E"],[29,"impl-Debug-for-FileError"],[30,"impl-Display-for-FileError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8ACAAMAAkAGAAHACIAAAAmAAAALQAAADAAAQA0AAIAOAAVAA=="}],\ ["bdk_hwi",{"t":"FNNNNNNNNNNNN","n":["HWISigner","borrow","borrow_mut","fmt","from","from_device","id","into","sign_transaction","try_from","try_into","type_id","vzip"],"q":[[0,"bdk_hwi"],[13,"bdk_hwi::signer"],[14,"core::fmt"],[15,"hwi::types"],[16,"hwi::error"],[17,"core::result"],[18,"secp256k1::context::alloc_only"],[19,"secp256k1"],[20,"bdk_wallet::wallet::signer"],[21,"bitcoin::psbt"],[22,"core::any"]],"i":[0,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{f}}{b{dh}}}j}{cc{}}{{{b{l}}n}{{Ab{fA`}}}}{{{b{f}}{b{{Af{Ad}}}}}Ah}{ce{}{}}{{{b{f}}{b{dAj}}{b{Al}}{b{{Af{Ad}}}}}{{Ab{AnB`}}}}{c{{Ab{e}}}{}{}}0{{{b{c}}}Bb{}}3","D":"j","p":[[1,"reference"],[0,"mut"],[5,"HWISigner",0,13],[5,"Formatter",14],[8,"Result",14],[5,"HWIDevice",15],[5,"HWIChain",15],[6,"Error",16],[6,"Result",17],[6,"All",18],[5,"Secp256k1",19],[6,"SignerId",20],[5,"Psbt",21],[5,"SignOptions",20],[1,"unit"],[6,"SignerError",20],[5,"TypeId",22]],"r":[[0,13]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAwACAAIABwAAAAkABAA="}],\ ["bdk_testenv",{"t":"FFEEEOONNNNNEOOENNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Config","TestEnv","anyhow","bitcoincore_rpc","bitcoind","bitcoind","bitcoind","borrow","borrow","borrow_mut","borrow_mut","default","electrsd","electrsd","electrsd","electrum_client","electrum_client","fmt","from","from","genesis_hash","into","into","invalidate_blocks","make_checkpoint_tip","mine_blocks","mine_empty_block","new","new_with_config","reorg","reorg_empty_blocks","reset_electrsd","rpc_client","send","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","wait_until_electrum_sees_block","wait_until_electrum_sees_txid"],"q":[[0,"bdk_testenv"],[44,"electrum_client::api"],[45,"core::fmt"],[46,"bitcoin::blockdata::block"],[47,"anyhow"],[48,"bdk_chain::local_chain"],[49,"bitcoin::address"],[50,"core::option"],[51,"alloc::vec"],[52,"bitcoincore_rpc::client"],[53,"bitcoin_units::amount"],[54,"bitcoin::blockdata::transaction"],[55,"core::result"],[56,"core::any"],[57,"core::time"]],"i":[0,0,0,0,0,4,3,4,3,4,3,3,0,4,3,0,4,3,4,3,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,3,4,3,4,3,4,4],"f":"```````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{}f}````{{{b{h}}}{{b{{`{j}}}}}}{{{b{f}}{b{dl}}}n}{cc{}}0{{{b{h}}}{{Ab{A`}}}}{ce{}{}}0{{{b{h}}Ad}{{Ab{Af}}}}{{{b{h}}}Ah}{{{b{h}}Ad{Al{Aj}}}{{Ab{{An{A`}}}}}}{{{b{h}}}{{Ab{{B`{AdA`}}}}}}{{}{{Ab{h}}}}{f{{Ab{h}}}}{{{b{h}}Ad}{{Ab{{An{A`}}}}}}{{{b{h}}Ad}{{Ab{{An{{B`{AdA`}}}}}}}}{h{{Ab{h}}}}{{{b{h}}}{{b{{`{Bb}}}}}}{{{b{h}}{b{{Aj{Bd}}}}Bf}{{Ab{Bh}}}}{c{{Bj{e}}}{}{}}000{{{b{c}}}Bl{}}0=={{{b{h}}Bn}{{Ab{Af}}}}{{{b{h}}BhBn}{{Ab{Af}}}}","D":"Bn","p":[[1,"reference"],[0,"mut"],[5,"Config",0],[5,"TestEnv",0],[10,"ElectrumApi",44],[5,"Formatter",45],[8,"Result",45],[5,"BlockHash",46],[8,"Result",47],[1,"usize"],[1,"unit"],[5,"CheckPoint",48],[5,"Address",49],[6,"Option",50],[5,"Vec",51],[1,"tuple"],[10,"RpcApi",52],[6,"NetworkChecked",49],[5,"Amount",53],[5,"Txid",54],[6,"Result",55],[5,"TypeId",56],[5,"Duration",57]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABUACAAAAAAAAwADAAgAAwANAAEAEAAAABIAAAAgAAAAIwAHAA=="}],\ -["bdk_wallet",{"t":"GGFGKFPPPFGFGPPPPPRRPGPPEPPPPKGPGGFGPFPPPPPPPPPFPFFGPPPFGTTFKFPNNONOONNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNNONCNOQNNNNNNNNNNNNNNNNNNNNNNNNNNNCCNDNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONMMNNNNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNONNNNDNNONNNNNNONNMMNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","AsyncWalletPersister","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","DataAlreadyExists","Descriptor","Descriptor","Descriptor","Error","Error","External","FileStoreError","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","Load","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WalletPersister","WeightedUtxo","Write","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","change_descriptor","check_genesis_hash","check_network","checkpoints","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_selection","confirmation_time","confirmed","create","create","create_async","create_single","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","deref","deref_mut","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor","descriptor_checksum","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","export","extract_keys","file_store","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","init_sqlite_tables","initialize","initialize","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load_async","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","new","new","new_single","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_async","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged_mut","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","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_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","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","eq","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","clone","clone","clone","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","clone_into","clone_into","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","to_owned","to_owned","to_owned","to_owned","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_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","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","SCHEMAS_TABLE_NAME","migrate_schema","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","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","descriptor_secret_key","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[468,"bdk_wallet::AddForeignUtxoError"],[470,"bdk_wallet::ApplyBlockError"],[472,"bdk_wallet::LoadMismatch"],[479,"bdk_wallet::TxOrdering"],[481,"bdk_wallet::Utxo"],[484,"bdk_wallet::coin_selection"],[576,"bdk_wallet::coin_selection::Error"],[578,"bdk_wallet::coin_selection::Excess"],[583,"bdk_wallet::descriptor"],[843,"bdk_wallet::descriptor::checksum"],[844,"bdk_wallet::descriptor::error"],[877,"bdk_wallet::descriptor::policy"],[1036,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1039,"bdk_wallet::descriptor::policy::Satisfaction"],[1050,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1060,"bdk_wallet::descriptor::template"],[1244,"bdk_wallet::error"],[1315,"bdk_wallet::error::CreateTxError"],[1321,"bdk_wallet::export"],[1344,"bdk_wallet::keys"],[1660,"bdk_wallet::psbt"],[1664,"bdk_wallet::rusqlite_impl"],[1666,"bdk_wallet::signer"],[1852,"bdk_wallet::signer::SignerContext"],[1853,"bdk_wallet::tx_builder"],[1968,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1970,"bdk_wallet::tx_builder::TxOrdering"],[1972,"bdk_chain::balance"],[1973,"bdk_wallet::wallet"],[1974,"bdk_wallet::types"],[1975,"bdk_wallet::wallet::signer"],[1976,"alloc::sync"],[1977,"bitcoin::blockdata::script::owned"],[1978,"bdk_chain"],[1979,"core::iter::traits::iterator"],[1980,"core::clone"],[1981,"alloc::collections::btree::map"],[1982,"bitcoin::blockdata::block"],[1983,"bdk_chain::local_chain"],[1984,"core::result"],[1985,"bdk_chain::chain_data"],[1986,"bitcoin::blockdata::transaction"],[1987,"core::iter::traits::collect"],[1988,"core::convert"],[1989,"bdk_chain::tx_graph"],[1990,"bdk_wallet::wallet::coin_selection"],[1991,"bdk_wallet::wallet::tx_builder"],[1992,"bdk_wallet::wallet::error"],[1993,"bitcoin_units::amount"],[1994,"bitcoin_units::fee_rate"],[1995,"bdk_wallet::wallet::params"],[1996,"bitcoin::network"],[1997,"bdk_wallet::wallet::changeset"],[1998,"core::cmp"],[1999,"bdk_wallet::wallet::persisted"],[2000,"core::marker"],[2001,"core::option"],[2002,"alloc::string"],[2003,"serde::de"],[2004,"bitcoin::psbt"],[2005,"core::fmt"],[2006,"bdk_chain::indexer::keychain_txout"],[2007,"bdk_chain::indexed_tx_graph"],[2008,"bdk_chain::spk_client"],[2009,"rusqlite::transaction"],[2010,"rusqlite"],[2011,"bitcoin::psbt::map::input"],[2012,"core::hash"],[2013,"core::future::future"],[2014,"alloc::boxed"],[2015,"core::pin"],[2016,"bdk_wallet::wallet::utils"],[2017,"bitcoin::blockdata::script::borrowed"],[2018,"miniscript::descriptor"],[2019,"core::iter::traits::double_ended"],[2020,"secp256k1::context::alloc_only"],[2021,"secp256k1"],[2022,"serde::ser"],[2023,"core::any"],[2024,"alloc::vec"],[2025,"bitcoin::address"],[2026,"miniscript"],[2027,"miniscript::miniscript::private"],[2028,"miniscript::miniscript::decode"],[2029,"miniscript::miniscript::context"],[2030,"miniscript::iter::tree"],[2031,"miniscript::descriptor::key"],[2032,"miniscript::miniscript::satisfy"],[2033,"miniscript::plan"],[2034,"bitcoin_hashes::sha256"],[2035,"miniscript::miniscript::hash256"],[2036,"bitcoin_hashes::ripemd160"],[2037,"bitcoin_hashes::hash160"],[2038,"bitcoin::crypto::key"],[2039,"secp256k1::context"],[2040,"bdk_chain::descriptor_ext"],[2041,"miniscript::blanket_traits"],[2042,"miniscript::miniscript::analyzable"],[2043,"core::ops::range"],[2044,"core::ops::function"],[2045,"miniscript::descriptor::bare"],[2046,"miniscript::descriptor::sh"],[2047,"miniscript::descriptor::segwitv0"],[2048,"miniscript::descriptor::tr"],[2049,"miniscript::miniscript::types"],[2050,"miniscript::miniscript::types::extra_props"],[2051,"miniscript::expression"],[2052,"miniscript::miniscript::iter"],[2053,"miniscript::policy::semantic"],[2054,"miniscript::policy"],[2055,"bitcoin_units::weight"],[2056,"hex_conservative::error"],[2057,"bitcoin::bip32"],[2058,"base58ck::error"],[2059,"bitcoin::psbt::error"],[2060,"bdk_wallet::wallet::export"],[2061,"miniscript::descriptor::sortedmulti"],[2062,"core::str::traits"],[2063,"core::default"],[2064,"rand_core"],[2065,"rusqlite::error"],[2066,"bitcoin::blockdata::script::push_bytes::primitive"],[2067,"bitcoin::blockdata::locktime::absolute"],[2068,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,0,74,262,262,0,0,0,0,263,51,51,63,64,52,55,5,0,45,64,0,5,61,260,260,0,0,72,0,0,0,0,45,0,63,63,63,63,260,64,262,61,51,0,263,0,0,0,74,261,263,0,0,46,46,0,0,0,72,1,3,47,3,66,66,3,3,3,3,5,5,3,66,3,0,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,3,3,3,3,3,0,26,46,39,39,3,1,5,43,44,45,46,26,47,1,5,43,44,45,46,26,47,5,0,43,1,50,3,50,3,49,49,49,3,39,1,46,26,50,47,50,3,43,3,0,39,46,0,3,1,5,43,46,1,5,43,44,45,46,61,47,63,64,1,1,5,5,43,43,44,44,45,45,47,47,0,0,39,0,3,1,1,5,43,44,45,46,50,72,72,61,61,51,51,3,26,47,47,63,63,64,74,74,0,49,39,1,5,43,44,45,46,46,46,46,46,50,72,61,61,51,3,26,26,26,47,63,63,64,74,46,49,3,3,3,3,26,5,43,1,47,46,46,52,55,3,3,3,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,96,46,3,43,43,47,3,49,39,0,26,3,3,3,3,50,3,50,39,39,39,3,3,46,49,39,3,46,0,49,3,46,49,39,49,3,3,45,43,5,3,52,55,50,50,46,3,0,3,3,3,0,0,44,3,3,45,0,0,1,5,43,46,3,3,3,66,0,0,3,3,3,3,3,3,66,0,1,5,43,44,45,46,26,47,1,72,61,51,47,63,74,1,3,66,1,1,66,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,0,3,46,45,43,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,3,3,3,1,44,0,49,39,1,5,43,44,45,46,50,72,61,51,3,26,47,63,64,74,0,266,266,267,267,268,269,270,270,268,269,270,271,271,272,272,272,120,120,0,121,0,0,0,0,0,120,0,121,0,120,121,119,114,115,116,120,121,119,114,115,116,114,115,116,114,115,116,117,114,115,116,0,114,115,116,119,119,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,119,116,119,119,114,115,116,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,273,273,274,275,275,274,275,98,276,122,0,0,0,0,0,0,128,0,0,130,0,0,132,98,276,122,0,0,0,98,276,122,132,128,0,98,276,122,98,276,122,98,276,122,132,122,149,150,128,128,122,122,149,150,128,122,149,150,128,128,128,128,0,130,149,150,130,150,130,130,149,150,130,149,150,130,130,149,150,130,149,150,130,149,150,0,122,149,150,128,122,149,150,128,122,149,150,128,128,122,122,122,122,122,122,128,122,128,122,149,150,128,122,122,149,149,150,150,128,128,0,122,128,128,159,122,128,122,122,122,149,150,128,128,122,128,122,122,122,122,122,122,122,149,150,128,128,128,122,128,128,128,122,128,128,128,122,122,128,128,122,122,149,150,128,122,149,150,128,128,122,53,98,122,122,128,128,128,122,128,128,130,149,150,128,122,128,122,130,149,150,122,122,122,122,122,122,122,122,122,122,122,122,122,122,128,130,128,122,128,128,122,149,150,128,130,149,150,122,122,0,128,122,128,122,128,128,122,122,128,122,128,130,149,150,128,0,122,149,150,128,122,128,122,130,130,122,128,122,149,150,128,122,149,150,128,128,122,149,150,128,122,122,149,150,128,128,0,56,56,0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,198,193,193,0,199,0,0,198,197,0,198,198,193,193,193,198,199,160,193,199,199,0,0,0,160,160,197,198,198,0,0,198,198,198,197,197,198,199,103,200,193,160,197,198,199,103,200,193,160,197,198,199,103,200,160,197,198,199,103,200,160,103,200,200,197,198,199,103,200,193,197,197,198,198,199,199,103,103,200,200,193,193,197,198,199,103,200,193,193,160,197,198,199,199,103,103,200,193,160,103,197,200,198,103,197,198,199,103,200,193,160,198,199,200,103,200,103,103,197,198,199,103,200,200,197,198,199,103,200,160,193,197,198,199,103,200,193,160,197,198,199,103,200,193,160,197,198,199,103,200,193,160,197,198,199,103,200,193,160,277,277,277,278,279,280,279,280,279,280,279,280,279,280,281,282,283,284,285,286,286,285,287,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,201,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,202,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,0,85,218,0,85,85,35,85,35,85,85,0,85,85,85,85,85,218,85,85,85,85,85,35,35,85,35,218,85,85,218,85,35,218,85,35,218,218,218,218,85,85,35,35,218,85,85,85,85,85,85,35,218,85,35,218,218,85,35,218,85,35,218,85,35,218,85,35,218,85,35,289,289,290,290,291,292,0,0,293,220,220,220,220,220,220,220,220,220,220,220,220,293,220,220,220,220,220,220,220,196,0,0,0,0,236,236,0,0,227,0,0,0,0,196,196,196,130,0,0,127,196,196,183,132,236,230,0,230,0,0,127,132,183,0,0,0,0,127,0,227,183,132,0,294,132,230,223,228,127,224,196,222,132,183,225,226,227,230,223,228,127,224,196,222,132,183,225,226,227,222,130,130,130,130,130,130,130,130,130,223,127,224,222,132,183,225,226,227,223,127,224,222,132,183,225,226,227,222,132,225,227,224,224,223,132,132,222,127,196,222,132,183,225,226,227,127,127,222,222,132,132,183,183,225,225,226,226,227,227,228,127,224,196,196,222,222,132,132,183,183,225,226,227,222,230,230,230,223,228,127,224,196,196,196,222,132,132,183,225,226,227,228,228,132,183,222,132,132,236,239,239,236,236,239,230,132,222,132,225,227,230,223,228,127,224,196,222,132,183,225,226,227,132,204,210,223,223,228,132,183,210,230,223,223,132,183,230,230,132,294,127,132,183,294,127,294,127,132,132,222,225,226,222,0,132,130,222,222,0,222,130,222,132,225,226,130,228,222,132,225,227,130,222,222,222,222,132,130,222,0,223,127,224,222,132,183,225,226,227,183,196,222,132,183,130,130,222,230,223,228,127,224,196,222,132,183,225,226,227,230,223,228,127,224,196,222,132,183,225,226,227,230,223,228,127,224,196,222,132,183,225,226,227,230,223,228,127,224,196,222,132,183,225,226,227,0,246,246,246,0,0,252,248,252,67,248,252,67,0,67,67,67,249,67,67,67,67,67,67,67,252,248,67,249,67,0,0,0,0,0,0,0,0,249,0,0,67,86,66,66,86,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,86,248,249,250,6,86,66,252,248,249,250,6,86,66,252,248,6,6,86,66,252,250,253,253,250,250,250,248,249,6,252,248,248,249,249,6,6,252,252,86,248,67,67,249,250,6,86,66,252,248,248,248,67,249,250,6,86,66,252,248,253,250,250,250,86,248,67,249,250,6,86,66,252,250,86,248,6,86,257,250,250,250,7,250,66,86,66,248,249,250,6,86,66,252,67,66,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,295,0,0,262,262,0,263,260,260,260,262,263,0,0,261,263,34,34,34,34,34,34,34,34,34,34,261,260,263,262,34,261,260,263,262,34,34,263,262,34,263,262,262,34,34,263,262,34,34,34,34,34,262,262,262,34,34,34,34,34,261,261,260,260,263,262,34,261,260,263,262,262,34,34,261,260,263,262,34,34,34,34,34,262,34,34,34,263,263,34,263,262,261,260,34,261,260,263,262,34,261,260,263,262,34,261,260,263,262,34,34,34,261,260,263,262,266,266,271,271],"f":"```````````````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Ch}{{{h{j}}}{{h{{Cj{Ch}}}}}}{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}00000000000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000000000{{{h{df}}D`}{{Bf{{Dd{Db}}Df}}}}{{{h{df}}}{{Dd{Db}}}}{{{h{f}}{h{Bl}}}{{Bf{DhDj}}}}{{{h{f}}{h{Bl}}}{{Bf{DlDj}}}}{{{h{df}}{h{Bl}}}Ab}```{{DnE`}Dn}{{DnEb}Dn}{{{h{f}}}Ed}{{{h{b}}}b}{{{h{j}}}j}{{{h{Ef}}}Ef}{{{h{Eh}}}Eh}{{{h{Ej}}}Ej}{{{h{El}}}El}{{{h{Cd}}}Cd}{{{h{En}}}En}{{{h{c}}{h{de}}}Ab{}{}}0000000{{{h{j}}{h{j}}}F`}```{{{h{dc}}Fb}{{Bf{{Fd{c}}Ff}}}Fh}{{cc}Fb{FjFlAl}}{{{h{dc}}Fb}{{Bf{{Fd{c}}Ff}}}Fn}{cFb{FjFlAl}}{{Fb{h{dc}}}{{Bf{{Fd{c}}Ff}}}Fh}{{Fb{h{dc}}}{{Bf{{Fd{c}}Ff}}}Fn}{Fb{{Bf{fG`}}}}0{{}Dn}{{}b}{{}El}{{}Cd}{{{h{{Fd{c}}}}}{{h{e}}}{}{}}{{{h{En}}}{{h{c}}}{}}{{{h{d{Fd{c}}}}}{{h{de}}}{}{}}{{{h{f}}j}{{Gb{Bb}}}}`{{{h{f}}Af}{{Gb{{C`{jBb}}}}}}`{{Dnj{Gb{c}}}Dn{FjFl}}``{{{h{f}}j}Gd}{c{{Bf{b}}}Gf}{c{{Bf{j}}}Gf}{c{{Bf{Ef}}}Gf}{c{{Bf{El}}}Gf}{{{h{b}}{h{b}}}Gh}{{{h{j}}{h{j}}}Gh}{{{h{Ef}}{h{Ef}}}Gh}{{{h{Eh}}{h{Eh}}}Gh}{{{h{Ej}}{h{Ej}}}Gh}{{{h{El}}{h{El}}}Gh}{{{h{{Gj{c}}}}{h{{Gj{c}}}}}GhGl}{{{h{En}}{h{En}}}Gh}{{{h{Gn}}{h{Gn}}}Gh}{{{h{H`}}{h{H`}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000``{DnDn}`{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}{{{h{b}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{j}}{h{dHh}}}Hl}{{{h{Ef}}{h{dHh}}}Hl}{{{h{Eh}}{h{dHh}}}Hl}{{{h{Ej}}{h{dHh}}}Hl}{{{h{El}}{h{dHh}}}Hl}{{{h{{Fd{c}}}}{h{dHh}}}HlHn}{{{h{I`}}{h{dHh}}}Hl}0{{{h{{Gj{c}}}}{h{dHh}}}HlIb}{{{h{{Gj{c}}}}{h{dHh}}}HlHn}{{{h{{Ff{c}}}}{h{dHh}}}HlIb}{{{h{{Ff{c}}}}{h{dHh}}}HlHn}{{{h{f}}{h{dHh}}}Hl}{{{h{Cd}}{h{dHh}}}Hl}{{{h{En}}{h{dHh}}}Hl}0{{{h{Gn}}{h{dHh}}}Hl}0{{{h{H`}}{h{dHh}}}Hl}{{{h{Id}}{h{dHh}}}Hl}0`{cc{}}000000{IfEl}{{{Ih{Cl}}}El}2{{{Il{ClIj}}}El}{IjEl}444{H`{{Gj{c}}}{}}555{{{In{j}}}Cd}{J`Cd}77{H`Gn}88{{{h{Jb}}}{{Jd{El}}}}{{FbE`}Fb}{{{h{f}}Ef{Gb{Jf}}Gh}{{Bf{JhJj}}}}{{{h{f}}j}{{A`{Jl}}}}{{{h{f}}D`}{{Gb{{Jn{{A`{Bl}}Cl}}}}}}{{{h{f}}K`}{{Gb{Ef}}}}`{{{h{j}}{h{dc}}}AbKb}{{{h{Ef}}{h{dc}}}AbKb}```{{{h{Jb}}}{{Jd{Ab}}}}{{{h{d{Fh{}{{Kd{c}}}}}}}{{Bf{Elc}}}{}}{{{h{d{Fn{}{{Kd{c}}}}}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{df}}Bh}{{Bf{GhKl}}}}{{{h{df}}Bl}Gh}{{{h{df}}K`Kn}Ab}{ce{}{}}00000000000000000{{{h{L`}}{h{Lb}}}Gh}{{{h{El}}}Gh}{{{h{f}}Af}Gh}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Ld}}}}}}}}}}}}{{FbjLf}Fb}{{DnjLf}Dn}``{{{h{f}}}Lh}{{{h{f}}}{{`{{Aj{}{{Ad{Ef}}}}}}}}0{{{h{f}}j}{{`{{Lj{}{{Ad{En}}}}}}}}{{{h{dc}}Dn}{{Bf{{Gb{{Fd{c}}}}Gj}}}Fh}{{}Dn}{{{h{dc}}Dn}{{Bf{{Gb{{Fd{c}}}}Gj}}}Fn}{{Dn{h{dc}}}{{Bf{{Gb{{Fd{c}}}}Gj}}}Fh}{{Dn{h{dc}}}{{Bf{{Gb{{Fd{c}}}}Gj}}}Fn}{{DnEl}{{Bf{{Gb{f}}Gn}}}}{{ElDn}{{Bf{{Gb{f}}Gn}}}}{{{h{f}}}{{h{Ll}}}}`{{FbBb}Fb}{{DnBb}Dn}{{{h{df}}jBb}Gh}{{{h{dEl}}El}Ab}`{{FbEb}Fb}{{{h{f}}}Eb}`{{cc}Fb{FjFl}}={cFb{FjFl}}{{{h{f}}j}Bb}{{{h{df}}j}En}{{{h{Ej}}}K`}`{{{h{j}}{h{j}}}{{Gb{F`}}}}{{{h{f}}jBb}En}{{{h{d{Fh{}{{Kd{c}}}}}}{h{El}}}{{Bf{Abc}}}{}}{{{h{d{Fn{}{{Kd{c}}}}}}{h{El}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{d{Fd{c}}}}{h{dc}}}{{Bf{Gh}}}Fh}{{{h{d{Fd{c}}}}{h{dc}}}{{Bf{Gh}}}Fn}{{{h{El}}{h{Jb}}}{{Jd{Ab}}}}{{{h{f}}j}{{Bf{{Gb{Ln}}G`}}}}`{{{h{f}}j}{{h{Ld}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{En}}}}}}}};```{{{h{f}}}{{h{{Mb{M`}}}}}}{{{h{f}}{h{Bl}}}{{C`{DhDh}}}}{{{h{Ej}}}{{Gb{Md}}}}``{{{h{b}}c}BfMf}{{{h{j}}c}BfMf}{{{h{Ef}}c}BfMf}{{{h{El}}c}BfMf}{{{h{df}}jLf}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jLf}}}}}}}}{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}```{{{h{f}}}{{h{{Mh{j}}}}}}{{{h{f}}}{{Gb{{h{El}}}}}}{{{h{df}}}{{Gb{{h{dEl}}}}}}{{{h{f}}}{{Mj{j}}}}{{{h{f}}}{{Ml{{C`{jBb}}}}}}{{{h{df}}}{{Gb{El}}}}``{{{h{c}}}e{}{}}0000000{{{h{c}}}Gd{}}000000{{{h{b}}}Dh}{{{h{f}}}{{`{{Aj{}{{Ad{{Jn{{A`{Bl}}Cl}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}00000000000000000000000000000000000`{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{Ej}}}{{h{Kn}}}}`{{{h{c}}}Mn{}}00000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{N`{{A`{Bl}}Cl}}}}}}}}}}{{{h{df}}jBb}Gh}``{{}{{h{Nb}}}}{ce{}{}}00000000000000000{{c{Gb{c}}Eb{h{{Mb{M`}}}}}{{Bf{GdG`}}}Fj}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Nd}}}Nd}{{{h{Nf}}}Nf}{{{h{Nh}}}Nh}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Nj}}{Nl{Eh}}{Nl{Eh}}DlBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nd}}{Nl{Eh}}{Nl{Eh}}DlBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nf}}{Nl{Eh}}{Nl{Eh}}DlBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nh}}{Nl{Eh}}{Nl{Eh}}DlBn{h{Lb}}}{{Bf{NnO`}}}}{{BnDl{h{Lb}}}Ob}{{}Nd}{{}Nf}{{}Nh}``{{{h{O`}}{h{dHh}}}Hl}0{{{h{Ob}}{h{dHh}}}Hl}{{{h{Nn}}{h{dHh}}}Hl}{{{h{Nd}}{h{dHh}}}Hl}{{{h{Nf}}{h{dHh}}}Hl}{{{h{Nh}}{h{dHh}}}Hl}{cc{}}00000{ce{}{}}00000{{{h{Nn}}}Bn}{BnNh}`1{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mn{}}00000666666`````````````````````````````````````````````{{{h{{Od{c}}}}Eb}{{Bf{OfOh}}}{OjOl}}{{}On}0{{{h{{A@`{ce}}}}}{{h{{A@b{ce}}}}}OjA@d}{{{h{{h{{A@`{ce}}}}}}}{{A@f{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{A@`{ce}}}}}{{Nl{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}0`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@`{cABl}}}}}{{Bf{AbAAf}}}Oj}2022102102{{{h{c}}}{{Bf{AbAAf}}}Oj}00{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@b{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{cABl}}}}}{{Bf{AbAAf}}}Oj}{{{h{{Cj{{Nl{Ch}}}}}}}{{Bf{AbAAf}}}}00`{{{h{{Od{c}}}}}{{Od{c}}}{AlOj}}{{{h{ABj}}}ABj}{{{h{ABl}}}ABl}{{{h{{A@`{ce}}}}}{{A@`{ce}}}{AlOj}{AlA@d}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Od{c}}}}{h{{Od{c}}}}}F`{ABnOj}}{{{h{ABj}}{h{ABj}}}F`}{{{h{ABl}}{h{ABl}}}F`}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}F`OjA@d}{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}Bb}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{A@j}}}}{h{{Mb{c}}}}}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{c}}}}}ACdOj}{{{h{{Od{A@h}}}}}ACf}{c{{Bf{{Od{e}}}}}GfACh}{c{{Bf{{A@`{eg}}}}}GfAChA@d}{{{h{{Od{A@h}}}}}Bn}{{{h{{A@`{ce}}}}}Af{OlOj}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}Gh{GlOj}}{{{h{ABj}}{h{ABj}}}Gh}{{{h{ABl}}{h{ABl}}}Gh}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}GhOjA@d}{{{h{c}}{h{e}}}Gh{}{}}0000000`{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}`{{{h{{A@`{ce}}}}{h{ACj}}}{{Bf{AbACl}}}OjA@d}{{{h{ACn}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Gb{Ln}}G`}}}}{{{h{{Od{A@h}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Gb{Ln}}G`}}}}{{{h{{A@`{A@hc}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Gb{Ln}}G`}}}A@d}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}{h{Lb}}{ADb{Bb}}}{{Bf{{Gb{{C`{Bb{Od{AC`}}}}}}A@l}}}ACb}{{{h{{Od{c}}}}{h{dHh}}}{{Bf{AbHj}}}Oj}0{{{h{ABj}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ABl}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{A@`{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{{Od{c}}}}e}GhOj{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{h{{A@`{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{ADh{c}}}{{Od{c}}}Oj}{{{ADj{c}}}{{Od{c}}}Oj}{{{ADl{c}}}{{Od{c}}}Oj}{{{ADn{c}}}{{Od{c}}}Oj}{{{AE`{c}}}{{Od{c}}}Oj}{{{AEb{c}}}{{Od{c}}}Oj}{cc{}}000{{{A@b{ce}}}{{Bf{{A@`{ce}}Oh}}}OjA@d}{{{A@b{ce}}AEdAEf}{{A@`{ce}}}OjA@d}{{{h{Nb}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{Nb}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{Nb}}{h{ACj}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}1{{{h{AEh}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{AEh}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{{A@`{ce}}}}AEj}{{Gb{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}AEj}{{Gb{c}}}OjA@d}{{{h{{Od{c}}}}e}{{Bf{{C`{{Nl{{Nl{Ch}}}}Af}}Oh}}}{OjOl}{{AEl{c}}}}0{{{h{{A@`{ce}}}}}GhOjA@d}0{{{h{{Od{A@h}}}}}Gh}{{{h{{Od{c}}}}{h{de}}}Ab{AEnOj}Kb}{{{h{ABj}}{h{dc}}}AbKb}{{{h{ABl}}{h{dc}}}AbKb}{{{h{{A@`{ce}}}}{h{dg}}}AbOjA@dKb}{ce{}{}}000{{{A@`{ce}}}{{A@b{ce}}}OjA@d}{{{Od{A@h}}}{{Bf{{Nl{{Od{A@h}}}}Oh}}}}{{Fj{h{{Mb{M`}}}}Eb}{{Bf{{C`{LdLf}}G`}}}}{{Ld{h{{Mb{M`}}}}Eb}{{Bf{{C`{LdLf}}G`}}}}99:{{{h{{A@`{ce}}}}}{{AF`{ce}}}OjA@d}{{{h{{A@`{ce}}}}}{{AFb{ce}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{{AFd{c}}Oh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{{h{{A@`{ce}}}}}{{Bf{AbAFf}}}OjA@d}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Gb{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Gb{AEj}}}Oj}{{{h{{A@`{cABl}}}}}{{Gb{AEj}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AEjOh}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{AEjOh}}}Oj}1{{{h{{Od{c}}}}}{{Bf{AFhOh}}}Oj}{{}{{h{Nb}}}}00{{{A@`{cAFj}}}{{Bf{{Od{c}}Oh}}}Oj}{c{{Od{c}}}Oj}{c{{Bf{{Od{c}}Oh}}}Oj}{{{A@`{cABj}}}{{Bf{{Od{c}}Oh}}}Oj}{{AEj{Nl{c}}}{{Bf{{Od{c}}Oh}}}Oj}{{{ADn{c}}}{{Od{c}}}Oj}{{{AEb{c}}}{{Od{c}}}Oj}4{{{A@`{cABl}}}{{Bf{{Od{c}}Oh}}}Oj}3{{c{Gb{{AFl{c}}}}}{{Bf{{Od{c}}Oh}}}Oj}614`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{Lb}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Mb{c}}}}{h{Nb}}}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}Oh}}}AG`}1{{{h{Lb}}{h{ACj}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}{{Gb{F`}}}{AGbOj}}{{{h{ABj}}{h{ABj}}}{{Gb{F`}}}}{{{h{ABl}}{h{ABl}}}{{Gb{F`}}}}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}{{Gb{F`}}}OjA@d}{{{h{c}}}AEjOj}00{{{Od{A@j}}{h{c}}}{{Bf{AGd{Od{A@j}}}}}{{AAb{A@j}}}}0`{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{c}}}}}{{Bf{AbOh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AbACl}}}OjA@d}{{{h{{Od{c}}}}{h{dAGf}}e}{{Bf{AbOh}}}{OjOl}{{AEl{c}}}}{{{h{{A@`{ce}}}}g}{{Bf{{Nl{{Nl{Ch}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}0{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}{{{h{{Od{c}}}}}Af{OjOl}}{{{h{{A@`{ce}}}}}AEjOjA@d}{{{h{{Od{c}}}}e}BfOjMf}{{{h{{A@`{ce}}}}g}BfOjA@dMf}{{}AGh}00{{{h{{A@`{ce}}}}{h{{An{ABfc}}}}}{{A@`{ce}}}OjA@d}`{{{h{c}}}e{}{}}000{{{h{c}}}Gd{}}0{{{h{{Od{A@h}}}}{h{{An{A@hAFn}}}}}Gd}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{Od{c}}}}{h{di}}}{{Bf{{AGj{g}}}}}OjOj{}{{AGl{ceg}}}}{{{h{{A@`{ce}}}}{h{dk}}}{{Bf{{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mn{}}000={ce{}{}}000{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{Nb}}}{{Bf{GdG`}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{G`}}{h{G`}}}Gh}{{{h{G`}}{h{dHh}}}Hl}0{AGnG`}{OhG`}{AH`G`}{AHbG`}{AHdG`}{cc{}}{AHfG`}{AHhG`}>{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mn{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AHj}}}AHj}{{{h{AHl}}}AHl}{{{h{AHn}}}AHn}{{{h{Ln}}}Ln}{{{h{AI`}}}AI`}{{{h{AD`}}}AD`}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AI`}{{{h{AHj}}{h{AHj}}}Gh}{{{h{AHl}}{h{AHl}}}Gh}{{{h{AHn}}{h{AHn}}}Gh}{{{h{Ln}}{h{Ln}}}Gh}{{{h{AI`}}{h{AI`}}}Gh}{{{h{AHb}}{h{AHb}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000{{{h{AHj}}{h{dHh}}}Hl}{{{h{AHl}}{h{dHh}}}Hl}{{{h{AHn}}{h{dHh}}}Hl}{{{h{Ln}}{h{dHh}}}Hl}{{{h{AI`}}{h{dHh}}}Hl}{{{h{AHb}}{h{dHh}}}Hl}0{{{h{AD`}}{h{dHh}}}Hl}{cc{}}0{GhAHn}1{AHlLn}2222{{{h{Ln}}{h{{An{Gd{Nl{AEj}}}}}}}{{Bf{AI`AHb}}}}{{{h{AHj}}{h{dc}}}AbKb}{{{h{AI`}}{h{dc}}}AbKb}{{{h{AHl}}}Gd}`{ce{}{}}000000{{{h{AHl}}}Gh}{{{h{AHn}}}Gh}{{{h{AI`}}}Gh}`{{{h{AI`}}{h{AI`}}}{{Gb{F`}}}}{{{h{Ln}}}Gh}`{{{h{AHj}}c}BfMf}{{{h{AHl}}c}BfMf}{{{h{AHn}}c}BfMf}{{{h{Ln}}c}BfMf}{{{h{AI`}}c}BfMf}`{{{h{c}}}e{}{}}00000{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mn{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AIbEb}{{Bf{AIdG`}}}}{{{AIf{c}}Eb}{{Bf{AIdG`}}}{{AIh{ABj}}}}{{{AIj{c}}Eb}{{Bf{AIdG`}}}{{AIh{ABl}}}}{{{AIl{c}}Eb}{{Bf{AIdG`}}}{{AIh{ABl}}}}{{{AIn{c}}Eb}{{Bf{AIdG`}}}{{AIh{AJ`}}}}{{{AJb{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABj}}}}{{{AJf{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABj}}}}{{{AJh{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABl}}}}{{{AJj{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABl}}}}{{{AJl{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABl}}}}{{{AJn{c}}Eb}{{Bf{AIdG`}}}{{AJd{ABl}}}}{{{AK`{c}}Eb}{{Bf{AIdG`}}}{{AJd{AJ`}}}}{{{AKb{c}}Eb}{{Bf{AIdG`}}}{{AJd{AJ`}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{ABj}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{ABl}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{ABl}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AJ`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AJd{ABj}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AJd{ABj}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AJd{ABl}}}}{{{h{{AJj{c}}}}}{{AJj{c}}}{Al{AJd{ABl}}}}{{{h{{AJl{c}}}}}{{AJl{c}}}{Al{AJd{ABl}}}}{{{h{{AJn{c}}}}}{{AJn{c}}}{Al{AJd{ABl}}}}{{{h{{AK`{c}}}}}{{AK`{c}}}{Al{AJd{AJ`}}}}{{{h{{AKb{c}}}}}{{AKb{c}}}{Al{AJd{AJ`}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AIf{c}}}}{h{dHh}}}Hl{Hn{AIh{ABj}}}}{{{h{{AIj{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIl{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIn{c}}}}{h{dHh}}}Hl{Hn{AIh{AJ`}}}}{{{h{{AJb{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJf{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJh{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJj{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJl{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJn{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AK`{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{{{h{{AKb{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{cc{}}00000000000{ce{}{}}00000000000{{AId{h{{Mb{M`}}}}Eb}{{Bf{{C`{LdLf}}G`}}}}{{c{h{{Mb{M`}}}}Eb}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}G`}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AKd}}}AKd}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AKd}}{h{dHh}}}Hl}0{{{h{Jj}}{h{dHh}}}Hl}0{{{h{Df}}{h{dHh}}}Hl}0={O`Jj}{AKdJj}{G`Jj}{AHbJj}{AKfJj}{cc{}}0{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Gd{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mn{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AKh}}}{{Gb{Gd}}}}{{{h{AKh}}}Gd}{c{{Bf{AKh}}}Gf}{{{h{f}}{h{Nb}}Gh}{{Bf{AKh{h{Nb}}}}}}{{{h{AKh}}{h{dHh}}}Hl}0<{{{h{Nb}}}{{Bf{AKhc}}}{}}<``{{{h{AKh}}c}BfMf};::9=```````````````````````````````````````````{{}AKj}{{}On}{{A@hBb}{{Bf{A@jA@l}}}};;;;;;;;;;;;::::::::::::{{{h{{AKl{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}00000{{{h{c}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{Cj{{Nl{Ch}}}}}}}{{Bf{AbAAf}}}}{{{h{{AKn{ce}}}}}{{AKn{ce}}}AlA@d}{{{h{On}}}On}{{{h{AL`}}}AL`}{{{h{{AKl{ce}}}}}{{AKl{ce}}}{AlOj}{AlA@d}}{{{h{A@h}}}A@h}{{{h{AFn}}}AFn}{{{h{ALb}}}ALb}{{{h{ALd}}}ALd}{{{h{ALf}}}ALf}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}F`{ABnOj}{ABnA@d}}{{{h{A@h}}{h{A@h}}}F`}{{{h{ALb}}{h{ALb}}}F`}{{{h{ALf}}{h{ALf}}}F`}`{{}AL`}{{{h{{AKn{ce}}}}}{{h{g}}}{}A@d{}}{{A@hBb}{{Bf{A@jA@l}}}}{c{{Bf{A@h}}}Gf}{{{h{{AKl{ce}}}}}Af{OlOj}A@d}{{{h{On}}{h{On}}}Gh}{{{h{AHh}}{h{AHh}}}Gh}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Gh{GlOj}{GlA@d}}{{{h{A@h}}{h{A@h}}}Gh}{{{h{AFn}}{h{AFn}}}Gh}{{{h{ALb}}{h{ALb}}}Gh}{{{h{ALd}}{h{ALd}}}Gh}{{{h{ALf}}{h{ALf}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000000000{{{h{{ALh{c}}}}{h{dHh}}}Hl{HnA@d}}{{{h{On}}{h{dHh}}}Hl}{{{h{AL`}}{h{dHh}}}Hl}{{{h{AHh}}{h{dHh}}}Hl}0{{{h{{AKl{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{A@h}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{AFn}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{ALb}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALd}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALf}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{AKl{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{ALj{{ALl{c}}}A@d}{cc{}}{ALn{{ALl{c}}}A@d}11111{AH`AHh}{OhAHh}3{A@jA@h}44444{{A@hAKj}{{ALh{c}}}A@d}{{AFnAKj}{{ALh{c}}}A@d}{{{h{Nb}}}{{Bf{A@h}}}}{{{h{Nb}}}{{Bf{AFn}}}}{{{h{AEh}}}{{Bf{{AKl{ce}}Oh}}}{AM`Oj}A@d}{{{h{A@h}}}{{Gb{AMb}}}}{{{h{A@h}}}{{Nl{AMb}}}}{c{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cj{Ch}}}}AMl}HnA@d}{{}{{Bf{{AKn{AMnc}}e}}}A@d{}}{{{h{dc}}}{{Bf{{AKn{AMne}}g}}}{AN`ANb}A@d{}}{{c{h{de}}}{{Bf{{AKn{{AMh{}{{AMd{g}}{AMf{c}}{Kd{i}}}}k}}i}}}{}{AN`ANb}{{AMj{{Cj{Ch}}}}AMl}HnA@d}{{ce}{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cj{Ch}}}}AMl}HnA@d}{c{{Bf{{AKn{AMne}}g}}}{}A@d{}}{{{h{{ALl{c}}}}}GhA@d}{{{h{A@h}}}Gh}{{{h{{AKl{ce}}}}{h{dg}}}Ab{AEnOj}{AEnA@d}Kb}{{{h{A@h}}{h{dc}}}AbKb}{{{h{ALb}}{h{dc}}}AbKb}{{{h{ALf}}{h{dc}}}AbKb}{ce{}{}}00000000000{A@hANd}{AIh{{Bf{{ALh{c}}AHh}}}A@d}{{AJd{Gb{ANf}}AMb}{{Bf{{ALh{c}}AHh}}}A@d}{{{AKn{ec}}}{{Bf{{ALh{c}}AHh}}}A@d{{AIh{c}}}}{{{AKn{ec}}{Gb{ANf}}AMb}{{Bf{{ALh{c}}AHh}}}A@d{{AJd{c}}}}{{{ALh{c}}}{{Bf{{ALh{c}}AHh}}}A@d}{A@h{{Bf{{ALh{c}}AHh}}}A@d}{AFn{{Bf{{ALh{c}}AHh}}}A@d}{AJd{{Bf{{ALl{c}}AHh}}}A@d}{{{ALl{c}}}{{Bf{{ALl{c}}AHh}}}A@d}{{{AKn{ec}}}{{Bf{{ALl{c}}AHh}}}A@d{{AJd{c}}}}{{{AKn{ce}}}c{}A@d}{A@h{{Nl{A@h}}}}{AFn{{Nl{AFn}}}}{{{ALl{c}}Eb}{{Gb{ALj}}}A@d}{{{ALl{c}}Eb{h{{Mb{e}}}}}ALnA@dAG`}{{{h{A@h}}}Gh}{{}Gh}{{{h{On}}}Gh}2{{{h{AFn}}}Gh}212133{{{h{{AKl{ce}}}}}AEjOjA@d}``{{{h{{AKl{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{}AKj}{{{h{A@h}}}ANh}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Gb{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}44{{{h{AKj}}{h{AKj}}}AKj}5{{}{{h{Nb}}}}{{AEj{Nl{c}}}{{Bf{{AKl{ce}}Oh}}}OjA@d}{{{h{A@h}}}AEj}``{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{ALh{c}}AKj}{{ALh{c}}}A@d}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}{{Gb{F`}}}{AGbOj}{AGbA@d}}{{{h{A@h}}{h{A@h}}}{{Gb{F`}}}}{{{h{ALb}}{h{ALb}}}{{Gb{F`}}}}{{{h{ALf}}{h{ALf}}}{{Gb{F`}}}}{{{h{c}}}AEjOj}{{{h{{AKl{ce}}}}}{{h{{Cj{c}}}}}OjA@d}{{{h{{AKl{ce}}}}}{{Bf{AbOh}}}OjA@d}{{{h{{AKl{ce}}}}g}{{Bf{{Nl{{Nl{Ch}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}{{{h{{AKl{ce}}}}}AEjOjA@d}{{{h{A@h}}c}BfMf}{{}AGh}{{{h{{AKl{ce}}}}}{{A@b{ce}}}{OlOj}A@d}{{}AKj}{{{h{c}}}e{}{}}00000000{{{h{AFn}}{h{{Mb{c}}}}}{{Bf{A@hANj}}}AG`}{{{h{c}}}Gd{}}000{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{AKl{ce}}}}{h{dk}}}{{Bf{{AKl{ge}}{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000{ce{}{}}00000000000`{{{h{ANl}}}{{Gb{Dh}}}}{{{h{ANl}}}{{Gb{Dl}}}}{{{h{ANl}}AEj}{{Gb{Kn}}}}`{{{h{Jb}}{h{Nb}}{h{{Cj{{h{{Cj{{h{Nb}}}}}}}}}}}{{Bf{AbANn}}}}````````````````````````````````````{{{h{dJl}}AO`l{A`{n}}}{{Gb{{A`{n}}}}}}``{{{h{Jl}}{h{{Mb{M`}}}}}Lf}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Lf{h{{Od{A@h}}}}{h{{Mb{M`}}}}}Jl}{{{h{AO`}}}AO`}{{{h{AOb}}}AOb}{{{h{{AOd{c}}}}}{{AOd{c}}}{AlAOfHnAl}}{{{h{l}}}l}{{{h{Jl}}}Jl}{{{h{Hd}}}Hd}{{{h{AOh}}}AOh}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{AO`}}{h{AO`}}}F`}{{{h{l}}{h{l}}}F`}{{}l}{{}Jl}{{}Hd}{{}AOh}{{{h{{AOd{c}}}}}{{h{e}}}{AOfHnAl}{}}{{{h{AOj}}}{{Gb{AFn}}}}0{{{h{{AOd{AOl}}}}}{{Gb{AFn}}}}{{{h{{AOd{{AOn{ALj}}}}}}}{{Gb{AFn}}}}{{{h{{AOd{{B@`{ALj}}}}}}}{{Gb{AFn}}}}{{{h{AO`}}{h{AO`}}}Gh}{{{h{AOb}}{h{AOb}}}Gh}{{{h{l}}{h{l}}}Gh}{{{h{AOh}}{h{AOh}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000{{{h{Jl}}AO`}{{Gb{{h{{A`{n}}}}}}}}{{{h{AO`}}{h{dHh}}}Hl}{{{h{Hf}}{h{dHh}}}Hl}0{{{h{AOb}}{h{dHh}}}Hl}{{{h{{AOd{c}}}}{h{dHh}}}Hl{HnAOfHnAl}}{{{h{l}}{h{dHh}}}Hl}{{{h{Jl}}{h{dHh}}}Hl}{{{h{Hd}}{h{dHh}}}Hl}{{{h{AOh}}{h{dHh}}}Hl}{cc{}}{ABfAO`}{ANhAO`}2222222{{{h{AO`}}{h{dc}}}AbKb}{{{h{AOj}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{B@`{ALj}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{AOl}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{AOn{ALj}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{Jl}}}{{Nl{{h{AO`}}}}}}{ce{}{}}0000000{{cAOb}{{AOd{c}}}{AOfHnAl}}{{}Jl}{{{h{AO`}}{h{AO`}}}{{Gb{F`}}}}{{{h{l}}{h{l}}}{{Gb{F`}}}}{{{h{dJl}}AO`l}{{Gb{{A`{n}}}}}}{{{h{B@b}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{AOn{ALj}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{AOl}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{B@`{ALj}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{n}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{c}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}{}}`{{{h{Jl}}}{{Nl{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Gd{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mn{}}0000000{ce{}{}}0000000````````````````{{{h{d{Dd{c}}}}{h{e}}}{{h{d{Dd{c}}}}}{}{{B@f{B@d}}}}{{{h{d{Dd{c}}}}K`JhAFh}{{Bf{{h{d{Dd{c}}}}B@h}}}{}}{{{h{d{Dd{c}}}}K`JhAFhMd}{{Bf{{h{d{Dd{c}}}}B@h}}}{}}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}AfDh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}K`}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}K`}{{Bf{{h{d{Dd{c}}}}B@j}}}{}}{{{h{d{Dd{c}}}}{h{{Cj{K`}}}}}{{Bf{{h{d{Dd{c}}}}B@j}}}{}}{{{h{d{Dd{c}}}}Gh}{{h{d{Dd{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Dd{c}}}}B@l}{{h{d{Dd{c}}}}}{}}{{{h{{Dd{c}}}}}{{Dd{c}}}Al}{{{h{B@n}}}B@n}{{{h{B@l}}}B@l}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@l}}{h{B@l}}}F`}{{{Dd{c}}e}{{Dd{e}}}{}Nj}{{{h{d{Dd{c}}}}Bb}{{h{d{Dd{c}}}}}{}}{{}B@n}{{}B@l}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Af}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}Md}{{h{d{Dd{c}}}}}{}}{{{h{B@l}}{h{B@l}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0{{{h{d{Dd{c}}}}Dh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Dl}{{h{d{Dd{c}}}}}{}}{{{Dd{c}}}{{Bf{HbJj}}}Nj}{{{Dd{c}}{h{de}}}{{Bf{HbJj}}}NjANb}{{{h{{Dd{c}}}}{h{dHh}}}HlHn}{{{h{B@j}}{h{dHh}}}Hl}0{{{h{B@h}}{h{dHh}}}Hl}0{{{h{B@n}}{h{dHh}}}Hl}{{{h{B@l}}{h{dHh}}}Hl}{cc{}}0000{{{h{B@l}}{h{dc}}}AbKb}?{ce{}{}}0000{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}BA`}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}B@n}{{h{d{Dd{c}}}}}{}}{{{h{B@l}}{h{B@l}}}{{Gb{F`}}}}{{{h{d{Dd{c}}}}{An{Gd{Nl{AEj}}}}j}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}{Nl{{C`{AfDh}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jf}{{h{d{Dd{c}}}}}{}}{{{h{B@n}}{h{dBl}}}Ab}{{{h{B@n}}{h{dBl}}{h{dc}}}AbANb}{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mn{}}0000{{{h{d{Dd{c}}}}{Nl{K`}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}BAb}{{h{d{Dd{c}}}}}{}}?????````","D":"GCf","p":[[5,"Balance",0,1972],[0,"mut"],[5,"Wallet",0,1973],[1,"reference"],[6,"KeychainKind",0,1974],[5,"SignerOrdering",1666,1975],[10,"TransactionSigner",1666,1975],[5,"Arc",1976],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1977],[8,"Indexed",1978],[10,"Iterator",1979],[10,"Clone",1980],[5,"BTreeMap",1981],[5,"Block",1982],[1,"u32"],[5,"CannotConnectError",1983],[6,"Result",1984],[5,"BlockId",1985],[6,"ApplyHeaderError",1983],[5,"Transaction",1986],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1987],[5,"Update",0,1973],[10,"Into",1988],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1985],[5,"TxGraph",1989],[5,"Txid",1986],[8,"DefaultCoinSelectionAlgorithm",484,1990],[5,"TxBuilder",1853,1991],[6,"BuildFeeBumpError",1244,1992],[5,"Amount",1993],[6,"CalculateFeeError",1989],[5,"FeeRate",1994],[5,"LoadParams",0,1995],[5,"BlockHash",1982],[6,"Network",1996],[5,"CheckPointIter",1983],[5,"LocalOutput",0,1974],[5,"WeightedUtxo",0,1974],[6,"Utxo",0,1974],[5,"ChangeSet",0,1997],[5,"AddressInfo",0,1973],[6,"Ordering",1998],[5,"CreateParams",0,1995],[5,"PersistedWallet",0,1999],[6,"CreateWithPersistError",0,1999],[10,"WalletPersister",0,1999],[10,"IntoWalletDescriptor",583],[10,"Send",2000],[10,"AsyncWalletPersister",0,1999],[6,"Error",844],[6,"Option",2001],[5,"String",2002],[10,"Deserializer",2003],[1,"bool"],[6,"LoadWithPersistError",0,1999],[10,"PartialEq",1998],[6,"LoadError",0,1973],[6,"LoadMismatch",0,1973],[5,"Psbt",2004],[5,"SignOptions",1666,1975],[6,"SignerError",1666,1975],[5,"Formatter",2005],[5,"Error",2005],[8,"Result",2005],[10,"Debug",2005],[6,"FileStoreError",0,1999],[10,"Display",2005],[6,"ApplyBlockError",0,1973],[5,"ChangeSet",1983],[5,"ChangeSet",1989],[5,"ChangeSet",2006],[5,"ChangeSet",2007],[5,"FullScanResult",2008],[5,"SyncResult",2008],[5,"Transaction",2009],[8,"Result",2010],[5,"PsbtSighashType",2011],[5,"Input",2011],[6,"CreateTxError",1244,1992],[5,"SignersContainer",1666,1975],[5,"CanonicalTx",1989],[5,"OutPoint",1986],[10,"Hasher",2012],[17,"Error"],[10,"Future",2013],[5,"Box",2014],[5,"Pin",2015],[5,"AlterCheckPointError",1983],[5,"TxOut",1986],[10,"IsDust",0,2016],[5,"Script",2017],[8,"ExtendedDescriptor",583],[8,"KeyMap",1344,2018],[5,"CheckPoint",1983],[10,"DoubleEndedIterator",2019],[5,"LocalChain",1983],[5,"Policy",877],[6,"All",2020],[5,"Secp256k1",2021],[5,"Sequence",1986],[10,"Serializer",2022],[5,"KeychainTxOutIndex",2006],[5,"FullScanRequestBuilder",2008],[5,"SyncRequestBuilder",2008],[5,"TypeId",2023],[5,"TxNode",1989],[1,"str"],[5,"LargestFirstCoinSelection",484,1990],[5,"OldestFirstCoinSelection",484,1990],[5,"BranchAndBoundCoinSelection",484,1990],[10,"CoinSelectionAlgorithm",484,1990],[5,"Vec",2024],[5,"CoinSelectionResult",484,1990],[6,"Error",484,1990],[6,"Excess",484,1990],[6,"Descriptor",583,2018],[5,"Address",2025],[6,"Error",2026],[10,"MiniscriptKey",2026],[10,"ToPublicKey",2026],[6,"ScriptContextEnum",1344],[5,"Miniscript",583,2027],[6,"Terminal",2028],[10,"ScriptContext",1344,2029],[6,"Tree",2030],[6,"DescriptorPublicKey",1344,2031],[5,"DefiniteDescriptorKey",2031],[6,"ConversionError",2031],[6,"Placeholder",2032],[5,"Satisfaction",2032],[10,"AssetProvider",2033],[17,"Key"],[6,"ScriptContextError",2029],[17,"Sha256"],[5,"Hash",2034],[17,"Hash256"],[5,"Hash",2035],[17,"Ripemd160"],[5,"Hash",2036],[17,"Hash160"],[5,"Hash",2037],[10,"ParseableKey",2028],[6,"Legacy",583,2029],[6,"Segwitv0",583,2029],[10,"Ord",1998],[5,"PublicKey",2038],[10,"Verification",2039],[6,"DescriptorType",2018],[5,"DescriptorId",2040],[10,"FromStrKey",2041],[5,"ExtParams",2042],[6,"AnalysisError",2042],[10,"ExtractPolicy",583],[6,"BuildSatisfaction",877],[5,"Range",2043],[17,"Output"],[10,"FnMut",2044],[5,"Pkh",2045],[5,"Bare",2045],[5,"Sh",2046],[5,"Wpkh",2047],[5,"Tr",2048],[5,"Wsh",2047],[5,"Type",2049],[5,"ExtData",2050],[5,"Tree",2051],[1,"usize"],[10,"Satisfier",2032],[10,"Hash",2012],[5,"Iter",2052],[5,"PkIter",2052],[6,"Policy",2053],[6,"LiftError",2054],[5,"Weight",2055],[6,"BareCtx",2029],[6,"TapTree",2048],[6,"DescriptorSecretKey",1344,2031],[10,"Signing",2039],[10,"PartialOrd",1998],[5,"Plan",2033],[5,"TxIn",1986],[6,"SigType",2029],[6,"TranslateErr",2026],[10,"Translator",2026],[6,"HexToBytesError",2056],[6,"Error",2057],[6,"PolicyError",877],[6,"ParsePublicKeyError",2038],[6,"Error",2058],[6,"KeyError",1344],[6,"PkOrF",877],[6,"SatisfiableItem",877],[6,"Satisfaction",877],[5,"Condition",877],[10,"DescriptorTemplate",1060],[8,"DescriptorTemplateOut",1060],[5,"P2Pkh",1060],[10,"IntoDescriptorKey",1344],[5,"P2Wpkh_P2Sh",1060],[5,"P2Wpkh",1060],[5,"P2TR",1060],[6,"Tap",2029],[5,"Bip44",1060],[10,"DerivableKey",1344],[5,"Bip44Public",1060],[5,"Bip49",1060],[5,"Bip49Public",1060],[5,"Bip84",1060],[5,"Bip84Public",1060],[5,"Bip86",1060],[5,"Bip86Public",1060],[6,"MiniscriptPsbtError",1244,1992],[6,"Error",2059],[5,"FullyNodedExport",1321,2060],[8,"ValidNetworks",1344],[5,"SortedMultiVec",1344,2061],[5,"GeneratedKey",1344],[5,"PrivateKeyGenerateOptions",1344],[5,"SinglePub",1344,2031],[5,"SinglePriv",1344,2031],[6,"SinglePubKey",1344,2031],[6,"DescriptorKey",1344],[5,"Xpriv",2057],[6,"ExtendedKey",1344],[5,"Xpub",2057],[10,"FromStr",2062],[5,"DerivationPath",2057],[17,"Entropy"],[17,"Options"],[10,"GeneratableKey",1344],[10,"AsMut",1988],[10,"Default",2063],[10,"GeneratableDefaultOptions",1344],[10,"CryptoRng",2064],[10,"RngCore",2064],[5,"Assets",2033],[8,"KeySource",2057],[5,"Fingerprint",2057],[5,"DescriptorKeyParseError",2031],[10,"PsbtUtils",1660],[6,"Error",2065],[6,"SignerId",1666,1975],[6,"SignerContext",1666,1975],[5,"SignerWrapper",1666,1975],[10,"Sized",2000],[6,"TapLeavesOptions",1666,1975],[10,"SignerCommon",1666,1975],[5,"PrivateKey",2038],[5,"DescriptorMultiXKey",2031],[5,"DescriptorXKey",2031],[10,"InputSigner",1666,1975],[5,"PushBytes",2066],[10,"AsRef",1988],[6,"AddForeignUtxoError",1853,1991],[6,"AddUtxoError",1853,1991],[6,"ChangeSpendPolicy",1853,1991],[6,"TxOrdering",1853,1991],[6,"LockTime",2067],[1,"i32"],[15,"InvalidTxid",1968],[15,"UnexpectedConnectedToHash",470],[15,"Network",472],[15,"Genesis",472],[15,"Descriptor",472],[15,"Custom",1970],[15,"Foreign",481],[15,"InsufficientFunds",576],[15,"Change",578],[15,"NoChange",578],[8,"DerivedDescriptor",583],[15,"PsbtTimelocks",1036],[15,"Complete",1039],[15,"Partial",1039],[15,"PartialComplete",1039],[15,"Sha256Preimage",1050],[15,"Hash256Preimage",1050],[15,"Ripemd160Preimage",1050],[15,"Hash160Preimage",1050],[15,"Thresh",1050],[15,"Multisig",1050],[15,"AbsoluteTimelock",1050],[15,"RelativeTimelock",1050],[15,"RbfSequenceCsv",1315],[15,"LockTime",1315],[15,"FeeTooLow",1315],[15,"FeeRateTooLow",1315],[8,"WalletExport",1321],[10,"ExtScriptContext",1344],[15,"Tap",1852]],"r":[[0,1991],[1,1991],[2,1973],[3,1973],[4,1999],[5,1972],[9,1997],[10,1991],[11,1995],[12,1999],[21,1999],[24,583],[29,2016],[30,1974],[32,1973],[33,1973],[34,1995],[35,1999],[37,1974],[47,1999],[49,1975],[50,1991],[51,1991],[55,1973],[56,1974],[59,1973],[60,1999],[61,1974],[143,1973],[195,1973],[196,1973],[338,1978],[353,1973],[354,1973],[362,583],[420,1973],[467,1973],[486,1990],[488,1990],[489,1990],[490,1990],[491,1990],[492,1990],[494,1990],[496,1990],[519,1990],[587,2018],[589,2031],[596,2029],[597,2027],[602,877],[603,2029],[604,2029],[638,843],[1244,1992],[1247,1992],[1255,1992],[1321,2060],[1322,2060],[1347,2031],[1348,2031],[1363,2018],[1373,2029],[1378,2031],[1379,2031],[1380,2031],[1381,2061],[1664,2068],[1665,2068],[1673,1975],[1690,1975],[1691,1975],[1692,1975],[1693,1975],[1694,1975],[1695,1975],[1696,1975],[1697,1975],[1699,1975],[1700,1975],[1853,1991],[1854,1991],[1857,1991],[1864,1991],[1865,1991]],"b":[[200,"impl-Display-for-Balance"],[201,"impl-Debug-for-Balance"],[208,"impl-Display-for-FileStoreError"],[209,"impl-Debug-for-FileStoreError"],[210,"impl-Display-for-LoadWithPersistError%3CE%3E"],[211,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[212,"impl-Display-for-CreateWithPersistError%3CE%3E"],[213,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[216,"impl-Display-for-AddressInfo"],[217,"impl-Debug-for-AddressInfo"],[218,"impl-Display-for-LoadError"],[219,"impl-Debug-for-LoadError"],[221,"impl-Display-for-ApplyBlockError"],[222,"impl-Debug-for-ApplyBlockError"],[231,"impl-From%3CChangeSet%3E-for-ChangeSet"],[232,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[234,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[235,"impl-From%3CChangeSet%3E-for-ChangeSet"],[243,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[244,"impl-From%3CSyncResult%3E-for-Update"],[525,"impl-Debug-for-Error"],[526,"impl-Display-for-Error"],[676,"impl-Descriptor%3CDescriptorPublicKey%3E"],[677,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[704,"impl-Debug-for-Descriptor%3CPk%3E"],[705,"impl-Display-for-Descriptor%3CPk%3E"],[708,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[709,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[712,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[713,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[714,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[715,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[716,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[717,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[861,"impl-Debug-for-Error"],[862,"impl-Display-for-Error"],[863,"impl-From%3CHexToBytesError%3E-for-Error"],[864,"impl-From%3CError%3E-for-Error"],[865,"impl-From%3CError%3E-for-Error"],[866,"impl-From%3CPolicyError%3E-for-Error"],[867,"impl-From%3CParsePublicKeyError%3E-for-Error"],[869,"impl-From%3CError%3E-for-Error"],[870,"impl-From%3CKeyError%3E-for-Error"],[964,"impl-Display-for-PolicyError"],[965,"impl-Debug-for-PolicyError"],[1282,"impl-Debug-for-MiniscriptPsbtError"],[1283,"impl-Display-for-MiniscriptPsbtError"],[1284,"impl-Debug-for-CreateTxError"],[1285,"impl-Display-for-CreateTxError"],[1286,"impl-Debug-for-BuildFeeBumpError"],[1287,"impl-Display-for-BuildFeeBumpError"],[1289,"impl-From%3CError%3E-for-CreateTxError"],[1290,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1291,"impl-From%3CError%3E-for-CreateTxError"],[1292,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1293,"impl-From%3CError%3E-for-CreateTxError"],[1331,"impl-Display-for-FullyNodedExport"],[1332,"impl-Debug-for-FullyNodedExport"],[1477,"impl-Debug-for-KeyError"],[1478,"impl-Display-for-KeyError"],[1479,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1480,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1481,"impl-Display-for-DescriptorPublicKey"],[1482,"impl-Debug-for-DescriptorPublicKey"],[1483,"impl-Display-for-DescriptorSecretKey"],[1484,"impl-Debug-for-DescriptorSecretKey"],[1489,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1491,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1497,"impl-From%3CError%3E-for-KeyError"],[1498,"impl-From%3CError%3E-for-KeyError"],[1540,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1541,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1747,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1749,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1764,"impl-Display-for-SignerError"],[1765,"impl-Debug-for-SignerError"],[1773,"impl-From%3CHash%3E-for-SignerId"],[1774,"impl-From%3CFingerprint%3E-for-SignerId"],[1784,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1785,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1786,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1802,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1803,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1804,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1912,"impl-Display-for-AddUtxoError"],[1913,"impl-Debug-for-AddUtxoError"],[1914,"impl-Display-for-AddForeignUtxoError"],[1915,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAKQC7gL6AisFqgUSBg==","e":"OzAAAAEAABkEfwAZAAAAQAAAAEsAAQBPACQAeQAAAH8AEACbAAYAqgAZAMcAAADJABYA6AABAOsAAQDwAAAA9AABAPgAAAACAQEAIAEAADsBAABGAQAAUgEAAFgBBQBjAQAAawEPAIEBIwCqAREAwgERAPIBEQAFAgIACQICAA4CBgAlAhsATQIAAFsCAABvAgEAcgIAAHQCBwB/AgAAgQIBAIQCAACHAgEAigIBAI4CAQCRAgEAlAIBAJcCCwCoAgMArQILAL4CAQDBAg0A1QIAAOICAwDtAgAA8wIBAPcCAQD+AgEAFAMDABkDAQAnAwEAKgMBAC4DBQA5AwcAQgMDAEcDAwBbAwkAZgMBAGkDBACRAxkArQMaAMoDAADMAwAA0gMBAOEDAADkAwQA6gMiADMEFwBMBC8AlARIAPsEDQAKBQQAFAUPAC4FAQAyBQAANAUBADcFAAA7BQUAbwUXAJEFFQCoBQEAqwUAAK0FJQDUBQAA2gUBAN0FAADlBQEA8gUDAAIGAAAFBgQACwYBABsGAQAgBgAAKgYAAC8GAwA4BgAAPAYIAEYGAwBNBi8ArAYPAL0GFADUBg4A5AYIAO4GAQD3BgAA+QYCAAcHAQALBwIADwcAABMHBwAdBx8AVgcJAGEHBgBqBwEAcQcCAHgHBgCEBwAAkAcAAJYHEwCsBwQA"}],\ +["bdk_wallet",{"t":"GGFGKFPPPFGFGPPPPPRRPGPPEPPPPKGPGGFGPFPPPPPPPPPFPFFGPPPFGTTFKFPNNONOONNNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNNONCNOQNNNNNNNNNNNNNNNNNNNNNNNNNNNCCNDNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONMMNNNNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNONNNNDNNONNNNNNONNMMNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","AsyncWalletPersister","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","DataAlreadyExists","Descriptor","Descriptor","Descriptor","Error","Error","External","FileStoreError","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","Load","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WalletPersister","WeightedUtxo","Write","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","apply_update_at","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","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","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","change_descriptor","check_genesis_hash","check_network","checkpoints","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_selection","confirmation_time","confirmed","create","create","create_async","create_single","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","deref","deref_mut","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor","descriptor_checksum","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","export","extract_keys","file_store","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","init_sqlite_tables","initialize","initialize","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load_async","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","new","new","new_single","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_async","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged_mut","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","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_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","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","eq","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","clone","clone","clone","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","clone_into","clone_into","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","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","to_owned","to_owned","to_owned","to_owned","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_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","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","SCHEMAS_TABLE_NAME","migrate_schema","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","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","descriptor_secret_key","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[469,"bdk_wallet::AddForeignUtxoError"],[471,"bdk_wallet::ApplyBlockError"],[473,"bdk_wallet::LoadMismatch"],[480,"bdk_wallet::TxOrdering"],[482,"bdk_wallet::Utxo"],[485,"bdk_wallet::coin_selection"],[577,"bdk_wallet::coin_selection::Error"],[579,"bdk_wallet::coin_selection::Excess"],[584,"bdk_wallet::descriptor"],[844,"bdk_wallet::descriptor::checksum"],[845,"bdk_wallet::descriptor::error"],[878,"bdk_wallet::descriptor::policy"],[1037,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1040,"bdk_wallet::descriptor::policy::Satisfaction"],[1051,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1061,"bdk_wallet::descriptor::template"],[1245,"bdk_wallet::error"],[1316,"bdk_wallet::error::CreateTxError"],[1322,"bdk_wallet::export"],[1345,"bdk_wallet::keys"],[1661,"bdk_wallet::psbt"],[1665,"bdk_wallet::rusqlite_impl"],[1667,"bdk_wallet::signer"],[1853,"bdk_wallet::signer::SignerContext"],[1854,"bdk_wallet::tx_builder"],[1969,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1971,"bdk_wallet::tx_builder::TxOrdering"],[1973,"bdk_chain::balance"],[1974,"bdk_wallet::wallet"],[1975,"bdk_wallet::types"],[1976,"bdk_wallet::wallet::signer"],[1977,"alloc::sync"],[1978,"bitcoin::blockdata::script::owned"],[1979,"bdk_chain"],[1980,"core::iter::traits::iterator"],[1981,"core::clone"],[1982,"alloc::collections::btree::map"],[1983,"bitcoin::blockdata::block"],[1984,"bdk_chain::local_chain"],[1985,"core::result"],[1986,"bdk_chain::chain_data"],[1987,"bitcoin::blockdata::transaction"],[1988,"core::iter::traits::collect"],[1989,"core::convert"],[1990,"core::option"],[1991,"bdk_chain::tx_graph"],[1992,"bdk_wallet::wallet::coin_selection"],[1993,"bdk_wallet::wallet::tx_builder"],[1994,"bdk_wallet::wallet::error"],[1995,"bitcoin_units::amount"],[1996,"bitcoin_units::fee_rate"],[1997,"bdk_wallet::wallet::params"],[1998,"bitcoin::network"],[1999,"bdk_wallet::wallet::changeset"],[2000,"core::cmp"],[2001,"bdk_wallet::wallet::persisted"],[2002,"core::marker"],[2003,"alloc::string"],[2004,"serde::de"],[2005,"bitcoin::psbt"],[2006,"core::fmt"],[2007,"bdk_chain::indexer::keychain_txout"],[2008,"bdk_chain::indexed_tx_graph"],[2009,"bdk_chain::spk_client"],[2010,"rusqlite::transaction"],[2011,"rusqlite"],[2012,"bitcoin::psbt::map::input"],[2013,"core::hash"],[2014,"core::future::future"],[2015,"alloc::boxed"],[2016,"core::pin"],[2017,"bdk_wallet::wallet::utils"],[2018,"bitcoin::blockdata::script::borrowed"],[2019,"miniscript::descriptor"],[2020,"core::iter::traits::double_ended"],[2021,"secp256k1::context::alloc_only"],[2022,"secp256k1"],[2023,"serde::ser"],[2024,"core::any"],[2025,"alloc::vec"],[2026,"bitcoin::address"],[2027,"miniscript"],[2028,"miniscript::miniscript::private"],[2029,"miniscript::miniscript::decode"],[2030,"miniscript::miniscript::context"],[2031,"miniscript::iter::tree"],[2032,"miniscript::descriptor::key"],[2033,"miniscript::miniscript::satisfy"],[2034,"miniscript::plan"],[2035,"bitcoin_hashes::sha256"],[2036,"miniscript::miniscript::hash256"],[2037,"bitcoin_hashes::ripemd160"],[2038,"bitcoin_hashes::hash160"],[2039,"bitcoin::crypto::key"],[2040,"secp256k1::context"],[2041,"bdk_chain::descriptor_ext"],[2042,"miniscript::blanket_traits"],[2043,"miniscript::miniscript::analyzable"],[2044,"core::ops::range"],[2045,"core::ops::function"],[2046,"miniscript::descriptor::bare"],[2047,"miniscript::descriptor::tr"],[2048,"miniscript::descriptor::sh"],[2049,"miniscript::descriptor::segwitv0"],[2050,"miniscript::miniscript::types"],[2051,"miniscript::miniscript::types::extra_props"],[2052,"miniscript::expression"],[2053,"miniscript::miniscript::iter"],[2054,"miniscript::policy::semantic"],[2055,"miniscript::policy"],[2056,"bitcoin_units::weight"],[2057,"bitcoin::bip32"],[2058,"base58ck::error"],[2059,"hex_conservative::error"],[2060,"bitcoin::psbt::error"],[2061,"bdk_wallet::wallet::export"],[2062,"miniscript::descriptor::sortedmulti"],[2063,"core::str::traits"],[2064,"core::default"],[2065,"rand_core"],[2066,"rusqlite::error"],[2067,"bitcoin::blockdata::script::push_bytes::primitive"],[2068,"bitcoin::blockdata::locktime::absolute"],[2069,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,0,74,262,262,0,0,0,0,263,52,52,63,64,53,56,5,0,46,64,0,5,61,260,260,0,0,72,0,0,0,0,46,0,63,63,63,63,260,64,262,61,52,0,263,0,0,0,74,261,263,0,0,47,47,0,0,0,72,1,3,48,3,66,66,3,3,3,3,3,5,5,3,66,3,0,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,3,3,0,26,47,40,40,3,1,5,44,45,46,47,26,48,1,5,44,45,46,47,26,48,5,0,44,1,51,3,51,3,50,50,50,3,40,1,47,26,51,48,51,3,44,3,0,40,47,0,3,1,5,44,47,1,5,44,45,46,47,61,48,63,64,1,1,5,5,44,44,45,45,46,46,48,48,0,0,40,0,3,1,1,5,44,45,46,47,51,72,72,61,61,52,52,3,26,48,48,63,63,64,74,74,0,50,40,1,5,44,45,46,47,47,47,47,47,51,72,61,61,52,3,26,26,26,48,63,63,64,74,47,50,3,3,3,3,26,5,44,1,48,47,47,53,56,3,3,3,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,96,47,3,44,44,48,3,50,40,0,26,3,3,3,3,51,3,51,40,40,40,3,3,47,50,40,3,47,0,50,3,47,50,40,50,3,3,46,44,5,3,53,56,51,51,47,3,0,3,3,3,0,0,45,3,3,46,0,0,1,5,44,47,3,3,3,66,0,0,3,3,3,3,3,3,66,0,1,5,44,45,46,47,26,48,1,72,61,52,48,63,74,1,3,66,1,1,66,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,3,47,46,44,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,1,45,0,50,40,1,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,266,266,267,267,268,269,270,270,268,269,270,271,271,272,272,272,120,120,0,121,0,0,0,0,0,120,0,121,0,120,121,119,114,115,116,120,121,119,114,115,116,114,115,116,114,115,116,117,114,115,116,0,114,115,116,119,119,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,119,116,119,119,114,115,116,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,273,273,274,275,275,274,275,98,276,122,0,0,0,0,0,0,128,0,0,130,0,0,132,98,276,122,0,0,0,98,276,122,132,128,0,98,276,122,98,276,122,98,276,122,132,122,149,150,128,128,122,122,149,150,128,122,149,150,128,128,128,128,0,130,149,150,130,150,130,130,149,150,130,149,150,130,130,149,150,130,149,150,130,149,150,0,122,149,150,128,122,149,150,128,122,149,150,128,128,122,122,122,122,122,122,128,122,128,122,149,150,128,122,122,149,149,150,150,128,128,0,122,128,128,159,122,128,122,122,122,149,150,128,128,122,128,122,122,122,122,122,122,122,149,150,128,128,128,122,128,128,128,122,128,128,128,122,122,128,128,122,122,149,150,128,122,149,150,128,128,122,54,98,122,122,128,128,128,122,128,128,130,149,150,128,122,128,122,130,149,150,122,122,122,122,122,122,122,122,122,122,122,122,122,122,128,130,128,122,128,128,122,149,150,128,130,149,150,122,122,0,128,122,128,122,128,128,122,122,128,122,128,130,149,150,128,0,122,149,150,128,122,128,122,130,130,122,128,122,149,150,128,122,149,150,128,128,122,149,150,128,122,122,149,150,128,128,0,57,57,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,198,196,196,0,199,0,0,198,197,0,198,198,196,196,196,198,199,160,196,199,199,0,0,0,160,160,197,198,198,0,0,198,198,198,197,197,198,199,103,200,196,160,197,198,199,103,200,196,160,197,198,199,103,200,160,197,198,199,103,200,160,103,200,200,197,198,199,103,200,196,197,197,198,198,199,199,103,103,200,200,196,196,197,198,199,103,200,196,196,160,197,198,199,199,103,103,200,196,160,103,197,200,198,103,197,198,199,103,200,196,160,198,199,200,103,200,103,103,197,198,199,103,200,200,197,198,199,103,200,160,196,197,198,199,103,200,196,160,197,198,199,103,200,196,160,197,198,199,103,200,196,160,197,198,199,103,200,196,160,277,277,277,278,279,280,279,280,279,280,279,280,279,280,281,282,283,284,285,286,286,285,287,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,201,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,202,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,0,85,218,0,85,85,36,85,36,85,85,0,85,85,85,85,85,218,85,85,85,85,85,36,36,85,36,218,85,85,218,85,36,218,85,36,218,218,218,218,85,85,36,36,218,85,85,85,85,85,85,36,218,85,36,218,218,85,36,218,85,36,218,85,36,218,85,36,218,85,36,289,289,290,290,291,292,0,0,293,220,220,220,220,220,220,220,220,220,220,220,220,293,220,220,220,220,220,220,220,195,0,0,0,0,236,236,0,0,227,0,0,0,0,195,195,195,130,0,0,127,195,195,183,132,236,230,0,230,0,0,127,132,183,0,0,0,0,127,0,227,183,132,0,294,132,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,222,130,130,130,130,130,130,130,130,130,223,127,224,222,132,183,225,226,227,223,127,224,222,132,183,225,226,227,222,132,225,227,224,224,223,132,132,222,127,195,222,132,183,225,226,227,127,127,222,222,132,132,183,183,225,225,226,226,227,227,228,127,224,195,195,222,222,132,132,183,183,225,226,227,222,230,230,230,223,228,127,224,195,195,195,222,132,132,183,225,226,227,228,228,132,183,222,132,132,236,239,239,236,236,239,230,132,222,132,225,227,230,223,228,127,224,195,222,132,183,225,226,227,132,204,210,223,223,228,132,183,210,230,223,223,132,183,230,230,132,294,127,132,183,294,127,294,127,132,132,222,225,226,222,0,132,130,222,222,0,222,130,222,132,225,226,130,228,222,132,225,227,130,222,222,222,222,132,130,222,0,223,127,224,222,132,183,225,226,227,183,195,222,132,183,130,130,222,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,0,246,246,246,0,0,252,248,252,67,248,252,67,0,67,67,67,249,67,67,67,67,67,67,67,252,248,67,249,67,0,0,0,0,0,0,0,0,249,0,0,67,86,66,66,86,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,86,248,249,250,6,86,66,252,248,249,250,6,86,66,252,248,6,6,86,66,252,250,253,253,250,250,250,248,249,6,252,248,248,249,249,6,6,252,252,86,248,67,67,249,250,6,86,66,252,248,248,248,67,249,250,6,86,66,252,248,253,250,250,250,86,248,67,249,250,6,86,66,252,250,86,248,6,86,257,250,250,250,7,250,66,86,66,248,249,250,6,86,66,252,67,66,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,295,0,0,262,262,0,263,260,260,260,262,263,0,0,261,263,35,35,35,35,35,35,35,35,35,35,261,260,263,262,35,261,260,263,262,35,35,263,262,35,263,262,262,35,35,263,262,35,35,35,35,35,262,262,262,35,35,35,35,35,261,261,260,260,263,262,35,261,260,263,262,262,35,35,261,260,263,262,35,35,35,35,35,262,35,35,35,263,263,35,263,262,261,260,35,261,260,263,262,35,261,260,263,262,35,261,260,263,262,35,35,35,261,260,263,262,266,266,271,271],"f":"```````````````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{df}}c{Ch{Bn}}}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Cj}{{{h{j}}}{{h{{Cl{Cj}}}}}}{{{h{f}}}{{h{{D`{Cn}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}00000000000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000000000{{{h{df}}Db}{{Bf{{Df{Dd}}Dh}}}}{{{h{df}}}{{Df{Dd}}}}{{{h{f}}{h{Bl}}}{{Bf{DjDl}}}}{{{h{f}}{h{Bl}}}{{Bf{DnDl}}}}{{{h{df}}{h{Bl}}}Ab}```{{E`Eb}E`}{{E`Ed}E`}{{{h{f}}}Ef}{{{h{b}}}b}{{{h{j}}}j}{{{h{Eh}}}Eh}{{{h{Ej}}}Ej}{{{h{El}}}El}{{{h{En}}}En}{{{h{Cd}}}Cd}{{{h{F`}}}F`}{{{h{c}}{h{de}}}Ab{}{}}0000000{{{h{j}}{h{j}}}Fb}```{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}Fj}{{cc}Fd{FlFnAl}}{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}G`}{cFd{FlFnAl}}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}Fj}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}G`}{Fd{{Bf{fGb}}}}0{{}E`}{{}b}{{}En}{{}Cd}{{{h{{Ff{c}}}}}{{h{e}}}{}{}}{{{h{F`}}}{{h{c}}}{}}{{{h{d{Ff{c}}}}}{{h{de}}}{}{}}{{{h{f}}j}{{Ch{Bb}}}}`{{{h{f}}Af}{{Ch{{C`{jBb}}}}}}`{{E`j{Ch{c}}}E`{FlFn}}``{{{h{f}}j}Gd}{c{{Bf{b}}}Gf}{c{{Bf{j}}}Gf}{c{{Bf{Eh}}}Gf}{c{{Bf{En}}}Gf}{{{h{b}}{h{b}}}Gh}{{{h{j}}{h{j}}}Gh}{{{h{Eh}}{h{Eh}}}Gh}{{{h{Ej}}{h{Ej}}}Gh}{{{h{El}}{h{El}}}Gh}{{{h{En}}{h{En}}}Gh}{{{h{{Gj{c}}}}{h{{Gj{c}}}}}GhGl}{{{h{F`}}{h{F`}}}Gh}{{{h{Gn}}{h{Gn}}}Gh}{{{h{H`}}{h{H`}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000``{E`E`}`{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}{{{h{b}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{j}}{h{dHh}}}Hl}{{{h{Eh}}{h{dHh}}}Hl}{{{h{Ej}}{h{dHh}}}Hl}{{{h{El}}{h{dHh}}}Hl}{{{h{En}}{h{dHh}}}Hl}{{{h{{Ff{c}}}}{h{dHh}}}HlHn}{{{h{I`}}{h{dHh}}}Hl}0{{{h{{Gj{c}}}}{h{dHh}}}HlIb}{{{h{{Gj{c}}}}{h{dHh}}}HlHn}{{{h{{Fh{c}}}}{h{dHh}}}HlHn}{{{h{{Fh{c}}}}{h{dHh}}}HlIb}{{{h{f}}{h{dHh}}}Hl}{{{h{Cd}}{h{dHh}}}Hl}{{{h{F`}}{h{dHh}}}Hl}0{{{h{Gn}}{h{dHh}}}Hl}0{{{h{H`}}{h{dHh}}}Hl}{{{h{Id}}{h{dHh}}}Hl}0`{cc{}}000000{{{If{Cn}}}En}1{IhEn}{IjEn}{{{Il{CnIh}}}En}44{H`{{Gj{c}}}{}}555{InCd}{{{J`{j}}}Cd}77{H`Gn}888{{{h{Jb}}}{{Jd{En}}}}{{FdEb}Fd}{{{h{f}}Eh{Ch{Jf}}Gh}{{Bf{JhJj}}}}{{{h{f}}j}{{A`{Jl}}}}{{{h{f}}Db}{{Ch{{Jn{{A`{Bl}}Cn}}}}}}{{{h{f}}K`}{{Ch{Eh}}}}`{{{h{j}}{h{dc}}}AbKb}{{{h{Eh}}{h{dc}}}AbKb}```{{{h{Jb}}}{{Jd{Ab}}}}{{{h{d{Fj{}{{Kd{c}}}}}}}{{Bf{Enc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{df}}Bh}{{Bf{GhKl}}}}{{{h{df}}Bl}Gh}{{{h{df}}K`Kn}Ab}{ce{}{}}00000000000000000{{{h{L`}}{h{Lb}}}Gh}{{{h{En}}}Gh}{{{h{f}}Af}Gh}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Ld}}}}}}}}}}}}{{FdjLf}Fd}{{E`jLf}E`}``{{{h{f}}}Lh}{{{h{f}}}{{`{{Aj{}{{Ad{Eh}}}}}}}}0{{{h{f}}j}{{`{{Lj{}{{Ad{F`}}}}}}}}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{}E`}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`En}{{Bf{{Ch{f}}Gn}}}}{{EnE`}{{Bf{{Ch{f}}Gn}}}}{{{h{f}}}{{h{Ll}}}}`{{FdBb}Fd}{{E`Bb}E`}{{{h{df}}jBb}Gh}{{{h{dEn}}En}Ab}`{{FdEd}Fd}{{{h{f}}}Ed}`{{cc}Fd{FlFn}}={cFd{FlFn}}{{{h{f}}j}Bb}{{{h{df}}j}F`}{{{h{El}}}K`}`{{{h{j}}{h{j}}}{{Ch{Fb}}}}{{{h{f}}jBb}F`}{{{h{d{Fj{}{{Kd{c}}}}}}{h{En}}}{{Bf{Abc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}{h{En}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}Fj}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}G`}{{{h{En}}{h{Jb}}}{{Jd{Ab}}}}{{{h{f}}j}{{Bf{{Ch{Ln}}Gb}}}}`{{{h{f}}j}{{h{Ld}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{F`}}}}}}}};```{{{h{f}}}{{h{{Mb{M`}}}}}}{{{h{f}}{h{Bl}}}{{C`{DjDj}}}}{{{h{El}}}{{Ch{Md}}}}``{{{h{b}}c}BfMf}{{{h{j}}c}BfMf}{{{h{Eh}}c}BfMf}{{{h{En}}c}BfMf}{{{h{df}}jLf}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jLf}}}}}}}}{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}```{{{h{f}}}{{h{{Mh{j}}}}}}{{{h{f}}}{{Ch{{h{En}}}}}}{{{h{df}}}{{Ch{{h{dEn}}}}}}{{{h{f}}}{{Mj{j}}}}{{{h{f}}}{{Ml{{C`{jBb}}}}}}{{{h{df}}}{{Ch{En}}}}``{{{h{c}}}e{}{}}0000000{{{h{c}}}Gd{}}000000{{{h{b}}}Dj}{{{h{f}}}{{`{{Aj{}{{Ad{{Jn{{A`{Bl}}Cn}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}00000000000000000000000000000000000`{{{h{f}}}{{h{{D`{Cn}}}}}}`{{{h{El}}}{{h{Kn}}}}`{{{h{c}}}Mn{}}00000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{N`{{A`{Bl}}Cn}}}}}}}}}}{{{h{df}}jBb}Gh}``{{}{{h{Nb}}}}{ce{}{}}00000000000000000{{c{Ch{c}}Ed{h{{Mb{M`}}}}}{{Bf{GdGb}}}Fl}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Nd}}}Nd}{{{h{Nf}}}Nf}{{{h{Nh}}}Nh}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Nj}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nd}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nf}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nh}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{BnDn{h{Lb}}}Ob}{{}Nd}{{}Nf}{{}Nh}``{{{h{O`}}{h{dHh}}}Hl}0{{{h{Ob}}{h{dHh}}}Hl}{{{h{Nn}}{h{dHh}}}Hl}{{{h{Nd}}{h{dHh}}}Hl}{{{h{Nf}}{h{dHh}}}Hl}{{{h{Nh}}{h{dHh}}}Hl}{cc{}}00000{ce{}{}}00000{{{h{Nn}}}Bn}{BnNh}`1{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mn{}}00000666666`````````````````````````````````````````````{{{h{{Od{c}}}}Ed}{{Bf{OfOh}}}{OjOl}}{{}On}0{{{h{{A@`{ce}}}}}{{h{{A@b{ce}}}}}OjA@d}{{{h{{h{{A@`{ce}}}}}}}{{A@f{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{A@`{ce}}}}}{{Nl{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}0`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@`{cABl}}}}}{{Bf{AbAAf}}}Oj}2022102102{{{h{c}}}{{Bf{AbAAf}}}Oj}00{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@b{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{cABl}}}}}{{Bf{AbAAf}}}Oj}{{{h{{Cl{{Nl{Cj}}}}}}}{{Bf{AbAAf}}}}00`{{{h{{Od{c}}}}}{{Od{c}}}{AlOj}}{{{h{ABj}}}ABj}{{{h{ABl}}}ABl}{{{h{{A@`{ce}}}}}{{A@`{ce}}}{AlOj}{AlA@d}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Od{c}}}}{h{{Od{c}}}}}Fb{ABnOj}}{{{h{ABj}}{h{ABj}}}Fb}{{{h{ABl}}{h{ABl}}}Fb}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}FbOjA@d}{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{{Od{A@j}}}}{h{{Mb{c}}}}}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}Bb}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{c}}}}}ACdOj}{{{h{{Od{A@h}}}}}ACf}{c{{Bf{{Od{e}}}}}GfACh}{c{{Bf{{A@`{eg}}}}}GfAChA@d}{{{h{{Od{A@h}}}}}Bn}{{{h{{A@`{ce}}}}}Af{OlOj}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}Gh{GlOj}}{{{h{ABj}}{h{ABj}}}Gh}{{{h{ABl}}{h{ABl}}}Gh}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}GhOjA@d}{{{h{c}}{h{e}}}Gh{}{}}0000000`{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}`{{{h{{A@`{ce}}}}{h{ACj}}}{{Bf{AbACl}}}OjA@d}{{{h{ACn}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{Od{A@h}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{A@`{A@hc}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}A@d}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}{h{Lb}}{ADb{Bb}}}{{Bf{{Ch{{C`{Bb{Od{AC`}}}}}}A@l}}}ACb}{{{h{{Od{c}}}}{h{dHh}}}{{Bf{AbHj}}}Oj}0{{{h{ABj}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ABl}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{A@`{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{{Od{c}}}}e}GhOj{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{h{{A@`{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{ADh{c}}}{{Od{c}}}Oj}{{{ADj{c}}}{{Od{c}}}Oj}{{{ADl{c}}}{{Od{c}}}Oj}{{{ADn{c}}}{{Od{c}}}Oj}{{{AE`{c}}}{{Od{c}}}Oj}{{{AEb{c}}}{{Od{c}}}Oj}{cc{}}000{{{A@b{ce}}}{{Bf{{A@`{ce}}Oh}}}OjA@d}{{{A@b{ce}}AEdAEf}{{A@`{ce}}}OjA@d}{{{h{Nb}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{Nb}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{Nb}}{h{ACj}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}1{{{h{AEh}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{AEh}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{{A@`{ce}}}}AEj}{{Ch{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}AEj}{{Ch{c}}}OjA@d}{{{h{{Od{c}}}}e}{{Bf{{C`{{Nl{{Nl{Cj}}}}Af}}Oh}}}{OjOl}{{AEl{c}}}}0{{{h{{A@`{ce}}}}}GhOjA@d}0{{{h{{Od{A@h}}}}}Gh}{{{h{{Od{c}}}}{h{de}}}Ab{AEnOj}Kb}{{{h{ABj}}{h{dc}}}AbKb}{{{h{ABl}}{h{dc}}}AbKb}{{{h{{A@`{ce}}}}{h{dg}}}AbOjA@dKb}{ce{}{}}000{{{A@`{ce}}}{{A@b{ce}}}OjA@d}{{{Od{A@h}}}{{Bf{{Nl{{Od{A@h}}}}Oh}}}}{{Fl{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{Ld{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}99:{{{h{{A@`{ce}}}}}{{AF`{ce}}}OjA@d}{{{h{{A@`{ce}}}}}{{AFb{ce}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{{AFd{c}}Oh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{{h{{A@`{ce}}}}}{{Bf{AbAFf}}}OjA@d}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Ch{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Ch{AEj}}}Oj}{{{h{{A@`{cABl}}}}}{{Ch{AEj}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AEjOh}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{AEjOh}}}Oj}1{{{h{{Od{c}}}}}{{Bf{AFhOh}}}Oj}{{}{{h{Nb}}}}00{{{A@`{cAFj}}}{{Bf{{Od{c}}Oh}}}Oj}{c{{Od{c}}}Oj}{c{{Bf{{Od{c}}Oh}}}Oj}{{{A@`{cABj}}}{{Bf{{Od{c}}Oh}}}Oj}{{AEj{Nl{c}}}{{Bf{{Od{c}}Oh}}}Oj}{{{ADn{c}}}{{Od{c}}}Oj}{{{AEb{c}}}{{Od{c}}}Oj}4{{{A@`{cABl}}}{{Bf{{Od{c}}Oh}}}Oj}3{{c{Ch{{AFl{c}}}}}{{Bf{{Od{c}}Oh}}}Oj}614`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{Lb}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Mb{c}}}}{h{Nb}}}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}Oh}}}AG`}1{{{h{Lb}}{h{ACj}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}{{Ch{Fb}}}{AGbOj}}{{{h{ABj}}{h{ABj}}}{{Ch{Fb}}}}{{{h{ABl}}{h{ABl}}}{{Ch{Fb}}}}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}{{Ch{Fb}}}OjA@d}{{{h{c}}}AEjOj}00{{{Od{A@j}}{h{c}}}{{Bf{AGd{Od{A@j}}}}}{{AAb{A@j}}}}0`{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{c}}}}}{{Bf{AbOh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AbACl}}}OjA@d}{{{h{{Od{c}}}}{h{dAGf}}e}{{Bf{AbOh}}}{OjOl}{{AEl{c}}}}{{{h{{A@`{ce}}}}g}{{Bf{{Nl{{Nl{Cj}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}0{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}{{{h{{Od{c}}}}}Af{OjOl}}{{{h{{A@`{ce}}}}}AEjOjA@d}{{{h{{Od{c}}}}e}BfOjMf}{{{h{{A@`{ce}}}}g}BfOjA@dMf}{{}AGh}00{{{h{{A@`{ce}}}}{h{{An{ABfc}}}}}{{A@`{ce}}}OjA@d}`{{{h{c}}}e{}{}}000{{{h{c}}}Gd{}}0{{{h{{Od{A@h}}}}{h{{An{A@hAFn}}}}}Gd}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{Od{c}}}}{h{di}}}{{Bf{{AGj{g}}}}}OjOj{}{{AGl{ceg}}}}{{{h{{A@`{ce}}}}{h{dk}}}{{Bf{{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mn{}}000={ce{}{}}000{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{Nb}}}{{Bf{GdGb}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Gb}}{h{Gb}}}Gh}{{{h{Gb}}{h{dHh}}}Hl}0{OhGb}{AGnGb}{AH`Gb}{AHbGb}{AHdGb}{AHfGb}{AHhGb}{cc{}}>{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mn{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AHj}}}AHj}{{{h{AHl}}}AHl}{{{h{AHn}}}AHn}{{{h{Ln}}}Ln}{{{h{AI`}}}AI`}{{{h{AD`}}}AD`}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AI`}{{{h{AHj}}{h{AHj}}}Gh}{{{h{AHl}}{h{AHl}}}Gh}{{{h{AHn}}{h{AHn}}}Gh}{{{h{Ln}}{h{Ln}}}Gh}{{{h{AI`}}{h{AI`}}}Gh}{{{h{AHh}}{h{AHh}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000{{{h{AHj}}{h{dHh}}}Hl}{{{h{AHl}}{h{dHh}}}Hl}{{{h{AHn}}{h{dHh}}}Hl}{{{h{Ln}}{h{dHh}}}Hl}{{{h{AI`}}{h{dHh}}}Hl}{{{h{AHh}}{h{dHh}}}Hl}0{{{h{AD`}}{h{dHh}}}Hl}{cc{}}00{GhAHn}1{AHlLn}222{{{h{Ln}}{h{{An{Gd{Nl{AEj}}}}}}}{{Bf{AI`AHh}}}}{{{h{AHj}}{h{dc}}}AbKb}{{{h{AI`}}{h{dc}}}AbKb}{{{h{AHl}}}Gd}`{ce{}{}}000000{{{h{AHl}}}Gh}{{{h{AHn}}}Gh}{{{h{AI`}}}Gh}`{{{h{AI`}}{h{AI`}}}{{Ch{Fb}}}}{{{h{Ln}}}Gh}`{{{h{AHj}}c}BfMf}{{{h{AHl}}c}BfMf}{{{h{AHn}}c}BfMf}{{{h{Ln}}c}BfMf}{{{h{AI`}}c}BfMf}`{{{h{c}}}e{}{}}00000{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mn{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AIbEd}{{Bf{AIdGb}}}}{{{AIf{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABj}}}}{{{AIj{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABl}}}}{{{AIl{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABl}}}}{{{AIn{c}}Ed}{{Bf{AIdGb}}}{{AIh{AJ`}}}}{{{AJb{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABj}}}}{{{AJf{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABj}}}}{{{AJh{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJj{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJl{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJn{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AK`{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{AKb{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{ABj}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{ABl}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{ABl}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AJ`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AJd{ABj}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AJd{ABj}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AJd{ABl}}}}{{{h{{AJj{c}}}}}{{AJj{c}}}{Al{AJd{ABl}}}}{{{h{{AJl{c}}}}}{{AJl{c}}}{Al{AJd{ABl}}}}{{{h{{AJn{c}}}}}{{AJn{c}}}{Al{AJd{ABl}}}}{{{h{{AK`{c}}}}}{{AK`{c}}}{Al{AJd{AJ`}}}}{{{h{{AKb{c}}}}}{{AKb{c}}}{Al{AJd{AJ`}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AIf{c}}}}{h{dHh}}}Hl{Hn{AIh{ABj}}}}{{{h{{AIj{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIl{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIn{c}}}}{h{dHh}}}Hl{Hn{AIh{AJ`}}}}{{{h{{AJb{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJf{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJh{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJj{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJl{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJn{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AK`{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{{{h{{AKb{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{cc{}}00000000000{ce{}{}}00000000000{{AId{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{c{h{{Mb{M`}}}}Ed}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}Gb}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AKd}}}AKd}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AKd}}{h{dHh}}}Hl}0{{{h{Jj}}{h{dHh}}}Hl}0{{{h{Dh}}{h{dHh}}}Hl}0={AKfJj}{AHhJj}?{O`Jj}{AKdJj}{GbJj}{cc{}}{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Gd{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mn{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AKh}}}{{Ch{Gd}}}}{{{h{AKh}}}Gd}{c{{Bf{AKh}}}Gf}{{{h{f}}{h{Nb}}Gh}{{Bf{AKh{h{Nb}}}}}}{{{h{AKh}}{h{dHh}}}Hl}0<{{{h{Nb}}}{{Bf{AKhc}}}{}}<``{{{h{AKh}}c}BfMf};::9=```````````````````````````````````````````{{}AKj}{{}On}{{A@hBb}{{Bf{A@jA@l}}}};;;;;;;;;;;;::::::::::::{{{h{{AKl{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}00000{{{h{c}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{Cl{{Nl{Cj}}}}}}}{{Bf{AbAAf}}}}{{{h{{AKn{ce}}}}}{{AKn{ce}}}AlA@d}{{{h{On}}}On}{{{h{AL`}}}AL`}{{{h{{AKl{ce}}}}}{{AKl{ce}}}{AlOj}{AlA@d}}{{{h{A@h}}}A@h}{{{h{AFn}}}AFn}{{{h{ALb}}}ALb}{{{h{ALd}}}ALd}{{{h{ALf}}}ALf}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Fb{ABnOj}{ABnA@d}}{{{h{A@h}}{h{A@h}}}Fb}{{{h{ALb}}{h{ALb}}}Fb}{{{h{ALf}}{h{ALf}}}Fb}`{{}AL`}{{{h{{AKn{ce}}}}}{{h{g}}}{}A@d{}}{{A@hBb}{{Bf{A@jA@l}}}}{c{{Bf{A@h}}}Gf}{{{h{{AKl{ce}}}}}Af{OlOj}A@d}{{{h{On}}{h{On}}}Gh}{{{h{AHf}}{h{AHf}}}Gh}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Gh{GlOj}{GlA@d}}{{{h{A@h}}{h{A@h}}}Gh}{{{h{AFn}}{h{AFn}}}Gh}{{{h{ALb}}{h{ALb}}}Gh}{{{h{ALd}}{h{ALd}}}Gh}{{{h{ALf}}{h{ALf}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000000000{{{h{{ALh{c}}}}{h{dHh}}}Hl{HnA@d}}{{{h{On}}{h{dHh}}}Hl}{{{h{AL`}}{h{dHh}}}Hl}{{{h{AHf}}{h{dHh}}}Hl}0{{{h{{AKl{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{A@h}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{AFn}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{ALb}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALd}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALf}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{AKl{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{ALj{{ALl{c}}}A@d}{cc{}}{ALn{{ALl{c}}}A@d}1111{OhAHf}{AGnAHf}33{A@jA@h}44444{{A@hAKj}{{ALh{c}}}A@d}{{AFnAKj}{{ALh{c}}}A@d}{{{h{Nb}}}{{Bf{A@h}}}}{{{h{Nb}}}{{Bf{AFn}}}}{{{h{AEh}}}{{Bf{{AKl{ce}}Oh}}}{AM`Oj}A@d}{{{h{A@h}}}{{Ch{AMb}}}}{{{h{A@h}}}{{Nl{AMb}}}}{c{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{{}{{Bf{{AKn{AMnc}}e}}}A@d{}}{{{h{dc}}}{{Bf{{AKn{AMne}}g}}}{AN`ANb}A@d{}}{{c{h{de}}}{{Bf{{AKn{{AMh{}{{AMd{g}}{AMf{c}}{Kd{i}}}}k}}i}}}{}{AN`ANb}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{{ce}{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{c{{Bf{{AKn{AMne}}g}}}{}A@d{}}{{{h{{ALl{c}}}}}GhA@d}{{{h{A@h}}}Gh}{{{h{{AKl{ce}}}}{h{dg}}}Ab{AEnOj}{AEnA@d}Kb}{{{h{A@h}}{h{dc}}}AbKb}{{{h{ALb}}{h{dc}}}AbKb}{{{h{ALf}}{h{dc}}}AbKb}{ce{}{}}00000000000{A@hANd}{AIh{{Bf{{ALh{c}}AHf}}}A@d}{{AJd{Ch{ANf}}AMb}{{Bf{{ALh{c}}AHf}}}A@d}{{{AKn{ec}}{Ch{ANf}}AMb}{{Bf{{ALh{c}}AHf}}}A@d{{AJd{c}}}}{{{AKn{ec}}}{{Bf{{ALh{c}}AHf}}}A@d{{AIh{c}}}}{{{ALh{c}}}{{Bf{{ALh{c}}AHf}}}A@d}{A@h{{Bf{{ALh{c}}AHf}}}A@d}{AFn{{Bf{{ALh{c}}AHf}}}A@d}{AJd{{Bf{{ALl{c}}AHf}}}A@d}{{{ALl{c}}}{{Bf{{ALl{c}}AHf}}}A@d}{{{AKn{ec}}}{{Bf{{ALl{c}}AHf}}}A@d{{AJd{c}}}}{{{AKn{ce}}}c{}A@d}{A@h{{Nl{A@h}}}}{AFn{{Nl{AFn}}}}{{{ALl{c}}Ed}{{Ch{ALn}}}A@d}{{{ALl{c}}Ed{h{{Mb{e}}}}}ALjA@dAG`}{{{h{A@h}}}Gh}{{}Gh}{{{h{On}}}Gh}2{{{h{AFn}}}Gh}212133{{{h{{AKl{ce}}}}}AEjOjA@d}``{{{h{{AKl{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{}AKj}{{{h{A@h}}}ANh}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Ch{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}44{{{h{AKj}}{h{AKj}}}AKj}5{{}{{h{Nb}}}}{{AEj{Nl{c}}}{{Bf{{AKl{ce}}Oh}}}OjA@d}{{{h{A@h}}}AEj}``{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{ALh{c}}AKj}{{ALh{c}}}A@d}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}{{Ch{Fb}}}{AGbOj}{AGbA@d}}{{{h{A@h}}{h{A@h}}}{{Ch{Fb}}}}{{{h{ALb}}{h{ALb}}}{{Ch{Fb}}}}{{{h{ALf}}{h{ALf}}}{{Ch{Fb}}}}{{{h{c}}}AEjOj}{{{h{{AKl{ce}}}}}{{h{{Cl{c}}}}}OjA@d}{{{h{{AKl{ce}}}}}{{Bf{AbOh}}}OjA@d}{{{h{{AKl{ce}}}}g}{{Bf{{Nl{{Nl{Cj}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}{{{h{{AKl{ce}}}}}AEjOjA@d}{{{h{A@h}}c}BfMf}{{}AGh}{{{h{{AKl{ce}}}}}{{A@b{ce}}}{OlOj}A@d}{{}AKj}{{{h{c}}}e{}{}}00000000{{{h{AFn}}{h{{Mb{c}}}}}{{Bf{A@hANj}}}AG`}{{{h{c}}}Gd{}}000{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{AKl{ce}}}}{h{dk}}}{{Bf{{AKl{ge}}{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000{ce{}{}}00000000000`{{{h{ANl}}}{{Ch{Dj}}}}{{{h{ANl}}}{{Ch{Dn}}}}{{{h{ANl}}AEj}{{Ch{Kn}}}}`{{{h{Jb}}{h{Nb}}{h{{Cl{{h{{Cl{{h{Nb}}}}}}}}}}}{{Bf{AbANn}}}}````````````````````````````````````{{{h{dJl}}AO`l{A`{n}}}{{Ch{{A`{n}}}}}}``{{{h{Jl}}{h{{Mb{M`}}}}}Lf}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Lf{h{{Od{A@h}}}}{h{{Mb{M`}}}}}Jl}{{{h{AO`}}}AO`}{{{h{AOb}}}AOb}{{{h{{AOd{c}}}}}{{AOd{c}}}{AlAOfHnAl}}{{{h{l}}}l}{{{h{Jl}}}Jl}{{{h{Hd}}}Hd}{{{h{AOh}}}AOh}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{AO`}}{h{AO`}}}Fb}{{{h{l}}{h{l}}}Fb}{{}l}{{}Jl}{{}Hd}{{}AOh}{{{h{{AOd{c}}}}}{{h{e}}}{AOfHnAl}{}}{{{h{AOj}}}{{Ch{AFn}}}}0{{{h{{AOd{{AOl{ALn}}}}}}}{{Ch{AFn}}}}{{{h{{AOd{AOn}}}}}{{Ch{AFn}}}}{{{h{{AOd{{B@`{ALn}}}}}}}{{Ch{AFn}}}}{{{h{AO`}}{h{AO`}}}Gh}{{{h{AOb}}{h{AOb}}}Gh}{{{h{l}}{h{l}}}Gh}{{{h{AOh}}{h{AOh}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000{{{h{Jl}}AO`}{{Ch{{h{{A`{n}}}}}}}}{{{h{AO`}}{h{dHh}}}Hl}{{{h{Hf}}{h{dHh}}}Hl}0{{{h{AOb}}{h{dHh}}}Hl}{{{h{{AOd{c}}}}{h{dHh}}}Hl{HnAOfHnAl}}{{{h{l}}{h{dHh}}}Hl}{{{h{Jl}}{h{dHh}}}Hl}{{{h{Hd}}{h{dHh}}}Hl}{{{h{AOh}}{h{dHh}}}Hl}{cc{}}{ANhAO`}{ABfAO`}2222222{{{h{AO`}}{h{dc}}}AbKb}{{{h{AOj}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{B@`{ALn}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{AOn}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{AOl{ALn}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{Jl}}}{{Nl{{h{AO`}}}}}}{ce{}{}}0000000{{cAOb}{{AOd{c}}}{AOfHnAl}}{{}Jl}{{{h{AO`}}{h{AO`}}}{{Ch{Fb}}}}{{{h{l}}{h{l}}}{{Ch{Fb}}}}{{{h{dJl}}AO`l}{{Ch{{A`{n}}}}}}{{{h{B@b}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{AOl{ALn}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{AOn}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{B@`{ALn}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{n}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{c}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}{}}`{{{h{Jl}}}{{Nl{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Gd{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mn{}}0000000{ce{}{}}0000000````````````````{{{h{d{Df{c}}}}{h{e}}}{{h{d{Df{c}}}}}{}{{B@f{B@d}}}}{{{h{d{Df{c}}}}K`JhAFh}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}K`JhAFhMd}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}AfDj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}{h{{Cl{K`}}}}}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}Gh}{{h{d{Df{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Df{c}}}}B@l}{{h{d{Df{c}}}}}{}}{{{h{{Df{c}}}}}{{Df{c}}}Al}{{{h{B@n}}}B@n}{{{h{B@l}}}B@l}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@l}}{h{B@l}}}Fb}{{{Df{c}}e}{{Df{e}}}{}Nj}{{{h{d{Df{c}}}}Bb}{{h{d{Df{c}}}}}{}}{{}B@n}{{}B@l}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Af}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}Md}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0{{{h{d{Df{c}}}}Dj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Dn}{{h{d{Df{c}}}}}{}}{{{Df{c}}}{{Bf{HbJj}}}Nj}{{{Df{c}}{h{de}}}{{Bf{HbJj}}}NjANb}{{{h{{Df{c}}}}{h{dHh}}}HlHn}{{{h{B@j}}{h{dHh}}}Hl}0{{{h{B@h}}{h{dHh}}}Hl}0{{{h{B@n}}{h{dHh}}}Hl}{{{h{B@l}}{h{dHh}}}Hl}{cc{}}0000{{{h{B@l}}{h{dc}}}AbKb}?{ce{}{}}0000{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BA`}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}B@n}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}{{Ch{Fb}}}}{{{h{d{Df{c}}}}{An{Gd{Nl{AEj}}}}j}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}{Nl{{C`{AfDj}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Jf}{{h{d{Df{c}}}}}{}}{{{h{B@n}}{h{dBl}}}Ab}{{{h{B@n}}{h{dBl}}{h{dc}}}AbANb}{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mn{}}0000{{{h{d{Df{c}}}}{Nl{K`}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BAb}{{h{d{Df{c}}}}}{}}?????````","D":"GCh","p":[[5,"Balance",0,1973],[0,"mut"],[5,"Wallet",0,1974],[1,"reference"],[6,"KeychainKind",0,1975],[5,"SignerOrdering",1667,1976],[10,"TransactionSigner",1667,1976],[5,"Arc",1977],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1978],[8,"Indexed",1979],[10,"Iterator",1980],[10,"Clone",1981],[5,"BTreeMap",1982],[5,"Block",1983],[1,"u32"],[5,"CannotConnectError",1984],[6,"Result",1985],[5,"BlockId",1986],[6,"ApplyHeaderError",1984],[5,"Transaction",1987],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1988],[5,"Update",0,1974],[10,"Into",1989],[6,"Option",1990],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1986],[5,"TxGraph",1991],[5,"Txid",1987],[8,"DefaultCoinSelectionAlgorithm",485,1992],[5,"TxBuilder",1854,1993],[6,"BuildFeeBumpError",1245,1994],[5,"Amount",1995],[6,"CalculateFeeError",1991],[5,"FeeRate",1996],[5,"LoadParams",0,1997],[5,"BlockHash",1983],[6,"Network",1998],[5,"CheckPointIter",1984],[5,"LocalOutput",0,1975],[5,"WeightedUtxo",0,1975],[6,"Utxo",0,1975],[5,"ChangeSet",0,1999],[5,"AddressInfo",0,1974],[6,"Ordering",2000],[5,"CreateParams",0,1997],[5,"PersistedWallet",0,2001],[6,"CreateWithPersistError",0,2001],[10,"WalletPersister",0,2001],[10,"IntoWalletDescriptor",584],[10,"Send",2002],[10,"AsyncWalletPersister",0,2001],[6,"Error",845],[5,"String",2003],[10,"Deserializer",2004],[1,"bool"],[6,"LoadWithPersistError",0,2001],[10,"PartialEq",2000],[6,"LoadError",0,1974],[6,"LoadMismatch",0,1974],[5,"Psbt",2005],[5,"SignOptions",1667,1976],[6,"SignerError",1667,1976],[5,"Formatter",2006],[5,"Error",2006],[8,"Result",2006],[10,"Debug",2006],[6,"FileStoreError",0,2001],[10,"Display",2006],[6,"ApplyBlockError",0,1974],[5,"ChangeSet",1991],[5,"ChangeSet",2007],[5,"ChangeSet",1984],[5,"ChangeSet",2008],[5,"SyncResult",2009],[5,"FullScanResult",2009],[5,"Transaction",2010],[8,"Result",2011],[5,"PsbtSighashType",2012],[5,"Input",2012],[6,"CreateTxError",1245,1994],[5,"SignersContainer",1667,1976],[5,"CanonicalTx",1991],[5,"OutPoint",1987],[10,"Hasher",2013],[17,"Error"],[10,"Future",2014],[5,"Box",2015],[5,"Pin",2016],[5,"AlterCheckPointError",1984],[5,"TxOut",1987],[10,"IsDust",0,2017],[5,"Script",2018],[8,"ExtendedDescriptor",584],[8,"KeyMap",1345,2019],[5,"CheckPoint",1984],[10,"DoubleEndedIterator",2020],[5,"LocalChain",1984],[5,"Policy",878],[6,"All",2021],[5,"Secp256k1",2022],[5,"Sequence",1987],[10,"Serializer",2023],[5,"KeychainTxOutIndex",2007],[5,"FullScanRequestBuilder",2009],[5,"SyncRequestBuilder",2009],[5,"TypeId",2024],[5,"TxNode",1991],[1,"str"],[5,"LargestFirstCoinSelection",485,1992],[5,"OldestFirstCoinSelection",485,1992],[5,"BranchAndBoundCoinSelection",485,1992],[10,"CoinSelectionAlgorithm",485,1992],[5,"Vec",2025],[5,"CoinSelectionResult",485,1992],[6,"Error",485,1992],[6,"Excess",485,1992],[6,"Descriptor",584,2019],[5,"Address",2026],[6,"Error",2027],[10,"MiniscriptKey",2027],[10,"ToPublicKey",2027],[6,"ScriptContextEnum",1345],[5,"Miniscript",584,2028],[6,"Terminal",2029],[10,"ScriptContext",1345,2030],[6,"Tree",2031],[6,"DescriptorPublicKey",1345,2032],[5,"DefiniteDescriptorKey",2032],[6,"ConversionError",2032],[6,"Placeholder",2033],[5,"Satisfaction",2033],[10,"AssetProvider",2034],[17,"Key"],[6,"ScriptContextError",2030],[17,"Sha256"],[5,"Hash",2035],[17,"Hash256"],[5,"Hash",2036],[17,"Ripemd160"],[5,"Hash",2037],[17,"Hash160"],[5,"Hash",2038],[10,"ParseableKey",2029],[6,"Legacy",584,2030],[6,"Segwitv0",584,2030],[10,"Ord",2000],[5,"PublicKey",2039],[10,"Verification",2040],[6,"DescriptorType",2019],[5,"DescriptorId",2041],[10,"FromStrKey",2042],[5,"ExtParams",2043],[6,"AnalysisError",2043],[10,"ExtractPolicy",584],[6,"BuildSatisfaction",878],[5,"Range",2044],[17,"Output"],[10,"FnMut",2045],[5,"Pkh",2046],[5,"Tr",2047],[5,"Sh",2048],[5,"Wpkh",2049],[5,"Bare",2046],[5,"Wsh",2049],[5,"Type",2050],[5,"ExtData",2051],[5,"Tree",2052],[1,"usize"],[10,"Satisfier",2033],[10,"Hash",2013],[5,"Iter",2053],[5,"PkIter",2053],[6,"Policy",2054],[6,"LiftError",2055],[5,"Weight",2056],[6,"BareCtx",2030],[6,"TapTree",2047],[6,"DescriptorSecretKey",1345,2032],[10,"Signing",2040],[10,"PartialOrd",2000],[5,"Plan",2034],[5,"TxIn",1987],[6,"SigType",2030],[6,"TranslateErr",2027],[10,"Translator",2027],[6,"Error",2057],[6,"Error",2058],[6,"ParsePublicKeyError",2039],[6,"HexToBytesError",2059],[6,"KeyError",1345],[6,"PolicyError",878],[6,"PkOrF",878],[6,"SatisfiableItem",878],[6,"Satisfaction",878],[5,"Condition",878],[10,"DescriptorTemplate",1061],[8,"DescriptorTemplateOut",1061],[5,"P2Pkh",1061],[10,"IntoDescriptorKey",1345],[5,"P2Wpkh_P2Sh",1061],[5,"P2Wpkh",1061],[5,"P2TR",1061],[6,"Tap",2030],[5,"Bip44",1061],[10,"DerivableKey",1345],[5,"Bip44Public",1061],[5,"Bip49",1061],[5,"Bip49Public",1061],[5,"Bip84",1061],[5,"Bip84Public",1061],[5,"Bip86",1061],[5,"Bip86Public",1061],[6,"MiniscriptPsbtError",1245,1994],[6,"Error",2060],[5,"FullyNodedExport",1322,2061],[8,"ValidNetworks",1345],[5,"SortedMultiVec",1345,2062],[5,"GeneratedKey",1345],[5,"PrivateKeyGenerateOptions",1345],[5,"SinglePub",1345,2032],[5,"SinglePriv",1345,2032],[6,"SinglePubKey",1345,2032],[6,"DescriptorKey",1345],[5,"Xpub",2057],[6,"ExtendedKey",1345],[5,"Xpriv",2057],[10,"FromStr",2063],[5,"DerivationPath",2057],[17,"Entropy"],[17,"Options"],[10,"GeneratableKey",1345],[10,"AsMut",1989],[10,"Default",2064],[10,"GeneratableDefaultOptions",1345],[10,"CryptoRng",2065],[10,"RngCore",2065],[5,"Assets",2034],[8,"KeySource",2057],[5,"Fingerprint",2057],[5,"DescriptorKeyParseError",2032],[10,"PsbtUtils",1661],[6,"Error",2066],[6,"SignerId",1667,1976],[6,"SignerContext",1667,1976],[5,"SignerWrapper",1667,1976],[10,"Sized",2002],[6,"TapLeavesOptions",1667,1976],[10,"SignerCommon",1667,1976],[5,"DescriptorXKey",2032],[5,"PrivateKey",2039],[5,"DescriptorMultiXKey",2032],[10,"InputSigner",1667,1976],[5,"PushBytes",2067],[10,"AsRef",1989],[6,"AddForeignUtxoError",1854,1993],[6,"AddUtxoError",1854,1993],[6,"ChangeSpendPolicy",1854,1993],[6,"TxOrdering",1854,1993],[6,"LockTime",2068],[1,"i32"],[15,"InvalidTxid",1969],[15,"UnexpectedConnectedToHash",471],[15,"Network",473],[15,"Genesis",473],[15,"Descriptor",473],[15,"Custom",1971],[15,"Foreign",482],[15,"InsufficientFunds",577],[15,"Change",579],[15,"NoChange",579],[8,"DerivedDescriptor",584],[15,"PsbtTimelocks",1037],[15,"Complete",1040],[15,"Partial",1040],[15,"PartialComplete",1040],[15,"Sha256Preimage",1051],[15,"Hash256Preimage",1051],[15,"Ripemd160Preimage",1051],[15,"Hash160Preimage",1051],[15,"Thresh",1051],[15,"Multisig",1051],[15,"AbsoluteTimelock",1051],[15,"RelativeTimelock",1051],[15,"RbfSequenceCsv",1316],[15,"LockTime",1316],[15,"FeeTooLow",1316],[15,"FeeRateTooLow",1316],[8,"WalletExport",1322],[10,"ExtScriptContext",1345],[15,"Tap",1853]],"r":[[0,1993],[1,1993],[2,1974],[3,1974],[4,2001],[5,1973],[9,1999],[10,1993],[11,1997],[12,2001],[21,2001],[24,584],[29,2017],[30,1975],[32,1974],[33,1974],[34,1997],[35,2001],[37,1975],[47,2001],[49,1976],[50,1993],[51,1993],[55,1974],[56,1975],[59,1974],[60,2001],[61,1975],[144,1974],[196,1974],[197,1974],[339,1979],[354,1974],[355,1974],[363,584],[421,1974],[468,1974],[487,1992],[489,1992],[490,1992],[491,1992],[492,1992],[493,1992],[495,1992],[497,1992],[520,1992],[588,2019],[590,2032],[597,2030],[598,2028],[603,878],[604,2030],[605,2030],[639,844],[1245,1994],[1248,1994],[1256,1994],[1322,2061],[1323,2061],[1348,2032],[1349,2032],[1364,2019],[1374,2030],[1379,2032],[1380,2032],[1381,2032],[1382,2062],[1665,2069],[1666,2069],[1674,1976],[1691,1976],[1692,1976],[1693,1976],[1694,1976],[1695,1976],[1696,1976],[1697,1976],[1698,1976],[1700,1976],[1701,1976],[1854,1993],[1855,1993],[1858,1993],[1865,1993],[1866,1993]],"b":[[201,"impl-Display-for-Balance"],[202,"impl-Debug-for-Balance"],[209,"impl-Debug-for-FileStoreError"],[210,"impl-Display-for-FileStoreError"],[211,"impl-Display-for-LoadWithPersistError%3CE%3E"],[212,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[213,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[214,"impl-Display-for-CreateWithPersistError%3CE%3E"],[217,"impl-Debug-for-AddressInfo"],[218,"impl-Display-for-AddressInfo"],[219,"impl-Display-for-LoadError"],[220,"impl-Debug-for-LoadError"],[222,"impl-Display-for-ApplyBlockError"],[223,"impl-Debug-for-ApplyBlockError"],[232,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[234,"impl-From%3CChangeSet%3E-for-ChangeSet"],[235,"impl-From%3CChangeSet%3E-for-ChangeSet"],[236,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[243,"impl-From%3CSyncResult%3E-for-Update"],[244,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[526,"impl-Display-for-Error"],[527,"impl-Debug-for-Error"],[677,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[678,"impl-Descriptor%3CDescriptorPublicKey%3E"],[705,"impl-Debug-for-Descriptor%3CPk%3E"],[706,"impl-Display-for-Descriptor%3CPk%3E"],[709,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[710,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[713,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[714,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[715,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[716,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[717,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[718,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[862,"impl-Debug-for-Error"],[863,"impl-Display-for-Error"],[864,"impl-From%3CError%3E-for-Error"],[865,"impl-From%3CError%3E-for-Error"],[866,"impl-From%3CError%3E-for-Error"],[867,"impl-From%3CParsePublicKeyError%3E-for-Error"],[868,"impl-From%3CHexToBytesError%3E-for-Error"],[869,"impl-From%3CKeyError%3E-for-Error"],[870,"impl-From%3CPolicyError%3E-for-Error"],[965,"impl-Display-for-PolicyError"],[966,"impl-Debug-for-PolicyError"],[1283,"impl-Display-for-MiniscriptPsbtError"],[1284,"impl-Debug-for-MiniscriptPsbtError"],[1285,"impl-Display-for-CreateTxError"],[1286,"impl-Debug-for-CreateTxError"],[1287,"impl-Debug-for-BuildFeeBumpError"],[1288,"impl-Display-for-BuildFeeBumpError"],[1290,"impl-From%3CError%3E-for-CreateTxError"],[1291,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1293,"impl-From%3CError%3E-for-CreateTxError"],[1294,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1295,"impl-From%3CError%3E-for-CreateTxError"],[1332,"impl-Debug-for-FullyNodedExport"],[1333,"impl-Display-for-FullyNodedExport"],[1478,"impl-Debug-for-KeyError"],[1479,"impl-Display-for-KeyError"],[1480,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1481,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1482,"impl-Display-for-DescriptorPublicKey"],[1483,"impl-Debug-for-DescriptorPublicKey"],[1484,"impl-Display-for-DescriptorSecretKey"],[1485,"impl-Debug-for-DescriptorSecretKey"],[1490,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1492,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1497,"impl-From%3CError%3E-for-KeyError"],[1498,"impl-From%3CError%3E-for-KeyError"],[1541,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1542,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1749,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1750,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1765,"impl-Debug-for-SignerError"],[1766,"impl-Display-for-SignerError"],[1774,"impl-From%3CFingerprint%3E-for-SignerId"],[1775,"impl-From%3CHash%3E-for-SignerId"],[1785,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1786,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1787,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1803,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1804,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1805,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1913,"impl-Debug-for-AddUtxoError"],[1914,"impl-Display-for-AddUtxoError"],[1915,"impl-Debug-for-AddForeignUtxoError"],[1916,"impl-Display-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAKUC7wL7AiwFqwUTBg==","e":"OzAAAAEAABkEfwAZAAAAQAAAAEwAAQBQACQAegAAAIAAEACcAAYAqwAZAMgAAADKABYA6QAAAOsAAgDwAAAA9AABAPgAAAADAQEAIQEAADwBAABHAQAAUwEAAFkBBQBkAQAAbAEPAIIBIwCrAREAwwERAPMBEQAGAgIACgICAA8CBgAmAhsATgIAAFwCAABwAgEAcwIAAHUCBwCAAgAAggIBAIUCAACIAgEAiwIBAI8CAQCSAgEAlQIBAJgCCwCpAgMArgILAL8CAQDCAg0A1gIAAOMCAwDuAgAA9AIBAPgCAQD/AgEAFQMDABoDAQAoAwEAKwMBAC8DBQA6AwcAQwMDAEgDAwBcAwsAagMEAJIDGQCuAxoAzAMAAM4DAADTAwEA4gMAAOUDBADrAyIANAQXAE0ELwCVBEgA/AQNAAsFAQAOBQIAFQUPAC8FAQAzBQAANQUBADgFAAA8BQUAcAUXAJIFFQCpBQEArAUAAK4FJQDVBQAA2gUBAN4FAADmBQEA8wUDAAMGAAAGBgQADAYBABwGAQAhBgAAKwYAADAGAwA5BgAAPQYIAEcGAwBOBi8ArQYPAL4GFADVBg4A5QYIAO8GAQD4BgAA+gYCAAgHAQAMBwIAEAcAABQHBwAeBx8AVwcJAGIHBgBrBwEAcgcCAHkHBgCFBwAAkQcAAJcHEwCtBwQA"}],\ ["example_bitcoind_rpc_polling",{"t":"PSSSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[69,"example_bitcoind_rpc_polling::RpcCommands"],[71,"clap::builder::command"],[72,"core::sync::atomic"],[73,"core::time"],[74,"core::fmt"],[75,"clap::parser::matches::arg_matches"],[76,"clap::error"],[77,"core::result"],[78,"anyhow"],[79,"bitcoincore_rpc::client"],[80,"alloc::sync"],[81,"core::any"]],"i":[10,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"``````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",71],[5,"AtomicBool",72],[1,"reference"],[5,"Duration",73],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",74],[8,"Result",74],[5,"ArgMatches",75],[5,"Error",76],[6,"Result",77],[1,"str"],[8,"Result",78],[5,"Client",79],[5,"Arc",80],[5,"TypeId",81],[15,"Sync",69],[15,"Live",69]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADYACQAAAAEABAACAAkAAgAOAA8AHwACACUABAAtAAEAMgAPAEMABAA="}],\ -["example_cli",{"t":"PGFPPPFFGGPPPPFPPGIPPPPPPPPIPGPPPGEONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOENNNNNNNNNNNNNNNOHONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNOOOOHNNNNNNNNNNNNNONOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","ChangeInfo","ChangeSet","CoinSelectionAlgo","Commands","External","Extract","Generate","Index","Init","Init","Internal","Keychain","KeychainTxGraph","LargestFirst","List","List","New","New","NewestFirst","Next","OldestFirst","PlanUtxo","Psbt","PsbtCmd","Sign","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","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","chain","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","create_tx","db","default","default","descriptor","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_arg_matches","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_arg_matches_mut","from_str","graph","handle_commands","has_subcommand","has_subcommand","has_subcommand","has_subcommand","index","index","indexer","indexer","init_or_load","into","into","into","into","into","into","into","into","into","into","into_app","into_app_for_update","is_empty","local_chain","merge","network","network","partial_cmp","planned_utxos","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","change_descriptor","descriptor","network","network","psbt_cmd","txout_cmd","address","after","chain_specific","coin_select","debug","descriptor","older","psbt","psbt","try_broadcast","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[221,"example_cli::AddressCmd"],[222,"example_cli::Commands"],[229,"example_cli::PsbtCmd"],[240,"example_cli::TxOutCmd"],[244,"clap::builder::command"],[245,"core::clone"],[246,"clap::derive"],[247,"core::cmp"],[248,"miniscript::plan"],[249,"bitcoin::address"],[250,"bitcoin::psbt"],[251,"core::option"],[252,"anyhow"],[253,"bdk_chain::chain_oracle"],[254,"core::result"],[255,"serde::de"],[256,"core::fmt"],[257,"clap::parser::matches::arg_matches"],[258,"clap::error"],[259,"std::sync::mutex"],[260,"bdk_chain::local_chain"],[261,"bdk_file_store::store"],[262,"bitcoin::network"],[263,"bitcoin::blockdata::transaction"],[264,"core::ops::function"],[265,"alloc::vec"],[266,"serde::ser"],[267,"alloc::string"],[268,"core::any"]],"i":[5,0,0,5,13,5,0,0,0,0,12,11,5,9,0,5,12,0,0,13,9,10,9,11,13,9,13,0,5,0,11,13,5,0,0,45,33,33,5,9,10,11,5,9,10,11,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,45,4,21,0,4,5,9,10,11,12,13,4,5,9,10,11,12,13,12,33,0,45,4,13,4,4,12,4,12,12,12,12,4,5,9,10,11,12,12,13,13,21,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,13,45,0,5,9,10,11,16,21,4,21,0,45,4,33,5,9,10,11,12,13,21,33,33,4,4,4,45,4,12,0,4,12,4,5,9,10,11,12,13,12,13,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,4,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,45,4,33,5,9,10,11,12,13,21,51,52,53,53,53,54,55,56,57,57,58,57,57,59,57,59,58,58,57,60,60,60,60],"f":"````````````````````````````````````{bb}000000000{{{d{c}}}{{d{e}}}{}{}}000000000{{{d{fc}}}{{d{fe}}}{}{}}000000000````{{{d{h}}}h}{{{d{{j{ce}}}}}{{j{ce}}}{ln}{lA`}}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{{Af{c}}}}}{{Af{c}}}{lA`}}{{{d{Ah}}}Ah}{{{d{Aj}}}Aj}{{{d{c}}{d{fe}}}Al{}{}}000000{{{d{Ah}}{d{Ah}}}An}`{{{d{fB`}}{d{c}}{d{Bb}}AjBdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}Cb}`{{}h}{{}Aj}`{c{{Cd{h}}}Cf}{c{{Cd{Ah}}}Cf}{{{d{h}}{d{h}}}Ch}{{{d{Ah}}{d{Ah}}}Ch}{{{d{c}}{d{e}}}Ch{}{}}00{{{d{h}}{d{fCj}}}Cl}{{{d{{j{ce}}}}{d{fCj}}}Cl{Cnn}{CnA`}}{{{d{Ab}}{d{fCj}}}Cl}{{{d{Ad}}{d{fCj}}}Cl}{{{d{{Af{c}}}}{d{fCj}}}Cl{CnA`}}{{{d{Ah}}{d{fCj}}}Cl}0{{{d{Aj}}{d{fCj}}}Cl}0{{{d{Bj}}{d{fCj}}}Cl}{cc{}}000000000{{{d{D`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{AbDd}}}}{{{d{D`}}}{{Cd{AdDd}}}}{{{d{D`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{fD`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{AbDd}}}}{{{d{fD`}}}{{Cd{AdDd}}}}{{{d{fD`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{Df}}}{{Cd{Ajc}}}{}}`{{{d{{Dh{B`}}}}{d{{Dh{Dj}}}}{d{{Dh{{Dl{h}}}}}}Dne{j{gc}}}{{C`{Al}}}A`{{Ed{c{d{E`}}}{{Eb{{C`{Al}}}}}}}n}{{{d{Df}}}Ch}000````{{{d{{Eh{Ef}}}}{d{Df}}}{{C`{{Bl{{Ej{ce}}}}}}}nA`}{ce{}{}}000000000{{}b}0{{{d{h}}}Ch}`{{{d{fh}}h}Al}``{{{d{Ah}}{d{Ah}}}{{Bl{An}}}}{{{d{B`}}{d{c}}{d{Bb}}}{{Cd{{En{El}}}}}Cb}{{{d{h}}c}CdF`}{{{d{Ah}}c}CdF`}{{{d{c}}}e{}{}}000000{{{d{c}}}Fb{}}0{c{{Cd{e}}}{}{}}0000000000000000000`{{{d{c}}}Fd{}}000000000{{{d{f{Db{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{D`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{D`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{D`}}}{{Cd{AlDd}}}A`}{{{d{f{Db{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{fD`}}}{{Cd{AlDd}}}A`}{ce{}{}}000000000```````````````````````","D":"Hj","p":[[8,"Command",244],[1,"reference"],[0,"mut"],[5,"ChangeSet",0],[6,"Commands",0],[10,"Clone",245],[10,"Subcommand",246],[10,"Args",246],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"PsbtCmd",0],[6,"Keychain",0],[6,"CoinSelectionAlgo",0],[1,"unit"],[6,"Ordering",247],[8,"KeychainTxGraph",0],[5,"Assets",248],[5,"Address",249],[1,"u64"],[5,"Psbt",250],[5,"ChangeInfo",0],[6,"Option",251],[1,"tuple"],[8,"Result",252],[10,"ChainOracle",253],[6,"Result",254],[10,"Deserializer",255],[1,"bool"],[5,"Formatter",256],[8,"Result",256],[10,"Debug",256],[5,"ArgMatches",257],[5,"Args",0],[5,"Error",258],[1,"str"],[5,"Mutex",259],[5,"LocalChain",260],[5,"Store",261],[6,"Network",262],[5,"Transaction",263],[17,"Output"],[10,"FnOnce",264],[1,"u8"],[1,"slice"],[5,"Init",0],[8,"PlanUtxo",0],[5,"Vec",265],[10,"Serializer",266],[5,"String",267],[5,"TypeId",268],[15,"List",221],[15,"Address",222],[15,"Init",222],[15,"Generate",222],[15,"Psbt",222],[15,"TxOut",222],[15,"New",229],[15,"Extract",229],[15,"Sign",229],[15,"List",240]],"r":[],"b":[[103,"impl-Display-for-Keychain"],[104,"impl-Debug-for-Keychain"],[105,"impl-Display-for-CoinSelectionAlgo"],[106,"impl-Debug-for-CoinSelectionAlgo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAK8AGgAAAAAAAgABAAUAAgAJAAIAEQABABQAAAAZAAAAGwABAB4AAAAgAAAAIgABACUAHQBFABIAWQABAFwAEAB3AAoAgwAEAIkAAACLAAAAlwACAJsAAACeACAAwAAdAN8AAADkAAEA6AAAAA=="}],\ +["example_cli",{"t":"PGFPPPFFGGPPPPFPPGIPPPPPPPPIPGPPPGEONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOENNNNNNNNNNNNNNNOHONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNOOOOHNNNNNNNNNNNNNONOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","ChangeInfo","ChangeSet","CoinSelectionAlgo","Commands","External","Extract","Generate","Index","Init","Init","Internal","Keychain","KeychainTxGraph","LargestFirst","List","List","New","New","NewestFirst","Next","OldestFirst","PlanUtxo","Psbt","PsbtCmd","Sign","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","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","chain","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","create_tx","db","default","default","descriptor","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_arg_matches","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_arg_matches_mut","from_str","graph","handle_commands","has_subcommand","has_subcommand","has_subcommand","has_subcommand","index","index","indexer","indexer","init_or_load","into","into","into","into","into","into","into","into","into","into","into_app","into_app_for_update","is_empty","local_chain","merge","network","network","partial_cmp","planned_utxos","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","change_descriptor","descriptor","network","network","psbt_cmd","txout_cmd","address","after","chain_specific","coin_select","debug","descriptor","older","psbt","psbt","try_broadcast","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[221,"example_cli::AddressCmd"],[222,"example_cli::Commands"],[229,"example_cli::PsbtCmd"],[240,"example_cli::TxOutCmd"],[244,"clap::builder::command"],[245,"core::clone"],[246,"clap::derive"],[247,"core::cmp"],[248,"miniscript::plan"],[249,"bitcoin::address"],[250,"bitcoin::psbt"],[251,"core::option"],[252,"anyhow"],[253,"bdk_chain::chain_oracle"],[254,"core::result"],[255,"serde::de"],[256,"core::fmt"],[257,"clap::parser::matches::arg_matches"],[258,"clap::error"],[259,"std::sync::mutex"],[260,"bdk_chain::local_chain"],[261,"bdk_file_store::store"],[262,"bitcoin::network"],[263,"bitcoin::blockdata::transaction"],[264,"core::ops::function"],[265,"alloc::vec"],[266,"serde::ser"],[267,"alloc::string"],[268,"core::any"]],"i":[5,0,0,5,13,5,0,0,0,0,12,11,5,9,0,5,12,0,0,13,9,10,9,11,13,9,13,0,5,0,11,13,5,0,0,45,33,33,5,9,10,11,5,9,10,11,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,45,4,21,0,4,5,9,10,11,12,13,4,5,9,10,11,12,13,12,33,0,45,4,13,4,4,12,4,12,12,12,12,4,5,9,10,11,12,12,13,13,21,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,13,45,0,5,9,10,11,16,21,4,21,0,45,4,33,5,9,10,11,12,13,21,33,33,4,4,4,45,4,12,0,4,12,4,5,9,10,11,12,13,12,13,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,4,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,45,4,33,5,9,10,11,12,13,21,51,52,53,53,53,54,55,56,57,57,58,57,57,59,57,59,58,58,57,60,60,60,60],"f":"````````````````````````````````````{bb}000000000{{{d{c}}}{{d{e}}}{}{}}000000000{{{d{fc}}}{{d{fe}}}{}{}}000000000````{{{d{h}}}h}{{{d{{j{ce}}}}}{{j{ce}}}{ln}{lA`}}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{{Af{c}}}}}{{Af{c}}}{lA`}}{{{d{Ah}}}Ah}{{{d{Aj}}}Aj}{{{d{c}}{d{fe}}}Al{}{}}000000{{{d{Ah}}{d{Ah}}}An}`{{{d{fB`}}{d{c}}{d{Bb}}AjBdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}Cb}`{{}h}{{}Aj}`{c{{Cd{h}}}Cf}{c{{Cd{Ah}}}Cf}{{{d{h}}{d{h}}}Ch}{{{d{Ah}}{d{Ah}}}Ch}{{{d{c}}{d{e}}}Ch{}{}}00{{{d{h}}{d{fCj}}}Cl}{{{d{{j{ce}}}}{d{fCj}}}Cl{Cnn}{CnA`}}{{{d{Ab}}{d{fCj}}}Cl}{{{d{Ad}}{d{fCj}}}Cl}{{{d{{Af{c}}}}{d{fCj}}}Cl{CnA`}}{{{d{Ah}}{d{fCj}}}Cl}0{{{d{Aj}}{d{fCj}}}Cl}0{{{d{Bj}}{d{fCj}}}Cl}{cc{}}000000000{{{d{D`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{AbDd}}}}{{{d{D`}}}{{Cd{AdDd}}}}{{{d{D`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{fD`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{AbDd}}}}{{{d{fD`}}}{{Cd{AdDd}}}}{{{d{fD`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{Df}}}{{Cd{Ajc}}}{}}`{{{d{{Dh{B`}}}}{d{{Dh{Dj}}}}{d{{Dh{{Dl{h}}}}}}Dne{j{gc}}}{{C`{Al}}}A`{{Ed{c{d{E`}}}{{Eb{{C`{Al}}}}}}}n}{{{d{Df}}}Ch}000````{{{d{{Eh{Ef}}}}{d{Df}}}{{C`{{Bl{{Ej{ce}}}}}}}nA`}{ce{}{}}000000000{{}b}0{{{d{h}}}Ch}`{{{d{fh}}h}Al}``{{{d{Ah}}{d{Ah}}}{{Bl{An}}}}{{{d{B`}}{d{c}}{d{Bb}}}{{Cd{{En{El}}}}}Cb}{{{d{h}}c}CdF`}{{{d{Ah}}c}CdF`}{{{d{c}}}e{}{}}000000{{{d{c}}}Fb{}}0{c{{Cd{e}}}{}{}}0000000000000000000`{{{d{c}}}Fd{}}000000000{{{d{f{Db{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{D`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{D`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{D`}}}{{Cd{AlDd}}}A`}{{{d{f{Db{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{fD`}}}{{Cd{AlDd}}}A`}{ce{}{}}000000000```````````````````````","D":"Hj","p":[[8,"Command",244],[1,"reference"],[0,"mut"],[5,"ChangeSet",0],[6,"Commands",0],[10,"Clone",245],[10,"Subcommand",246],[10,"Args",246],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"PsbtCmd",0],[6,"Keychain",0],[6,"CoinSelectionAlgo",0],[1,"unit"],[6,"Ordering",247],[8,"KeychainTxGraph",0],[5,"Assets",248],[5,"Address",249],[1,"u64"],[5,"Psbt",250],[5,"ChangeInfo",0],[6,"Option",251],[1,"tuple"],[8,"Result",252],[10,"ChainOracle",253],[6,"Result",254],[10,"Deserializer",255],[1,"bool"],[5,"Formatter",256],[8,"Result",256],[10,"Debug",256],[5,"ArgMatches",257],[5,"Args",0],[5,"Error",258],[1,"str"],[5,"Mutex",259],[5,"LocalChain",260],[5,"Store",261],[6,"Network",262],[5,"Transaction",263],[17,"Output"],[10,"FnOnce",264],[1,"u8"],[1,"slice"],[5,"Init",0],[8,"PlanUtxo",0],[5,"Vec",265],[10,"Serializer",266],[5,"String",267],[5,"TypeId",268],[15,"List",221],[15,"Address",222],[15,"Init",222],[15,"Generate",222],[15,"Psbt",222],[15,"TxOut",222],[15,"New",229],[15,"Extract",229],[15,"Sign",229],[15,"List",240]],"r":[],"b":[[103,"impl-Debug-for-Keychain"],[104,"impl-Display-for-Keychain"],[105,"impl-Debug-for-CoinSelectionAlgo"],[106,"impl-Display-for-CoinSelectionAlgo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAK8AGgAAAAAAAgABAAUAAgAJAAIAEQABABQAAAAZAAAAGwABAB4AAAAgAAAAIgABACUAHQBFABIAWQABAFwAEAB3AAoAgwAEAIkAAACLAAAAlwACAJsAAACeACAAwAAdAN8AAADkAAEA6AAAAA=="}],\ ["example_electrum",{"t":"SSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[70,"example_electrum::ElectrumCommands"],[79,"clap::builder::command"],[80,"bitcoin::network"],[81,"electrum_client::client"],[82,"anyhow"],[83,"core::fmt"],[84,"clap::parser::matches::arg_matches"],[85,"clap::error"],[86,"core::result"],[87,"core::any"]],"i":[0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"```````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",79],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",80],[5,"Client",81],[8,"Result",82],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",83],[8,"Result",83],[5,"ArgMatches",84],[5,"Error",85],[6,"Result",86],[1,"str"],[5,"TypeId",87],[15,"Sync",70],[15,"Scan",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEAACAAAAAQABgAAAAgABQAPAA0AHgADACUABgAvABcASAADAA=="}],\ ["example_esplora",{"t":"SSFGPFPNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["DB_MAGIC","DB_PATH","EsploraArgs","EsploraCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","eq","esplora_args","esplora_url","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","parallel_requests","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","esplora_args","esplora_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_esplora"],[70,"example_esplora::EsploraCommands"],[79,"clap::builder::command"],[80,"bitcoin::network"],[81,"esplora_client::blocking"],[82,"anyhow"],[83,"core::fmt"],[84,"clap::parser::matches::arg_matches"],[85,"clap::error"],[86,"core::result"],[87,"core::any"]],"i":[0,0,0,0,8,0,8,4,9,4,9,8,8,8,4,9,8,4,9,4,8,4,9,8,4,9,9,8,4,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"```````{bb}00000{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}}h}`{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}`{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",79],[1,"reference"],[0,"mut"],[5,"EsploraArgs",0],[6,"Network",80],[5,"BlockingClient",81],[8,"Result",82],[6,"EsploraCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",83],[8,"Result",83],[5,"ArgMatches",84],[5,"Error",85],[6,"Result",86],[1,"str"],[5,"TypeId",87],[15,"Sync",70],[15,"Scan",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEAACAAAAAQABgAAAAgAFAAeAAIAJAAGAC4AAgAyABQASAADAA=="}],\ ["wallet_electrum_example",{"t":"SSSSSSSSH","n":["BATCH_SIZE","DB_MAGIC","ELECTRUM_URL","EXTERNAL_DESC","INTERNAL_DESC","NETWORK","SEND_AMOUNT","STOP_GAP","main"],"q":[[0,"wallet_electrum_example"],[9,"anyhow"],[10,"core::result"]],"i":[0,0,0,0,0,0,0,0,0],"f":"````````{{}{{f{bd}}}}","D":"`","p":[[1,"unit"],[5,"Error",9],[6,"Result",10]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAkAAQAAAAkA"}],\ diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js index 9cf7172964..534b5516ec 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn Anchor that can be constructed from a given block, …\nMaximum BIP32 derivation index.\nBalance, differentiated into various categories.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nAn Anchor implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nThe chain data is seen as confirmed, and in anchored by A.\nThe transaction is confirmed\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA TxOut with as much data as we can retrieve about it\nA wrapper that we use to impl remote traits for types in …\nA tuple of keychain index and T representing the indexed …\nA tuple of keychain K, derivation index (u32) and a T …\nTrait that makes an object mergeable.\nAn iterator for derived script pubkeys.\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nReturns the BlockId that the associated blockchain data is …\nReturns a reference to the inner hash (sha256, sh256d …\nThe anchor block.\nThe position of the transaction in outpoint in the overall …\nMaps a ChainPosition<&A> into a ChainPosition<A> by …\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nConfirmed and immediately spendable balance\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given block, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nAll coinbase outputs not yet matured\nContains the IndexedTxGraph and associated types. Refer to …\nIndexer provides utilities for indexing transaction data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nReturns the inner T.\nDetermines whether block of BlockId exists as an ancestor …\nReturns whether ChainPosition is confirmed or not.\nReturns whether ConfirmationTime is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain tip.\nReturns whether the structure is considered empty.\nWhether the txout is considered mature.\nWhether this output is on a coinbase transaction.\nThe LocalChain is a local implementation of ChainOracle.\nMerge another object of the same type onto self.\nCreate a new script pubkey iterator from descriptor.\nCreate a new script pubkey iterator from descriptor and a …\nThe location of the TxOut.\nModule for stuff\nThe txid and chain position of the transaction (if any) …\nHelper types for spk-based blockchain clients.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nGet the whole balance visible to the wallet.\nConvert an iterator of Results into FallibleIterator by …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nModule for structures that store and traverse transactions.\nThe TxOut.\nConstruct an unconfirmed variant using the given last_seen …\nUnconfirmed UTXOs received from an external wallet\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an IndexedTxGraph.\nThe IndexedTxGraph combines a TxGraph and an Indexer …\nBatch insert all transactions of the given block of height.\nBatch insert all transactions of the given block of height…\nApplies the ChangeSet to the IndexedTxGraph.\nApply an update directly.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\nTransaction index.\nIndexer changeset.\nDetermines the ChangeSet between self and an empty …\nInsert an anchor for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating txout of given outpoint.\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new IndexedTxGraph with a given index.\nTxGraph changeset.\nThe resultant “changeset” when new transaction data is …\nUtilities for indexing transaction data.\nApply changeset to itself.\nScans a transaction for relevant outpoints, which are …\nScan and index the given outpoint and txout.\nDetermines the ChangeSet between self and an empty Indexer.\nDetermines whether the transaction should be included in …\nKeychainTxOutIndex controls how script pubkeys are …\nSpkTxOutIndex is an index storing TxOuts that have a …\nRepresents updates to the derivation index of a …\nThe default lookahead for a KeychainTxOutIndex\nThe descriptor has already been assigned to a keychain so …\nError returned from KeychainTxOutIndex::insert_descriptor\nThe keychain is already assigned to a descriptor so you can…\nKeychainTxOutIndex controls how script pubkeys are …\nName for table that stores last revealed indices per …\nSchema name for the changeset.\nGet unbounded spk iterators for all keychains.\nApplies the ChangeSet<K> to the KeychainTxOutIndex<K>\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct KeychainTxOutIndex from sqlite database and …\nGets the descriptor associated with the keychain. Returns …\nReturns the keychain and keychain index associated with …\nInitialize sqlite tables for persisting KeychainTxOutIndex.\nReturn a reference to the internal SpkTxOutIndex.\nInsert a descriptor with a keychain associated to it.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the changeset are empty.\nReturns whether the spk under the keychain’s index has …\nIterate over all OutPoints that have TxOuts with script …\nIterate over OutPoints that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for keychain. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the keychain where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until target_index (inclusive).\nMarks the script pubkey at index as used even though the …\nMerge another ChangeSet into self.\nComputes the net value that this transaction gives to the …\nConstruct a KeychainTxOutIndex with the given lookahead.\nGet the next derivation index for keychain. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nPersist changeset to the sqlite database.\nAttempts to reveal the next script pubkey for keychain.\nReveals script pubkeys of the keychain’s descriptor up …\nConvenience method to call Self::reveal_to_target on …\nIterate over revealed spks of the given keychain with …\nIterate over revealed spks of keychains in range\nComputes the total value transfer effect tx has on the …\nReturn the script that exists under the given keychain’s …\nReturn the TxOut of outpoint if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given keychain. …\nUndoes the effect of mark_used. Returns whether the index …\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nAn index storing TxOuts that have a script pubkey that …\nThe script pubkeys that are being tracked by the index.\nReturns the argument unchanged.\nReturns the index associated with the script pubkey.\nAdds a script pubkey to scan for. Returns false and does …\nCalls U::from(self).\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at index has been used …\nMarks the script pubkey at index as used even though it …\nComputes the net value transfer effect of tx on the script …\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single TxOut for a matching script pubkey and …\nComputes the total value transfer effect tx has on the …\nReturns the script that has been inserted at the index.\nReturns the txout and script pubkey index of the TxOut at …\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nUndoes the effect of mark_used. Returns whether the index …\nIterates over all unused script pubkeys in an index range.\nRepresents a failure when trying to insert/remove a …\nThe error type for LocalChain::apply_header_connected_to.\nName of sqlite table that stores blocks of LocalChain.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe ChangeSet represents changes to LocalChain.\nA LocalChain checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when connected_to block conflicts with either the …\nThis is a local implementation of ChainOracle.\nAn error which occurs when a LocalChain is constructed …\nSchema name for the changeset.\nApply the given changeset.\nUpdate the chain with a given Header connecting it with …\nUpdate the chain with a given Header at height which you …\nApplies the given update to the chain.\nGet the BlockId of the checkpoint.\nChanges to the LocalChain blocks.\nRemoves blocks from (and inclusive of) the given block_id.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of BlockIds in …\nConstructs a LocalChain from a BTreeMap of height to …\nConstruct a LocalChain from an initial changeset.\nConstruct LocalChain from genesis hash.\nConstruct a checkpoint from the given header and block …\nConstruct a LocalChain from sqlite database.\nConstruct a LocalChain from a given checkpoint tip.\nGet the genesis hash.\nGet checkpoint at height.\nGet checkpoint at given height (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nInitialize sqlite tables for persisting …\nDerives an initial ChangeSet, meaning that it can be …\nInserts block_id at its height within the chain.\nInsert a BlockId.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nPersist changeset to the sqlite database.\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nConvert an iterator of Results into FallibleIterator by …\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the original_block hash.\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nData required to perform a spk-based blockchain client …\nBuilds a FullScanRequest.\nData returned from a spk-based blockchain client full scan.\nOutpoint sync item.\nScript pubkey sync item.\nAn item reported to the inspect closure of SyncRequest.\nThe progress of SyncRequest.\nData required to perform a spk-based blockchain client …\nBuilds a SyncRequest.\nData returned from a spk-based blockchain client sync.\nTxid sync item.\nBuild the SyncRequest.\nBuild the FullScanRequest.\nStart building a SyncRequest.\nStart building a FullScanRequest.\nSet the initial chain tip for the sync request.\nGet the chain tip CheckPoint of this request (if any).\nSet the initial chain tip for the full scan request.\nGet the chain tip CheckPoint of this request (if any).\nThe update to apply to the receiving LocalChain.\nThe update to apply to the receiving TxGraph.\nTotal consumed items of the request.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe update to apply to the receiving TxGraph.\nThe update to apply to the receiving LocalChain.\nSet the closure that will inspect every sync item visited.\nSet the closure that will inspect every sync item visited.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIterate over OutPoints contained in this request.\nIterate over ScriptBufs contained in this request.\nIterate over indexed ScriptBufs contained in this request …\nIterate over Txids contained in this request.\nList all keychains contained in this request.\nLast active indices for the corresponding keychains (K).\nAdvances the sync request and returns the next OutPoint.\nAdvances the sync request and returns the next ScriptBuf.\nAdvances the full scan request and returns the next …\nAdvances the sync request and returns the next Txid.\nAdd OutPoints that will be synced against.\nOutpoints consumed by the request.\nOutpoints remaining in the request.\nGet the SyncProgress of this request.\nTotal remaining items of the request.\nAdd Scripts that are revealed by the indexer of the given …\nAdd Scripts that will be synced against.\nScript pubkeys consumed by the request.\nSet the spk iterator for a given keychain.\nAdd spk iterators for each keychain tracked in indexer.\nScript pubkeys remaining in the request.\nAdd Scripts coupled with associated indexes that will be …\nTotal items, consumed and remaining, of the request.\nTotal outpoints, consumed and remaining, of the request.\nTotal script pubkeys, consumed and remaining, of the …\nTotal txids, consumed and remaining, of the request.\nAdd Txids that will be synced against.\nTxids consumed by the request.\nTxids remaining in the request.\nAdd Scripts that are revealed by the indexer but currently …\nName of table that stores Anchors.\nErrors returned by TxGraph::calculate_fee.\nA transaction that is included in the chain, or is still …\nThe ChangeSet represents changes to a TxGraph.\nMissing TxOut for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nSchema name for tx_graph::ChangeSet.\nName of table that stores floating txouts.\nName of table that stores full transactions and last_seen …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the TxGraph.\nGet all transaction anchors known by TxGraph.\nIterate over all tx outputs known by TxGraph.\nIterates over the heights of that the new transaction …\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies ChangeSet to TxGraph.\nExtends this graph with another so that self becomes the …\nGet the total balance of outpoints that are in chain of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a TxGraph from an sqlite database.\nIterate over all full transactions in the graph.\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns Some for full …\nGet a transaction node by txid. This only returns Some for …\nObtains a single tx output (if any) at the specified …\nInitialize sqlite tables.\nDetermines the ChangeSet between self and an empty TxGraph.\nInserts the given anchor into TxGraph.\nInserts the given seen_at for txid into TxGraph.\nInserts the given transaction into TxGraph.\nInserts the given TxOut at OutPoint.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nConvert an iterator of anything into FallibleIterator by …\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in chain with chain_tip.\nTransform the TxGraph to have Anchors of another type.\nTransform the ChangeSet to have Anchors of another type.\nConstruct a new TxGraph from a list of transactions.\nThe transactions spending from this output.\nPersist changeset to the sqlite database.\nConvert an iterator of Results into FallibleIterator by …\nConvert an iterator of Results into FallibleIterator by …\nGet the total balance of outpoints that are in chain of …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in chain with chain_tip.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given txid.\nIterates over the transactions spending from txid.\nTxid of the transaction.\nIterates over all outpoints contained within ChangeSet.\nAdded txouts.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nUpdate the last seen time for all unconfirmed transactions.\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …") \ No newline at end of file +searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn Anchor that can be constructed from a given block, …\nMaximum BIP32 derivation index.\nBalance, differentiated into various categories.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nAn Anchor implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nThe chain data is seen as confirmed, and in anchored by A.\nThe transaction is confirmed\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA TxOut with as much data as we can retrieve about it\nA wrapper that we use to impl remote traits for types in …\nA tuple of keychain index and T representing the indexed …\nA tuple of keychain K, derivation index (u32) and a T …\nTrait that makes an object mergeable.\nAn iterator for derived script pubkeys.\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nReturns the BlockId that the associated blockchain data is …\nReturns a reference to the inner hash (sha256, sh256d …\nThe anchor block.\nThe position of the transaction in outpoint in the overall …\nMaps a ChainPosition<&A> into a ChainPosition<A> by …\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nConfirmed and immediately spendable balance\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given block, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nAll coinbase outputs not yet matured\nContains the IndexedTxGraph and associated types. Refer to …\nIndexer provides utilities for indexing transaction data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nReturns the inner T.\nDetermines whether block of BlockId exists as an ancestor …\nReturns whether ChainPosition is confirmed or not.\nReturns whether ConfirmationTime is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain tip.\nReturns whether the structure is considered empty.\nWhether the txout is considered mature.\nWhether this output is on a coinbase transaction.\nThe LocalChain is a local implementation of ChainOracle.\nMerge another object of the same type onto self.\nCreate a new script pubkey iterator from descriptor.\nCreate a new script pubkey iterator from descriptor and a …\nThe location of the TxOut.\nModule for stuff\nThe txid and chain position of the transaction (if any) …\nHelper types for spk-based blockchain clients.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nGet the whole balance visible to the wallet.\nConvert an iterator of Results into FallibleIterator by …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nModule for structures that store and traverse transactions.\nThe TxOut.\nConstruct an unconfirmed variant using the given last_seen …\nUnconfirmed UTXOs received from an external wallet\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an IndexedTxGraph.\nThe IndexedTxGraph combines a TxGraph and an Indexer …\nBatch insert all transactions of the given block of height.\nBatch insert all transactions of the given block of height…\nApplies the ChangeSet to the IndexedTxGraph.\nApply an update directly.\nApply the given update with an optional seen_at timestamp.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\nTransaction index.\nIndexer changeset.\nDetermines the ChangeSet between self and an empty …\nInsert an anchor for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating txout of given outpoint.\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new IndexedTxGraph with a given index.\nTxGraph changeset.\nThe resultant “changeset” when new transaction data is …\nUtilities for indexing transaction data.\nApply changeset to itself.\nScans a transaction for relevant outpoints, which are …\nScan and index the given outpoint and txout.\nDetermines the ChangeSet between self and an empty Indexer.\nDetermines whether the transaction should be included in …\nKeychainTxOutIndex controls how script pubkeys are …\nSpkTxOutIndex is an index storing TxOuts that have a …\nRepresents updates to the derivation index of a …\nThe default lookahead for a KeychainTxOutIndex\nThe descriptor has already been assigned to a keychain so …\nError returned from KeychainTxOutIndex::insert_descriptor\nThe keychain is already assigned to a descriptor so you can…\nKeychainTxOutIndex controls how script pubkeys are …\nName for table that stores last revealed indices per …\nSchema name for the changeset.\nGet unbounded spk iterators for all keychains.\nApplies the ChangeSet<K> to the KeychainTxOutIndex<K>\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct KeychainTxOutIndex from sqlite database and …\nGets the descriptor associated with the keychain. Returns …\nReturns the keychain and keychain index associated with …\nInitialize sqlite tables for persisting KeychainTxOutIndex.\nReturn a reference to the internal SpkTxOutIndex.\nInsert a descriptor with a keychain associated to it.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the changeset are empty.\nReturns whether the spk under the keychain’s index has …\nIterate over all OutPoints that have TxOuts with script …\nIterate over OutPoints that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for keychain. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the keychain where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until target_index (inclusive).\nMarks the script pubkey at index as used even though the …\nMerge another ChangeSet into self.\nComputes the net value that this transaction gives to the …\nConstruct a KeychainTxOutIndex with the given lookahead.\nGet the next derivation index for keychain. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nPersist changeset to the sqlite database.\nAttempts to reveal the next script pubkey for keychain.\nReveals script pubkeys of the keychain’s descriptor up …\nConvenience method to call Self::reveal_to_target on …\nIterate over revealed spks of the given keychain with …\nIterate over revealed spks of keychains in range\nComputes the total value transfer effect tx has on the …\nReturn the script that exists under the given keychain’s …\nReturn the TxOut of outpoint if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given keychain. …\nUndoes the effect of mark_used. Returns whether the index …\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nAn index storing TxOuts that have a script pubkey that …\nThe script pubkeys that are being tracked by the index.\nReturns the argument unchanged.\nReturns the index associated with the script pubkey.\nAdds a script pubkey to scan for. Returns false and does …\nCalls U::from(self).\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at index has been used …\nMarks the script pubkey at index as used even though it …\nComputes the net value transfer effect of tx on the script …\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single TxOut for a matching script pubkey and …\nComputes the total value transfer effect tx has on the …\nReturns the script that has been inserted at the index.\nReturns the txout and script pubkey index of the TxOut at …\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nUndoes the effect of mark_used. Returns whether the index …\nIterates over all unused script pubkeys in an index range.\nRepresents a failure when trying to insert/remove a …\nThe error type for LocalChain::apply_header_connected_to.\nName of sqlite table that stores blocks of LocalChain.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe ChangeSet represents changes to LocalChain.\nA LocalChain checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when connected_to block conflicts with either the …\nThis is a local implementation of ChainOracle.\nAn error which occurs when a LocalChain is constructed …\nSchema name for the changeset.\nApply the given changeset.\nUpdate the chain with a given Header connecting it with …\nUpdate the chain with a given Header at height which you …\nApplies the given update to the chain.\nGet the BlockId of the checkpoint.\nChanges to the LocalChain blocks.\nRemoves blocks from (and inclusive of) the given block_id.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of BlockIds in …\nConstructs a LocalChain from a BTreeMap of height to …\nConstruct a LocalChain from an initial changeset.\nConstruct LocalChain from genesis hash.\nConstruct a checkpoint from the given header and block …\nConstruct a LocalChain from sqlite database.\nConstruct a LocalChain from a given checkpoint tip.\nGet the genesis hash.\nGet checkpoint at height.\nGet checkpoint at given height (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nInitialize sqlite tables for persisting …\nDerives an initial ChangeSet, meaning that it can be …\nInserts block_id at its height within the chain.\nInsert a BlockId.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nPersist changeset to the sqlite database.\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nConvert an iterator of Results into FallibleIterator by …\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the original_block hash.\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nData required to perform a spk-based blockchain client …\nBuilds a FullScanRequest.\nData returned from a spk-based blockchain client full scan.\nOutpoint sync item.\nScript pubkey sync item.\nAn item reported to the inspect closure of SyncRequest.\nThe progress of SyncRequest.\nData required to perform a spk-based blockchain client …\nBuilds a SyncRequest.\nData returned from a spk-based blockchain client sync.\nTxid sync item.\nBuild the SyncRequest.\nBuild the FullScanRequest.\nStart building a SyncRequest.\nStart building a FullScanRequest.\nSet the initial chain tip for the sync request.\nGet the chain tip CheckPoint of this request (if any).\nSet the initial chain tip for the full scan request.\nGet the chain tip CheckPoint of this request (if any).\nThe update to apply to the receiving LocalChain.\nThe update to apply to the receiving TxGraph.\nTotal consumed items of the request.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nThe update to apply to the receiving TxGraph.\nThe update to apply to the receiving LocalChain.\nSet the closure that will inspect every sync item visited.\nSet the closure that will inspect every sync item visited.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nIterate over OutPoints contained in this request.\nIterate over ScriptBufs contained in this request.\nIterate over indexed ScriptBufs contained in this request …\nIterate over Txids contained in this request.\nList all keychains contained in this request.\nLast active indices for the corresponding keychains (K).\nAdvances the sync request and returns the next OutPoint.\nAdvances the sync request and returns the next ScriptBuf.\nAdvances the full scan request and returns the next …\nAdvances the sync request and returns the next Txid.\nAdd OutPoints that will be synced against.\nOutpoints consumed by the request.\nOutpoints remaining in the request.\nGet the SyncProgress of this request.\nTotal remaining items of the request.\nAdd Scripts that are revealed by the indexer of the given …\nAdd Scripts that will be synced against.\nScript pubkeys consumed by the request.\nSet the spk iterator for a given keychain.\nAdd spk iterators for each keychain tracked in indexer.\nScript pubkeys remaining in the request.\nAdd Scripts coupled with associated indexes that will be …\nTotal items, consumed and remaining, of the request.\nTotal outpoints, consumed and remaining, of the request.\nTotal script pubkeys, consumed and remaining, of the …\nTotal txids, consumed and remaining, of the request.\nAdd Txids that will be synced against.\nTxids consumed by the request.\nTxids remaining in the request.\nAdd Scripts that are revealed by the indexer but currently …\nName of table that stores Anchors.\nErrors returned by TxGraph::calculate_fee.\nA transaction that is included in the chain, or is still …\nThe ChangeSet represents changes to a TxGraph.\nMissing TxOut for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nSchema name for tx_graph::ChangeSet.\nName of table that stores floating txouts.\nName of table that stores full transactions and last_seen …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the TxGraph.\nData object used to update the TxGraph with.\nGet all transaction anchors known by TxGraph.\nIterate over all tx outputs known by TxGraph.\nIterates over the heights of that the new transaction …\nTransaction anchors.\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies ChangeSet to TxGraph.\nExtends this graph with the given update.\nExtends this graph with the given update alongside an …\nGet the total balance of outpoints that are in chain of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nExtend this update with other.\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a TxGraph from an sqlite database.\nIterate over all full transactions in the graph.\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns Some for full …\nGet a transaction node by txid. This only returns Some for …\nObtains a single tx output (if any) at the specified …\nInitialize sqlite tables.\nDetermines the ChangeSet between self and an empty TxGraph.\nInserts the given anchor into TxGraph.\nInserts the given seen_at for txid into TxGraph.\nInserts the given transaction into TxGraph.\nInserts the given TxOut at OutPoint.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nConvert an iterator of anything into FallibleIterator by …\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in chain with chain_tip.\nTransform the TxGraph to have Anchors of another type.\nTransform the ChangeSet to have Anchors of another type.\nConstruct a new TxGraph from a list of transactions.\nThe transactions spending from this output.\nPersist changeset to the sqlite database.\nSeen at times for transactions.\nConvert an iterator of Results into FallibleIterator by …\nConvert an iterator of Results into FallibleIterator by …\nGet the total balance of outpoints that are in chain of …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in chain with chain_tip.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given txid.\nIterates over the transactions spending from txid.\nTxid of the transaction.\nIterates over all outpoints contained within ChangeSet.\nFloating txouts.\nAdded txouts.\nFull transactions.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js index afd7a9b3be..45ed8e7e8e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nAsync trait that persists PersistedWallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nA changeset for Wallet.\nPolicy regarding the use of change outputs when creating a …\nParameters for Wallet::create or PersistedWallet::create.\nError type for PersistedWallet::create.\nProvide custom comparison functions for sorting\nPersister already has wallet data.\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nError type of the persister.\nError type of the persister.\nExternal keychain, used for deriving recipient addresses.\nError for bdk_file_store’s implementation of …\nA UTXO owned by another wallet.\nGenesis hash does not match.\nInternal keychain, used for deriving change addresses.\nOccurs when the loaded changeset cannot construct Wallet.\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nTrait to check if a value is below the dust limit. We are …\nTypes of keychains\nError when loading from the store.\nThe error type when loading a Wallet from a ChangeSet.\nRepresents a mismatch with what is loaded and what is …\nParameters for Wallet::load or PersistedWallet::load.\nError type for PersistedWallet::load.\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nData loaded is unexpected.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nForeign utxo missing witness_utxo or non_witness_utxo\nNetwork does not match.\nOnly use change outputs (see TxBuilder::only_spend_change)\nError from persistence.\nError from persistence.\nRepresents a persisted wallet which persists into type P.\nRandomized (default)\nOptions for a software signer\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nOccurs when the connected_to hash does not match the hash …\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAn update to Wallet.\nAn unspent transaction output (UTXO).\nSchema name for wallet.\nName of table to store wallet descriptors and network.\nA Bitcoin wallet\nTrait that persists PersistedWallet.\nA Utxo with its satisfaction_weight.\nError when writing to the store.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nDescriptor for change addresses.\nChecks that the given genesis_hash matches the one loaded …\nChecks that the given network matches the one loaded from …\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nCreate a new PersistedWallet with the given persister and …\nBuild a new Wallet.\nCreate a new PersistedWallet with the given async persister…\nBuild a new single descriptor Wallet.\nCreate PersistedWallet with the given WalletPersister.\nCreate PersistedWallet with the given AsyncWalletPersister.\nCreate Wallet without persistence.\nCreate a new Wallet with given params.\nThe derivation index of this wallet. It will return None …\nThe derivation index for the script pubkey in the wallet\nFinds how the wallet derived the script pubkey spk.\nDescriptors\nChecks the expected_descriptor matches exactly what is …\nDescriptor for recipient addresses.\nMacro to write full descriptors with code\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nWhether to try extracting private keys from the provided …\nFinalize a PSBT, i.e., for each input determine if …\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\nInitialize sqlite tables for wallet tables.\nInitialize the persister and load all data.\nInitialize the persister and load all data.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nWhether this UTXO is spent or not\nType of keychain\nType of keychain\nIterator over all keychains in this wallet\nExtend the given keychain’s keymap.\nExtend the given keychain’s keymap.\nKey formats\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad a previously PersistedWallet from the given persister …\nBuild Wallet by loading from persistence or ChangeSet.\nLoad a previously PersistedWallet from the given async …\nLoad PersistedWallet with the given WalletPersister.\nLoad PersistedWallet with the given AsyncWalletPersister.\nLoad Wallet without persistence.\nLoad Wallet from the given previously persisted ChangeSet …\nGet a reference to the inner LocalChain.\nChanges to the LocalChain.\nUse custom lookahead value.\nUse custom lookahead value.\nMarks an address used of the given keychain at index.\nMerge another ChangeSet into itself.\nSet network.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nConstruct parameters with provided descriptor and …\nConstruct parameters with default values.\nConstruct parameters with provided descriptor.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nGet the location of the UTXO\nReference to a transaction output\nPeek an address of the given keychain at index without …\nPersist the given changeset to the persister.\nPersist the given changeset to the persister.\nPersist staged changes of wallet into persister.\nPersist staged changes of wallet into an async persister.\nPersist ChangeSet to sqlite database.\nReturn the spending policies for the wallet’s descriptor\nAdditional functions on the rust-bitcoin Psbt structure.\nReturns the descriptor used to create addresses for a …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nModule for stuff\nThe weight of the witness data and scriptSig expressed in …\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nGet the sequence number if an explicit sequence number has …\nSet the keymap for a given keychain.\nSet the keymap for each keychain.\nSign a transaction with all the wallet’s signers, in the …\nWhether we should try to sign a taproot transaction with …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that is yet to be …\nGet a mutable reference of the staged ChangeSet that is …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file +searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nAsync trait that persists PersistedWallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nA changeset for Wallet.\nPolicy regarding the use of change outputs when creating a …\nParameters for Wallet::create or PersistedWallet::create.\nError type for PersistedWallet::create.\nProvide custom comparison functions for sorting\nPersister already has wallet data.\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nError type of the persister.\nError type of the persister.\nExternal keychain, used for deriving recipient addresses.\nError for bdk_file_store’s implementation of …\nA UTXO owned by another wallet.\nGenesis hash does not match.\nInternal keychain, used for deriving change addresses.\nOccurs when the loaded changeset cannot construct Wallet.\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nTrait to check if a value is below the dust limit. We are …\nTypes of keychains\nError when loading from the store.\nThe error type when loading a Wallet from a ChangeSet.\nRepresents a mismatch with what is loaded and what is …\nParameters for Wallet::load or PersistedWallet::load.\nError type for PersistedWallet::load.\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nData loaded is unexpected.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nForeign utxo missing witness_utxo or non_witness_utxo\nNetwork does not match.\nOnly use change outputs (see TxBuilder::only_spend_change)\nError from persistence.\nError from persistence.\nRepresents a persisted wallet which persists into type P.\nRandomized (default)\nOptions for a software signer\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nOccurs when the connected_to hash does not match the hash …\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAn update to Wallet.\nAn unspent transaction output (UTXO).\nSchema name for wallet.\nName of table to store wallet descriptors and network.\nA Bitcoin wallet\nTrait that persists PersistedWallet.\nA Utxo with its satisfaction_weight.\nError when writing to the store.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nApplies an update alongside an optional seen_at timestamp …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nDescriptor for change addresses.\nChecks that the given genesis_hash matches the one loaded …\nChecks that the given network matches the one loaded from …\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nCreate a new PersistedWallet with the given persister and …\nBuild a new Wallet.\nCreate a new PersistedWallet with the given async persister…\nBuild a new single descriptor Wallet.\nCreate PersistedWallet with the given WalletPersister.\nCreate PersistedWallet with the given AsyncWalletPersister.\nCreate Wallet without persistence.\nCreate a new Wallet with given params.\nThe derivation index of this wallet. It will return None …\nThe derivation index for the script pubkey in the wallet\nFinds how the wallet derived the script pubkey spk.\nDescriptors\nChecks the expected_descriptor matches exactly what is …\nDescriptor for recipient addresses.\nMacro to write full descriptors with code\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nWhether to try extracting private keys from the provided …\nFinalize a PSBT, i.e., for each input determine if …\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\nInitialize sqlite tables for wallet tables.\nInitialize the persister and load all data.\nInitialize the persister and load all data.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nWhether this UTXO is spent or not\nType of keychain\nType of keychain\nIterator over all keychains in this wallet\nExtend the given keychain’s keymap.\nExtend the given keychain’s keymap.\nKey formats\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad a previously PersistedWallet from the given persister …\nBuild Wallet by loading from persistence or ChangeSet.\nLoad a previously PersistedWallet from the given async …\nLoad PersistedWallet with the given WalletPersister.\nLoad PersistedWallet with the given AsyncWalletPersister.\nLoad Wallet without persistence.\nLoad Wallet from the given previously persisted ChangeSet …\nGet a reference to the inner LocalChain.\nChanges to the LocalChain.\nUse custom lookahead value.\nUse custom lookahead value.\nMarks an address used of the given keychain at index.\nMerge another ChangeSet into itself.\nSet network.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nConstruct parameters with provided descriptor and …\nConstruct parameters with default values.\nConstruct parameters with provided descriptor.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nGet the location of the UTXO\nReference to a transaction output\nPeek an address of the given keychain at index without …\nPersist the given changeset to the persister.\nPersist the given changeset to the persister.\nPersist staged changes of wallet into persister.\nPersist staged changes of wallet into an async persister.\nPersist ChangeSet to sqlite database.\nReturn the spending policies for the wallet’s descriptor\nAdditional functions on the rust-bitcoin Psbt structure.\nReturns the descriptor used to create addresses for a …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nModule for stuff\nThe weight of the witness data and scriptSig expressed in …\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nGet the sequence number if an explicit sequence number has …\nSet the keymap for a given keychain.\nSet the keymap for each keychain.\nSign a transaction with all the wallet’s signers, in the …\nWhether we should try to sign a taproot transaction with …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that is yet to be …\nGet a mutable reference of the staged ChangeSet that is …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/indexed_tx_graph.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/indexed_tx_graph.rs.html index 1fc733624a..5cd7dacff8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/indexed_tx_graph.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/indexed_tx_graph.rs.html @@ -357,6 +357,28 @@ 357 358 359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381
    //! Contains the [`IndexedTxGraph`] and associated types. Refer to the
     //! [`IndexedTxGraph`] documentation for more.
     use core::fmt::Debug;
    @@ -449,14 +471,36 @@
     
         /// Apply an `update` directly.
         ///
    -    /// `update` is a [`TxGraph<A>`] and the resultant changes is returned as [`ChangeSet`].
    -    pub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A, I::ChangeSet> {
    -        let graph = self.graph.apply_update(update);
    -        let indexer = self.index_tx_graph_changeset(&graph);
    -        ChangeSet {
    -            tx_graph: graph,
    -            indexer,
    -        }
    +    /// `update` is a [`tx_graph::Update<A>`] and the resultant changes is returned as [`ChangeSet`].
    +    #[cfg(feature = "std")]
    +    #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
    +    pub fn apply_update(&mut self, update: tx_graph::Update<A>) -> ChangeSet<A, I::ChangeSet> {
    +        let tx_graph = self.graph.apply_update(update);
    +        let indexer = self.index_tx_graph_changeset(&tx_graph);
    +        ChangeSet { tx_graph, indexer }
    +    }
    +
    +    /// Apply the given `update` with an optional `seen_at` timestamp.
    +    ///
    +    /// `seen_at` represents when the update is seen (in unix seconds). It is used to determine the
    +    /// `last_seen`s for all transactions in the update which have no corresponding anchor(s). The
    +    /// `last_seen` value is used internally to determine precedence of conflicting unconfirmed
    +    /// transactions (where the transaction with the lower `last_seen` value is omitted from the
    +    /// canonical history).
    +    ///
    +    /// Not setting a `seen_at` value means unconfirmed transactions introduced by this update will
    +    /// not be part of the canonical history of transactions.
    +    ///
    +    /// Use [`apply_update`](IndexedTxGraph::apply_update) to have the `seen_at` value automatically
    +    /// set to the current time.
    +    pub fn apply_update_at(
    +        &mut self,
    +        update: tx_graph::Update<A>,
    +        seen_at: Option<u64>,
    +    ) -> ChangeSet<A, I::ChangeSet> {
    +        let tx_graph = self.graph.apply_update_at(update, seen_at);
    +        let indexer = self.index_tx_graph_changeset(&tx_graph);
    +        ChangeSet { tx_graph, indexer }
         }
     
         /// Insert a floating `txout` of given `outpoint`.
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html
    index 32e2786f1e..5d1e2cfbe6 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html
    @@ -131,6 +131,12 @@
     131
     132
     133
    +134
    +135
    +136
    +137
    +138
    +139
     
    //! This crate is a collection of core structures for [Bitcoin Dev Kit].
     //!
     //! The goal of this crate is to give wallets the mechanisms needed to:
    @@ -150,7 +156,13 @@
     //!
     //! [Bitcoin Dev Kit]: https://bitcoindevkit.org/
     
    -#![no_std]
    +// only enables the `doc_cfg` feature when the `docsrs` configuration attribute is defined
    +#![cfg_attr(docsrs, feature(doc_cfg))]
    +#![cfg_attr(
    +    docsrs,
    +    doc(html_logo_url = "https://github.com/bitcoindevkit/bdk/raw/master/static/bdk.png")
    +)]
    +#![no_std]
     #![warn(missing_docs)]
     
     pub use bitcoin;
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_client.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_client.rs.html
    index ae488d7d47..1ba6391ffc 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_client.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/spk_client.rs.html
    @@ -589,7 +589,7 @@
         alloc::{boxed::Box, collections::VecDeque, vec::Vec},
         collections::BTreeMap,
         local_chain::CheckPoint,
    -    ConfirmationBlockTime, Indexed, TxGraph,
    +    ConfirmationBlockTime, Indexed,
     };
     use bitcoin::{OutPoint, Script, ScriptBuf, Txid};
     
    @@ -931,8 +931,8 @@
     #[must_use]
     #[derive(Debug)]
     pub struct SyncResult<A = ConfirmationBlockTime> {
    -    /// The update to apply to the receiving [`TxGraph`].
    -    pub graph_update: TxGraph<A>,
    +    /// The update to apply to the receiving [`TxGraph`](crate::tx_graph::TxGraph).
    +    pub graph_update: crate::tx_graph::Update<A>,
         /// The update to apply to the receiving [`LocalChain`](crate::local_chain::LocalChain).
         pub chain_update: Option<CheckPoint>,
     }
    @@ -1083,8 +1083,8 @@
     #[derive(Debug)]
     pub struct FullScanResult<K, A = ConfirmationBlockTime> {
         /// The update to apply to the receiving [`LocalChain`](crate::local_chain::LocalChain).
    -    pub graph_update: TxGraph<A>,
    -    /// The update to apply to the receiving [`TxGraph`].
    +    pub graph_update: crate::tx_graph::Update<A>,
    +    /// The update to apply to the receiving [`TxGraph`](crate::tx_graph::TxGraph).
         pub chain_update: Option<CheckPoint>,
         /// Last active indices for the corresponding keychains (`K`).
         pub last_active_indices: BTreeMap<K, u32>,
    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 26845f10d7..54dfee706b 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
    @@ -1581,6 +1581,10 @@
     1581
     1582
     1583
    +1584
    +1585
    +1586
    +1587
     
    //! Module for structures that store and traverse transactions.
     //!
     //! [`TxGraph`] contains transactions and indexes them so you can easily traverse the graph of
    @@ -1653,13 +1657,17 @@
     //!
     //! ```
     //! # use bdk_chain::{Merge, BlockId};
    -//! # use bdk_chain::tx_graph::TxGraph;
    +//! # use bdk_chain::tx_graph::{self, TxGraph};
     //! # use bdk_chain::example_utils::*;
     //! # use bitcoin::Transaction;
    +//! # use std::sync::Arc;
     //! # let tx_a = tx_from_hex(RAW_TX_1);
     //! # let tx_b = tx_from_hex(RAW_TX_2);
     //! let mut graph: TxGraph = TxGraph::default();
    -//! let update = TxGraph::new(vec![tx_a, tx_b]);
    +//!
    +//! let mut update = tx_graph::Update::default();
    +//! update.txs.push(Arc::new(tx_a));
    +//! update.txs.push(Arc::new(tx_b));
     //!
     //! // apply the update graph
     //! let changeset = graph.apply_update(update.clone());
    @@ -1684,6 +1692,62 @@
         ops::{Deref, RangeInclusive},
     };
     
    +/// Data object used to update the [`TxGraph`] with.
    +#[derive(Debug, Clone)]
    +pub struct Update<A = ()> {
    +    /// Full transactions.
    +    pub txs: Vec<Arc<Transaction>>,
    +    /// Floating txouts.
    +    pub txouts: BTreeMap<OutPoint, TxOut>,
    +    /// Transaction anchors.
    +    pub anchors: BTreeSet<(A, Txid)>,
    +    /// Seen at times for transactions.
    +    pub seen_ats: HashMap<Txid, u64>,
    +}
    +
    +impl<A> Default for Update<A> {
    +    fn default() -> Self {
    +        Self {
    +            txs: Default::default(),
    +            txouts: Default::default(),
    +            anchors: Default::default(),
    +            seen_ats: Default::default(),
    +        }
    +    }
    +}
    +
    +impl<A> From<TxGraph<A>> for Update<A> {
    +    fn from(graph: TxGraph<A>) -> Self {
    +        Self {
    +            txs: graph.full_txs().map(|tx_node| tx_node.tx).collect(),
    +            txouts: graph
    +                .floating_txouts()
    +                .map(|(op, txo)| (op, txo.clone()))
    +                .collect(),
    +            anchors: graph.anchors,
    +            seen_ats: graph.last_seen.into_iter().collect(),
    +        }
    +    }
    +}
    +
    +impl<A: Ord + Clone> From<Update<A>> for TxGraph<A> {
    +    fn from(update: Update<A>) -> Self {
    +        let mut graph = TxGraph::<A>::default();
    +        let _ = graph.apply_update_at(update, None);
    +        graph
    +    }
    +}
    +
    +impl<A: Ord> Update<A> {
    +    /// Extend this update with `other`.
    +    pub fn extend(&mut self, other: Update<A>) {
    +        self.txs.extend(other.txs);
    +        self.txouts.extend(other.txouts);
    +        self.anchors.extend(other.anchors);
    +        self.seen_ats.extend(other.seen_ats);
    +    }
    +}
    +
     /// A graph of transactions and spends.
     ///
     /// See the [module-level documentation] for more.
    @@ -2095,28 +2159,66 @@
         ///
         /// [`apply_changeset`]: Self::apply_changeset
         pub fn insert_txout(&mut self, outpoint: OutPoint, txout: TxOut) -> ChangeSet<A> {
    -        let mut update = Self::default();
    -        update.txs.insert(
    -            outpoint.txid,
    -            (
    -                TxNodeInternal::Partial([(outpoint.vout, txout)].into()),
    -                BTreeSet::new(),
    -            ),
    -        );
    -        self.apply_update(update)
    +        let mut changeset = ChangeSet::<A>::default();
    +        let (tx_node, _) = self.txs.entry(outpoint.txid).or_default();
    +        match tx_node {
    +            TxNodeInternal::Whole(_) => {
    +                // ignore this txout we have the full one already.
    +                // NOTE: You might think putting a debug_assert! here to check the output being
    +                // replaced was actually correct is a good idea but the tests have already been
    +                // written assuming this never panics.
    +            }
    +            TxNodeInternal::Partial(partial_tx) => {
    +                match partial_tx.insert(outpoint.vout, txout.clone()) {
    +                    Some(old_txout) => {
    +                        debug_assert_eq!(
    +                            txout, old_txout,
    +                            "txout of the same outpoint should never change"
    +                        );
    +                    }
    +                    None => {
    +                        changeset.txouts.insert(outpoint, txout);
    +                    }
    +                }
    +            }
    +        }
    +        changeset
         }
     
         /// Inserts the given transaction into [`TxGraph`].
         ///
         /// The [`ChangeSet`] returned will be empty if `tx` already exists.
         pub fn insert_tx<T: Into<Arc<Transaction>>>(&mut self, tx: T) -> ChangeSet<A> {
    -        let tx = tx.into();
    -        let mut update = Self::default();
    -        update.txs.insert(
    -            tx.compute_txid(),
    -            (TxNodeInternal::Whole(tx), BTreeSet::new()),
    -        );
    -        self.apply_update(update)
    +        let tx: Arc<Transaction> = tx.into();
    +        let txid = tx.compute_txid();
    +        let mut changeset = ChangeSet::<A>::default();
    +
    +        let (tx_node, _) = self.txs.entry(txid).or_default();
    +        match tx_node {
    +            TxNodeInternal::Whole(existing_tx) => {
    +                debug_assert_eq!(
    +                    existing_tx.as_ref(),
    +                    tx.as_ref(),
    +                    "tx of same txid should never change"
    +                );
    +            }
    +            partial_tx => {
    +                for txin in &tx.input {
    +                    // this means the tx is coinbase so there is no previous output
    +                    if txin.previous_output.is_null() {
    +                        continue;
    +                    }
    +                    self.spends
    +                        .entry(txin.previous_output)
    +                        .or_default()
    +                        .insert(txid);
    +                }
    +                *partial_tx = TxNodeInternal::Whole(tx.clone());
    +                changeset.txs.insert(tx);
    +            }
    +        }
    +
    +        changeset
         }
     
         /// Batch insert unconfirmed transactions.
    @@ -2141,207 +2243,113 @@
         /// The [`ChangeSet`] returned will be empty if graph already knows that `txid` exists in
         /// `anchor`.
         pub fn insert_anchor(&mut self, txid: Txid, anchor: A) -> ChangeSet<A> {
    -        let mut update = Self::default();
    -        update.anchors.insert((anchor, txid));
    -        self.apply_update(update)
    +        let mut changeset = ChangeSet::<A>::default();
    +        if self.anchors.insert((anchor.clone(), txid)) {
    +            let (_tx_node, anchors) = self.txs.entry(txid).or_default();
    +            let _inserted = anchors.insert(anchor.clone());
    +            debug_assert!(
    +                _inserted,
    +                "anchors in `.anchors` and `.txs` should be consistent"
    +            );
    +            changeset.anchors.insert((anchor, txid));
    +        }
    +        changeset
         }
     
         /// Inserts the given `seen_at` for `txid` into [`TxGraph`].
         ///
    -    /// Note that [`TxGraph`] only keeps track of the latest `seen_at`. To batch
    -    /// update all unconfirmed transactions with the latest `seen_at`, see
    -    /// [`update_last_seen_unconfirmed`].
    -    ///
    -    /// [`update_last_seen_unconfirmed`]: Self::update_last_seen_unconfirmed
    +    /// Note that [`TxGraph`] only keeps track of the latest `seen_at`.
         pub fn insert_seen_at(&mut self, txid: Txid, seen_at: u64) -> ChangeSet<A> {
    -        let mut update = Self::default();
    -        update.last_seen.insert(txid, seen_at);
    -        self.apply_update(update)
    -    }
    -
    -    /// Update the last seen time for all unconfirmed transactions.
    -    ///
    -    /// This method updates the last seen unconfirmed time for this [`TxGraph`] by inserting
    -    /// the given `seen_at` for every transaction not yet anchored to a confirmed block,
    -    /// and returns the [`ChangeSet`] after applying all updates to `self`.
    -    ///
    -    /// This is useful for keeping track of the latest time a transaction was seen
    -    /// unconfirmed, which is important for evaluating transaction conflicts in the same
    -    /// [`TxGraph`]. For details of how [`TxGraph`] resolves conflicts, see the docs for
    -    /// [`try_get_chain_position`].
    -    ///
    -    /// A normal use of this method is to call it with the current system time. Although
    -    /// block headers contain a timestamp, using the header time would be less effective
    -    /// at tracking mempool transactions, because it can drift from actual clock time, plus
    -    /// we may want to update a transaction's last seen time repeatedly between blocks.
    -    ///
    -    /// # Example
    -    ///
    -    /// ```rust
    -    /// # use bdk_chain::example_utils::*;
    -    /// # use std::time::UNIX_EPOCH;
    -    /// # let tx = tx_from_hex(RAW_TX_1);
    -    /// # let mut tx_graph = bdk_chain::TxGraph::<()>::new([tx]);
    -    /// let now = std::time::SystemTime::now()
    -    ///     .duration_since(UNIX_EPOCH)
    -    ///     .expect("valid duration")
    -    ///     .as_secs();
    -    /// let changeset = tx_graph.update_last_seen_unconfirmed(now);
    -    /// assert!(!changeset.last_seen.is_empty());
    -    /// ```
    -    ///
    -    /// Note that [`TxGraph`] only keeps track of the latest `seen_at`, so the given time must
    -    /// by strictly greater than what is currently stored for a transaction to have an effect.
    -    /// To insert a last seen time for a single txid, see [`insert_seen_at`].
    -    ///
    -    /// [`insert_seen_at`]: Self::insert_seen_at
    -    /// [`try_get_chain_position`]: Self::try_get_chain_position
    -    pub fn update_last_seen_unconfirmed(&mut self, seen_at: u64) -> ChangeSet<A> {
    -        let mut changeset = ChangeSet::default();
    -        let unanchored_txs: Vec<Txid> = self
    -            .txs
    -            .iter()
    -            .filter_map(
    -                |(&txid, (_, anchors))| {
    -                    if anchors.is_empty() {
    -                        Some(txid)
    -                    } else {
    -                        None
    -                    }
    -                },
    -            )
    -            .collect();
    -
    -        for txid in unanchored_txs {
    -            changeset.merge(self.insert_seen_at(txid, seen_at));
    +        let mut changeset = ChangeSet::<A>::default();
    +        let last_seen = self.last_seen.entry(txid).or_default();
    +        if seen_at > *last_seen {
    +            *last_seen = seen_at;
    +            changeset.last_seen.insert(txid, seen_at);
             }
             changeset
         }
     
    -    /// Extends this graph with another so that `self` becomes the union of the two sets of
    -    /// transactions.
    +    /// Extends this graph with the given `update`.
         ///
         /// The returned [`ChangeSet`] is the set difference between `update` and `self` (transactions that
         /// exist in `update` but not in `self`).
    -    pub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A> {
    -        let changeset = self.determine_changeset(update);
    -        self.apply_changeset(changeset.clone());
    +    #[cfg(feature = "std")]
    +    #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
    +    pub fn apply_update(&mut self, update: Update<A>) -> ChangeSet<A> {
    +        use std::time::*;
    +        let now = SystemTime::now()
    +            .duration_since(UNIX_EPOCH)
    +            .expect("current time must be greater than epoch anchor");
    +        self.apply_update_at(update, Some(now.as_secs()))
    +    }
    +
    +    /// Extends this graph with the given `update` alongside an optional `seen_at` timestamp.
    +    ///
    +    /// `seen_at` represents when the update is seen (in unix seconds). It is used to determine the
    +    /// `last_seen`s for all transactions in the update which have no corresponding anchor(s). The
    +    /// `last_seen` value is used internally to determine precedence of conflicting unconfirmed
    +    /// transactions (where the transaction with the lower `last_seen` value is omitted from the
    +    /// canonical history).
    +    ///
    +    /// Not setting a `seen_at` value means unconfirmed transactions introduced by this update will
    +    /// not be part of the canonical history of transactions.
    +    ///
    +    /// Use [`apply_update`](TxGraph::apply_update) to have the `seen_at` value automatically set
    +    /// to the current time.
    +    pub fn apply_update_at(&mut self, update: Update<A>, seen_at: Option<u64>) -> ChangeSet<A> {
    +        let mut changeset = ChangeSet::<A>::default();
    +        let mut unanchored_txs = HashSet::<Txid>::new();
    +        for tx in update.txs {
    +            if unanchored_txs.insert(tx.compute_txid()) {
    +                changeset.merge(self.insert_tx(tx));
    +            }
    +        }
    +        for (outpoint, txout) in update.txouts {
    +            changeset.merge(self.insert_txout(outpoint, txout));
    +        }
    +        for (anchor, txid) in update.anchors {
    +            unanchored_txs.remove(&txid);
    +            changeset.merge(self.insert_anchor(txid, anchor));
    +        }
    +        for (txid, seen_at) in update.seen_ats {
    +            changeset.merge(self.insert_seen_at(txid, seen_at));
    +        }
    +        if let Some(seen_at) = seen_at {
    +            for txid in unanchored_txs {
    +                changeset.merge(self.insert_seen_at(txid, seen_at));
    +            }
    +        }
             changeset
         }
     
         /// Determines the [`ChangeSet`] between `self` and an empty [`TxGraph`].
         pub fn initial_changeset(&self) -> ChangeSet<A> {
    -        Self::default().determine_changeset(self.clone())
    +        ChangeSet {
    +            txs: self.full_txs().map(|tx_node| tx_node.tx).collect(),
    +            txouts: self
    +                .floating_txouts()
    +                .map(|(op, txout)| (op, txout.clone()))
    +                .collect(),
    +            anchors: self.anchors.clone(),
    +            last_seen: self.last_seen.iter().map(|(&k, &v)| (k, v)).collect(),
    +        }
         }
     
         /// Applies [`ChangeSet`] to [`TxGraph`].
         pub fn apply_changeset(&mut self, changeset: ChangeSet<A>) {
    -        for wrapped_tx in changeset.txs {
    -            let tx = wrapped_tx.as_ref();
    -            let txid = tx.compute_txid();
    -
    -            tx.input
    -                .iter()
    -                .map(|txin| txin.previous_output)
    -                // coinbase spends are not to be counted
    -                .filter(|outpoint| !outpoint.is_null())
    -                // record spend as this tx has spent this outpoint
    -                .for_each(|outpoint| {
    -                    self.spends.entry(outpoint).or_default().insert(txid);
    -                });
    -
    -            match self.txs.get_mut(&txid) {
    -                Some((tx_node @ TxNodeInternal::Partial(_), _)) => {
    -                    *tx_node = TxNodeInternal::Whole(wrapped_tx.clone());
    -                }
    -                Some((TxNodeInternal::Whole(tx), _)) => {
    -                    debug_assert_eq!(
    -                        tx.as_ref().compute_txid(),
    -                        txid,
    -                        "tx should produce txid that is same as key"
    -                    );
    -                }
    -                None => {
    -                    self.txs
    -                        .insert(txid, (TxNodeInternal::Whole(wrapped_tx), BTreeSet::new()));
    -                }
    -            }
    +        for tx in changeset.txs {
    +            let _ = self.insert_tx(tx);
             }
    -
             for (outpoint, txout) in changeset.txouts {
    -            let tx_entry = self.txs.entry(outpoint.txid).or_default();
    -
    -            match tx_entry {
    -                (TxNodeInternal::Whole(_), _) => { /* do nothing since we already have full tx */ }
    -                (TxNodeInternal::Partial(txouts), _) => {
    -                    txouts.insert(outpoint.vout, txout);
    -                }
    -            }
    +            let _ = self.insert_txout(outpoint, txout);
             }
    -
             for (anchor, txid) in changeset.anchors {
    -            if self.anchors.insert((anchor.clone(), txid)) {
    -                let (_, anchors) = self.txs.entry(txid).or_default();
    -                anchors.insert(anchor);
    -            }
    +            let _ = self.insert_anchor(txid, anchor);
             }
    -
    -        for (txid, new_last_seen) in changeset.last_seen {
    -            let last_seen = self.last_seen.entry(txid).or_default();
    -            if new_last_seen > *last_seen {
    -                *last_seen = new_last_seen;
    -            }
    +        for (txid, seen_at) in changeset.last_seen {
    +            let _ = self.insert_seen_at(txid, seen_at);
             }
         }
    -
    -    /// Previews the resultant [`ChangeSet`] when [`Self`] is updated against the `update` graph.
    -    ///
    -    /// The [`ChangeSet`] would be the set difference between `update` and `self` (transactions that
    -    /// exist in `update` but not in `self`).
    -    pub(crate) fn determine_changeset(&self, update: TxGraph<A>) -> ChangeSet<A> {
    -        let mut changeset = ChangeSet::<A>::default();
    -
    -        for (&txid, (update_tx_node, _)) in &update.txs {
    -            match (self.txs.get(&txid), update_tx_node) {
    -                (None, TxNodeInternal::Whole(update_tx)) => {
    -                    changeset.txs.insert(update_tx.clone());
    -                }
    -                (None, TxNodeInternal::Partial(update_txos)) => {
    -                    changeset.txouts.extend(
    -                        update_txos
    -                            .iter()
    -                            .map(|(&vout, txo)| (OutPoint::new(txid, vout), txo.clone())),
    -                    );
    -                }
    -                (Some((TxNodeInternal::Whole(_), _)), _) => {}
    -                (Some((TxNodeInternal::Partial(_), _)), TxNodeInternal::Whole(update_tx)) => {
    -                    changeset.txs.insert(update_tx.clone());
    -                }
    -                (
    -                    Some((TxNodeInternal::Partial(txos), _)),
    -                    TxNodeInternal::Partial(update_txos),
    -                ) => {
    -                    changeset.txouts.extend(
    -                        update_txos
    -                            .iter()
    -                            .filter(|(vout, _)| !txos.contains_key(*vout))
    -                            .map(|(&vout, txo)| (OutPoint::new(txid, vout), txo.clone())),
    -                    );
    -                }
    -            }
    -        }
    -
    -        for (txid, update_last_seen) in update.last_seen {
    -            let prev_last_seen = self.last_seen.get(&txid).copied();
    -            if Some(update_last_seen) > prev_last_seen {
    -                changeset.last_seen.insert(txid, update_last_seen);
    -            }
    -        }
    -
    -        changeset.anchors = update.anchors.difference(&self.anchors).cloned().collect();
    -
    -        changeset
    -    }
     }
     
     impl<A: Anchor> TxGraph<A> {
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_electrum/bdk_electrum_client.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_electrum/bdk_electrum_client.rs.html
    index 2b8390e5d0..29b9012074 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_electrum/bdk_electrum_client.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_electrum/bdk_electrum_client.rs.html
    @@ -533,17 +533,18 @@
     533
     534
     535
    +536
     
    use bdk_chain::{
         bitcoin::{block::Header, BlockHash, OutPoint, ScriptBuf, Transaction, Txid},
         collections::{BTreeMap, HashMap},
         local_chain::CheckPoint,
         spk_client::{FullScanRequest, FullScanResult, SyncRequest, SyncResult},
    -    tx_graph::TxGraph,
    +    tx_graph::{self, TxGraph},
         Anchor, BlockId, ConfirmationBlockTime,
     };
     use electrum_client::{ElectrumApi, Error, HeaderNotification};
     use std::{
    -    collections::BTreeSet,
    +    collections::HashSet,
         sync::{Arc, Mutex},
     };
     
    @@ -673,7 +674,7 @@
                 None => None,
             };
     
    -        let mut graph_update = TxGraph::<ConfirmationBlockTime>::default();
    +        let mut graph_update = tx_graph::Update::<ConfirmationBlockTime>::default();
             let mut last_active_indices = BTreeMap::<K, u32>::default();
             for keychain in request.keychains() {
                 let spks = request.iter_spks(keychain.clone());
    @@ -693,7 +694,7 @@
                 Some((chain_tip, latest_blocks)) => Some(chain_update(
                     chain_tip,
                     &latest_blocks,
    -                graph_update.all_anchors(),
    +                graph_update.anchors.iter().cloned(),
                 )?),
                 _ => None,
             };
    @@ -740,7 +741,7 @@
                 None => None,
             };
     
    -        let mut graph_update = TxGraph::<ConfirmationBlockTime>::default();
    +        let mut graph_update = tx_graph::Update::<ConfirmationBlockTime>::default();
             self.populate_with_spks(
                 &mut graph_update,
                 request
    @@ -762,7 +763,7 @@
                 Some((chain_tip, latest_blocks)) => Some(chain_update(
                     chain_tip,
                     &latest_blocks,
    -                graph_update.all_anchors(),
    +                graph_update.anchors.iter().cloned(),
                 )?),
                 None => None,
             };
    @@ -780,7 +781,7 @@
         /// also included.
         fn populate_with_spks(
             &self,
    -        graph_update: &mut TxGraph<ConfirmationBlockTime>,
    +        graph_update: &mut tx_graph::Update<ConfirmationBlockTime>,
             mut spks: impl Iterator<Item = (u32, ScriptBuf)>,
             stop_gap: usize,
             batch_size: usize,
    @@ -813,7 +814,7 @@
                     }
     
                     for tx_res in spk_history {
    -                    let _ = graph_update.insert_tx(self.fetch_tx(tx_res.tx_hash)?);
    +                    graph_update.txs.push(self.fetch_tx(tx_res.tx_hash)?);
                         self.validate_merkle_for_anchor(graph_update, tx_res.tx_hash, tx_res.height)?;
                     }
                 }
    @@ -826,7 +827,7 @@
         /// included. Anchors of the aforementioned transactions are included.
         fn populate_with_outpoints(
             &self,
    -        graph_update: &mut TxGraph<ConfirmationBlockTime>,
    +        graph_update: &mut tx_graph::Update<ConfirmationBlockTime>,
             outpoints: impl IntoIterator<Item = OutPoint>,
         ) -> Result<(), Error> {
             for outpoint in outpoints {
    @@ -849,7 +850,7 @@
     
                     if !has_residing && res.tx_hash == op_txid {
                         has_residing = true;
    -                    let _ = graph_update.insert_tx(Arc::clone(&op_tx));
    +                    graph_update.txs.push(Arc::clone(&op_tx));
                         self.validate_merkle_for_anchor(graph_update, res.tx_hash, res.height)?;
                     }
     
    @@ -863,7 +864,7 @@
                         if !has_spending {
                             continue;
                         }
    -                    let _ = graph_update.insert_tx(Arc::clone(&res_tx));
    +                    graph_update.txs.push(Arc::clone(&res_tx));
                         self.validate_merkle_for_anchor(graph_update, res.tx_hash, res.height)?;
                     }
                 }
    @@ -874,7 +875,7 @@
         /// Populate the `graph_update` with transactions/anchors of the provided `txids`.
         fn populate_with_txids(
             &self,
    -        graph_update: &mut TxGraph<ConfirmationBlockTime>,
    +        graph_update: &mut tx_graph::Update<ConfirmationBlockTime>,
             txids: impl IntoIterator<Item = Txid>,
         ) -> Result<(), Error> {
             for txid in txids {
    @@ -901,7 +902,7 @@
                     self.validate_merkle_for_anchor(graph_update, txid, r.height)?;
                 }
     
    -            let _ = graph_update.insert_tx(tx);
    +            graph_update.txs.push(tx);
             }
             Ok(())
         }
    @@ -910,7 +911,7 @@
         // An anchor is inserted if the transaction is validated to be in a confirmed block.
         fn validate_merkle_for_anchor(
             &self,
    -        graph_update: &mut TxGraph<ConfirmationBlockTime>,
    +        graph_update: &mut tx_graph::Update<ConfirmationBlockTime>,
             txid: Txid,
             confirmation_height: i32,
         ) -> Result<(), Error> {
    @@ -937,8 +938,7 @@
                 }
     
                 if is_confirmed_tx {
    -                let _ = graph_update.insert_anchor(
    -                    txid,
    +                graph_update.anchors.insert((
                         ConfirmationBlockTime {
                             confirmation_time: header.time as u64,
                             block_id: BlockId {
    @@ -946,7 +946,8 @@
                                 hash: header.block_hash(),
                             },
                         },
    -                );
    +                    txid,
    +                ));
                 }
             }
             Ok(())
    @@ -956,17 +957,18 @@
         // which we do not have by default. This data is needed to calculate the transaction fee.
         fn fetch_prev_txout(
             &self,
    -        graph_update: &mut TxGraph<ConfirmationBlockTime>,
    +        graph_update: &mut tx_graph::Update<ConfirmationBlockTime>,
         ) -> Result<(), Error> {
    -        let full_txs: Vec<Arc<Transaction>> =
    -            graph_update.full_txs().map(|tx_node| tx_node.tx).collect();
    -        for tx in full_txs {
    -            for vin in &tx.input {
    -                let outpoint = vin.previous_output;
    -                let vout = outpoint.vout;
    -                let prev_tx = self.fetch_tx(outpoint.txid)?;
    -                let txout = prev_tx.output[vout as usize].clone();
    -                let _ = graph_update.insert_txout(outpoint, txout);
    +        let mut no_dup = HashSet::<Txid>::new();
    +        for tx in &graph_update.txs {
    +            if no_dup.insert(tx.compute_txid()) {
    +                for vin in &tx.input {
    +                    let outpoint = vin.previous_output;
    +                    let vout = outpoint.vout;
    +                    let prev_tx = self.fetch_tx(outpoint.txid)?;
    +                    let txout = prev_tx.output[vout as usize].clone();
    +                    let _ = graph_update.txouts.insert(outpoint, txout);
    +                }
                 }
             }
             Ok(())
    @@ -1051,7 +1053,7 @@
     fn chain_update<A: Anchor>(
         mut tip: CheckPoint,
         latest_blocks: &BTreeMap<u32, BlockHash>,
    -    anchors: &BTreeSet<(A, Txid)>,
    +    anchors: impl Iterator<Item = (A, Txid)>,
     ) -> Result<CheckPoint, Error> {
         for anchor in anchors {
             let height = anchor.0.anchor_block().height;
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/async_ext.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/async_ext.rs.html
    index ea3de402a0..b60d71e429 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/async_ext.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/async_ext.rs.html
    @@ -652,7 +652,26 @@
     652
     653
     654
    -
    use std::collections::BTreeSet;
    +655
    +656
    +657
    +658
    +659
    +660
    +661
    +662
    +663
    +664
    +665
    +666
    +667
    +668
    +669
    +670
    +671
    +672
    +673
    +
    use std::collections::{BTreeSet, HashSet};
     
     use async_trait::async_trait;
     use bdk_chain::spk_client::{FullScanRequest, FullScanResult, SyncRequest, SyncResult};
    @@ -660,10 +679,9 @@
         bitcoin::{BlockHash, OutPoint, ScriptBuf, Txid},
         collections::BTreeMap,
         local_chain::CheckPoint,
    -    BlockId, ConfirmationBlockTime, TxGraph,
    +    BlockId, ConfirmationBlockTime,
     };
    -use bdk_chain::{Anchor, Indexed};
    -use esplora_client::{Tx, TxStatus};
    +use bdk_chain::{tx_graph, Anchor, Indexed};
     use futures::{stream::FuturesOrdered, TryStreamExt};
     
     use crate::{insert_anchor_from_status, insert_prevouts};
    @@ -726,23 +744,29 @@
                 None
             };
     
    -        let mut graph_update = TxGraph::default();
    +        let mut graph_update = tx_graph::Update::<ConfirmationBlockTime>::default();
    +        let mut inserted_txs = HashSet::<Txid>::new();
             let mut last_active_indices = BTreeMap::<K, u32>::new();
             for keychain in keychains {
                 let keychain_spks = request.iter_spks(keychain.clone());
    -            let (tx_graph, last_active_index) =
    -                fetch_txs_with_keychain_spks(self, keychain_spks, stop_gap, parallel_requests)
    -                    .await?;
    -            let _ = graph_update.apply_update(tx_graph);
    +            let (update, last_active_index) = fetch_txs_with_keychain_spks(
    +                self,
    +                &mut inserted_txs,
    +                keychain_spks,
    +                stop_gap,
    +                parallel_requests,
    +            )
    +            .await?;
    +            graph_update.extend(update);
                 if let Some(last_active_index) = last_active_index {
                     last_active_indices.insert(keychain, last_active_index);
                 }
             }
     
             let chain_update = match (chain_tip, latest_blocks) {
    -            (Some(chain_tip), Some(latest_blocks)) => Some(
    -                chain_update(self, &latest_blocks, &chain_tip, graph_update.all_anchors()).await?,
    -            ),
    +            (Some(chain_tip), Some(latest_blocks)) => {
    +                Some(chain_update(self, &latest_blocks, &chain_tip, &graph_update.anchors).await?)
    +            }
                 _ => None,
             };
     
    @@ -767,20 +791,40 @@
                 None
             };
     
    -        let mut graph_update = TxGraph::<ConfirmationBlockTime>::default();
    -        let _ = graph_update
    -            .apply_update(fetch_txs_with_spks(self, request.iter_spks(), parallel_requests).await?);
    -        let _ = graph_update.apply_update(
    -            fetch_txs_with_txids(self, request.iter_txids(), parallel_requests).await?,
    +        let mut graph_update = tx_graph::Update::<ConfirmationBlockTime>::default();
    +        let mut inserted_txs = HashSet::<Txid>::new();
    +        graph_update.extend(
    +            fetch_txs_with_spks(
    +                self,
    +                &mut inserted_txs,
    +                request.iter_spks(),
    +                parallel_requests,
    +            )
    +            .await?,
    +        );
    +        graph_update.extend(
    +            fetch_txs_with_txids(
    +                self,
    +                &mut inserted_txs,
    +                request.iter_txids(),
    +                parallel_requests,
    +            )
    +            .await?,
             );
    -        let _ = graph_update.apply_update(
    -            fetch_txs_with_outpoints(self, request.iter_outpoints(), parallel_requests).await?,
    +        graph_update.extend(
    +            fetch_txs_with_outpoints(
    +                self,
    +                &mut inserted_txs,
    +                request.iter_outpoints(),
    +                parallel_requests,
    +            )
    +            .await?,
             );
     
             let chain_update = match (chain_tip, latest_blocks) {
    -            (Some(chain_tip), Some(latest_blocks)) => Some(
    -                chain_update(self, &latest_blocks, &chain_tip, graph_update.all_anchors()).await?,
    -            ),
    +            (Some(chain_tip), Some(latest_blocks)) => {
    +                Some(chain_update(self, &latest_blocks, &chain_tip, &graph_update.anchors).await?)
    +            }
                 _ => None,
             };
     
    @@ -906,13 +950,14 @@
     /// Refer to [crate-level docs](crate) for more.
     async fn fetch_txs_with_keychain_spks<I: Iterator<Item = Indexed<ScriptBuf>> + Send>(
         client: &esplora_client::AsyncClient,
    +    inserted_txs: &mut HashSet<Txid>,
         mut keychain_spks: I,
         stop_gap: usize,
         parallel_requests: usize,
    -) -> Result<(TxGraph<ConfirmationBlockTime>, Option<u32>), Error> {
    +) -> Result<(tx_graph::Update<ConfirmationBlockTime>, Option<u32>), Error> {
         type TxsOfSpkIndex = (u32, Vec<esplora_client::Tx>);
     
    -    let mut tx_graph = TxGraph::default();
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
         let mut last_index = Option::<u32>::None;
         let mut last_active_index = Option::<u32>::None;
     
    @@ -948,9 +993,11 @@
                     last_active_index = Some(index);
                 }
                 for tx in txs {
    -                let _ = tx_graph.insert_tx(tx.to_tx());
    -                insert_anchor_from_status(&mut tx_graph, tx.txid, tx.status);
    -                insert_prevouts(&mut tx_graph, tx.vin);
    +                if inserted_txs.insert(tx.txid) {
    +                    update.txs.push(tx.to_tx().into());
    +                }
    +                insert_anchor_from_status(&mut update, tx.txid, tx.status);
    +                insert_prevouts(&mut update, tx.vin);
                 }
             }
     
    @@ -965,7 +1012,7 @@
             }
         }
     
    -    Ok((tx_graph, last_active_index))
    +    Ok((update, last_active_index))
     }
     
     /// Fetch transactions and associated [`ConfirmationBlockTime`]s by scanning `spks`
    @@ -978,20 +1025,22 @@
     /// Refer to [crate-level docs](crate) for more.
     async fn fetch_txs_with_spks<I: IntoIterator<Item = ScriptBuf> + Send>(
         client: &esplora_client::AsyncClient,
    +    inserted_txs: &mut HashSet<Txid>,
         spks: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error>
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error>
     where
         I::IntoIter: Send,
     {
         fetch_txs_with_keychain_spks(
             client,
    +        inserted_txs,
             spks.into_iter().enumerate().map(|(i, spk)| (i as u32, spk)),
             usize::MAX,
             parallel_requests,
         )
         .await
    -    .map(|(tx_graph, _)| tx_graph)
    +    .map(|(update, _)| update)
     }
     
     /// Fetch transactions and associated [`ConfirmationBlockTime`]s by scanning `txids`
    @@ -1002,39 +1051,27 @@
     /// Refer to [crate-level docs](crate) for more.
     async fn fetch_txs_with_txids<I: IntoIterator<Item = Txid> + Send>(
         client: &esplora_client::AsyncClient,
    +    inserted_txs: &mut HashSet<Txid>,
         txids: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error>
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error>
     where
         I::IntoIter: Send,
     {
    -    enum EsploraResp {
    -        TxStatus(TxStatus),
    -        Tx(Option<Tx>),
    -    }
    -
    -    let mut tx_graph = TxGraph::default();
    -    let mut txids = txids.into_iter();
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
    +    // Only fetch for non-inserted txs.
    +    let mut txids = txids
    +        .into_iter()
    +        .filter(|txid| !inserted_txs.contains(txid))
    +        .collect::<Vec<Txid>>()
    +        .into_iter();
         loop {
             let handles = txids
                 .by_ref()
                 .take(parallel_requests)
                 .map(|txid| {
                     let client = client.clone();
    -                let tx_already_exists = tx_graph.get_tx(txid).is_some();
    -                async move {
    -                    if tx_already_exists {
    -                        client
    -                            .get_tx_status(&txid)
    -                            .await
    -                            .map(|s| (txid, EsploraResp::TxStatus(s)))
    -                    } else {
    -                        client
    -                            .get_tx_info(&txid)
    -                            .await
    -                            .map(|t| (txid, EsploraResp::Tx(t)))
    -                    }
    -                }
    +                async move { client.get_tx_info(&txid).await.map(|t| (txid, t)) }
                 })
                 .collect::<FuturesOrdered<_>>();
     
    @@ -1042,21 +1079,17 @@
                 break;
             }
     
    -        for (txid, resp) in handles.try_collect::<Vec<_>>().await? {
    -            match resp {
    -                EsploraResp::TxStatus(status) => {
    -                    insert_anchor_from_status(&mut tx_graph, txid, status);
    -                }
    -                EsploraResp::Tx(Some(tx_info)) => {
    -                    let _ = tx_graph.insert_tx(tx_info.to_tx());
    -                    insert_anchor_from_status(&mut tx_graph, txid, tx_info.status);
    -                    insert_prevouts(&mut tx_graph, tx_info.vin);
    +        for (txid, tx_info) in handles.try_collect::<Vec<_>>().await? {
    +            if let Some(tx_info) = tx_info {
    +                if inserted_txs.insert(txid) {
    +                    update.txs.push(tx_info.to_tx().into());
                     }
    -                _ => continue,
    +                insert_anchor_from_status(&mut update, txid, tx_info.status);
    +                insert_prevouts(&mut update, tx_info.vin);
                 }
             }
         }
    -    Ok(tx_graph)
    +    Ok(update)
     }
     
     /// Fetch transactions and [`ConfirmationBlockTime`]s that contain and spend the provided
    @@ -1067,22 +1100,27 @@
     /// Refer to [crate-level docs](crate) for more.
     async fn fetch_txs_with_outpoints<I: IntoIterator<Item = OutPoint> + Send>(
         client: &esplora_client::AsyncClient,
    +    inserted_txs: &mut HashSet<Txid>,
         outpoints: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error>
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error>
     where
         I::IntoIter: Send,
     {
         let outpoints = outpoints.into_iter().collect::<Vec<_>>();
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
     
         // make sure txs exists in graph and tx statuses are updated
         // TODO: We should maintain a tx cache (like we do with Electrum).
    -    let mut tx_graph = fetch_txs_with_txids(
    -        client,
    -        outpoints.iter().copied().map(|op| op.txid),
    -        parallel_requests,
    -    )
    -    .await?;
    +    update.extend(
    +        fetch_txs_with_txids(
    +            client,
    +            inserted_txs,
    +            outpoints.iter().copied().map(|op| op.txid),
    +            parallel_requests,
    +        )
    +        .await?,
    +    );
     
         // get outpoint spend-statuses
         let mut outpoints = outpoints.into_iter();
    @@ -1106,18 +1144,18 @@
                     Some(txid) => txid,
                     None => continue,
                 };
    -            if tx_graph.get_tx(spend_txid).is_none() {
    +            if !inserted_txs.contains(&spend_txid) {
                     missing_txs.push(spend_txid);
                 }
                 if let Some(spend_status) = op_status.status {
    -                insert_anchor_from_status(&mut tx_graph, spend_txid, spend_status);
    +                insert_anchor_from_status(&mut update, spend_txid, spend_status);
                 }
             }
         }
     
    -    let _ =
    -        tx_graph.apply_update(fetch_txs_with_txids(client, missing_txs, parallel_requests).await?);
    -    Ok(tx_graph)
    +    update
    +        .extend(fetch_txs_with_txids(client, inserted_txs, missing_txs, parallel_requests).await?);
    +    Ok(update)
     }
     
     #[cfg(test)]
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html
    index dad35cbfb4..6395fe5222 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html
    @@ -850,7 +850,15 @@
     850
     851
     852
    -
    use std::collections::BTreeSet;
    +853
    +854
    +855
    +856
    +857
    +858
    +859
    +860
    +
    use std::collections::{BTreeSet, HashSet};
     use std::thread::JoinHandle;
     
     use bdk_chain::collections::BTreeMap;
    @@ -858,10 +866,10 @@
     use bdk_chain::{
         bitcoin::{BlockHash, OutPoint, ScriptBuf, Txid},
         local_chain::CheckPoint,
    -    BlockId, ConfirmationBlockTime, TxGraph,
    +    BlockId, ConfirmationBlockTime,
     };
    -use bdk_chain::{Anchor, Indexed};
    -use esplora_client::{OutputStatus, Tx, TxStatus};
    +use bdk_chain::{tx_graph, Anchor, Indexed};
    +use esplora_client::{OutputStatus, Tx};
     
     use crate::{insert_anchor_from_status, insert_prevouts};
     
    @@ -918,13 +926,19 @@
                 None
             };
     
    -        let mut graph_update = TxGraph::default();
    +        let mut graph_update = tx_graph::Update::default();
    +        let mut inserted_txs = HashSet::<Txid>::new();
             let mut last_active_indices = BTreeMap::<K, u32>::new();
             for keychain in request.keychains() {
                 let keychain_spks = request.iter_spks(keychain.clone());
    -            let (tx_graph, last_active_index) =
    -                fetch_txs_with_keychain_spks(self, keychain_spks, stop_gap, parallel_requests)?;
    -            let _ = graph_update.apply_update(tx_graph);
    +            let (update, last_active_index) = fetch_txs_with_keychain_spks(
    +                self,
    +                &mut inserted_txs,
    +                keychain_spks,
    +                stop_gap,
    +                parallel_requests,
    +            )?;
    +            graph_update.extend(update);
                 if let Some(last_active_index) = last_active_index {
                     last_active_indices.insert(keychain, last_active_index);
                 }
    @@ -935,7 +949,7 @@
                     self,
                     &latest_blocks,
                     &chain_tip,
    -                graph_update.all_anchors(),
    +                &graph_update.anchors,
                 )?),
                 _ => None,
             };
    @@ -961,19 +975,23 @@
                 None
             };
     
    -        let mut graph_update = TxGraph::default();
    -        let _ = graph_update.apply_update(fetch_txs_with_spks(
    +        let mut graph_update = tx_graph::Update::<ConfirmationBlockTime>::default();
    +        let mut inserted_txs = HashSet::<Txid>::new();
    +        graph_update.extend(fetch_txs_with_spks(
                 self,
    +            &mut inserted_txs,
                 request.iter_spks(),
                 parallel_requests,
             )?);
    -        let _ = graph_update.apply_update(fetch_txs_with_txids(
    +        graph_update.extend(fetch_txs_with_txids(
                 self,
    +            &mut inserted_txs,
                 request.iter_txids(),
                 parallel_requests,
             )?);
    -        let _ = graph_update.apply_update(fetch_txs_with_outpoints(
    +        graph_update.extend(fetch_txs_with_outpoints(
                 self,
    +            &mut inserted_txs,
                 request.iter_outpoints(),
                 parallel_requests,
             )?);
    @@ -983,7 +1001,7 @@
                     self,
                     &latest_blocks,
                     &chain_tip,
    -                graph_update.all_anchors(),
    +                &graph_update.anchors,
                 )?),
                 _ => None,
             };
    @@ -1096,13 +1114,14 @@
     
     fn fetch_txs_with_keychain_spks<I: Iterator<Item = Indexed<ScriptBuf>>>(
         client: &esplora_client::BlockingClient,
    +    inserted_txs: &mut HashSet<Txid>,
         mut keychain_spks: I,
         stop_gap: usize,
         parallel_requests: usize,
    -) -> Result<(TxGraph<ConfirmationBlockTime>, Option<u32>), Error> {
    +) -> Result<(tx_graph::Update<ConfirmationBlockTime>, Option<u32>), Error> {
         type TxsOfSpkIndex = (u32, Vec<esplora_client::Tx>);
     
    -    let mut tx_graph = TxGraph::default();
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
         let mut last_index = Option::<u32>::None;
         let mut last_active_index = Option::<u32>::None;
     
    @@ -1141,9 +1160,11 @@
                     last_active_index = Some(index);
                 }
                 for tx in txs {
    -                let _ = tx_graph.insert_tx(tx.to_tx());
    -                insert_anchor_from_status(&mut tx_graph, tx.txid, tx.status);
    -                insert_prevouts(&mut tx_graph, tx.vin);
    +                if inserted_txs.insert(tx.txid) {
    +                    update.txs.push(tx.to_tx().into());
    +                }
    +                insert_anchor_from_status(&mut update, tx.txid, tx.status);
    +                insert_prevouts(&mut update, tx.vin);
                 }
             }
     
    @@ -1158,7 +1179,7 @@
             }
         }
     
    -    Ok((tx_graph, last_active_index))
    +    Ok((update, last_active_index))
     }
     
     /// Fetch transactions and associated [`ConfirmationBlockTime`]s by scanning `spks`
    @@ -1171,16 +1192,18 @@
     /// Refer to [crate-level docs](crate) for more.
     fn fetch_txs_with_spks<I: IntoIterator<Item = ScriptBuf>>(
         client: &esplora_client::BlockingClient,
    +    inserted_txs: &mut HashSet<Txid>,
         spks: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error> {
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error> {
         fetch_txs_with_keychain_spks(
             client,
    +        inserted_txs,
             spks.into_iter().enumerate().map(|(i, spk)| (i as u32, spk)),
             usize::MAX,
             parallel_requests,
         )
    -    .map(|(tx_graph, _)| tx_graph)
    +    .map(|(update, _)| update)
     }
     
     /// Fetch transactions and associated [`ConfirmationBlockTime`]s by scanning `txids`
    @@ -1191,59 +1214,48 @@
     /// Refer to [crate-level docs](crate) for more.
     fn fetch_txs_with_txids<I: IntoIterator<Item = Txid>>(
         client: &esplora_client::BlockingClient,
    +    inserted_txs: &mut HashSet<Txid>,
         txids: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error> {
    -    enum EsploraResp {
    -        TxStatus(TxStatus),
    -        Tx(Option<Tx>),
    -    }
    -
    -    let mut tx_graph = TxGraph::default();
    -    let mut txids = txids.into_iter();
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error> {
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
    +    // Only fetch for non-inserted txs.
    +    let mut txids = txids
    +        .into_iter()
    +        .filter(|txid| !inserted_txs.contains(txid))
    +        .collect::<Vec<Txid>>()
    +        .into_iter();
         loop {
             let handles = txids
                 .by_ref()
                 .take(parallel_requests)
                 .map(|txid| {
                     let client = client.clone();
    -                let tx_already_exists = tx_graph.get_tx(txid).is_some();
                     std::thread::spawn(move || {
    -                    if tx_already_exists {
    -                        client
    -                            .get_tx_status(&txid)
    -                            .map_err(Box::new)
    -                            .map(|s| (txid, EsploraResp::TxStatus(s)))
    -                    } else {
    -                        client
    -                            .get_tx_info(&txid)
    -                            .map_err(Box::new)
    -                            .map(|t| (txid, EsploraResp::Tx(t)))
    -                    }
    +                    client
    +                        .get_tx_info(&txid)
    +                        .map_err(Box::new)
    +                        .map(|t| (txid, t))
                     })
                 })
    -            .collect::<Vec<JoinHandle<Result<(Txid, EsploraResp), Error>>>>();
    +            .collect::<Vec<JoinHandle<Result<(Txid, Option<Tx>), Error>>>>();
     
             if handles.is_empty() {
                 break;
             }
     
             for handle in handles {
    -            let (txid, resp) = handle.join().expect("thread must not panic")?;
    -            match resp {
    -                EsploraResp::TxStatus(status) => {
    -                    insert_anchor_from_status(&mut tx_graph, txid, status);
    +            let (txid, tx_info) = handle.join().expect("thread must not panic")?;
    +            if let Some(tx_info) = tx_info {
    +                if inserted_txs.insert(txid) {
    +                    update.txs.push(tx_info.to_tx().into());
                     }
    -                EsploraResp::Tx(Some(tx_info)) => {
    -                    let _ = tx_graph.insert_tx(tx_info.to_tx());
    -                    insert_anchor_from_status(&mut tx_graph, txid, tx_info.status);
    -                    insert_prevouts(&mut tx_graph, tx_info.vin);
    -                }
    -                _ => continue,
    +                insert_anchor_from_status(&mut update, txid, tx_info.status);
    +                insert_prevouts(&mut update, tx_info.vin);
                 }
             }
         }
    -    Ok(tx_graph)
    +    Ok(update)
     }
     
     /// Fetch transactions and [`ConfirmationBlockTime`]s that contain and spend the provided
    @@ -1254,18 +1266,21 @@
     /// Refer to [crate-level docs](crate) for more.
     fn fetch_txs_with_outpoints<I: IntoIterator<Item = OutPoint>>(
         client: &esplora_client::BlockingClient,
    +    inserted_txs: &mut HashSet<Txid>,
         outpoints: I,
         parallel_requests: usize,
    -) -> Result<TxGraph<ConfirmationBlockTime>, Error> {
    +) -> Result<tx_graph::Update<ConfirmationBlockTime>, Error> {
         let outpoints = outpoints.into_iter().collect::<Vec<_>>();
    +    let mut update = tx_graph::Update::<ConfirmationBlockTime>::default();
     
         // make sure txs exists in graph and tx statuses are updated
         // TODO: We should maintain a tx cache (like we do with Electrum).
    -    let mut tx_graph = fetch_txs_with_txids(
    +    update.extend(fetch_txs_with_txids(
             client,
    +        inserted_txs,
             outpoints.iter().map(|op| op.txid),
             parallel_requests,
    -    )?;
    +    )?);
     
         // get outpoint spend-statuses
         let mut outpoints = outpoints.into_iter();
    @@ -1294,22 +1309,23 @@
                         Some(txid) => txid,
                         None => continue,
                     };
    -                if tx_graph.get_tx(spend_txid).is_none() {
    +                if !inserted_txs.contains(&spend_txid) {
                         missing_txs.push(spend_txid);
                     }
                     if let Some(spend_status) = op_status.status {
    -                    insert_anchor_from_status(&mut tx_graph, spend_txid, spend_status);
    +                    insert_anchor_from_status(&mut update, spend_txid, spend_status);
                     }
                 }
             }
         }
     
    -    let _ = tx_graph.apply_update(fetch_txs_with_txids(
    +    update.extend(fetch_txs_with_txids(
             client,
    +        inserted_txs,
             missing_txs,
             parallel_requests,
         )?);
    -    Ok(tx_graph)
    +    Ok(update)
     }
     
     #[cfg(test)]
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/lib.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/lib.rs.html
    index ce004e8e81..5b481d8629 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/lib.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/lib.rs.html
    @@ -108,7 +108,7 @@
     //! [`example_esplora`]: https://github.com/bitcoindevkit/bdk/tree/master/example-crates/example_esplora
     
     use bdk_chain::bitcoin::{Amount, OutPoint, TxOut, Txid};
    -use bdk_chain::{BlockId, ConfirmationBlockTime, TxGraph};
    +use bdk_chain::{tx_graph, BlockId, ConfirmationBlockTime};
     use esplora_client::TxStatus;
     
     pub use esplora_client;
    @@ -124,7 +124,7 @@
     pub use async_ext::*;
     
     fn insert_anchor_from_status(
    -    tx_graph: &mut TxGraph<ConfirmationBlockTime>,
    +    update: &mut tx_graph::Update<ConfirmationBlockTime>,
         txid: Txid,
         status: TxStatus,
     ) {
    @@ -139,21 +139,21 @@
                 block_id: BlockId { height, hash },
                 confirmation_time: time,
             };
    -        let _ = tx_graph.insert_anchor(txid, anchor);
    +        update.anchors.insert((anchor, txid));
         }
     }
     
     /// Inserts floating txouts into `tx_graph` using [`Vin`](esplora_client::api::Vin)s returned by
     /// Esplora.
     fn insert_prevouts(
    -    tx_graph: &mut TxGraph<ConfirmationBlockTime>,
    +    update: &mut tx_graph::Update<ConfirmationBlockTime>,
         esplora_inputs: impl IntoIterator<Item = esplora_client::api::Vin>,
     ) {
         let prevouts = esplora_inputs
             .into_iter()
             .filter_map(|vin| Some((vin.txid, vin.vout, vin.prevout?)));
         for (prev_txid, prev_vout, prev_txout) in prevouts {
    -        let _ = tx_graph.insert_txout(
    +        update.txouts.insert(
                 OutPoint::new(prev_txid, prev_vout),
                 TxOut {
                     script_pubkey: prev_txout.scriptpubkey,
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/export.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/export.rs.html
    index a63348624e..1ea3ab065f 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/export.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/export.rs.html
    @@ -364,6 +364,7 @@
     364
     365
     366
    +367
     
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -585,13 +586,13 @@
         use bdk_chain::{BlockId, ConfirmationBlockTime};
         use bitcoin::hashes::Hash;
         use bitcoin::{transaction, BlockHash, Network, Transaction};
    +    use chain::tx_graph;
     
         use super::*;
         use crate::Wallet;
     
         fn get_test_wallet(descriptor: &str, change_descriptor: &str, network: Network) -> Wallet {
             use crate::wallet::Update;
    -        use bdk_chain::TxGraph;
             let mut wallet = Wallet::create(descriptor.to_string(), change_descriptor.to_string())
                 .network(network)
                 .create_wallet_no_persist()
    @@ -619,11 +620,12 @@
                 confirmation_time: 0,
                 block_id,
             };
    -        let mut graph = TxGraph::default();
    -        let _ = graph.insert_anchor(txid, anchor);
             wallet
                 .apply_update(Update {
    -                graph,
    +                graph: tx_graph::Update {
    +                    anchors: [(anchor, txid)].into_iter().collect(),
    +                    ..Default::default()
    +                },
                     ..Default::default()
                 })
                 .unwrap();
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    index d6ce759692..1137e36ec2 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    @@ -2597,6 +2597,41 @@
     2597
     2598
     2599
    +2600
    +2601
    +2602
    +2603
    +2604
    +2605
    +2606
    +2607
    +2608
    +2609
    +2610
    +2611
    +2612
    +2613
    +2614
    +2615
    +2616
    +2617
    +2618
    +2619
    +2620
    +2621
    +2622
    +2623
    +2624
    +2625
    +2626
    +2627
    +2628
    +2629
    +2630
    +2631
    +2632
    +2633
    +2634
     
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -2731,7 +2766,7 @@
         pub last_active_indices: BTreeMap<KeychainKind, u32>,
     
         /// Update for the wallet's internal [`TxGraph`].
    -    pub graph: TxGraph<ConfirmationBlockTime>,
    +    pub graph: chain::tx_graph::Update<ConfirmationBlockTime>,
     
         /// Update for the wallet's internal [`LocalChain`].
         ///
    @@ -4876,7 +4911,34 @@
         /// to persist staged wallet changes see [`Wallet::reveal_next_address`]. `
         ///
         /// [`commit`]: Self::commit
    +    #[cfg(feature = "std")]
    +    #[cfg_attr(docsrs, doc(cfg(feature = "std")))]
         pub fn apply_update(&mut self, update: impl Into<Update>) -> Result<(), CannotConnectError> {
    +        use std::time::*;
    +        let now = SystemTime::now()
    +            .duration_since(UNIX_EPOCH)
    +            .expect("time now must surpass epoch anchor");
    +        self.apply_update_at(update, Some(now.as_secs()))
    +    }
    +
    +    /// Applies an `update` alongside an optional `seen_at` timestamp and stages the changes.
    +    ///
    +    /// `seen_at` represents when the update is seen (in unix seconds). It is used to determine the
    +    /// `last_seen`s for all transactions in the update which have no corresponding anchor(s). The
    +    /// `last_seen` value is used internally to determine precedence of conflicting unconfirmed
    +    /// transactions (where the transaction with the lower `last_seen` value is omitted from the
    +    /// canonical history).
    +    ///
    +    /// Not setting a `seen_at` value means unconfirmed transactions introduced by this update will
    +    /// not be part of the canonical history of transactions.
    +    ///
    +    /// Use [`apply_update`](Wallet::apply_update) to have the `seen_at` value automatically set to
    +    /// the current time.
    +    pub fn apply_update_at(
    +        &mut self,
    +        update: impl Into<Update>,
    +        seen_at: Option<u64>,
    +    ) -> Result<(), CannotConnectError> {
             let update = update.into();
             let mut changeset = match update.chain {
                 Some(chain_update) => ChangeSet::from(self.chain.apply_update(chain_update)?),
    @@ -4888,7 +4950,11 @@
                 .index
                 .reveal_to_target_multi(&update.last_active_indices);
             changeset.merge(index_changeset.into());
    -        changeset.merge(self.indexed_graph.apply_update(update.graph).into());
    +        changeset.merge(
    +            self.indexed_graph
    +                .apply_update_at(update.graph, seen_at)
    +                .into(),
    +        );
             self.stage.merge(changeset);
             Ok(())
         }
    @@ -5161,7 +5227,7 @@
     macro_rules! doctest_wallet {
         () => {{
             use $crate::bitcoin::{BlockHash, Transaction, absolute, TxOut, Network, hashes::Hash};
    -        use $crate::chain::{ConfirmationBlockTime, BlockId, TxGraph};
    +        use $crate::chain::{ConfirmationBlockTime, BlockId, TxGraph, tx_graph};
             use $crate::{Update, KeychainKind, Wallet};
             let descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/0/*)";
             let change_descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/1/*)";
    @@ -5189,9 +5255,13 @@
                 confirmation_time: 50_000,
                 block_id,
             };
    -        let mut graph = TxGraph::default();
    -        let _ = graph.insert_anchor(txid, anchor);
    -        let update = Update { graph, ..Default::default() };
    +        let update = Update {
    +            graph: tx_graph::Update {
    +                anchors: [(anchor, txid)].into_iter().collect(),
    +                ..Default::default()
    +            },
    +            ..Default::default()
    +        };
             wallet.apply_update(update).unwrap();
             wallet
         }}
    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 f64022a851..4416872059 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
    @@ -274,12 +274,6 @@
     274
     275
     276
    -277
    -278
    -279
    -280
    -281
    -282
     
    use std::io::{self, Write};
     
     use bdk_chain::{
    @@ -411,7 +405,7 @@
         // Tell the electrum client about the txs we've already got locally so it doesn't re-download them
         client.populate_tx_cache(&*graph.lock().unwrap());
     
    -    let (chain_update, mut graph_update, keychain_update) = match electrum_cmd.clone() {
    +    let (chain_update, graph_update, keychain_update) = match electrum_cmd.clone() {
             ElectrumCommands::Scan {
                 stop_gap,
                 scan_options,
    @@ -530,12 +524,6 @@
             }
         };
     
    -    let now = std::time::UNIX_EPOCH
    -        .elapsed()
    -        .expect("must get time")
    -        .as_secs();
    -    let _ = graph_update.update_last_seen_unconfirmed(now);
    -
         let db_changeset = {
             let mut chain = chain.lock().unwrap();
             let mut graph = graph.lock().unwrap();
    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
    index 2fac019d70..f456c1b146 100644
    --- 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
    @@ -285,14 +285,6 @@
     285
     286
     287
    -288
    -289
    -290
    -291
    -292
    -293
    -294
    -295
     
    use core::f32;
     use std::{
         collections::BTreeSet,
    @@ -461,14 +453,10 @@
                 // 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 mut update = client
    +            let update = client
                     .full_scan(request, *stop_gap, scan_options.parallel_requests)
                     .context("scanning for transactions")?;
     
    -            // We want to keep track of the latest time a transaction was seen unconfirmed.
    -            let now = std::time::UNIX_EPOCH.elapsed().unwrap().as_secs();
    -            let _ = update.graph_update.update_last_seen_unconfirmed(now);
    -
                 let mut graph = graph.lock().expect("mutex must not be poisoned");
                 let mut chain = chain.lock().expect("mutex must not be poisoned");
                 // Because we did a stop gap based scan we are likely to have some updates to our
    @@ -560,11 +548,7 @@
                     }
                 }
     
    -            let mut update = client.sync(request, scan_options.parallel_requests)?;
    -
    -            // Update last seen unconfirmed
    -            let now = std::time::UNIX_EPOCH.elapsed().unwrap().as_secs();
    -            let _ = update.graph_update.update_last_seen_unconfirmed(now);
    +            let update = client.sync(request, scan_options.parallel_requests)?;
     
                 (
                     chain
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
    index 3fead26c55..d9acc9c5ad 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
    @@ -100,9 +100,6 @@
     100
     101
     102
    -103
    -104
    -105
     
    use bdk_wallet::file_store::Store;
     use bdk_wallet::Wallet;
     use std::io::Write;
    @@ -169,10 +166,7 @@
             }
         });
     
    -    let mut update = client.full_scan(request, STOP_GAP, BATCH_SIZE, false)?;
    -
    -    let now = std::time::UNIX_EPOCH.elapsed().unwrap().as_secs();
    -    let _ = update.graph_update.update_last_seen_unconfirmed(now);
    +    let update = client.full_scan(request, STOP_GAP, BATCH_SIZE, false)?;
     
         println!();
     
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
    index e4f6aa90d1..06d97c01c9 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
    @@ -91,8 +91,6 @@
     91
     92
     93
    -94
    -95
     
    use std::{collections::BTreeSet, io::Write};
     
     use anyhow::Ok;
    @@ -152,11 +150,9 @@
             }
         });
     
    -    let mut update = client
    +    let update = client
             .full_scan(request, STOP_GAP, PARALLEL_REQUESTS)
             .await?;
    -    let now = std::time::UNIX_EPOCH.elapsed().unwrap().as_secs();
    -    let _ = update.graph_update.update_last_seen_unconfirmed(now);
     
         wallet.apply_update(update)?;
         wallet.persist(&mut conn)?;
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
    index a98e99e0bd..9d433fb972 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
    @@ -93,8 +93,6 @@
     93
     94
     95
    -96
    -97
     
    use std::{collections::BTreeSet, io::Write};
     
     use bdk_esplora::{esplora_client, EsploraExt};
    @@ -156,9 +154,7 @@
             }
         });
     
    -    let mut update = client.full_scan(request, STOP_GAP, PARALLEL_REQUESTS)?;
    -    let now = std::time::UNIX_EPOCH.elapsed().unwrap().as_secs();
    -    let _ = update.graph_update.update_last_seen_unconfirmed(now);
    +    let update = client.full_scan(request, STOP_GAP, PARALLEL_REQUESTS)?;
     
         wallet.apply_update(update)?;
         if let Some(changeset) = wallet.take_staged() {
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js
    index 85f7d2890d..294fb93f1b 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/clone/trait.Clone.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"bdk_chain":[["impl Clone for ConfirmationTime"],["impl Clone for ApplyHeaderError"],["impl Clone for ChangeSet"],["impl Clone for AlterCheckPointError"],["impl Clone for CannotConnectError"],["impl Clone for ChangeSet"],["impl Clone for CheckPoint"],["impl Clone for LocalChain"],["impl Clone for MissingGenesisError"],["impl Clone for SyncProgress"],["impl Clone for Balance"],["impl Clone for BlockId"],["impl Clone for ConfirmationBlockTime"],["impl Clone for DescriptorId"],["impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>"],["impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>"],["impl<'i, I: Clone> Clone for SyncItem<'i, I>"],["impl<A: Clone> Clone for ChainPosition<A>"],["impl<A: Clone> Clone for FullTxOut<A>"],["impl<A: Clone> Clone for ChangeSet<A>"],["impl<A: Clone> Clone for TxGraph<A>"],["impl<A: Clone, IA: Clone> Clone for ChangeSet<A, IA>"],["impl<D: Clone> Clone for SpkIterator<D>"],["impl<I: Clone> Clone for SpkTxOutIndex<I>"],["impl<K: Clone> Clone for InsertDescriptorError<K>"],["impl<K: Clone> Clone for KeychainTxOutIndex<K>"]],
    +"bdk_chain":[["impl Clone for ConfirmationTime"],["impl Clone for ApplyHeaderError"],["impl Clone for ChangeSet"],["impl Clone for AlterCheckPointError"],["impl Clone for CannotConnectError"],["impl Clone for ChangeSet"],["impl Clone for CheckPoint"],["impl Clone for LocalChain"],["impl Clone for MissingGenesisError"],["impl Clone for SyncProgress"],["impl Clone for Balance"],["impl Clone for BlockId"],["impl Clone for ConfirmationBlockTime"],["impl Clone for DescriptorId"],["impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>"],["impl<'a, T: Clone, A: Clone> Clone for TxNode<'a, T, A>"],["impl<'i, I: Clone> Clone for SyncItem<'i, I>"],["impl<A: Clone> Clone for ChainPosition<A>"],["impl<A: Clone> Clone for FullTxOut<A>"],["impl<A: Clone> Clone for ChangeSet<A>"],["impl<A: Clone> Clone for TxGraph<A>"],["impl<A: Clone> Clone for Update<A>"],["impl<A: Clone, IA: Clone> Clone for ChangeSet<A, IA>"],["impl<D: Clone> Clone for SpkIterator<D>"],["impl<I: Clone> Clone for SpkTxOutIndex<I>"],["impl<K: Clone> Clone for InsertDescriptorError<K>"],["impl<K: Clone> Clone for KeychainTxOutIndex<K>"]],
     "bdk_wallet":[["impl Clone for PkOrF"],["impl Clone for Satisfaction"],["impl Clone for SatisfiableItem"],["impl Clone for KeychainKind"],["impl Clone for Utxo"],["impl Clone for MiniscriptPsbtError"],["impl Clone for ScriptContextEnum"],["impl Clone for SignerContext"],["impl Clone for SignerId"],["impl Clone for TapLeavesOptions"],["impl Clone for ChangeSpendPolicy"],["impl Clone for TxOrdering"],["impl Clone for BranchAndBoundCoinSelection"],["impl Clone for LargestFirstCoinSelection"],["impl Clone for OldestFirstCoinSelection"],["impl Clone for Condition"],["impl Clone for Policy"],["impl Clone for PrivateKeyGenerateOptions"],["impl Clone for SignOptions"],["impl Clone for SignerOrdering"],["impl Clone for SignersContainer"],["impl Clone for AddressInfo"],["impl Clone for ChangeSet"],["impl Clone for LocalOutput"],["impl Clone for Update"],["impl Clone for WeightedUtxo"],["impl<'a> Clone for BuildSatisfaction<'a>"],["impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs>"],["impl<K: Clone + DerivableKey<Legacy>> Clone for Bip44<K>"],["impl<K: Clone + DerivableKey<Legacy>> Clone for Bip44Public<K>"],["impl<K: Clone + DerivableKey<Segwitv0>> Clone for Bip49<K>"],["impl<K: Clone + DerivableKey<Segwitv0>> Clone for Bip49Public<K>"],["impl<K: Clone + DerivableKey<Segwitv0>> Clone for Bip84<K>"],["impl<K: Clone + DerivableKey<Segwitv0>> Clone for Bip84Public<K>"],["impl<K: Clone + DerivableKey<Tap>> Clone for Bip86<K>"],["impl<K: Clone + DerivableKey<Tap>> Clone for Bip86Public<K>"],["impl<K: Clone + IntoDescriptorKey<Legacy>> Clone for P2Pkh<K>"],["impl<K: Clone + IntoDescriptorKey<Segwitv0>> Clone for P2Wpkh<K>"],["impl<K: Clone + IntoDescriptorKey<Segwitv0>> Clone for P2Wpkh_P2Sh<K>"],["impl<K: Clone + IntoDescriptorKey<Tap>> Clone for P2TR<K>"],["impl<K: Clone, Ctx: ScriptContext> Clone for GeneratedKey<K, Ctx>"],["impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>"]],
     "example_bitcoind_rpc_polling":[["impl Clone for RpcCommands"],["impl Clone for RpcArgs"]],
     "example_cli":[["impl Clone for AddressCmd"],["impl Clone for CoinSelectionAlgo"],["impl Clone for Keychain"],["impl Clone for TxOutCmd"],["impl Clone for ChangeSet"],["impl<CS: Clone + Subcommand, S: Clone + Args> Clone for Commands<CS, S>"],["impl<S: Clone + Args> Clone for PsbtCmd<S>"]],
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js
    index e5aba555e5..5cdbc08be0 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"bdk_chain":[["impl From<(&u32, &BlockHash)> for BlockId"],["impl From<(u32, BlockHash)> for BlockId"],["impl From<ChainPosition<ConfirmationBlockTime>> for ConfirmationTime"],["impl From<BlockId> for (u32, BlockHash)"],["impl From<DescriptorId> for Hash"],["impl From<Hash> for DescriptorId"],["impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>"],["impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>"],["impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet"],["impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>"],["impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>"],["impl<T> From<T> for Impl<T>"]],
    +"bdk_chain":[["impl From<(&u32, &BlockHash)> for BlockId"],["impl From<(u32, BlockHash)> for BlockId"],["impl From<ChainPosition<ConfirmationBlockTime>> for ConfirmationTime"],["impl From<BlockId> for (u32, BlockHash)"],["impl From<DescriptorId> for Hash"],["impl From<Hash> for DescriptorId"],["impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>"],["impl<A> From<TxGraph<A>> for Update<A>"],["impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>"],["impl<A: Ord + Clone> From<Update<A>> for TxGraph<A>"],["impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet"],["impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>"],["impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>"],["impl<T> From<T> for Impl<T>"]],
     "bdk_file_store":[["impl From<Error> for FileError"],["impl From<Error> for IterError"]],
     "bdk_wallet":[["impl From<Error> for CreateTxError"],["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<LoadMismatch> for LoadError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<KeyError> for Error"],["impl From<bool> for Satisfaction"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet"],["impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for CreateTxError"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Fingerprint> for SignerId"],["impl From<FullScanResult<KeychainKind>> for Update"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<ParsePublicKeyError> for Error"],["impl From<SyncResult> for Update"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"],["impl<E> From<LoadMismatch> for LoadWithPersistError<E>"]],
     "example_bitcoind_rpc_polling":[["impl From<RpcArgs> for Auth"]]
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js
    index 34679f0f9f..d521eab938 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/default/trait.Default.js
    @@ -1,5 +1,5 @@
     (function() {var implementors = {
    -"bdk_chain":[["impl Default for ChangeSet"],["impl Default for ChangeSet"],["impl Default for Balance"],["impl Default for BlockId"],["impl Default for ConfirmationBlockTime"],["impl<A> Default for SyncResult<A>"],["impl<A> Default for ChangeSet<A>"],["impl<A> Default for TxGraph<A>"],["impl<A, I: Default> Default for IndexedTxGraph<A, I>"],["impl<A, IA: Default> Default for ChangeSet<A, IA>"],["impl<I> Default for SpkTxOutIndex<I>"],["impl<I> Default for SyncRequest<I>"],["impl<I> Default for SyncRequestBuilder<I>"],["impl<K> Default for KeychainTxOutIndex<K>"],["impl<K> Default for FullScanRequest<K>"],["impl<K> Default for FullScanRequestBuilder<K>"],["impl<K, A> Default for FullScanResult<K, A>"]],
    +"bdk_chain":[["impl Default for ChangeSet"],["impl Default for ChangeSet"],["impl Default for Balance"],["impl Default for BlockId"],["impl Default for ConfirmationBlockTime"],["impl<A> Default for SyncResult<A>"],["impl<A> Default for ChangeSet<A>"],["impl<A> Default for TxGraph<A>"],["impl<A> Default for Update<A>"],["impl<A, I: Default> Default for IndexedTxGraph<A, I>"],["impl<A, IA: Default> Default for ChangeSet<A, IA>"],["impl<I> Default for SpkTxOutIndex<I>"],["impl<I> Default for SyncRequest<I>"],["impl<I> Default for SyncRequestBuilder<I>"],["impl<K> Default for KeychainTxOutIndex<K>"],["impl<K> Default for FullScanRequest<K>"],["impl<K> Default for FullScanRequestBuilder<K>"],["impl<K, A> Default for FullScanResult<K, A>"]],
     "bdk_testenv":[["impl<'a> Default for Config<'a>"]],
     "bdk_wallet":[["impl Default for TapLeavesOptions"],["impl Default for ChangeSpendPolicy"],["impl Default for TxOrdering"],["impl Default for BranchAndBoundCoinSelection"],["impl Default for LargestFirstCoinSelection"],["impl Default for OldestFirstCoinSelection"],["impl Default for Condition"],["impl Default for PrivateKeyGenerateOptions"],["impl Default for SignOptions"],["impl Default for SignerOrdering"],["impl Default for SignersContainer"],["impl Default for ChangeSet"],["impl Default for LoadParams"],["impl Default for Update"]],
     "example_cli":[["impl Default for CoinSelectionAlgo"],["impl Default for ChangeSet"]]
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js
    index 278ec20430..03f738f762 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/fmt/trait.Debug.js
    @@ -1,6 +1,6 @@
     (function() {var implementors = {
     "bdk_bitcoind_rpc":[["impl<B: Debug> Debug for BlockEvent<B>"]],
    -"bdk_chain":[["impl Debug for ConfirmationTime"],["impl Debug for ApplyHeaderError"],["impl Debug for CalculateFeeError"],["impl Debug for ChangeSet"],["impl Debug for AlterCheckPointError"],["impl Debug for CannotConnectError"],["impl Debug for ChangeSet"],["impl Debug for CheckPoint"],["impl Debug for LocalChain"],["impl Debug for MissingGenesisError"],["impl Debug for SyncProgress"],["impl Debug for Balance"],["impl Debug for BlockId"],["impl Debug for ConfirmationBlockTime"],["impl Debug for DescriptorId"],["impl<'a, T: Debug, A: Debug> Debug for CanonicalTx<'a, T, A>"],["impl<'a, T: Debug, A: Debug> Debug for TxNode<'a, T, A>"],["impl<'i, I: Debug> Debug for SyncItem<'i, I>"],["impl<A: Debug> Debug for ChainPosition<A>"],["impl<A: Debug> Debug for SyncResult<A>"],["impl<A: Debug> Debug for FullTxOut<A>"],["impl<A: Debug> Debug for ChangeSet<A>"],["impl<A: Debug> Debug for TxGraph<A>"],["impl<A: Debug, I: Debug> Debug for IndexedTxGraph<A, I>"],["impl<A: Debug, IA: Debug> Debug for ChangeSet<A, IA>"],["impl<I: Debug> Debug for SpkTxOutIndex<I>"],["impl<K: Debug> Debug for InsertDescriptorError<K>"],["impl<K: Debug> Debug for KeychainTxOutIndex<K>"],["impl<K: Debug, A: Debug> Debug for FullScanResult<K, A>"]],
    +"bdk_chain":[["impl Debug for ConfirmationTime"],["impl Debug for ApplyHeaderError"],["impl Debug for CalculateFeeError"],["impl Debug for ChangeSet"],["impl Debug for AlterCheckPointError"],["impl Debug for CannotConnectError"],["impl Debug for ChangeSet"],["impl Debug for CheckPoint"],["impl Debug for LocalChain"],["impl Debug for MissingGenesisError"],["impl Debug for SyncProgress"],["impl Debug for Balance"],["impl Debug for BlockId"],["impl Debug for ConfirmationBlockTime"],["impl Debug for DescriptorId"],["impl<'a, T: Debug, A: Debug> Debug for CanonicalTx<'a, T, A>"],["impl<'a, T: Debug, A: Debug> Debug for TxNode<'a, T, A>"],["impl<'i, I: Debug> Debug for SyncItem<'i, I>"],["impl<A: Debug> Debug for ChainPosition<A>"],["impl<A: Debug> Debug for SyncResult<A>"],["impl<A: Debug> Debug for FullTxOut<A>"],["impl<A: Debug> Debug for ChangeSet<A>"],["impl<A: Debug> Debug for TxGraph<A>"],["impl<A: Debug> Debug for Update<A>"],["impl<A: Debug, I: Debug> Debug for IndexedTxGraph<A, I>"],["impl<A: Debug, IA: Debug> Debug for ChangeSet<A, IA>"],["impl<I: Debug> Debug for SpkTxOutIndex<I>"],["impl<K: Debug> Debug for InsertDescriptorError<K>"],["impl<K: Debug> Debug for KeychainTxOutIndex<K>"],["impl<K: Debug, A: Debug> Debug for FullScanResult<K, A>"]],
     "bdk_electrum":[["impl<E: Debug> Debug for BdkElectrumClient<E>"]],
     "bdk_file_store":[["impl Debug for FileError"],["impl Debug for IterError"],["impl<C> Debug for Store<C>
    where\n C: Sync + Send + Debug,
    "],["impl<C: Debug> Debug for AggregateChangesetsError<C>"]], "bdk_hwi":[["impl Debug for HWISigner"]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/iter/traits/iterator/trait.Iterator.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/iter/traits/iterator/trait.Iterator.js index df62b2d433..a22f63d437 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/iter/traits/iterator/trait.Iterator.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/iter/traits/iterator/trait.Iterator.js @@ -1,4 +1,4 @@ (function() {var implementors = { "bdk_chain":[["impl Iterator for CheckPointIter"],["impl<'g, A, F, O> Iterator for TxAncestors<'g, A, F>
    where\n F: FnMut(usize, Arc<Transaction>) -> Option<O>,
    "],["impl<'g, A, F, O> Iterator for TxDescendants<'g, A, F>
    where\n F: FnMut(usize, Txid) -> Option<O>,
    "],["impl<D> Iterator for SpkIterator<D>
    where\n D: Borrow<Descriptor<DescriptorPublicKey>>,
    "]], -"bdk_file_store":[["impl<'t, T> Iterator for EntryIter<'t, T>
    where\n T: DeserializeOwned,
    "]] +"bdk_file_store":[["impl<'t, T> Iterator for EntryIter<'t, T>
    where\n T: DeserializeOwned,
    "]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js index c0331aec4a..ab94fb70a4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Freeze.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> Freeze for Emitter<'c, C>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> Freeze for BlockEvent<B>
    where\n B: Freeze,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl Freeze for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Freeze for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Freeze for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Freeze for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Freeze for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Freeze for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Freeze for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Freeze for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Freeze for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Freeze for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Freeze for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Freeze for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Freeze for Balance",1,["bdk_chain::balance::Balance"]],["impl Freeze for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Freeze for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Freeze for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>
    where\n T: Freeze,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Freeze for TxNode<'a, T, A>
    where\n T: Freeze,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Freeze for TxAncestors<'g, A, F>
    where\n F: Freeze,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Freeze for TxDescendants<'g, A, F>
    where\n F: Freeze,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Freeze for SyncItem<'i, I>
    where\n I: Freeze,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Freeze for ChainPosition<A>
    where\n A: Freeze,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Freeze for SyncResult<A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Freeze for FullTxOut<A>
    where\n A: Freeze,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Freeze for ChangeSet<A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Freeze for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> Freeze for IndexedTxGraph<A, I>
    where\n I: Freeze,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Freeze for ChangeSet<A, IA>
    where\n IA: Freeze,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Freeze for SpkIterator<D>
    where\n D: Freeze,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Freeze for SpkTxOutIndex<I>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Freeze for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Freeze for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> !Freeze for InsertDescriptorError<K>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Freeze for KeychainTxOutIndex<K>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Freeze for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Freeze for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Freeze for FullScanResult<K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Freeze for Impl<T>
    where\n T: Freeze,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl Freeze for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Freeze for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Freeze for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Freeze for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Freeze for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Freeze for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Freeze for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Freeze for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Freeze for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Freeze for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Freeze for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Freeze for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Freeze for Balance",1,["bdk_chain::balance::Balance"]],["impl Freeze for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Freeze for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Freeze for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Freeze for CanonicalTx<'a, T, A>
    where\n T: Freeze,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Freeze for TxNode<'a, T, A>
    where\n T: Freeze,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Freeze for TxAncestors<'g, A, F>
    where\n F: Freeze,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Freeze for TxDescendants<'g, A, F>
    where\n F: Freeze,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Freeze for SyncItem<'i, I>
    where\n I: Freeze,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Freeze for ChainPosition<A>
    where\n A: Freeze,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Freeze for SyncResult<A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Freeze for FullTxOut<A>
    where\n A: Freeze,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Freeze for ChangeSet<A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Freeze for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> Freeze for Update<A>",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> Freeze for IndexedTxGraph<A, I>
    where\n I: Freeze,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Freeze for ChangeSet<A, IA>
    where\n IA: Freeze,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Freeze for SpkIterator<D>
    where\n D: Freeze,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Freeze for SpkTxOutIndex<I>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Freeze for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Freeze for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> !Freeze for InsertDescriptorError<K>",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Freeze for KeychainTxOutIndex<K>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Freeze for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Freeze for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Freeze for FullScanResult<K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Freeze for Impl<T>
    where\n T: Freeze,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> !Freeze for BdkElectrumClient<E>",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl Freeze for FileError",1,["bdk_file_store::FileError"]],["impl Freeze for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> Freeze for EntryIter<'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> Freeze for AggregateChangesetsError<C>
    where\n C: Freeze,
    ",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> Freeze for Store<C>",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl Freeze for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js index 4f908c8bee..537fce416a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Send.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> Send for Emitter<'c, C>
    where\n C: Sync,
    ",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> Send for BlockEvent<B>
    where\n B: Send,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl Send for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Send for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Send for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Send for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Send for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Send for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Send for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Send for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Send for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Send for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Send for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Send for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Send for Balance",1,["bdk_chain::balance::Balance"]],["impl Send for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Send for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Send for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Send for CanonicalTx<'a, T, A>
    where\n T: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Send for TxNode<'a, T, A>
    where\n T: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Send for TxAncestors<'g, A, F>
    where\n F: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Send for TxDescendants<'g, A, F>
    where\n F: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Send for SyncItem<'i, I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Send for ChainPosition<A>
    where\n A: Send,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Send for SyncResult<A>
    where\n A: Send,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Send for FullTxOut<A>
    where\n A: Send,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Send for ChangeSet<A>
    where\n A: Send,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Send for TxGraph<A>
    where\n A: Send,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> Send for IndexedTxGraph<A, I>
    where\n I: Send,\n A: Send,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Send for ChangeSet<A, IA>
    where\n IA: Send,\n A: Send,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Send for SpkIterator<D>
    where\n D: Send,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Send for SpkTxOutIndex<I>
    where\n I: Send,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Send for SyncRequest<I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Send for SyncRequestBuilder<I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> Send for InsertDescriptorError<K>
    where\n K: Send,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Send for KeychainTxOutIndex<K>
    where\n K: Send,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Send for FullScanRequest<K>
    where\n K: Send,
    ",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Send for FullScanRequestBuilder<K>
    where\n K: Send,
    ",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Send for FullScanResult<K, A>
    where\n K: Send,\n A: Send,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Send for Impl<T>
    where\n T: Send,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl Send for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Send for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Send for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Send for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Send for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Send for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Send for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Send for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Send for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Send for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Send for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Send for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Send for Balance",1,["bdk_chain::balance::Balance"]],["impl Send for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Send for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Send for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Send for CanonicalTx<'a, T, A>
    where\n T: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Send for TxNode<'a, T, A>
    where\n T: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Send for TxAncestors<'g, A, F>
    where\n F: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Send for TxDescendants<'g, A, F>
    where\n F: Send,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Send for SyncItem<'i, I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Send for ChainPosition<A>
    where\n A: Send,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Send for SyncResult<A>
    where\n A: Send,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Send for FullTxOut<A>
    where\n A: Send,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Send for ChangeSet<A>
    where\n A: Send,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Send for TxGraph<A>
    where\n A: Send,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> Send for Update<A>
    where\n A: Send,
    ",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> Send for IndexedTxGraph<A, I>
    where\n I: Send,\n A: Send,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Send for ChangeSet<A, IA>
    where\n IA: Send,\n A: Send,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Send for SpkIterator<D>
    where\n D: Send,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Send for SpkTxOutIndex<I>
    where\n I: Send,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Send for SyncRequest<I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Send for SyncRequestBuilder<I>
    where\n I: Send,
    ",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> Send for InsertDescriptorError<K>
    where\n K: Send,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Send for KeychainTxOutIndex<K>
    where\n K: Send,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Send for FullScanRequest<K>
    where\n K: Send,
    ",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Send for FullScanRequestBuilder<K>
    where\n K: Send,
    ",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Send for FullScanResult<K, A>
    where\n K: Send,\n A: Send,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Send for Impl<T>
    where\n T: Send,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> Send for BdkElectrumClient<E>
    where\n E: Send,
    ",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl Send for FileError",1,["bdk_file_store::FileError"]],["impl Send for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> Send for EntryIter<'t, T>
    where\n T: Send,
    ",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> Send for AggregateChangesetsError<C>
    where\n C: Send,
    ",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> Send for Store<C>",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl Send for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js index c7382a6cdf..22dacdc1a0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Sync.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> Sync for Emitter<'c, C>
    where\n C: Sync,
    ",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> Sync for BlockEvent<B>
    where\n B: Sync,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl Sync for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Sync for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Sync for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Sync for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Sync for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Sync for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Sync for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Sync for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Sync for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Sync for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Sync for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Sync for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Sync for Balance",1,["bdk_chain::balance::Balance"]],["impl Sync for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Sync for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Sync for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Sync for CanonicalTx<'a, T, A>
    where\n T: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Sync for TxNode<'a, T, A>
    where\n T: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Sync for TxAncestors<'g, A, F>
    where\n F: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Sync for TxDescendants<'g, A, F>
    where\n F: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Sync for SyncItem<'i, I>
    where\n I: Sync,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Sync for ChainPosition<A>
    where\n A: Sync,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Sync for SyncResult<A>
    where\n A: Sync,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Sync for FullTxOut<A>
    where\n A: Sync,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Sync for ChangeSet<A>
    where\n A: Sync,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Sync for TxGraph<A>
    where\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> Sync for IndexedTxGraph<A, I>
    where\n I: Sync,\n A: Sync,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Sync for ChangeSet<A, IA>
    where\n IA: Sync,\n A: Sync,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Sync for SpkIterator<D>
    where\n D: Sync,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !Sync for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !Sync for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> Sync for SpkTxOutIndex<I>
    where\n I: Sync,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !Sync for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !Sync for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> Sync for InsertDescriptorError<K>
    where\n K: Sync,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Sync for KeychainTxOutIndex<K>
    where\n K: Sync,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> Sync for FullScanResult<K, A>
    where\n K: Sync,\n A: Sync,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Sync for Impl<T>
    where\n T: Sync,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl Sync for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Sync for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Sync for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Sync for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Sync for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Sync for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Sync for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Sync for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Sync for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Sync for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Sync for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Sync for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Sync for Balance",1,["bdk_chain::balance::Balance"]],["impl Sync for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Sync for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Sync for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Sync for CanonicalTx<'a, T, A>
    where\n T: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Sync for TxNode<'a, T, A>
    where\n T: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Sync for TxAncestors<'g, A, F>
    where\n F: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Sync for TxDescendants<'g, A, F>
    where\n F: Sync,\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Sync for SyncItem<'i, I>
    where\n I: Sync,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Sync for ChainPosition<A>
    where\n A: Sync,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Sync for SyncResult<A>
    where\n A: Sync,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Sync for FullTxOut<A>
    where\n A: Sync,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Sync for ChangeSet<A>
    where\n A: Sync,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Sync for TxGraph<A>
    where\n A: Sync,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> Sync for Update<A>
    where\n A: Sync,
    ",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> Sync for IndexedTxGraph<A, I>
    where\n I: Sync,\n A: Sync,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Sync for ChangeSet<A, IA>
    where\n IA: Sync,\n A: Sync,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Sync for SpkIterator<D>
    where\n D: Sync,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !Sync for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !Sync for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> Sync for SpkTxOutIndex<I>
    where\n I: Sync,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !Sync for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !Sync for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> Sync for InsertDescriptorError<K>
    where\n K: Sync,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Sync for KeychainTxOutIndex<K>
    where\n K: Sync,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> Sync for FullScanResult<K, A>
    where\n K: Sync,\n A: Sync,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Sync for Impl<T>
    where\n T: Sync,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> Sync for BdkElectrumClient<E>
    where\n E: Sync,
    ",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl Sync for FileError",1,["bdk_file_store::FileError"]],["impl Sync for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> Sync for EntryIter<'t, T>
    where\n T: Sync,
    ",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> Sync for AggregateChangesetsError<C>
    where\n C: Sync,
    ",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> Sync for Store<C>",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl Sync for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js index faf7b750c9..f34d870039 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/marker/trait.Unpin.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> Unpin for Emitter<'c, C>",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> Unpin for BlockEvent<B>
    where\n B: Unpin,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl Unpin for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Unpin for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Unpin for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Unpin for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Unpin for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Unpin for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Unpin for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Unpin for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Unpin for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Unpin for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Unpin for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Unpin for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Unpin for Balance",1,["bdk_chain::balance::Balance"]],["impl Unpin for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Unpin for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Unpin for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>
    where\n T: Unpin,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Unpin for TxNode<'a, T, A>
    where\n T: Unpin,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Unpin for TxAncestors<'g, A, F>
    where\n F: Unpin,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Unpin for TxDescendants<'g, A, F>
    where\n F: Unpin,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Unpin for SyncItem<'i, I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Unpin for ChainPosition<A>
    where\n A: Unpin,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Unpin for SyncResult<A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Unpin for FullTxOut<A>
    where\n A: Unpin,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Unpin for ChangeSet<A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Unpin for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> Unpin for IndexedTxGraph<A, I>
    where\n I: Unpin,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Unpin for ChangeSet<A, IA>
    where\n IA: Unpin,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Unpin for SpkIterator<D>
    where\n D: Unpin,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Unpin for SpkTxOutIndex<I>
    where\n I: Unpin,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Unpin for SyncRequest<I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Unpin for SyncRequestBuilder<I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> Unpin for InsertDescriptorError<K>
    where\n K: Unpin,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Unpin for KeychainTxOutIndex<K>
    where\n K: Unpin,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Unpin for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Unpin for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Unpin for FullScanResult<K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Unpin for Impl<T>
    where\n T: Unpin,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl Unpin for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl Unpin for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl Unpin for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl Unpin for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl Unpin for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl Unpin for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl Unpin for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl Unpin for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl Unpin for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl Unpin for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl Unpin for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl Unpin for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl Unpin for Balance",1,["bdk_chain::balance::Balance"]],["impl Unpin for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl Unpin for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl Unpin for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>
    where\n T: Unpin,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> Unpin for TxNode<'a, T, A>
    where\n T: Unpin,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> Unpin for TxAncestors<'g, A, F>
    where\n F: Unpin,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> Unpin for TxDescendants<'g, A, F>
    where\n F: Unpin,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> Unpin for SyncItem<'i, I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> Unpin for ChainPosition<A>
    where\n A: Unpin,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> Unpin for SyncResult<A>",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> Unpin for FullTxOut<A>
    where\n A: Unpin,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> Unpin for ChangeSet<A>",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> Unpin for TxGraph<A>",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> Unpin for Update<A>",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> Unpin for IndexedTxGraph<A, I>
    where\n I: Unpin,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> Unpin for ChangeSet<A, IA>
    where\n IA: Unpin,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> Unpin for SpkIterator<D>
    where\n D: Unpin,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I> Unpin for SpkTxOutIndex<I>
    where\n I: Unpin,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<I> Unpin for SyncRequest<I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I> Unpin for SyncRequestBuilder<I>
    where\n I: Unpin,
    ",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<K> Unpin for InsertDescriptorError<K>
    where\n K: Unpin,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> Unpin for KeychainTxOutIndex<K>
    where\n K: Unpin,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K> Unpin for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> Unpin for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K, A> Unpin for FullScanResult<K, A>",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> Unpin for Impl<T>
    where\n T: Unpin,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> Unpin for BdkElectrumClient<E>
    where\n E: Unpin,
    ",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl Unpin for FileError",1,["bdk_file_store::FileError"]],["impl Unpin for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> Unpin for EntryIter<'t, T>
    where\n T: Unpin,
    ",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> Unpin for AggregateChangesetsError<C>
    where\n C: Unpin,
    ",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> Unpin for Store<C>
    where\n C: Unpin,
    ",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl Unpin for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js index bc2e2e0956..1ee21f6dd0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> RefUnwindSafe for Emitter<'c, C>
    where\n C: RefUnwindSafe,
    ",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> RefUnwindSafe for BlockEvent<B>
    where\n B: RefUnwindSafe,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl RefUnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl RefUnwindSafe for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl RefUnwindSafe for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl RefUnwindSafe for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl RefUnwindSafe for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl RefUnwindSafe for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl RefUnwindSafe for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl RefUnwindSafe for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl RefUnwindSafe for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl RefUnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl RefUnwindSafe for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl RefUnwindSafe for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl RefUnwindSafe for Balance",1,["bdk_chain::balance::Balance"]],["impl RefUnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl RefUnwindSafe for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl RefUnwindSafe for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>
    where\n T: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> RefUnwindSafe for TxNode<'a, T, A>
    where\n T: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> RefUnwindSafe for TxAncestors<'g, A, F>
    where\n F: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> RefUnwindSafe for TxDescendants<'g, A, F>
    where\n F: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> RefUnwindSafe for SyncItem<'i, I>
    where\n I: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> RefUnwindSafe for ChainPosition<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> RefUnwindSafe for SyncResult<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> RefUnwindSafe for FullTxOut<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> RefUnwindSafe for ChangeSet<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> RefUnwindSafe for TxGraph<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>
    where\n I: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> RefUnwindSafe for ChangeSet<A, IA>
    where\n IA: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> RefUnwindSafe for SpkIterator<D>
    where\n D: RefUnwindSafe,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !RefUnwindSafe for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !RefUnwindSafe for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> RefUnwindSafe for SpkTxOutIndex<I>
    where\n I: RefUnwindSafe,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !RefUnwindSafe for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !RefUnwindSafe for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> RefUnwindSafe for InsertDescriptorError<K>
    where\n K: RefUnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> RefUnwindSafe for KeychainTxOutIndex<K>
    where\n K: RefUnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> RefUnwindSafe for FullScanResult<K, A>
    where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> RefUnwindSafe for Impl<T>
    where\n T: RefUnwindSafe,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl RefUnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl RefUnwindSafe for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl RefUnwindSafe for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl RefUnwindSafe for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl RefUnwindSafe for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl RefUnwindSafe for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl RefUnwindSafe for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl RefUnwindSafe for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl RefUnwindSafe for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl RefUnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl RefUnwindSafe for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl RefUnwindSafe for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl RefUnwindSafe for Balance",1,["bdk_chain::balance::Balance"]],["impl RefUnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl RefUnwindSafe for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl RefUnwindSafe for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>
    where\n T: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> RefUnwindSafe for TxNode<'a, T, A>
    where\n T: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> RefUnwindSafe for TxAncestors<'g, A, F>
    where\n F: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> RefUnwindSafe for TxDescendants<'g, A, F>
    where\n F: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> RefUnwindSafe for SyncItem<'i, I>
    where\n I: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> RefUnwindSafe for ChainPosition<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> RefUnwindSafe for SyncResult<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> RefUnwindSafe for FullTxOut<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> RefUnwindSafe for ChangeSet<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> RefUnwindSafe for TxGraph<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> RefUnwindSafe for Update<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>
    where\n I: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> RefUnwindSafe for ChangeSet<A, IA>
    where\n IA: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> RefUnwindSafe for SpkIterator<D>
    where\n D: RefUnwindSafe,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !RefUnwindSafe for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !RefUnwindSafe for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> RefUnwindSafe for SpkTxOutIndex<I>
    where\n I: RefUnwindSafe,
    ",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !RefUnwindSafe for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !RefUnwindSafe for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> RefUnwindSafe for InsertDescriptorError<K>
    where\n K: RefUnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> RefUnwindSafe for KeychainTxOutIndex<K>
    where\n K: RefUnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> RefUnwindSafe for FullScanResult<K, A>
    where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> RefUnwindSafe for Impl<T>
    where\n T: RefUnwindSafe,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> RefUnwindSafe for BdkElectrumClient<E>
    where\n E: RefUnwindSafe,
    ",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl !RefUnwindSafe for FileError",1,["bdk_file_store::FileError"]],["impl !RefUnwindSafe for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> RefUnwindSafe for EntryIter<'t, T>
    where\n T: RefUnwindSafe,
    ",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> !RefUnwindSafe for AggregateChangesetsError<C>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> RefUnwindSafe for Store<C>
    where\n C: RefUnwindSafe,
    ",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl !RefUnwindSafe for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js index 0ac13197c7..c0d6e55d3c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,6 +1,6 @@ (function() {var implementors = { "bdk_bitcoind_rpc":[["impl<'c, C> UnwindSafe for Emitter<'c, C>
    where\n C: RefUnwindSafe,
    ",1,["bdk_bitcoind_rpc::Emitter"]],["impl<B> UnwindSafe for BlockEvent<B>
    where\n B: UnwindSafe,
    ",1,["bdk_bitcoind_rpc::BlockEvent"]]], -"bdk_chain":[["impl UnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl UnwindSafe for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl UnwindSafe for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl UnwindSafe for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl UnwindSafe for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl UnwindSafe for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl UnwindSafe for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl UnwindSafe for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl UnwindSafe for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl UnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl UnwindSafe for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl UnwindSafe for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl UnwindSafe for Balance",1,["bdk_chain::balance::Balance"]],["impl UnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl UnwindSafe for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl UnwindSafe for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>
    where\n T: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> UnwindSafe for TxNode<'a, T, A>
    where\n T: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> UnwindSafe for TxAncestors<'g, A, F>
    where\n F: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> UnwindSafe for TxDescendants<'g, A, F>
    where\n F: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> UnwindSafe for SyncItem<'i, I>
    where\n I: UnwindSafe,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> UnwindSafe for ChainPosition<A>
    where\n A: UnwindSafe,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> UnwindSafe for SyncResult<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> UnwindSafe for FullTxOut<A>
    where\n A: UnwindSafe,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> UnwindSafe for ChangeSet<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> UnwindSafe for TxGraph<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A, I> UnwindSafe for IndexedTxGraph<A, I>
    where\n I: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> UnwindSafe for ChangeSet<A, IA>
    where\n IA: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> UnwindSafe for SpkIterator<D>
    where\n D: UnwindSafe,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !UnwindSafe for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !UnwindSafe for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> UnwindSafe for SpkTxOutIndex<I>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !UnwindSafe for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !UnwindSafe for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> UnwindSafe for InsertDescriptorError<K>
    where\n K: UnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> UnwindSafe for KeychainTxOutIndex<K>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> UnwindSafe for FullScanResult<K, A>
    where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> UnwindSafe for Impl<T>
    where\n T: UnwindSafe,
    ",1,["bdk_chain::Impl"]]], +"bdk_chain":[["impl UnwindSafe for ConfirmationTime",1,["bdk_chain::chain_data::ConfirmationTime"]],["impl UnwindSafe for ApplyHeaderError",1,["bdk_chain::local_chain::ApplyHeaderError"]],["impl UnwindSafe for CalculateFeeError",1,["bdk_chain::tx_graph::CalculateFeeError"]],["impl UnwindSafe for ChangeSet",1,["bdk_chain::indexer::keychain_txout::ChangeSet"]],["impl UnwindSafe for AlterCheckPointError",1,["bdk_chain::local_chain::AlterCheckPointError"]],["impl UnwindSafe for CannotConnectError",1,["bdk_chain::local_chain::CannotConnectError"]],["impl UnwindSafe for ChangeSet",1,["bdk_chain::local_chain::ChangeSet"]],["impl UnwindSafe for CheckPoint",1,["bdk_chain::local_chain::CheckPoint"]],["impl UnwindSafe for CheckPointIter",1,["bdk_chain::local_chain::CheckPointIter"]],["impl UnwindSafe for LocalChain",1,["bdk_chain::local_chain::LocalChain"]],["impl UnwindSafe for MissingGenesisError",1,["bdk_chain::local_chain::MissingGenesisError"]],["impl UnwindSafe for SyncProgress",1,["bdk_chain::spk_client::SyncProgress"]],["impl UnwindSafe for Balance",1,["bdk_chain::balance::Balance"]],["impl UnwindSafe for BlockId",1,["bdk_chain::chain_data::BlockId"]],["impl UnwindSafe for ConfirmationBlockTime",1,["bdk_chain::chain_data::ConfirmationBlockTime"]],["impl UnwindSafe for DescriptorId",1,["bdk_chain::descriptor_ext::DescriptorId"]],["impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>
    where\n T: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::CanonicalTx"]],["impl<'a, T, A> UnwindSafe for TxNode<'a, T, A>
    where\n T: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxNode"]],["impl<'g, A, F> UnwindSafe for TxAncestors<'g, A, F>
    where\n F: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxAncestors"]],["impl<'g, A, F> UnwindSafe for TxDescendants<'g, A, F>
    where\n F: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxDescendants"]],["impl<'i, I> UnwindSafe for SyncItem<'i, I>
    where\n I: UnwindSafe,
    ",1,["bdk_chain::spk_client::SyncItem"]],["impl<A> UnwindSafe for ChainPosition<A>
    where\n A: UnwindSafe,
    ",1,["bdk_chain::chain_data::ChainPosition"]],["impl<A> UnwindSafe for SyncResult<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::SyncResult"]],["impl<A> UnwindSafe for FullTxOut<A>
    where\n A: UnwindSafe,
    ",1,["bdk_chain::chain_data::FullTxOut"]],["impl<A> UnwindSafe for ChangeSet<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::ChangeSet"]],["impl<A> UnwindSafe for TxGraph<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::TxGraph"]],["impl<A> UnwindSafe for Update<A>
    where\n A: RefUnwindSafe,
    ",1,["bdk_chain::tx_graph::Update"]],["impl<A, I> UnwindSafe for IndexedTxGraph<A, I>
    where\n I: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::IndexedTxGraph"]],["impl<A, IA> UnwindSafe for ChangeSet<A, IA>
    where\n IA: UnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::indexed_tx_graph::ChangeSet"]],["impl<D> UnwindSafe for SpkIterator<D>
    where\n D: UnwindSafe,
    ",1,["bdk_chain::spk_iter::SpkIterator"]],["impl<I = ()> !UnwindSafe for SyncRequest<I>",1,["bdk_chain::spk_client::SyncRequest"]],["impl<I = ()> !UnwindSafe for SyncRequestBuilder<I>",1,["bdk_chain::spk_client::SyncRequestBuilder"]],["impl<I> UnwindSafe for SpkTxOutIndex<I>",1,["bdk_chain::indexer::spk_txout::SpkTxOutIndex"]],["impl<K> !UnwindSafe for FullScanRequest<K>",1,["bdk_chain::spk_client::FullScanRequest"]],["impl<K> !UnwindSafe for FullScanRequestBuilder<K>",1,["bdk_chain::spk_client::FullScanRequestBuilder"]],["impl<K> UnwindSafe for InsertDescriptorError<K>
    where\n K: UnwindSafe,
    ",1,["bdk_chain::indexer::keychain_txout::InsertDescriptorError"]],["impl<K> UnwindSafe for KeychainTxOutIndex<K>",1,["bdk_chain::indexer::keychain_txout::KeychainTxOutIndex"]],["impl<K, A> UnwindSafe for FullScanResult<K, A>
    where\n K: RefUnwindSafe,\n A: RefUnwindSafe,
    ",1,["bdk_chain::spk_client::FullScanResult"]],["impl<T> UnwindSafe for Impl<T>
    where\n T: UnwindSafe,
    ",1,["bdk_chain::Impl"]]], "bdk_electrum":[["impl<E> UnwindSafe for BdkElectrumClient<E>
    where\n E: UnwindSafe,
    ",1,["bdk_electrum::bdk_electrum_client::BdkElectrumClient"]]], "bdk_file_store":[["impl !UnwindSafe for FileError",1,["bdk_file_store::FileError"]],["impl !UnwindSafe for IterError",1,["bdk_file_store::entry_iter::IterError"]],["impl<'t, T> !UnwindSafe for EntryIter<'t, T>",1,["bdk_file_store::entry_iter::EntryIter"]],["impl<C> !UnwindSafe for AggregateChangesetsError<C>",1,["bdk_file_store::store::AggregateChangesetsError"]],["impl<C> UnwindSafe for Store<C>
    where\n C: UnwindSafe,
    ",1,["bdk_file_store::store::Store"]]], "bdk_hwi":[["impl UnwindSafe for HWISigner",1,["bdk_hwi::signer::HWISigner"]]], diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/from_sql/trait.FromSql.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/from_sql/trait.FromSql.js index b45afd9e65..dab80e6c9f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/from_sql/trait.FromSql.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/from_sql/trait.FromSql.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"bdk_chain":[["impl FromSql for Impl<DescriptorId>"],["impl FromSql for Impl<Amount>"],["impl FromSql for Impl<BlockHash>"],["impl FromSql for Impl<Descriptor<DescriptorPublicKey>>"],["impl FromSql for Impl<Network>"],["impl FromSql for Impl<ScriptBuf>"],["impl FromSql for Impl<Transaction>"],["impl FromSql for Impl<Txid>"],["impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>"]] +"bdk_chain":[["impl FromSql for Impl<DescriptorId>"],["impl FromSql for Impl<Amount>"],["impl FromSql for Impl<BlockHash>"],["impl FromSql for Impl<Descriptor<DescriptorPublicKey>>"],["impl FromSql for Impl<Network>"],["impl FromSql for Impl<ScriptBuf>"],["impl FromSql for Impl<Transaction>"],["impl FromSql for Impl<Txid>"],["impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/to_sql/trait.ToSql.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/to_sql/trait.ToSql.js index 2f39c23fbf..667d4c2512 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/to_sql/trait.ToSql.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/rusqlite/types/to_sql/trait.ToSql.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"bdk_chain":[["impl ToSql for Impl<DescriptorId>"],["impl ToSql for Impl<Amount>"],["impl ToSql for Impl<BlockHash>"],["impl ToSql for Impl<Descriptor<DescriptorPublicKey>>"],["impl ToSql for Impl<Network>"],["impl ToSql for Impl<ScriptBuf>"],["impl ToSql for Impl<Transaction>"],["impl ToSql for Impl<Txid>"],["impl<A: Anchor + Serialize> ToSql for Impl<A>"]] +"bdk_chain":[["impl ToSql for Impl<DescriptorId>"],["impl ToSql for Impl<Amount>"],["impl ToSql for Impl<BlockHash>"],["impl ToSql for Impl<Descriptor<DescriptorPublicKey>>"],["impl ToSql for Impl<Network>"],["impl ToSql for Impl<ScriptBuf>"],["impl ToSql for Impl<Transaction>"],["impl ToSql for Impl<Txid>"],["impl<A: Anchor + Serialize> ToSql for Impl<A>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/de/trait.Deserialize.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/de/trait.Deserialize.js index 9873ba0eca..a4b33ce390 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/de/trait.Deserialize.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/de/trait.Deserialize.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"bdk_chain":[["impl<'de> Deserialize<'de> for ConfirmationTime"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for Balance"],["impl<'de> Deserialize<'de> for BlockId"],["impl<'de> Deserialize<'de> for ConfirmationBlockTime"],["impl<'de> Deserialize<'de> for DescriptorId"],["impl<'de, A> Deserialize<'de> for ChangeSet<A>
    where\n A: Ord + Deserialize<'de>,
    "],["impl<'de, A, IA> Deserialize<'de> for ChangeSet<A, IA>
    where\n A: Ord + Deserialize<'de>,\n IA: Deserialize<'de>,
    "]], -"bdk_wallet":[["impl<'de> Deserialize<'de> for KeychainKind"],["impl<'de> Deserialize<'de> for FullyNodedExport"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for LocalOutput"]], -"example_cli":[["impl<'de> Deserialize<'de> for Keychain"],["impl<'de> Deserialize<'de> for ChangeSet"]] +"bdk_chain":[["impl<'de> Deserialize<'de> for ConfirmationTime"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for Balance"],["impl<'de> Deserialize<'de> for BlockId"],["impl<'de> Deserialize<'de> for ConfirmationBlockTime"],["impl<'de> Deserialize<'de> for DescriptorId"],["impl<'de, A> Deserialize<'de> for ChangeSet<A>
    where\n A: Ord + Deserialize<'de>,
    "],["impl<'de, A, IA> Deserialize<'de> for ChangeSet<A, IA>
    where\n A: Ord + Deserialize<'de>,\n IA: Deserialize<'de>,
    "]], +"bdk_wallet":[["impl<'de> Deserialize<'de> for KeychainKind"],["impl<'de> Deserialize<'de> for FullyNodedExport"],["impl<'de> Deserialize<'de> for ChangeSet"],["impl<'de> Deserialize<'de> for LocalOutput"]], +"example_cli":[["impl<'de> Deserialize<'de> for Keychain"],["impl<'de> Deserialize<'de> for ChangeSet"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/ser/trait.Serialize.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/ser/trait.Serialize.js index bf4de96458..b3f0417b38 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/ser/trait.Serialize.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/serde/ser/trait.Serialize.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"bdk_chain":[["impl Serialize for ConfirmationTime"],["impl Serialize for ChangeSet"],["impl Serialize for ChangeSet"],["impl Serialize for Balance"],["impl Serialize for BlockId"],["impl Serialize for ConfirmationBlockTime"],["impl Serialize for DescriptorId"],["impl<A> Serialize for ChangeSet<A>
    where\n A: Ord + Serialize,
    "],["impl<A, IA> Serialize for ChangeSet<A, IA>
    where\n A: Ord + Serialize,\n IA: Serialize,
    "]], -"bdk_wallet":[["impl Serialize for PkOrF"],["impl Serialize for Satisfaction"],["impl Serialize for SatisfiableItem"],["impl Serialize for KeychainKind"],["impl Serialize for Condition"],["impl Serialize for Policy"],["impl Serialize for FullyNodedExport"],["impl Serialize for ChangeSet"],["impl Serialize for LocalOutput"]], -"example_cli":[["impl Serialize for Keychain"],["impl Serialize for ChangeSet"]] +"bdk_chain":[["impl Serialize for ConfirmationTime"],["impl Serialize for ChangeSet"],["impl Serialize for ChangeSet"],["impl Serialize for Balance"],["impl Serialize for BlockId"],["impl Serialize for ConfirmationBlockTime"],["impl Serialize for DescriptorId"],["impl<A> Serialize for ChangeSet<A>
    where\n A: Ord + Serialize,
    "],["impl<A, IA> Serialize for ChangeSet<A, IA>
    where\n A: Ord + Serialize,\n IA: Serialize,
    "]], +"bdk_wallet":[["impl Serialize for PkOrF"],["impl Serialize for Satisfaction"],["impl Serialize for SatisfiableItem"],["impl Serialize for KeychainKind"],["impl Serialize for Condition"],["impl Serialize for Policy"],["impl Serialize for FullyNodedExport"],["impl Serialize for ChangeSet"],["impl Serialize for LocalOutput"]], +"example_cli":[["impl Serialize for Keychain"],["impl Serialize for ChangeSet"]] };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/type.impl/alloc/boxed/struct.Box.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/boxed/struct.Box.js index 9cb573a7f5..07493abbb4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/boxed/struct.Box.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/boxed/struct.Box.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_esplora":[["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","bdk_esplora::blocking_ext::Error"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","bdk_esplora::blocking_ext::Error"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","bdk_esplora::blocking_ext::Error"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Body for Box<T>
    where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    source§

    fn collect(self) -> Collect<Self>
    where\n Self: Sized,

    Turn this body into Collected body which will collect all the DATA frames\nand trailers.
    ","Body","bdk_esplora::blocking_ext::Error"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","bdk_esplora::blocking_ext::Error"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    ⓘ
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8] ⓘ

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<I> DoubleEndedFallibleIterator for Box<I>

    source§

    fn next_back(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the end of the iterator, returning the last value.
    source§

    fn rfold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator in reverse order, producing a single final value.
    source§

    fn try_rfold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator in reverse, producing a single final value. Read more
    ","DoubleEndedFallibleIterator","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_esplora::blocking_ext::Error"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<I> FallibleIterator for Box<I>
    where\n I: FallibleIterator + ?Sized,

    §

    type Item = <I as FallibleIterator>::Item

    The type being iterated over.
    §

    type Error = <I as FallibleIterator>::Error

    The error type.
    source§

    fn next(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns bounds on the remaining length of the iterator. Read more
    source§

    fn nth(\n &mut self,\n n: usize\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Returns the nth element of the iterator.
    source§

    fn count(self) -> Result<usize, Self::Error>
    where\n Self: Sized,

    Consumes the iterator, returning the number of remaining items.
    source§

    fn last(self) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,

    Returns the last element of the iterator.
    source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Returns an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
    source§

    fn chain<I>(self, it: I) -> Chain<Self, I>
    where\n I: IntoFallibleIterator<Item = Self::Item, Error = Self::Error>,\n Self: Sized,

    Returns an iterator which yields the elements of this iterator followed\nby another.
    source§

    fn zip<I>(\n self,\n o: I\n) -> Zip<Self, <I as IntoFallibleIterator>::IntoFallibleIter>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,

    Returns an iterator that yields pairs of this iterator’s and another\niterator’s values.
    source§

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<B, Self::Error>,

    Returns an iterator which applies a fallible transform to the elements\nof the underlying iterator.
    source§

    fn for_each<F>(self, f: F) -> Result<(), Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<(), Self::Error>,

    Calls a fallible closure on each element of an iterator.
    source§

    fn filter<F>(self, f: F) -> Filter<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator which uses a predicate to determine which values\nshould be yielded. The predicate may fail; such failures are passed to\nthe caller.
    source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which both filters and maps. The closure may fail;\nsuch failures are passed along to the consumer.
    source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Returns an iterator which yields the current iteration count as well\nas the value.
    source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Returns an iterator that can peek at the next element without consuming\nit.
    source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that skips elements based on a predicate.
    source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that yields elements based on a predicate.
    source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Returns an iterator which skips the first n values of this iterator.
    source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Returns an iterator that yields only the first n values of this\niterator.
    source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which applies a stateful map to values of this\niterator.
    source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoFallibleIterator<Error = Self::Error>,\n F: FnMut(Self::Item) -> Result<U, Self::Error>,

    Returns an iterator which maps this iterator’s elements to iterators, yielding those iterators’ values.
    source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Returns an iterator which yields this iterator’s elements and ends after\nthe first Ok(None). Read more
    source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<(), Self::Error>,

    Returns an iterator which passes each element to a closure before returning it.
    source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrow an iterator rather than consuming it. Read more
    source§

    fn collect<T>(self) -> Result<T, Self::Error>
    where\n T: FromIterator<Self::Item>,\n Self: Sized,

    Transforms the iterator into a collection. Read more
    source§

    fn partition<B, F>(self, f: F) -> Result<(B, B), Self::Error>
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Transforms the iterator into two collections, partitioning elements by a closure.
    source§

    fn fold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator, producing a single\nfinal value.
    source§

    fn try_fold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator, producing a single final value. Read more
    source§

    fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if all elements of this iterator match a predicate.
    source§

    fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if any element of this iterator matches a predicate.
    source§

    fn find<F>(&mut self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns the first element of the iterator that matches a predicate.
    source§

    fn find_map<B, F>(&mut self, f: F) -> Result<Option<B>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Applies a function to the elements of the iterator, returning the first non-None result.
    source§

    fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Returns the position of the first element of this iterator that matches\na predicate. The predicate may fail; such failures are returned to the\ncaller.
    source§

    fn max_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the maximum value from\nthe function.
    source§

    fn max_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the maximum value with respect to the function.
    source§

    fn min_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the minimum value from\nthe function.
    source§

    fn min_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the minimum value with respect to the function.
    source§

    fn unzip<A, B, FromA, FromB>(self) -> Result<(FromA, FromB), Self::Error>
    where\n Self: Sized + FallibleIterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    Converts an iterator of pairs into a pair of containers.
    source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n Self: Sized + FallibleIterator<Item = &'a T>,\n T: 'a + Clone,

    Returns an iterator which clones all of its elements.
    source§

    fn partial_cmp<I>(self, other: I) -> Result<Option<Ordering>, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Lexicographically compares the elements of this iterator to that of\nanother.
    source§

    fn eq<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are equal to those of\nanother.
    source§

    fn ne<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are not equal to those of\nanother.
    source§

    fn lt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan those of another.
    source§

    fn le<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan or equal to those of another.
    source§

    fn gt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than those of another.
    source§

    fn ge<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than or equal to those of another.
    source§

    fn iterator(self) -> Iterator<Self>
    where\n Self: Sized,

    Returns a normal (non-fallible) iterator over Result<Item, Error>.
    source§

    fn map_err<B, F>(self, f: F) -> MapErr<Self, F>
    where\n F: FnMut(Self::Error) -> B,\n Self: Sized,

    Returns an iterator which applies a transform to the errors of the\nunderlying iterator.
    ","FallibleIterator","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","bdk_esplora::blocking_ext::Error"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","bdk_esplora::blocking_ext::Error"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","bdk_esplora::blocking_ext::Error"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_esplora::blocking_ext::Error"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","bdk_esplora::blocking_ext::Error"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S, Request> Service<Request> for Box<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","bdk_esplora::blocking_ext::Error"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> ToSql for Box<T>
    where\n T: ToSql + ?Sized,

    §

    fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

    Converts Rust value to SQLite value
    ","ToSql","bdk_esplora::blocking_ext::Error"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","bdk_esplora::blocking_ext::Error"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","bdk_esplora::blocking_ext::Error"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","bdk_esplora::blocking_ext::Error"]] +"bdk_esplora":[["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","bdk_esplora::blocking_ext::Error"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","bdk_esplora::blocking_ext::Error"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","bdk_esplora::blocking_ext::Error"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempt to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncBufRead for Box<T>
    where\n T: AsyncBufRead + Unpin + ?Sized,

    §

    fn poll_fill_buf(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<&[u8], Error>>

    Attempts to return the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    §

    fn consume(self: Pin<&mut Box<T>>, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to poll_read. Read more
    ","AsyncBufRead","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut ReadBuf<'_>\n) -> Poll<Result<(), Error>>

    Attempts to read from the AsyncRead into buf. Read more
    ","AsyncRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncRead for Box<T>
    where\n T: AsyncRead + Unpin + ?Sized,

    §

    fn poll_read(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &mut [u8]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into buf. Read more
    §

    fn poll_read_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &mut [IoSliceMut<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to read from the AsyncRead into bufs using vectored\nIO operations. Read more
    ","AsyncRead","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn poll_seek(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n pos: SeekFrom\n) -> Poll<Result<u64, Error>>

    Attempt to seek to an offset, in bytes, in a stream. Read more
    ","AsyncSeek","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncSeek for Box<T>
    where\n T: AsyncSeek + Unpin + ?Sized,

    §

    fn start_seek(self: Pin<&mut Box<T>>, pos: SeekFrom) -> Result<(), Error>

    Attempts to seek to an offset, in bytes, in a stream. Read more
    §

    fn poll_complete(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<u64, Error>>

    Waits for a seek operation to complete. Read more
    ","AsyncSeek","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from bufs into the object using vectored\nIO operations. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempt to close the object. Read more
    ","AsyncWrite","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> AsyncWrite for Box<T>
    where\n T: AsyncWrite + Unpin + ?Sized,

    §

    fn poll_write(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n buf: &[u8]\n) -> Poll<Result<usize, Error>>

    Attempt to write bytes from buf into the object. Read more
    §

    fn poll_write_vectored(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>,\n bufs: &[IoSlice<'_>]\n) -> Poll<Result<usize, Error>>

    Like poll_write, except that it writes from a slice of buffers. Read more
    §

    fn is_write_vectored(&self) -> bool

    Determines if this writer has an efficient poll_write_vectored\nimplementation. Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Attempts to flush the object, ensuring that any buffered data reach\ntheir destination. Read more
    §

    fn poll_shutdown(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), Error>>

    Initiates or attempts to shut down this writer, returning success when\nthe I/O connection has completely shut down. Read more
    ","AsyncWrite","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Body for Box<T>
    where\n T: Body + Unpin + ?Sized,

    §

    type Data = <T as Body>::Data

    Values yielded by the Body.
    §

    type Error = <T as Body>::Error

    The error type this Body might generate.
    source§

    fn poll_data(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Option<Result<<Box<T> as Body>::Data, <Box<T> as Body>::Error>>>

    Attempt to pull out the next data buffer of this stream.
    source§

    fn poll_trailers(\n self: Pin<&mut Box<T>>,\n cx: &mut Context<'_>\n) -> Poll<Result<Option<HeaderMap>, <Box<T> as Body>::Error>>

    Poll for an optional single HeaderMap of trailers. Read more
    source§

    fn is_end_stream(&self) -> bool

    Returns true when the end of stream has been reached. Read more
    source§

    fn size_hint(&self) -> SizeHint

    Returns the bounds on the remaining length of the stream. Read more
    source§

    fn data(&mut self) -> Data<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to next data chunk, if any.
    source§

    fn trailers(&mut self) -> Trailers<'_, Self>
    where\n Self: Sized + Unpin,

    Returns future that resolves to trailers, if any.
    source§

    fn map_data<F, B>(self, f: F) -> MapData<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Data) -> B,\n B: Buf,

    Maps this body’s data value to a different value.
    source§

    fn map_err<F, E>(self, f: F) -> MapErr<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Error) -> E,

    Maps this body’s error value to a different value.
    source§

    fn collect(self) -> Collect<Self>
    where\n Self: Sized,

    Turn this body into Collected body which will collect all the DATA frames\nand trailers.
    ","Body","bdk_esplora::blocking_ext::Error"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","bdk_esplora::blocking_ext::Error"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    ","BorrowMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    🔬This is a nightly-only experimental API. (new_uninit)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

    🔬This is a nightly-only experimental API. (box_into_boxed_slice)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

    🔬This is a nightly-only experimental API. (box_into_inner)

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

    🔬This is a nightly-only experimental API. (allocator_api)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

    🔬This is a nightly-only experimental API. (allocator_api)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<T, A>) -> &A

    🔬This is a nightly-only experimental API. (allocator_api)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    ⓘ
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Buf for Box<T>
    where\n T: Buf + ?Sized,

    §

    fn remaining(&self) -> usize

    Returns the number of bytes between the current position and the end of\nthe buffer. Read more
    §

    fn chunk(&self) -> &[u8] ⓘ

    Returns a slice starting at the current position and of length between 0\nand Buf::remaining(). Note that this can return shorter slice (this allows\nnon-continuous internal representation). Read more
    §

    fn chunks_vectored<'b>(&'b self, dst: &mut [IoSlice<'b>]) -> usize

    Fills dst with potentially multiple slices starting at self’s\ncurrent position. Read more
    §

    fn advance(&mut self, cnt: usize)

    Advance the internal cursor of the Buf Read more
    §

    fn has_remaining(&self) -> bool

    Returns true if there are any more bytes to consume Read more
    §

    fn copy_to_slice(&mut self, dst: &mut [u8])

    Copies bytes from self into dst. Read more
    §

    fn get_u8(&mut self) -> u8

    Gets an unsigned 8 bit integer from self. Read more
    §

    fn get_i8(&mut self) -> i8

    Gets a signed 8 bit integer from self. Read more
    §

    fn get_u16(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_u16_le(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_u16_ne(&mut self) -> u16

    Gets an unsigned 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_i16(&mut self) -> i16

    Gets a signed 16 bit integer from self in big-endian byte order. Read more
    §

    fn get_i16_le(&mut self) -> i16

    Gets a signed 16 bit integer from self in little-endian byte order. Read more
    §

    fn get_i16_ne(&mut self) -> i16

    Gets a signed 16 bit integer from self in native-endian byte order. Read more
    §

    fn get_u32(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the big-endian byte order. Read more
    §

    fn get_u32_le(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in the little-endian byte order. Read more
    §

    fn get_u32_ne(&mut self) -> u32

    Gets an unsigned 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_i32(&mut self) -> i32

    Gets a signed 32 bit integer from self in big-endian byte order. Read more
    §

    fn get_i32_le(&mut self) -> i32

    Gets a signed 32 bit integer from self in little-endian byte order. Read more
    §

    fn get_i32_ne(&mut self) -> i32

    Gets a signed 32 bit integer from self in native-endian byte order. Read more
    §

    fn get_u64(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_u64_le(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_u64_ne(&mut self) -> u64

    Gets an unsigned 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_i64(&mut self) -> i64

    Gets a signed 64 bit integer from self in big-endian byte order. Read more
    §

    fn get_i64_le(&mut self) -> i64

    Gets a signed 64 bit integer from self in little-endian byte order. Read more
    §

    fn get_i64_ne(&mut self) -> i64

    Gets a signed 64 bit integer from self in native-endian byte order. Read more
    §

    fn get_uint(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in big-endian byte order. Read more
    §

    fn get_uint_le(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in little-endian byte order. Read more
    §

    fn get_uint_ne(&mut self, nbytes: usize) -> u64

    Gets an unsigned n-byte integer from self in native-endian byte order. Read more
    §

    fn get_int(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in big-endian byte order. Read more
    §

    fn get_int_le(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in little-endian byte order. Read more
    §

    fn get_int_ne(&mut self, nbytes: usize) -> i64

    Gets a signed n-byte integer from self in native-endian byte order. Read more
    §

    fn copy_to_bytes(&mut self, len: usize) -> Bytes

    Consumes len bytes inside self and returns new instance of Bytes\nwith this data. Read more
    §

    fn get_u128(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_u128_le(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_u128_ne(&mut self) -> u128

    Gets an unsigned 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_i128(&mut self) -> i128

    Gets a signed 128 bit integer from self in big-endian byte order. Read more
    §

    fn get_i128_le(&mut self) -> i128

    Gets a signed 128 bit integer from self in little-endian byte order. Read more
    §

    fn get_i128_ne(&mut self) -> i128

    Gets a signed 128 bit integer from self in native-endian byte order. Read more
    §

    fn get_f32(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f32_le(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f32_ne(&mut self) -> f32

    Gets an IEEE754 single-precision (4 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn get_f64(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in big-endian byte order. Read more
    §

    fn get_f64_le(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in little-endian byte order. Read more
    §

    fn get_f64_ne(&mut self) -> f64

    Gets an IEEE754 double-precision (8 bytes) floating point number from\nself in native-endian byte order. Read more
    §

    fn take(self, limit: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an adaptor which will read at most limit bytes from self. Read more
    §

    fn chain<U>(self, next: U) -> Chain<Self, U>
    where\n U: Buf,\n Self: Sized,

    Creates an adaptor which will chain this buffer with another. Read more
    §

    fn reader(self) -> Reader<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Read trait for self. Read more
    ","Buf","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> BufMut for Box<T>
    where\n T: BufMut + ?Sized,

    §

    fn remaining_mut(&self) -> usize

    Returns the number of bytes that can be written from the current\nposition until the end of the buffer is reached. Read more
    §

    fn chunk_mut(&mut self) -> &mut UninitSlice

    Returns a mutable slice starting at the current BufMut position and of\nlength between 0 and BufMut::remaining_mut(). Note that this can be shorter than the\nwhole remainder of the buffer (this allows non-continuous implementation). Read more
    §

    unsafe fn advance_mut(&mut self, cnt: usize)

    Advance the internal cursor of the BufMut Read more
    §

    fn put_slice(&mut self, src: &[u8])

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_u8(&mut self, n: u8)

    Writes an unsigned 8 bit integer to self. Read more
    §

    fn put_i8(&mut self, n: i8)

    Writes a signed 8 bit integer to self. Read more
    §

    fn put_u16(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_u16_le(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_u16_ne(&mut self, n: u16)

    Writes an unsigned 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_i16(&mut self, n: i16)

    Writes a signed 16 bit integer to self in big-endian byte order. Read more
    §

    fn put_i16_le(&mut self, n: i16)

    Writes a signed 16 bit integer to self in little-endian byte order. Read more
    §

    fn put_i16_ne(&mut self, n: i16)

    Writes a signed 16 bit integer to self in native-endian byte order. Read more
    §

    fn put_u32(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_u32_le(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_u32_ne(&mut self, n: u32)

    Writes an unsigned 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_i32(&mut self, n: i32)

    Writes a signed 32 bit integer to self in big-endian byte order. Read more
    §

    fn put_i32_le(&mut self, n: i32)

    Writes a signed 32 bit integer to self in little-endian byte order. Read more
    §

    fn put_i32_ne(&mut self, n: i32)

    Writes a signed 32 bit integer to self in native-endian byte order. Read more
    §

    fn put_u64(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u64_le(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_u64_ne(&mut self, n: u64)

    Writes an unsigned 64 bit integer to self in native-endian byte order. Read more
    §

    fn put_i64(&mut self, n: i64)

    Writes a signed 64 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i64_le(&mut self, n: i64)

    Writes a signed 64 bit integer to self in little-endian byte order. Read more
    §

    fn put_i64_ne(&mut self, n: i64)

    Writes a signed 64 bit integer to self in native-endian byte order. Read more
    §

    fn has_remaining_mut(&self) -> bool

    Returns true if there is space in self for more bytes. Read more
    §

    fn put<T>(&mut self, src: T)
    where\n T: Buf,\n Self: Sized,

    Transfer bytes into self from src and advance the cursor by the\nnumber of bytes written. Read more
    §

    fn put_bytes(&mut self, val: u8, cnt: usize)

    Put cnt bytes val into self. Read more
    §

    fn put_u128(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_u128_le(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_u128_ne(&mut self, n: u128)

    Writes an unsigned 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_i128(&mut self, n: i128)

    Writes a signed 128 bit integer to self in the big-endian byte order. Read more
    §

    fn put_i128_le(&mut self, n: i128)

    Writes a signed 128 bit integer to self in little-endian byte order. Read more
    §

    fn put_i128_ne(&mut self, n: i128)

    Writes a signed 128 bit integer to self in native-endian byte order. Read more
    §

    fn put_uint(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in big-endian byte order. Read more
    §

    fn put_uint_le(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the little-endian byte order. Read more
    §

    fn put_uint_ne(&mut self, n: u64, nbytes: usize)

    Writes an unsigned n-byte integer to self in the native-endian byte order. Read more
    §

    fn put_int(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in big-endian byte order. Read more
    §

    fn put_int_le(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in little-endian byte order. Read more
    §

    fn put_int_ne(&mut self, n: i64, nbytes: usize)

    Writes low nbytes of a signed integer to self in native-endian byte order. Read more
    §

    fn put_f32(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f32_le(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f32_ne(&mut self, n: f32)

    Writes an IEEE754 single-precision (4 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn put_f64(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in big-endian byte order. Read more
    §

    fn put_f64_le(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in little-endian byte order. Read more
    §

    fn put_f64_ne(&mut self, n: f64)

    Writes an IEEE754 double-precision (8 bytes) floating point number to\nself in native-endian byte order. Read more
    §

    fn limit(self, limit: usize) -> Limit<Self>
    where\n Self: Sized,

    Creates an adaptor which can write at most limit bytes to self. Read more
    §

    fn writer(self) -> Writer<Self>
    where\n Self: Sized,

    Creates an adaptor which implements the Write trait for self. Read more
    §

    fn chain_mut<U>(self, next: U) -> Chain<Self, U>
    where\n U: BufMut,\n Self: Sized,

    Creates an adapter which will chain this buffer with another. Read more
    ","BufMut","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<T, A>
    where\n T: Debug + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    ","DerefMut","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Display for Box<T, A>
    where\n T: Display + ?Sized,\n A: Allocator,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<I> DoubleEndedFallibleIterator for Box<I>

    source§

    fn next_back(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the end of the iterator, returning the last value.
    source§

    fn rfold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator in reverse order, producing a single final value.
    source§

    fn try_rfold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator in reverse, producing a single final value. Read more
    ","DoubleEndedFallibleIterator","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_esplora::blocking_ext::Error"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<I> FallibleIterator for Box<I>
    where\n I: FallibleIterator + ?Sized,

    §

    type Item = <I as FallibleIterator>::Item

    The type being iterated over.
    §

    type Error = <I as FallibleIterator>::Error

    The error type.
    source§

    fn next(\n &mut self\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns bounds on the remaining length of the iterator. Read more
    source§

    fn nth(\n &mut self,\n n: usize\n) -> Result<Option<<I as FallibleIterator>::Item>, <I as FallibleIterator>::Error>

    Returns the nth element of the iterator.
    source§

    fn count(self) -> Result<usize, Self::Error>
    where\n Self: Sized,

    Consumes the iterator, returning the number of remaining items.
    source§

    fn last(self) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,

    Returns the last element of the iterator.
    source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Returns an iterator starting at the same point, but stepping by the given amount at each iteration. Read more
    source§

    fn chain<I>(self, it: I) -> Chain<Self, I>
    where\n I: IntoFallibleIterator<Item = Self::Item, Error = Self::Error>,\n Self: Sized,

    Returns an iterator which yields the elements of this iterator followed\nby another.
    source§

    fn zip<I>(\n self,\n o: I\n) -> Zip<Self, <I as IntoFallibleIterator>::IntoFallibleIter>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,

    Returns an iterator that yields pairs of this iterator’s and another\niterator’s values.
    source§

    fn map<F, B>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<B, Self::Error>,

    Returns an iterator which applies a fallible transform to the elements\nof the underlying iterator.
    source§

    fn for_each<F>(self, f: F) -> Result<(), Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<(), Self::Error>,

    Calls a fallible closure on each element of an iterator.
    source§

    fn filter<F>(self, f: F) -> Filter<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator which uses a predicate to determine which values\nshould be yielded. The predicate may fail; such failures are passed to\nthe caller.
    source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which both filters and maps. The closure may fail;\nsuch failures are passed along to the consumer.
    source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Returns an iterator which yields the current iteration count as well\nas the value.
    source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Returns an iterator that can peek at the next element without consuming\nit.
    source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that skips elements based on a predicate.
    source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns an iterator that yields elements based on a predicate.
    source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Returns an iterator which skips the first n values of this iterator.
    source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Returns an iterator that yields only the first n values of this\niterator.
    source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Result<Option<B>, Self::Error>,

    Returns an iterator which applies a stateful map to values of this\niterator.
    source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoFallibleIterator<Error = Self::Error>,\n F: FnMut(Self::Item) -> Result<U, Self::Error>,

    Returns an iterator which maps this iterator’s elements to iterators, yielding those iterators’ values.
    source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Returns an iterator which yields this iterator’s elements and ends after\nthe first Ok(None). Read more
    source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<(), Self::Error>,

    Returns an iterator which passes each element to a closure before returning it.
    source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrow an iterator rather than consuming it. Read more
    source§

    fn collect<T>(self) -> Result<T, Self::Error>
    where\n T: FromIterator<Self::Item>,\n Self: Sized,

    Transforms the iterator into a collection. Read more
    source§

    fn partition<B, F>(self, f: F) -> Result<(B, B), Self::Error>
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Transforms the iterator into two collections, partitioning elements by a closure.
    source§

    fn fold<B, F>(self, init: B, f: F) -> Result<B, Self::Error>
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> Result<B, Self::Error>,

    Applies a function over the elements of the iterator, producing a single\nfinal value.
    source§

    fn try_fold<B, E, F>(&mut self, init: B, f: F) -> Result<B, E>
    where\n Self: Sized,\n E: From<Self::Error>,\n F: FnMut(B, Self::Item) -> Result<B, E>,

    Applies a function over the elements of the iterator, producing a single final value. Read more
    source§

    fn all<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if all elements of this iterator match a predicate.
    source§

    fn any<F>(&mut self, f: F) -> Result<bool, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Determines if any element of this iterator matches a predicate.
    source§

    fn find<F>(&mut self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> Result<bool, Self::Error>,

    Returns the first element of the iterator that matches a predicate.
    source§

    fn find_map<B, F>(&mut self, f: F) -> Result<Option<B>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<Option<B>, Self::Error>,

    Applies a function to the elements of the iterator, returning the first non-None result.
    source§

    fn position<F>(&mut self, f: F) -> Result<Option<usize>, Self::Error>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Result<bool, Self::Error>,

    Returns the position of the first element of this iterator that matches\na predicate. The predicate may fail; such failures are returned to the\ncaller.
    source§

    fn max_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the maximum value from\nthe function.
    source§

    fn max_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the maximum value with respect to the function.
    source§

    fn min_by_key<B, F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n B: Ord,\n F: FnMut(&Self::Item) -> Result<B, Self::Error>,

    Returns the element of the iterator which gives the minimum value from\nthe function.
    source§

    fn min_by<F>(self, f: F) -> Result<Option<Self::Item>, Self::Error>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Result<Ordering, Self::Error>,

    Returns the element that gives the minimum value with respect to the function.
    source§

    fn unzip<A, B, FromA, FromB>(self) -> Result<(FromA, FromB), Self::Error>
    where\n Self: Sized + FallibleIterator<Item = (A, B)>,\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,

    Converts an iterator of pairs into a pair of containers.
    source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n Self: Sized + FallibleIterator<Item = &'a T>,\n T: 'a + Clone,

    Returns an iterator which clones all of its elements.
    source§

    fn partial_cmp<I>(self, other: I) -> Result<Option<Ordering>, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Lexicographically compares the elements of this iterator to that of\nanother.
    source§

    fn eq<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are equal to those of\nanother.
    source§

    fn ne<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialEq<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are not equal to those of\nanother.
    source§

    fn lt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan those of another.
    source§

    fn le<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically less\nthan or equal to those of another.
    source§

    fn gt<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than those of another.
    source§

    fn ge<I>(self, other: I) -> Result<bool, Self::Error>
    where\n Self: Sized,\n I: IntoFallibleIterator<Error = Self::Error>,\n Self::Item: PartialOrd<<I as IntoFallibleIterator>::Item>,

    Determines if the elements of this iterator are lexicographically\ngreater than or equal to those of another.
    source§

    fn iterator(self) -> Iterator<Self>
    where\n Self: Sized,

    Returns a normal (non-fallible) iterator over Result<Item, Error>.
    source§

    fn map_err<B, F>(self, f: F) -> MapErr<Self, F>
    where\n F: FnMut(Self::Error) -> B,\n Self: Sized,

    Returns an iterator which applies a transform to the errors of the\nunderlying iterator.
    ","FallibleIterator","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","bdk_esplora::blocking_ext::Error"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","bdk_esplora::blocking_ext::Error"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","bdk_esplora::blocking_ext::Error"],["
    §

    impl<F> FusedFuture for Box<F>
    where\n F: FusedFuture + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the underlying future should no longer be polled.
    ","FusedFuture","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> FusedStream for Box<S>
    where\n S: FusedStream + Unpin + ?Sized,

    §

    fn is_terminated(&self) -> bool

    Returns true if the stream should no longer be polled.
    ","FusedStream","bdk_esplora::blocking_ext::Error"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<T, A>
    where\n T: Hash + ?Sized,\n A: Allocator,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_esplora::blocking_ext::Error"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source§

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

    ‘Zips up’ two iterators into a single iterator of pairs. Read more
    source§

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 · source§

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source§

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source§

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","bdk_esplora::blocking_ext::Error"],["
    §

    impl<Sp> LocalSpawn for Box<Sp>
    where\n Sp: LocalSpawn + ?Sized,

    §

    fn spawn_local_obj(\n &self,\n future: LocalFutureObj<'static, ()>\n) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status_local(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","LocalSpawn","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source§

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Pointer","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S, Request> Service<Request> for Box<S>
    where\n S: Service<Request> + ?Sized,

    §

    type Response = <S as Service<Request>>::Response

    Responses given by the service.
    §

    type Error = <S as Service<Request>>::Error

    Errors produced by the service.
    §

    type Future = <S as Service<Request>>::Future

    The future response value.
    §

    fn poll_ready(\n &mut self,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <S as Service<Request>>::Error>>

    Returns Poll::Ready(Ok(())) when the service is able to process requests. Read more
    §

    fn call(&mut self, request: Request) -> <S as Service<Request>>::Future

    Process the request and return the response asynchronously. Read more
    ","Service","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S, Item> Sink<Item> for Box<S>
    where\n S: Sink<Item> + Unpin + ?Sized,

    §

    type Error = <S as Sink<Item>>::Error

    The type of value produced by the sink when an error occurs.
    §

    fn poll_ready(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Attempts to prepare the Sink to receive a value. Read more
    §

    fn start_send(\n self: Pin<&mut Box<S>>,\n item: Item\n) -> Result<(), <Box<S> as Sink<Item>>::Error>

    Begin the process of sending a value to the sink.\nEach call to this function must be preceded by a successful call to\npoll_ready which returned Poll::Ready(Ok(())). Read more
    §

    fn poll_flush(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output from this sink. Read more
    §

    fn poll_close(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Result<(), <Box<S> as Sink<Item>>::Error>>

    Flush any remaining output and close this sink, if necessary. Read more
    ","Sink","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Source for Box<T>
    where\n T: Source + ?Sized,

    §

    fn register(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Register self with the given Registry instance. Read more
    §

    fn reregister(\n &mut self,\n registry: &Registry,\n token: Token,\n interests: Interest\n) -> Result<(), Error>

    Re-register self with the given Registry instance. Read more
    §

    fn deregister(&mut self, registry: &Registry) -> Result<(), Error>

    Deregister self from the given Registry instance. Read more
    ","Source","bdk_esplora::blocking_ext::Error"],["
    §

    impl<Sp> Spawn for Box<Sp>
    where\n Sp: Spawn + ?Sized,

    §

    fn spawn_obj(&self, future: FutureObj<'static, ()>) -> Result<(), SpawnError>

    Spawns a future that will be run to completion. Read more
    §

    fn status(&self) -> Result<(), SpawnError>

    Determines whether the executor is able to spawn new tasks. Read more
    ","Spawn","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> Stream for Box<S>
    where\n S: Stream + Unpin + ?Sized,

    §

    type Item = <S as Stream>::Item

    Values yielded by the stream.
    §

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as Stream>::Item>>

    Attempt to pull out the next value of this stream, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the stream is exhausted. Read more
    §

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the stream. Read more
    ","Stream","bdk_esplora::blocking_ext::Error"],["
    §

    impl<S> Subscriber for Box<S>
    where\n S: Subscriber + ?Sized,

    §

    fn register_callsite(&self, metadata: &'static Metadata<'static>) -> Interest

    Registers a new callsite with this subscriber, returning whether or not\nthe subscriber is interested in being notified about the callsite. Read more
    §

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Returns true if a span or event with the specified metadata would be\nrecorded. Read more
    §

    fn max_level_hint(&self) -> Option<LevelFilter>

    Returns the highest verbosity level that this Subscriber will\nenable, or None, if the subscriber does not implement level-based\nfiltering or chooses not to implement this method. Read more
    §

    fn new_span(&self, span: &Attributes<'_>) -> Id

    Visit the construction of a new span, returning a new span ID for the\nspan being constructed. Read more
    §

    fn record(&self, span: &Id, values: &Record<'_>)

    Record a set of values on a span. Read more
    §

    fn record_follows_from(&self, span: &Id, follows: &Id)

    Adds an indication that span follows from the span with the id\nfollows. Read more
    §

    fn event_enabled(&self, event: &Event<'_>) -> bool

    Determine if an [Event] should be recorded. Read more
    §

    fn event(&self, event: &Event<'_>)

    Records that an Event has occurred. Read more
    §

    fn enter(&self, span: &Id)

    Records that a span has been entered. Read more
    §

    fn exit(&self, span: &Id)

    Records that a span has been exited. Read more
    §

    fn clone_span(&self, id: &Id) -> Id

    Notifies the subscriber that a span ID has been cloned. Read more
    §

    fn try_close(&self, id: Id) -> bool

    Notifies the subscriber that a span ID has been dropped, and returns\ntrue if there are now 0 IDs that refer to that span. Read more
    §

    fn drop_span(&self, id: Id)

    👎Deprecated since 0.1.2: use Subscriber::try_close instead
    This method is deprecated. Read more
    §

    fn current_span(&self) -> Current

    Returns a type representing this subscriber’s view of the current span. Read more
    §

    unsafe fn downcast_raw(&self, id: TypeId) -> Option<*const ()>

    If self is the same type as the provided TypeId, returns an untyped\n*const pointer to that type. Otherwise, returns None. Read more
    §

    fn on_register_dispatch(&self, subscriber: &Dispatch)

    Invoked when this subscriber becomes a [Dispatch]. Read more
    ","Subscriber","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> ToSql for Box<T>
    where\n T: ToSql + ?Sized,

    §

    fn to_sql(&self) -> Result<ToSqlOutput<'_>, Error>

    Converts Rust value to SQLite value
    ","ToSql","bdk_esplora::blocking_ext::Error"],["
    §

    impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F>
    where\n F: Future<Output = T> + 'a,

    §

    fn into_raw(self) -> *mut dyn Future<Output = T> + 'a

    Convert an owned instance into a (conceptually owned) fat pointer. Read more
    §

    unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)

    Drops the future represented by the given fat pointer. Read more
    ","UnsafeFutureObj<'a, T>","bdk_esplora::blocking_ext::Error"],["
    §

    impl<T> Value for Box<T>
    where\n T: Value + ?Sized,

    §

    fn record(&self, key: &Field, visitor: &mut dyn Visit)

    Visits this value with the given Visitor.
    ","Value","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","bdk_esplora::blocking_ext::Error"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","bdk_esplora::blocking_ext::Error"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","bdk_esplora::blocking_ext::Error"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","bdk_esplora::blocking_ext::Error"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","bdk_esplora::blocking_ext::Error"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js index 98c13af62f..28a5b09594 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

    §

    fn into_assets(self) -> Assets

    Convert self into a Assets struct
    ","IntoAssets","bdk_wallet::keys::KeyMap"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    §

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    §

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

    fn take(&mut self) -> Option<Self>

    Take the value, replacing it with the default value.
    ","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]] +"bdk_wallet":[["
    source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\nassert_eq!(map.get_key_value(&2), None);
    \n
    1.66.0 · source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V> Default for BTreeMap<K, V>

    source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.7.0 · source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.2.0 · source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.56.0 · source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Creates a value from an iterator. Read more
    ","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    §

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

    §

    fn into_assets(self) -> Assets

    Convert self into a Assets struct
    ","IntoAssets","bdk_wallet::keys::KeyMap"],["
    source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    §

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    §

    type Item = (K, V)

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    §

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    §

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

    fn take(&mut self) -> Option<Self>

    Take the value, replacing it with the default value.
    ","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.64.0 · source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js index 8ab34b1526..5adcd72aff 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"example_cli":[["
    §

    impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

    §

    fn as_ref(&self) -> &TxGraph<A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Debug for IndexedTxGraph<A, I>
    where\n A: Debug,\n I: Debug,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Default for IndexedTxGraph<A, I>
    where\n I: Default,

    §

    fn default() -> IndexedTxGraph<A, I>

    Returns the “default value” for a type. Read more
    ","Default","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>

    pub fn new(index: I) -> IndexedTxGraph<A, I>

    Construct a new [IndexedTxGraph] with a given index.

    \n

    pub fn graph(&self) -> &TxGraph<A>

    Get a reference of the internal transaction graph.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor + AnchorFromBlockPosition,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    Methods are available if the anchor (A) implements [AnchorFromBlockPosition].

    \n

    pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

    \n

    Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    pub fn apply_block(\n &mut self,\n block: Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height.

    \n

    Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

    \n

    To only insert relevant transactions, use apply_block_relevant instead.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,

    pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>\n)

    Applies the [ChangeSet] to the [IndexedTxGraph].

    \n

    pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Determines the [ChangeSet] between self and an empty [IndexedTxGraph].

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    pub fn apply_update(\n &mut self,\n update: TxGraph<A>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply an update directly.

    \n

    update is a [TxGraph<A>] and the resultant changes is returned as [ChangeSet].

    \n

    pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a floating txout of given outpoint.

    \n

    pub fn insert_tx(\n &mut self,\n tx: Transaction\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert and index a transaction into the graph.

    \n

    pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert an anchor for a given transaction.

    \n

    pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a unix timestamp of when a transaction is seen in the mempool.

    \n

    This is used for transaction conflict resolution in [TxGraph] where the transaction with\nthe later last-seen is prioritized.

    \n

    pub fn batch_insert_relevant<'t>(\n &mut self,\n txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the [Indexer::is_tx_relevant] implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

    \n

    pub fn batch_insert_relevant_unconfirmed<'t>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert unconfirmed transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    pub fn batch_insert_unconfirmed(\n &mut self,\n txs: impl IntoIterator<Item = (Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert unconfirmed transactions.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

    \n
    ",0,"example_cli::KeychainTxGraph"]] +"example_cli":[["
    §

    impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>

    §

    fn as_ref(&self) -> &TxGraph<A>

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Debug for IndexedTxGraph<A, I>
    where\n A: Debug,\n I: Debug,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Default for IndexedTxGraph<A, I>
    where\n I: Default,

    §

    fn default() -> IndexedTxGraph<A, I>

    Returns the “default value” for a type. Read more
    ","Default","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>

    pub fn new(index: I) -> IndexedTxGraph<A, I>

    Construct a new [IndexedTxGraph] with a given index.

    \n

    pub fn graph(&self) -> &TxGraph<A>

    Get a reference of the internal transaction graph.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor + AnchorFromBlockPosition,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    Methods are available if the anchor (A) implements [AnchorFromBlockPosition].

    \n

    pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

    \n

    Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    pub fn apply_block(\n &mut self,\n block: Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height.

    \n

    Each inserted transaction’s anchor will be constructed from\n[AnchorFromBlockPosition::from_block_position].

    \n

    To only insert relevant transactions, use apply_block_relevant instead.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,

    pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>\n)

    Applies the [ChangeSet] to the [IndexedTxGraph].

    \n

    pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Determines the [ChangeSet] between self and an empty [IndexedTxGraph].

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    pub fn apply_update(\n &mut self,\n update: Update<A>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply an update directly.

    \n

    update is a [tx_graph::Update<A>] and the resultant changes is returned as [ChangeSet].

    \n

    pub fn apply_update_at(\n &mut self,\n update: Update<A>,\n seen_at: Option<u64>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply the given update with an optional seen_at timestamp.

    \n

    seen_at represents when the update is seen (in unix seconds). It is used to determine the\nlast_seens for all transactions in the update which have no corresponding anchor(s). The\nlast_seen value is used internally to determine precedence of conflicting unconfirmed\ntransactions (where the transaction with the lower last_seen value is omitted from the\ncanonical history).

    \n

    Not setting a seen_at value means unconfirmed transactions introduced by this update will\nnot be part of the canonical history of transactions.

    \n

    Use apply_update to have the seen_at value automatically\nset to the current time.

    \n

    pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a floating txout of given outpoint.

    \n

    pub fn insert_tx(\n &mut self,\n tx: Transaction\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert and index a transaction into the graph.

    \n

    pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert an anchor for a given transaction.

    \n

    pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a unix timestamp of when a transaction is seen in the mempool.

    \n

    This is used for transaction conflict resolution in [TxGraph] where the transaction with\nthe later last-seen is prioritized.

    \n

    pub fn batch_insert_relevant<'t>(\n &mut self,\n txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the [Indexer::is_tx_relevant] implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

    \n

    pub fn batch_insert_relevant_unconfirmed<'t>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert unconfirmed transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    pub fn batch_insert_unconfirmed(\n &mut self,\n txs: impl IntoIterator<Item = (Transaction, u64)>\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert unconfirmed transactions.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

    \n
    ",0,"example_cli::KeychainTxGraph"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js index 71214874f7..943e040d2a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
    §

    impl<Pk> Clone for Descriptor<Pk>
    where\n Pk: Clone + MiniscriptKey,

    §

    fn clone(&self) -> Descriptor<Pk>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Debug for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n
    §Examples
    \n
    use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn plan<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n

    pub fn plan_mall<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DescriptorPublicKey>

    pub fn is_deriveable(&self) -> bool

    👎Deprecated: use has_wildcards instead

    Whether or not the descriptor has any wildcards

    \n

    pub fn has_wildcard(&self) -> bool

    Whether or not the descriptor has any wildcards i.e. /*.

    \n

    pub fn at_derivation_index(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

    \n
    §Errors
    \n
      \n
    • If index ≥ 2^31
    • \n
    \n

    pub fn derive(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    👎Deprecated: use at_derivation_index instead

    Deprecated name for Self::at_derivation_index.

    \n

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n

    This is a shorthand for:

    \n\n
        .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
    \n

    and is only here really here for backwards compatibility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n

    pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
    where\n C: Signing,

    Parse a descriptor that may contain secret keys

    \n

    Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

    \n

    pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

    Serialize a descriptor to string with its secret keys

    \n

    pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
    where\n C: Verification,

    Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

    \n

    If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

    \n

    pub fn is_multipath(&self) -> bool

    Whether this descriptor contains a key that has multiple derivation paths.

    \n

    pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

    Get as many descriptors as different paths in this descriptor.

    \n

    For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey + ToPublicKey,

    pub fn address(&self, network: Network) -> Result<Address, Error>

    Computes the Bitcoin address of the descriptor, if one exists

    \n

    Some descriptors like pk() don’t have an address.

    \n
    §Errors
    \n

    For raw/bare descriptors that don’t have an address.

    \n

    pub fn script_pubkey(&self) -> ScriptBuf

    Computes the scriptpubkey of the descriptor.

    \n

    pub fn unsigned_script_sig(&self) -> ScriptBuf

    Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

    \n

    This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

    \n

    pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

    Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn script_code(&self) -> Result<ScriptBuf, Error>

    Computes the scriptCode of a transaction output.

    \n

    The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
    where\n S: Satisfier<Pk>,

    Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    pub fn new_pk(pk: Pk) -> Descriptor<Pk>

    Create a new pk descriptor

    \n

    pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new PkH descriptor

    \n

    pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

    \n

    pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

    \n

    pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

    Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

    \n

    pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

    Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

    \n

    pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wpkh descriptor

    \n

    pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wsh descriptor

    \n

    pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

    \n

    pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

    Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

    \n

    pub fn desc_type(&self) -> DescriptorType

    Get the [DescriptorType] of Descriptor

    \n

    pub fn sanity_check(&self) -> Result<(), Error>

    Checks whether the descriptor is safe.

    \n

    Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

    \n

    In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

    \n

    pub fn max_weight_to_satisfy(&self) -> Result<Weight, Error>

    Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

    \n

    Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

    \n

    In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

    \n\n
    ⓘ
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
    \n

    Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

    \n\n
    ⓘ
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
    \n

    Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n

    pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

    👎Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.

    Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

    \n

    Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    §

    fn dust_value(&self) -> u64

    Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.
    §

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.
    ","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn deserialize<D>(\n deserializer: D\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Display for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    source§

    impl ExtractPolicy for Descriptor<DescriptorPublicKey>

    source§

    fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>\n) -> Result<Option<Policy>, Error>

    Extract the spending policy
    ","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn for_each_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
    §

    fn for_any_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
    ","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromStr for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    type Err = Error

    The associated error which can be returned from parsing.
    §

    fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromTree for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

    Parse an expression tree into a descriptor.

    \n
    ","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Hash for Descriptor<Pk>
    where\n Pk: Hash + MiniscriptKey,

    §

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Liftable<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn lift(&self) -> Result<Policy<Pk>, Error>

    Converts this object into an abstract policy.
    ","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Ord for Descriptor<Pk>
    where\n Pk: Ord + MiniscriptKey,

    §

    fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialEq for Descriptor<Pk>
    where\n Pk: PartialEq + MiniscriptKey,

    §

    fn eq(&self, other: &Descriptor<Pk>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialOrd for Descriptor<Pk>
    where\n Pk: PartialOrd + MiniscriptKey,

    §

    fn partial_cmp(&self, other: &Descriptor<Pk>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where\n P: MiniscriptKey,\n Q: MiniscriptKey,

    §

    fn translate_pk<T, E>(\n &self,\n t: &mut T\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
    where\n T: Translator<P, Q, E>,

    Converts a descriptor using abstract keys to one using specific keys.

    \n
    §

    type Output = Descriptor<Q>

    The associated output type. This must be Self<Q>.
    ","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Eq for Descriptor<Pk>
    where\n Pk: Eq + MiniscriptKey,

    ","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> StructuralPartialEq for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    ","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]] +"bdk_wallet":[["
    §

    impl<Pk> Clone for Descriptor<Pk>
    where\n Pk: Clone + MiniscriptKey,

    §

    fn clone(&self) -> Descriptor<Pk>

    Returns a copy of the value. Read more
    1.0.0 · source§

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Debug for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n
    §Examples
    \n
    use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn plan<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n

    pub fn plan_mall<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DescriptorPublicKey>

    pub fn is_deriveable(&self) -> bool

    👎Deprecated: use has_wildcards instead

    Whether or not the descriptor has any wildcards

    \n

    pub fn has_wildcard(&self) -> bool

    Whether or not the descriptor has any wildcards i.e. /*.

    \n

    pub fn at_derivation_index(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

    \n
    §Errors
    \n
      \n
    • If index ≥ 2^31
    • \n
    \n

    pub fn derive(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    👎Deprecated: use at_derivation_index instead

    Deprecated name for Self::at_derivation_index.

    \n

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n

    This is a shorthand for:

    \n\n
        .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
    \n

    and is only here really here for backwards compatibility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n

    pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
    where\n C: Signing,

    Parse a descriptor that may contain secret keys

    \n

    Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

    \n

    pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

    Serialize a descriptor to string with its secret keys

    \n

    pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
    where\n C: Verification,

    Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

    \n

    If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

    \n

    pub fn is_multipath(&self) -> bool

    Whether this descriptor contains a key that has multiple derivation paths.

    \n

    pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

    Get as many descriptors as different paths in this descriptor.

    \n

    For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey + ToPublicKey,

    pub fn address(&self, network: Network) -> Result<Address, Error>

    Computes the Bitcoin address of the descriptor, if one exists

    \n

    Some descriptors like pk() don’t have an address.

    \n
    §Errors
    \n

    For raw/bare descriptors that don’t have an address.

    \n

    pub fn script_pubkey(&self) -> ScriptBuf

    Computes the scriptpubkey of the descriptor.

    \n

    pub fn unsigned_script_sig(&self) -> ScriptBuf

    Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

    \n

    This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

    \n

    pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

    Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn script_code(&self) -> Result<ScriptBuf, Error>

    Computes the scriptCode of a transaction output.

    \n

    The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
    where\n S: Satisfier<Pk>,

    Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    pub fn new_pk(pk: Pk) -> Descriptor<Pk>

    Create a new pk descriptor

    \n

    pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new PkH descriptor

    \n

    pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

    \n

    pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

    \n

    pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

    Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

    \n

    pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

    Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

    \n

    pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wpkh descriptor

    \n

    pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wsh descriptor

    \n

    pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

    \n

    pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

    Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

    Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

    \n

    pub fn desc_type(&self) -> DescriptorType

    Get the [DescriptorType] of Descriptor

    \n

    pub fn sanity_check(&self) -> Result<(), Error>

    Checks whether the descriptor is safe.

    \n

    Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

    \n

    In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

    \n

    pub fn max_weight_to_satisfy(&self) -> Result<Weight, Error>

    Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

    \n

    Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

    \n

    In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

    \n\n
    ⓘ
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
    \n

    Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

    \n\n
    ⓘ
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
    \n

    Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n

    pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

    👎Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.

    Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

    \n

    Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    §

    fn dust_value(&self) -> u64

    Returns the minimum value (in satoshis) at which an output is broadcastable.\nPanics if the descriptor wildcard is hardened.
    §

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.
    ","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn deserialize<D>(\n deserializer: D\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Display for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    source§

    impl ExtractPolicy for Descriptor<DescriptorPublicKey>

    source§

    fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>\n) -> Result<Option<Policy>, Error>

    Extract the spending policy
    ","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn for_each_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
    §

    fn for_any_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
    ","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromStr for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    type Err = Error

    The associated error which can be returned from parsing.
    §

    fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromTree for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

    Parse an expression tree into a descriptor.

    \n
    ","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Hash for Descriptor<Pk>
    where\n Pk: Hash + MiniscriptKey,

    §

    fn hash<__H>(&self, state: &mut __H)
    where\n __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 · source§

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n H: Hasher,\n Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Liftable<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn lift(&self) -> Result<Policy<Pk>, Error>

    Converts this object into an abstract policy.
    ","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Ord for Descriptor<Pk>
    where\n Pk: Ord + MiniscriptKey,

    §

    fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 · source§

    fn max(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 · source§

    fn min(self, other: Self) -> Self
    where\n Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 · source§

    fn clamp(self, min: Self, max: Self) -> Self
    where\n Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialEq for Descriptor<Pk>
    where\n Pk: PartialEq + MiniscriptKey,

    §

    fn eq(&self, other: &Descriptor<Pk>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialOrd for Descriptor<Pk>
    where\n Pk: PartialOrd + MiniscriptKey,

    §

    fn partial_cmp(&self, other: &Descriptor<Pk>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 · source§

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · source§

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · source§

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where\n P: MiniscriptKey,\n Q: MiniscriptKey,

    §

    fn translate_pk<T, E>(\n &self,\n t: &mut T\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
    where\n T: Translator<P, Q, E>,

    Converts a descriptor using abstract keys to one using specific keys.

    \n
    §

    type Output = Descriptor<Q>

    The associated output type. This must be Self<Q>.
    ","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Eq for Descriptor<Pk>
    where\n Pk: Eq + MiniscriptKey,

    ","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> StructuralPartialEq for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    ","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/export/struct.FullyNodedExport.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/export/struct.FullyNodedExport.js index 1e986f7849..d5be2653e7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/export/struct.FullyNodedExport.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/export/struct.FullyNodedExport.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
    source§

    impl Debug for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl<'de> Deserialize<'de> for FullyNodedExport

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl Display for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl FromStr for FullyNodedExport

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl FullyNodedExport

    source

    pub fn export_wallet(\n wallet: &Wallet,\n label: &str,\n include_blockheight: bool\n) -> Result<Self, &'static str>

    Export a wallet

    \n

    This function returns an error if it determines that the wallet’s descriptor(s) are not\nsupported by Bitcoin Core or don’t follow the standard derivation paths defined by BIP44\nand others.

    \n

    If include_blockheight is true, this function will look into the wallet’s database\nfor the oldest transaction it knows and use that as the earliest block to rescan.

    \n

    If the database is empty or include_blockheight is false, the blockheight field\nreturned will be 0.

    \n
    source

    pub fn descriptor(&self) -> String

    Return the external descriptor

    \n
    source

    pub fn change_descriptor(&self) -> Option<String>

    Return the internal descriptor, if present

    \n
    ",0,"bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl Serialize for FullyNodedExport

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::wallet::export::WalletExport"]] +"bdk_wallet":[["
    source§

    impl Debug for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl<'de> Deserialize<'de> for FullyNodedExport

    source§

    fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
    where\n __D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl Display for FullyNodedExport

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl FromStr for FullyNodedExport

    §

    type Err = Error

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl FullyNodedExport

    source

    pub fn export_wallet(\n wallet: &Wallet,\n label: &str,\n include_blockheight: bool\n) -> Result<Self, &'static str>

    Export a wallet

    \n

    This function returns an error if it determines that the wallet’s descriptor(s) are not\nsupported by Bitcoin Core or don’t follow the standard derivation paths defined by BIP44\nand others.

    \n

    If include_blockheight is true, this function will look into the wallet’s database\nfor the oldest transaction it knows and use that as the earliest block to rescan.

    \n

    If the database is empty or include_blockheight is false, the blockheight field\nreturned will be 0.

    \n
    source

    pub fn descriptor(&self) -> String

    Return the external descriptor

    \n
    source

    pub fn change_descriptor(&self) -> Option<String>

    Return the internal descriptor, if present

    \n
    ",0,"bdk_wallet::wallet::export::WalletExport"],["
    source§

    impl Serialize for FullyNodedExport

    source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where\n __S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::wallet::export::WalletExport"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/collections/hash/set/struct.HashSet.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/collections/hash/set/struct.HashSet.js index 094a942d25..ac748683fc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/collections/hash/set/struct.HashSet.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/collections/hash/set/struct.HashSet.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::keys::ValidNetworks"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","bdk_wallet::keys::ValidNetworks"],["
    1.56.0 · source§

    impl<T, const N: usize> From<[T; N]> for HashSet<T>
    where\n T: Eq + Hash,

    source§

    fn from(arr: [T; N]) -> HashSet<T>

    §Examples
    \n
    use std::collections::HashSet;\n\nlet set1 = HashSet::from([1, 2, 3, 4]);\nlet set2: HashSet<_> = [1, 2, 3, 4].into();\nassert_eq!(set1, set2);
    \n
    ","From<[T; N]>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T> HashSet<T>

    1.0.0 · source

    pub fn new() -> HashSet<T>

    Creates an empty HashSet.

    \n

    The hash set is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashSet<T>

    Creates an empty HashSet with at least the specified capacity.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(10);\nassert!(set.capacity() >= 10);
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","bdk_wallet::keys::ValidNetworks"]] +"bdk_wallet":[["
    1.0.0 · source§

    impl<T, S> Clone for HashSet<T, S>
    where\n T: Clone,\n S: Clone,

    source§

    fn clone_from(&mut self, other: &HashSet<T, S>)

    Overwrites the contents of self with a clone of the contents of source.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> HashSet<T, S>

    Returns a copy of the value. Read more
    ","Clone","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Debug for HashSet<T, S>
    where\n T: Debug,

    source§

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Default for HashSet<T, S>
    where\n S: Default,

    source§

    fn default() -> HashSet<T, S>

    Creates an empty HashSet<T, S> with the Default value for the hasher.

    \n
    ","Default","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<'de, T, S> Deserialize<'de> for HashSet<T, S>
    where\n T: Deserialize<'de> + Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<HashSet<T, S>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::keys::ValidNetworks"],["
    1.4.0 · source§

    impl<'a, T, S> Extend<&'a T> for HashSet<T, S>
    where\n T: 'a + Eq + Hash + Copy,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, _: &'a T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<&'a T>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Extend<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = T>,

    Extends a collection with the contents of an iterator. Read more
    source§

    fn extend_one(&mut self, item: T)

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend","bdk_wallet::keys::ValidNetworks"],["
    1.56.0 · source§

    impl<T, const N: usize> From<[T; N]> for HashSet<T>
    where\n T: Eq + Hash,

    source§

    fn from(arr: [T; N]) -> HashSet<T>

    §Examples
    \n
    use std::collections::HashSet;\n\nlet set1 = HashSet::from([1, 2, 3, 4]);\nlet set2: HashSet<_> = [1, 2, 3, 4].into();\nassert_eq!(set1, set2);
    \n
    ","From<[T; N]>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> FromIterator<T> for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher + Default,

    source§

    fn from_iter<I>(iter: I) -> HashSet<T, S>
    where\n I: IntoIterator<Item = T>,

    Creates a value from an iterator. Read more
    ","FromIterator","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T> HashSet<T>

    1.0.0 · source

    pub fn new() -> HashSet<T>

    Creates an empty HashSet.

    \n

    The hash set is initially created with a capacity of 0, so it will not allocate until it\nis first inserted into.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> HashSet<T>

    Creates an empty HashSet with at least the specified capacity.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(10);\nassert!(set.capacity() >= 10);
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, S> HashSet<T, S>

    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns the number of elements the set can hold without reallocating.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet set: HashSet<i32> = HashSet::with_capacity(100);\nassert!(set.capacity() >= 100);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    An iterator visiting all elements in arbitrary order.\nThe iterator element type is &'a T.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\");\nset.insert(\"b\");\n\n// Will print in an arbitrary order.\nfor x in set.iter() {\n    println!(\"{x}\");\n}
    \n
    §Performance
    \n

    In the current implementation, iterating over set takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert_eq!(v.len(), 0);\nv.insert(1);\nassert_eq!(v.len(), 1);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nassert!(v.is_empty());\nv.insert(1);\nassert!(!v.is_empty());
    \n
    1.6.0 · source

    pub fn drain(&mut self) -> Drain<'_, T>

    Clears the set, returning all elements as an iterator. Keeps the\nallocated memory for reuse.

    \n

    If the returned iterator is dropped before being fully consumed, it\ndrops the remaining elements. The returned iterator keeps a mutable\nborrow on the set to optimize its implementation.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert!(!set.is_empty());\n\n// print 1, 2, 3 in an arbitrary order\nfor i in set.drain() {\n    println!(\"{i}\");\n}\n\nassert!(set.is_empty());
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, T, F>
    where\n F: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (hash_extract_if)

    Creates an iterator which uses a closure to determine if a value should be removed.

    \n

    If the closure returns true, then the value is removed and yielded.\nIf the closure returns false, the value will remain in the list and will not be yielded\nby the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a set into even and odd values, reusing the original set:

    \n\n
    #![feature(hash_extract_if)]\nuse std::collections::HashSet;\n\nlet mut set: HashSet<i32> = (0..8).collect();\nlet extracted: HashSet<i32> = set.extract_if(|v| v % 2 == 0).collect();\n\nlet mut evens = extracted.into_iter().collect::<Vec<_>>();\nlet mut odds = set.into_iter().collect::<Vec<_>>();\nevens.sort();\nodds.sort();\n\nassert_eq!(evens, vec![0, 2, 4, 6]);\nassert_eq!(odds, vec![1, 3, 5, 7]);
    \n
    1.18.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\nThe elements are visited in unsorted (and unspecified) order.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3, 4, 5, 6]);\nset.retain(|&k| k % 2 == 0);\nassert_eq!(set, HashSet::from([2, 4, 6]));
    \n
    §Performance
    \n

    In the current implementation, this operation takes O(capacity) time\ninstead of O(len) because it internally visits empty buckets too.

    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Clears the set, removing all values.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut v = HashSet::new();\nv.insert(1);\nv.clear();\nassert!(v.is_empty());
    \n
    1.7.0 (const: unstable) · source

    pub fn with_hasher(hasher: S) -> HashSet<T, S>

    Creates a new empty hash set which will use the given hasher to hash\nkeys.

    \n

    The hash set is also created with the default initial capacity.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_hasher(s);\nset.insert(2);
    \n
    1.7.0 · source

    pub fn with_capacity_and_hasher(capacity: usize, hasher: S) -> HashSet<T, S>

    Creates an empty HashSet with at least the specified capacity, using\nhasher to hash the keys.

    \n

    The hash set will be able to hold at least capacity elements without\nreallocating. This method is allowed to allocate for more elements than\ncapacity. If capacity is 0, the hash set will not allocate.

    \n

    Warning: hasher is normally randomly generated, and\nis designed to allow HashSets to be resistant to attacks that\ncause many collisions and very poor performance. Setting it\nmanually using this function can expose a DoS attack vector.

    \n

    The hash_builder passed should implement the BuildHasher trait for\nthe HashMap to be useful, see its documentation for details.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet s = RandomState::new();\nlet mut set = HashSet::with_capacity_and_hasher(10, s);\nset.insert(1);
    \n
    1.9.0 · source

    pub fn hasher(&self) -> &S

    Returns a reference to the set’s BuildHasher.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nuse std::hash::RandomState;\n\nlet hasher = RandomState::new();\nlet set: HashSet<i32> = HashSet::with_hasher(hasher);\nlet hasher: &RandomState = set.hasher();
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, S> HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling reserve,\ncapacity will be greater than or equal to self.len() + additional.\nDoes nothing if capacity is already sufficient.

    \n
    §Panics
    \n

    Panics if the new allocation size overflows usize.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.reserve(10);\nassert!(set.capacity() >= 10);
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\nin the HashSet. The collection may reserve more space to speculatively\navoid frequent reallocations. After calling try_reserve,\ncapacity will be greater than or equal to self.len() + additional if\nit returns Ok(()).\nDoes nothing if capacity is already sufficient.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set: HashSet<i32> = HashSet::new();\nset.try_reserve(10).expect(\"why is the test harness OOMing on a handful of bytes?\");
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of the set as much as possible. It will drop\ndown as much as possible while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to_fit();\nassert!(set.capacity() >= 2);
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the set with a lower limit. It will drop\ndown no lower than the supplied limit while maintaining the internal rules\nand possibly leaving some space in accordance with the resize policy.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::with_capacity(100);\nset.insert(1);\nset.insert(2);\nassert!(set.capacity() >= 100);\nset.shrink_to(10);\nassert!(set.capacity() >= 10);\nset.shrink_to(0);\nassert!(set.capacity() >= 2);
    \n
    1.0.0 · source

    pub fn difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> Difference<'a, T, S>

    Visits the values representing the difference,\ni.e., the values that are in self but not in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Can be seen as `a - b`.\nfor x in a.difference(&b) {\n    println!(\"{x}\"); // Print 1\n}\n\nlet diff: HashSet<_> = a.difference(&b).collect();\nassert_eq!(diff, [1].iter().collect());\n\n// Note that difference is not symmetric,\n// and `b - a` means something else:\nlet diff: HashSet<_> = b.difference(&a).collect();\nassert_eq!(diff, [4].iter().collect());
    \n
    1.0.0 · source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> SymmetricDifference<'a, T, S>

    Visits the values representing the symmetric difference,\ni.e., the values that are in self or in other but not in both.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 4 in arbitrary order.\nfor x in a.symmetric_difference(&b) {\n    println!(\"{x}\");\n}\n\nlet diff1: HashSet<_> = a.symmetric_difference(&b).collect();\nlet diff2: HashSet<_> = b.symmetric_difference(&a).collect();\n\nassert_eq!(diff1, diff2);\nassert_eq!(diff1, [1, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn intersection<'a>(\n &'a self,\n other: &'a HashSet<T, S>\n) -> Intersection<'a, T, S>

    Visits the values representing the intersection,\ni.e., the values that are both in self and other.

    \n

    When an equal element is present in self and other\nthen the resulting Intersection may yield references to\none or the other. This can be relevant if T contains fields which\nare not compared by its Eq implementation, and may hold different\nvalue between the two equal copies of T in the two sets.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 2, 3 in arbitrary order.\nfor x in a.intersection(&b) {\n    println!(\"{x}\");\n}\n\nlet intersection: HashSet<_> = a.intersection(&b).collect();\nassert_eq!(intersection, [2, 3].iter().collect());
    \n
    1.0.0 · source

    pub fn union<'a>(&'a self, other: &'a HashSet<T, S>) -> Union<'a, T, S>

    Visits the values representing the union,\ni.e., all the values in self or other, without duplicates.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet a = HashSet::from([1, 2, 3]);\nlet b = HashSet::from([4, 2, 3, 4]);\n\n// Print 1, 2, 3, 4 in arbitrary order.\nfor x in a.union(&b) {\n    println!(\"{x}\");\n}\n\nlet union: HashSet<_> = a.union(&b).collect();\nassert_eq!(union, [1, 2, 3, 4].iter().collect());
    \n
    1.0.0 · source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns true if the set contains a value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.contains(&1), true);\nassert_eq!(set.contains(&4), false);
    \n
    1.9.0 · source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Returns a reference to the value in the set, if any, that is equal to the given value.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet set = HashSet::from([1, 2, 3]);\nassert_eq!(set.get(&2), Some(&2));\nassert_eq!(set.get(&4), None);
    \n
    source

    pub fn get_or_insert(&mut self, value: T) -> &T

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts the given value into the set if it is not present, then\nreturns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.len(), 3);\nassert_eq!(set.get_or_insert(2), &2);\nassert_eq!(set.get_or_insert(100), &100);\nassert_eq!(set.len(), 4); // 100 was inserted
    \n
    source

    pub fn get_or_insert_owned<Q>(&mut self, value: &Q) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ToOwned<Owned = T> + ?Sized,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts an owned copy of the given value into the set if it is not\npresent, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_owned(pet);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    source

    pub fn get_or_insert_with<Q, F>(&mut self, value: &Q, f: F) -> &T
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,\n F: FnOnce(&Q) -> T,

    🔬This is a nightly-only experimental API. (hash_set_entry)

    Inserts a value computed from f into the set if the given value is\nnot present, then returns a reference to the value in the set.

    \n
    §Examples
    \n
    #![feature(hash_set_entry)]\n\nuse std::collections::HashSet;\n\nlet mut set: HashSet<String> = [\"cat\", \"dog\", \"horse\"]\n    .iter().map(|&pet| pet.to_owned()).collect();\n\nassert_eq!(set.len(), 3);\nfor &pet in &[\"cat\", \"dog\", \"fish\"] {\n    let value = set.get_or_insert_with(pet, str::to_owned);\n    assert_eq!(value, pet);\n}\nassert_eq!(set.len(), 4); // a new \"fish\" was inserted
    \n
    1.0.0 · source

    pub fn is_disjoint(&self, other: &HashSet<T, S>) -> bool

    Returns true if self has no elements in common with other.\nThis is equivalent to checking for an empty intersection.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet a = HashSet::from([1, 2, 3]);\nlet mut b = HashSet::new();\n\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(4);\nassert_eq!(a.is_disjoint(&b), true);\nb.insert(1);\nassert_eq!(a.is_disjoint(&b), false);
    \n
    1.0.0 · source

    pub fn is_subset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a subset of another,\ni.e., other contains at least all the values in self.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sup = HashSet::from([1, 2, 3]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_subset(&sup), true);\nset.insert(2);\nassert_eq!(set.is_subset(&sup), true);\nset.insert(4);\nassert_eq!(set.is_subset(&sup), false);
    \n
    1.0.0 · source

    pub fn is_superset(&self, other: &HashSet<T, S>) -> bool

    Returns true if the set is a superset of another,\ni.e., self contains at least all the values in other.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet sub = HashSet::from([1, 2]);\nlet mut set = HashSet::new();\n\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(0);\nset.insert(1);\nassert_eq!(set.is_superset(&sub), false);\n\nset.insert(2);\nassert_eq!(set.is_superset(&sub), true);
    \n
    1.0.0 · source

    pub fn insert(&mut self, value: T) -> bool

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain this value, true is returned.
    • \n
    • If the set already contained this value, false is returned,\nand the set is not modified: original value is not replaced,\nand the value passed as argument is dropped.
    • \n
    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nassert_eq!(set.insert(2), true);\nassert_eq!(set.insert(2), false);\nassert_eq!(set.len(), 1);
    \n
    1.9.0 · source

    pub fn replace(&mut self, value: T) -> Option<T>

    Adds a value to the set, replacing the existing value, if any, that is equal to the given\none. Returns the replaced value.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\nset.insert(Vec::<i32>::new());\n\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\nset.replace(Vec::with_capacity(10));\nassert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    \n
    1.0.0 · source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes a value from the set. Returns whether the value was\npresent in the set.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::new();\n\nset.insert(2);\nassert_eq!(set.remove(&2), true);\nassert_eq!(set.remove(&2), false);
    \n
    1.9.0 · source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n T: Borrow<Q>,\n Q: Hash + Eq + ?Sized,

    Removes and returns the value in the set, if any, that is equal to the given one.

    \n

    The value may be any borrowed form of the set’s value type, but\nHash and Eq on the borrowed form must match those for\nthe value type.

    \n
    §Examples
    \n
    use std::collections::HashSet;\n\nlet mut set = HashSet::from([1, 2, 3]);\nassert_eq!(set.take(&2), Some(2));\nassert_eq!(set.take(&2), None);
    \n
    ",0,"bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<'de, T, S, E> IntoDeserializer<'de, E> for HashSet<T, S>
    where\n T: IntoDeserializer<'de, E> + Eq + Hash,\n S: BuildHasher,\n E: Error,

    §

    type Deserializer = SeqDeserializer<<HashSet<T, S> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    source§

    fn into_deserializer(\n self\n) -> <HashSet<T, S> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> IntoIterator for HashSet<T, S>

    source§

    fn into_iter(self) -> IntoIter<T>

    Creates a consuming iterator, that is, one that moves each value out\nof the set in arbitrary order. The set cannot be used after calling\nthis.

    \n
    §Examples
    \n
    use std::collections::HashSet;\nlet mut set = HashSet::new();\nset.insert(\"a\".to_string());\nset.insert(\"b\".to_string());\n\n// Not possible to collect to a Vec<String> with a regular `.iter()`.\nlet v: Vec<String> = set.into_iter().collect();\n\n// Will print in an arbitrary order.\nfor x in &v {\n    println!(\"{x}\");\n}
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> PartialEq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    source§

    fn eq(&self, other: &HashSet<T, S>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::keys::ValidNetworks"],["
    source§

    impl<T, H> Serialize for HashSet<T, H>
    where\n T: Serialize,

    source§

    fn serialize<S>(\n &self,\n serializer: S\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::keys::ValidNetworks"],["
    1.0.0 · source§

    impl<T, S> Eq for HashSet<T, S>
    where\n T: Eq + Hash,\n S: BuildHasher,

    ","Eq","bdk_wallet::keys::ValidNetworks"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html index 42b814952f..d6e0aafdd9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html @@ -1 +1 @@ -main in wallet_electrum_example - Rust

    Function wallet_electrum_example::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file +main in wallet_electrum_example - Rust

    Function wallet_electrum_example::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html index 97ede053c2..8a8b7c8587 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html @@ -1 +1 @@ -wallet_electrum_example - Rust

    Crate wallet_electrum_example

    source ·

    Constants§

    Functions§

    \ No newline at end of file +wallet_electrum_example - Rust

    Crate wallet_electrum_example

    source ·

    Constants§

    Functions§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html index 124679c81a..767d0ba8ec 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html @@ -1 +1 @@ -main in wallet_esplora_async - Rust

    Function wallet_esplora_async::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file +main in wallet_esplora_async - Rust

    Function wallet_esplora_async::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html index 31feb2bb07..82a1d8c744 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html @@ -1 +1 @@ -wallet_esplora_async - Rust

    Crate wallet_esplora_async

    source ·

    Constants§

    Functions§

    \ No newline at end of file +wallet_esplora_async - Rust

    Crate wallet_esplora_async

    source ·

    Constants§

    Functions§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html index 9aa8829885..e557d02f7c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html @@ -1 +1 @@ -main in wallet_esplora_blocking - Rust

    Function wallet_esplora_blocking::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file +main in wallet_esplora_blocking - Rust

    Function wallet_esplora_blocking::main

    source ·
    pub(crate) fn main() -> Result<(), Error>
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html index 17539f19b8..89b4f18e2f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html @@ -1 +1 @@ -wallet_esplora_blocking - Rust

    Crate wallet_esplora_blocking

    source ·

    Constants§

    Functions§

    \ No newline at end of file +wallet_esplora_blocking - Rust

    Crate wallet_esplora_blocking

    source ·

    Constants§

    Functions§

    \ No newline at end of file