From: github-actions Date: Sat, 27 Jul 2024 13:19:47 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/struct.UTXO.html?a=commitdiff_plain;h=8685e7bc44a40e4a1eb8a5bf8a9d3ed2725615a6;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html index 91776617a4..669e5bb9da 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html @@ -1,18 +1,18 @@ BlockEvent in bdk_bitcoind_rpc - Rust

Struct bdk_bitcoind_rpc::BlockEvent

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

A newly emitted block from Emitter.

Fields§

§block: B

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

-
§checkpoint: CheckPoint

The checkpoint of the new block.

-

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

§checkpoint: CheckPoint

The checkpoint of the new block.

+

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

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

Implementations§

source§

impl<B> BlockEvent<B>

source

pub fn block_height(&self) -> u32

The block height of this new block.

source

pub fn block_hash(&self) -> BlockHash

The block hash of this new block.

-
source

pub fn connected_to(&self) -> BlockId

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

-

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

source

pub fn connected_to(&self) -> BlockId

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

+

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

This value is derived from BlockEvent::checkpoint.

Trait Implementations§

source§

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

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

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

Struct bdk_bitcoind_rpc::Emitter

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

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

Refer to module-level documentation for more.

-

Implementations§

source§

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

source

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

Construct a new Emitter.

+

Implementations§

source§

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

source

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

Construct a new Emitter.

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

start_height starts emission from a given height (if there are no conflicts with the diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_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 24c84f4489..62b594a1f0 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 @@ -7,7 +7,7 @@

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 + __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, 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 0190fc6551..445d86790a 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 @@ -14,7 +14,7 @@

§

KeychainAlreadyAssigned

The keychain is already assigned to a descriptor so you can’t reassign it

Fields

§keychain: K

The keychain that you have attempted to reassign

§existing_assignment: Descriptor<DescriptorPublicKey>

The descriptor that the keychain is already assigned to

-

Trait Implementations§

source§

impl<K: Clone> Clone for InsertDescriptorError<K>

source§

fn clone(&self) -> InsertDescriptorError<K>

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

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

Performs copy-assignment from source. Read more
source§

impl<K: Debug> Debug for InsertDescriptorError<K>

source§

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

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

impl<K: Debug> Display for InsertDescriptorError<K>

source§

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

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

impl<K: Debug> Error for InsertDescriptorError<K>

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<K: PartialEq> PartialEq for InsertDescriptorError<K>

source§

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

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

Trait Implementations§

source§

impl<K: Clone> Clone for InsertDescriptorError<K>

source§

fn clone(&self) -> InsertDescriptorError<K>

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

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

Performs copy-assignment from source. Read more
source§

impl<K: Debug> Debug for InsertDescriptorError<K>

source§

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

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

impl<K: Debug> Display for InsertDescriptorError<K>

source§

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

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

impl<K: Debug> Error for InsertDescriptorError<K>

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<K: PartialEq> PartialEq for InsertDescriptorError<K>

source§

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

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

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

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

impl<K> StructuralPartialEq for InsertDescriptorError<K>

Auto Trait Implementations§

§

impl<K> !Freeze for InsertDescriptorError<K>

§

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

§

impl<K> Send for InsertDescriptorError<K>
where 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 ac0e880983..6d10cbd9a4 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 @@ -4,7 +4,7 @@ }
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/struct.CannotConnectError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CannotConnectError.html index ef8eac55ab..7fc37f6545 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 @@ -2,7 +2,7 @@ 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.

-

Trait Implementations§

source§

impl Clone for CannotConnectError

source§

fn clone(&self) -> CannotConnectError

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 CannotConnectError

source§

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

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

impl Display for CannotConnectError

source§

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

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

impl Error for CannotConnectError

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 CannotConnectError

source§

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

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

Trait Implementations§

source§

impl Clone for CannotConnectError

source§

fn clone(&self) -> CannotConnectError

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 CannotConnectError

source§

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

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

impl Display for CannotConnectError

source§

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

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

impl Error for CannotConnectError

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 CannotConnectError

source§

fn eq(&self, other: &CannotConnectError) -> 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 CannotConnectError

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/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html index f26a6ec531..937ed75a27 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 @@ -9,7 +9,7 @@

source

pub fn from_sqlite(db_tx: &Transaction<'_>) -> Result<Self>

Construct a LocalChain from sqlite database.

source

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

Persist changeset to the 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<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 + __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 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 54b1dbad5f..3dc850fd7f 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,5 +1,5 @@ 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 +

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 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/struct.BlockId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html index 4d05a4edbe..48e166b779 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 @@ -11,7 +11,7 @@ block and anchor block are the same 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 + __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 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 bedf45579a..eacbf7f572 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 @@ -5,7 +5,7 @@ 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

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 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 @@ -20,12 +20,12 @@ true for Sha256dHash, so here we are.
==.
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 DescriptorId

source§

fn partial_cmp(&self, other: &DescriptorId) -> 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 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>( +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 + 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 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 27f5e5c671..55380170a7 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,5 +1,5 @@ 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

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 +

Tuple Fields§

§0: 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/tx_graph/enum.CalculateFeeError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html index 341ff14358..8683111eb7 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 @@ -4,7 +4,7 @@ }
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 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_coin_select/enum.BnbLimit.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.BnbLimit.html index 6f84ac3e06..772e048ae5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.BnbLimit.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.BnbLimit.html @@ -2,7 +2,7 @@ Rounds(usize), Duration(Duration), }
Expand description

Determines how we should limit rounds of branch and bound.

-

Variants§

§

Rounds(usize)

§

Duration(Duration)

Trait Implementations§

source§

impl From<Duration> for BnbLimit

source§

fn from(v: Duration) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BnbLimit

source§

fn from(v: usize) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Variants§

§

Rounds(usize)

§

Duration(Duration)

Trait Implementations§

source§

impl From<Duration> for BnbLimit

source§

fn from(v: Duration) -> Self

Converts to this type from the input type.
source§

impl From<usize> for BnbLimit

source§

fn from(v: usize) -> 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_coin_select/enum.ExcessStrategyKind.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.ExcessStrategyKind.html index cfb103cfe1..15512c8655 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.ExcessStrategyKind.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.ExcessStrategyKind.html @@ -2,7 +2,7 @@ ToFee, ToRecipient, ToDrain, -}

Variants§

§

ToFee

§

ToRecipient

§

ToDrain

Trait Implementations§

source§

impl Clone for ExcessStrategyKind

source§

fn clone(&self) -> ExcessStrategyKind

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 ExcessStrategyKind

source§

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

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

impl Display for ExcessStrategyKind

source§

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

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

impl Hash for ExcessStrategyKind

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 +}

Variants§

§

ToFee

§

ToRecipient

§

ToDrain

Trait Implementations§

source§

impl Clone for ExcessStrategyKind

source§

fn clone(&self) -> ExcessStrategyKind

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 ExcessStrategyKind

source§

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

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

impl Display for ExcessStrategyKind

source§

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

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

impl Hash for ExcessStrategyKind

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 ExcessStrategyKind

source§

fn cmp(&self, other: &ExcessStrategyKind) -> 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_coin_select/enum.SelectionConstraint.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.SelectionConstraint.html index 26df5b882c..0839d92561 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.SelectionConstraint.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.SelectionConstraint.html @@ -7,7 +7,7 @@
§

TargetFee

The target fee (given the feerate) is not met

§

MinAbsoluteFee

Min absolute fee is not met

§

MinDrainValue

Min drain value is not met

-

Trait Implementations§

source§

impl Clone for SelectionConstraint

source§

fn clone(&self) -> SelectionConstraint

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 SelectionConstraint

source§

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

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

impl Display for SelectionConstraint

source§

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

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

impl PartialEq for SelectionConstraint

source§

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

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

Trait Implementations§

source§

impl Clone for SelectionConstraint

source§

fn clone(&self) -> SelectionConstraint

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 SelectionConstraint

source§

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

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

impl Display for SelectionConstraint

source§

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

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

impl PartialEq for SelectionConstraint

source§

fn eq(&self, other: &SelectionConstraint) -> 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 Copy for SelectionConstraint

source§

impl Eq for SelectionConstraint

source§

impl StructuralPartialEq for SelectionConstraint

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_esplora/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html index b89ba19f10..814a38be10 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html @@ -27,6 +27,6 @@ has shown a user. bdk_chain -via a new TxGraph to be appended to any existing TxGraph data.

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

Refer to example_esplora for a complete example.

Re-exports§

  • pub use esplora_client;

Traits§

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

Type Aliases§

  • [esplora_client::Error]

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

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

Refer to crate-level documentation for more.

Required Methods§

source

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

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

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

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

source

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

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

+specified and return a [TxGraph].

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

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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraAsyncExt for AsyncClient

source§

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

source§

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

Implementors§

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

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

Refer to crate-level documentation for more.

Required Methods§

source

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

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

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

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

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

source

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

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

+) -> Result<SyncResult, Error>

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

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

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

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraExt for BlockingClient

source§

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

source§

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

source§

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

Implementors§

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

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html index 9f8e23de8d..3e29613e44 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html @@ -7,7 +7,7 @@ }
Expand description

Error that occurs due to problems encountered with the file.

Variants§

§

Io(Error)

IO error, this may mean that the file is too short.

§

InvalidMagicBytes

Magic bytes do not match what is expected.

-

Fields

§got: Vec<u8>
§expected: Vec<u8>

Trait Implementations§

source§

impl Debug for FileError

source§

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

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

impl Display for FileError

source§

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

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

impl Error for FileError

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 FileError

source§

fn from(value: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for FileError

§

impl !RefUnwindSafe for FileError

§

impl Send for FileError

§

impl Sync for FileError

§

impl Unpin for FileError

§

impl !UnwindSafe for FileError

Blanket Implementations§

source§

impl<T> Any for T
where +

Fields

§got: Vec<u8>
§expected: Vec<u8>

Trait Implementations§

source§

impl Debug for FileError

source§

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

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

impl Display for FileError

source§

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

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

impl Error for FileError

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 FileError

source§

fn from(value: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for FileError

§

impl !RefUnwindSafe for FileError

§

impl Send for FileError

§

impl Sync for FileError

§

impl Unpin for FileError

§

impl !UnwindSafe for FileError

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_file_store/struct.Store.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html index f93055d36a..ccb3447152 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>

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.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html index 7bebd0e693..5463a26adf 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html @@ -2,7 +2,7 @@ SigHashP2wpkh(P2wpkhError), SigHashTaproot(TaprootError), DerivationError(Error), -}

Variants§

§

SigHashP2wpkh(P2wpkhError)

§

SigHashTaproot(TaprootError)

§

DerivationError(Error)

Trait Implementations§

source§

impl Clone for SigningError

source§

fn clone(&self) -> SigningError

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 SigningError

source§

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

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

impl Display for SigningError

source§

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

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

impl Error for SigningError

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 SigningError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<P2wpkhError> for SigningError

source§

fn from(v: P2wpkhError) -> Self

Converts to this type from the input type.
source§

impl From<TaprootError> for SigningError

source§

fn from(v: TaprootError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

SigHashP2wpkh(P2wpkhError)

§

SigHashTaproot(TaprootError)

§

DerivationError(Error)

Trait Implementations§

source§

impl Clone for SigningError

source§

fn clone(&self) -> SigningError

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 SigningError

source§

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

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

impl Display for SigningError

source§

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

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

impl Error for SigningError

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 SigningError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<P2wpkhError> for SigningError

source§

fn from(v: P2wpkhError) -> Self

Converts to this type from the input type.
source§

impl From<TaprootError> for SigningError

source§

fn from(v: TaprootError) -> 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/coin_selection/enum.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/coin_selection/enum.Error.html index 6ed837c34d..b9bd5aa489 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/coin_selection/enum.Error.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/coin_selection/enum.Error.html @@ -13,7 +13,7 @@ the desired outputs plus fee, if there is not such combination this error is thrown

§

BnBTotalTriesExceeded

Branch and bound coin selection possible attempts with sufficiently big UTXO set could grow exponentially, thus a limit is set, and when hit, this error is thrown

-

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.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

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.

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/descriptor/enum.Descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html index 4f3bced4b4..b6aa53865f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html @@ -236,8 +236,8 @@ default(0x02) y-coordinate.

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

Trait Implementations§

§

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

§

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

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

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

Performs copy-assignment from source. Read more
§

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

§

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

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

impl DescriptorExt for Descriptor<DescriptorPublicKey>

source§

fn dust_value(&self) -> u64

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

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the + 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>( deserializer: D @@ -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 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 03305721fe..7c3de04b18 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.PolicyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html index fc4dcdf540..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/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html index a91425ad73..78e351655f 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 @@ -1,11 +1,11 @@ ApplyBlockError in bdk_wallet - Rust

Enum bdk_wallet::ApplyBlockError

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

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

-

Variants§

§

CannotConnect(CannotConnectError)

Occurs when the update chain cannot connect with original chain.

+

Variants§

§

CannotConnect(CannotConnectError)

Occurs when the update chain cannot connect with original chain.

§

UnexpectedConnectedToHash

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

Fields

§connected_to_hash: BlockHash

Block hash of connected_to.

§expected_hash: BlockHash

Expected block hash of connected_to, as derived from block.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.CreateWithPersistError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.CreateWithPersistError.html index 553ea23db9..af20cbc6af 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.CreateWithPersistError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.CreateWithPersistError.html @@ -1,7 +1,7 @@ CreateWithPersistError in bdk_wallet - Rust

Enum bdk_wallet::CreateWithPersistError

source ·
pub enum CreateWithPersistError<E> {
     Persist(E),
     Descriptor(DescriptorError),
-}
Expand description

Error type for PersistedWallet::create.

+}
Expand description

Error type for [PersistedWallet::create].

Variants§

§

Persist(E)

Error from persistence.

§

Descriptor(DescriptorError)

Occurs when the loaded changeset cannot contruct Wallet.

Trait Implementations§

source§

impl<E: Debug> Debug for CreateWithPersistError<E>

source§

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

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

impl<E: Display> Display for CreateWithPersistError<E>

source§

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

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

impl<E: Debug + Display> Error for CreateWithPersistError<E>

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<E> Freeze for CreateWithPersistError<E>
where 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 e04ac8492c..ea97fa0796 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 @@ -19,11 +19,11 @@

§

Genesis

Genesis hash does not match.

Fields

§loaded: BlockHash

The genesis hash that is loaded.

§expected: BlockHash

The expected genesis hash.

-
§

Descriptor

Descriptor’s DescriptorId does not match.

+
§

Descriptor

Descriptor’s DescriptorId does not match.

Fields

§keychain: KeychainKind

Keychain identifying the descriptor.

§loaded: ExtendedDescriptor

The loaded descriptor.

§expected: 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/enum.LoadWithPersistError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html index 13b92f69af..f36dd972fd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html @@ -1,10 +1,10 @@ LoadWithPersistError in bdk_wallet - Rust

Enum bdk_wallet::LoadWithPersistError

source ·
pub enum LoadWithPersistError<E> {
     Persist(E),
     InvalidChangeSet(LoadError),
-}
Expand description

Error type for PersistedWallet::load.

+}
Expand description

Error type for [PersistedWallet::load].

Variants§

§

Persist(E)

Error from persistence.

§

InvalidChangeSet(LoadError)

Occurs when the loaded changeset cannot construct Wallet.

-

Trait Implementations§

source§

impl<E: Debug> Debug for LoadWithPersistError<E>

source§

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

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

impl<E: Display> Display for LoadWithPersistError<E>

source§

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

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

impl<E: Debug + Display> Error for LoadWithPersistError<E>

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<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl<E: PartialEq> PartialEq for LoadWithPersistError<E>

source§

fn eq(&self, other: &LoadWithPersistError<E>) -> bool

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

Trait Implementations§

source§

impl<E: Debug> Debug for LoadWithPersistError<E>

source§

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

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

impl<E: Display> Display for LoadWithPersistError<E>

source§

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

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

impl<E: Debug + Display> Error for LoadWithPersistError<E>

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<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl<E: PartialEq> PartialEq for LoadWithPersistError<E>

source§

fn eq(&self, other: &LoadWithPersistError<E>) -> 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<E> StructuralPartialEq for LoadWithPersistError<E>

Auto Trait Implementations§

§

impl<E> !Freeze for LoadWithPersistError<E>

§

impl<E> RefUnwindSafe for LoadWithPersistError<E>
where E: RefUnwindSafe,

§

impl<E> Send for LoadWithPersistError<E>
where 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 620db062c4..1e1fc87ba0 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/struct.FullyNodedExport.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/export/struct.FullyNodedExport.html index b3b344e106..4ae2775086 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,8 +20,8 @@ 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 +

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 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 f5d2f60852..0ed595f2c1 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 @@ -182,7 +182,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§

  • Trait to check if a value is below the dust limit. +

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§

  • Trait to check if a value is below the dust limit. We are performing dust value calculation for a given script public key using rust-bitcoin to keep it compatible with network dust rate

Functions§

Type Aliases§

\ 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 2339f307a8..688279ca2e 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 d6ee49d1c2..47187e2966 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/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html index b781c92b5c..103e80b1c3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html @@ -1,2 +1,2 @@ -SCHEMAS_TABLE_NAME in bdk_wallet::rusqlite_impl - Rust

Constant bdk_wallet::rusqlite_impl::SCHEMAS_TABLE_NAME

source ·
pub const SCHEMAS_TABLE_NAME: &'static str;
Expand description

Table name for schemas.

+SCHEMAS_TABLE_NAME in bdk_wallet::rusqlite_impl - Rust

Constant bdk_wallet::rusqlite_impl::SCHEMAS_TABLE_NAME

pub const SCHEMAS_TABLE_NAME: &'static str;
Expand description

Table name for schemas.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html index 0778117907..59793b065e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html @@ -1,4 +1,4 @@ -migrate_schema in bdk_wallet::rusqlite_impl - Rust

Function bdk_wallet::rusqlite_impl::migrate_schema

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

Function bdk_wallet::rusqlite_impl::migrate_schema

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_wallet/rusqlite_impl/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
index 0eb25f1016..8b9753b918 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
@@ -1,2 +1,2 @@
-bdk_wallet::rusqlite_impl - Rust

Module bdk_wallet::rusqlite_impl

source ·
Expand description

Module for stuff

+bdk_wallet::rusqlite_impl - Rust

Module bdk_wallet::rusqlite_impl

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_wallet/signer/enum.SignerError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerError.html index 5897d0ba2b..9456917660 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/enum.SignerId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerId.html index 395480533e..163462cffa 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerId.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/enum.SignerId.html @@ -7,7 +7,7 @@ multiple of them

Variants§

§

PkHash(Hash)

Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA public key

§

Fingerprint(Fingerprint)

The fingerprint of a BIP32 extended key

§

Dummy(u64)

Dummy identifier

-

Trait Implementations§

source§

impl Clone for SignerId

source§

fn clone(&self) -> SignerId

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 SignerId

source§

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

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

impl From<Fingerprint> for SignerId

source§

fn from(fing: Fingerprint) -> SignerId

Converts to this type from the input type.
source§

impl From<Hash> for SignerId

source§

fn from(hash: Hash) -> SignerId

Converts to this type from the input type.
source§

impl Hash for SignerId

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 SignerId

source§

fn clone(&self) -> SignerId

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 SignerId

source§

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

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

impl From<Fingerprint> for SignerId

source§

fn from(fing: Fingerprint) -> SignerId

Converts to this type from the input type.
source§

impl From<Hash> for SignerId

source§

fn from(hash: Hash) -> SignerId

Converts to this type from the input type.
source§

impl Hash for SignerId

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 SignerId

source§

fn cmp(&self, other: &SignerId) -> 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_wallet/signer/struct.SignerWrapper.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/signer/struct.SignerWrapper.html index 3e66e51190..00efa0384f 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,24 +1,24 @@ 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, sign_options: &SignOptions, secp: &Secp256k1<All> -) -> Result<(), SignerError>

Sign a single psbt input
source§

impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

source§

fn sign_input( +) -> Result<(), SignerError>

Sign a single psbt input
source§

impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

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 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.AddressInfo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html index d563f0cbcb..3f537223e9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html @@ -68,7 +68,7 @@ network a simple comparison is not enough anymore. Instead this function can be let address: Address<NetworkUnchecked> = "32iVBEu4dxkUQk9dJbZUiBiQdmypcEyJRf".parse().unwrap(); assert!(address.is_valid_for_network(Network::Bitcoin)); assert_eq!(address.is_valid_for_network(Network::Testnet), false);
-

Trait Implementations§

source§

impl Debug for AddressInfo

source§

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

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

impl Deref for AddressInfo

§

type Target = Address

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Display for AddressInfo

source§

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

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

impl PartialEq for AddressInfo

source§

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

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

Trait Implementations§

source§

impl Debug for AddressInfo

source§

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

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

impl Deref for AddressInfo

§

type Target = Address

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl Display for AddressInfo

source§

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

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

impl PartialEq for AddressInfo

source§

fn eq(&self, other: &AddressInfo) -> 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 AddressInfo

source§

impl StructuralPartialEq for AddressInfo

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/struct.Balance.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html index 08abdd4635..78b194641d 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 @@ -1,4 +1,4 @@ -Balance in bdk_wallet - Rust

Struct bdk_wallet::Balance

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

Struct bdk_wallet::Balance

pub struct Balance {
     pub immature: Amount,
     pub trusted_pending: Amount,
     pub untrusted_pending: Amount,
@@ -8,20 +8,20 @@
 
§trusted_pending: Amount

Unconfirmed UTXOs generated by a wallet tx

§untrusted_pending: Amount

Unconfirmed UTXOs received from an external wallet

§confirmed: Amount

Confirmed and immediately spendable balance

-

Implementations§

source§

impl Balance

source

pub fn trusted_spendable(&self) -> Amount

Get sum of trusted_pending and confirmed coins.

+

Implementations§

§

impl Balance

pub fn trusted_spendable(&self) -> Amount

Get sum of trusted_pending and confirmed coins.

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: Balance) -> Balance

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<(), Error>

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

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>( __deserializer: __D ) -> Result<Balance, <__D as Deserializer<'de>>::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<(), Error>

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

impl PartialEq for Balance

source§

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

This method tests for self and other values to be equal, and is used + __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.
source§

impl Serialize for Balance

source§

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
source§

impl Eq for Balance

source§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

§

impl Freeze for Balance

§

impl RefUnwindSafe for Balance

§

impl Send for Balance

§

impl Sync for Balance

§

impl Unpin for Balance

§

impl UnwindSafe for Balance

Blanket Implementations§

source§

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

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

impl Eq for Balance

§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

§

impl Freeze for Balance

§

impl RefUnwindSafe for Balance

§

impl Send for Balance

§

impl Sync for Balance

§

impl Unpin for Balance

§

impl UnwindSafe for Balance

Blanket Implementations§

source§

impl<T> Any for T
where 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/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html index b4f055240e..f26d14228e 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 @@ -2,23 +2,23 @@ pub descriptor: Option<Descriptor<DescriptorPublicKey>>, pub change_descriptor: Option<Descriptor<DescriptorPublicKey>>, pub network: Option<Network>, - pub local_chain: ChangeSet, - pub tx_graph: ChangeSet<ConfirmationBlockTime>, - pub indexer: ChangeSet, + pub local_chain: ChangeSet, + pub tx_graph: ChangeSet<ConfirmationBlockTime>, + pub indexer: ChangeSet, }
Expand description

A changeset for Wallet.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§descriptor: Option<Descriptor<DescriptorPublicKey>>

Descriptor for recipient addresses.

§change_descriptor: Option<Descriptor<DescriptorPublicKey>>

Descriptor for change addresses.

§network: Option<Network>

Stores the network type of the transaction data.

-
§local_chain: ChangeSet

Changes to the LocalChain.

-
§tx_graph: ChangeSet<ConfirmationBlockTime>

Changes to TxGraph.

-
§indexer: ChangeSet

Changes to KeychainTxOutIndex.

+
§local_chain: ChangeSet

Changes to the LocalChain.

+
§tx_graph: ChangeSet<ConfirmationBlockTime>

Changes to TxGraph.

+
§indexer: ChangeSet

Changes to KeychainTxOutIndex.

Implementations§

source§

impl ChangeSet

source

pub const WALLET_SCHEMA_NAME: &'static str = "bdk_wallet"

Schema name for wallet.

source

pub const WALLET_TABLE_NAME: &'static str = "bdk_wallet"

Name of table to store wallet descriptors and network.

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(chain: 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 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.
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 + __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(chain: 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 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§

§

impl !Freeze for ChangeSet

§

impl RefUnwindSafe for ChangeSet

§

impl Send for ChangeSet

§

impl Sync for ChangeSet

§

impl Unpin for ChangeSet

§

impl UnwindSafe for ChangeSet

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html index ddadde1924..89ad6c4c65 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html @@ -1,9 +1,9 @@ -CreateParams in bdk_wallet - Rust

Struct bdk_wallet::CreateParams

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

Parameters for Wallet::create or PersistedWallet::create.

+CreateParams in bdk_wallet - Rust

Struct bdk_wallet::CreateParams

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

Parameters for Wallet::create or [PersistedWallet::create].

Implementations§

source§

impl CreateParams

source

pub fn new<D: IntoWalletDescriptor + 'static>( descriptor: D, change_descriptor: D ) -> Self

Construct parameters with provided descriptor, change_descriptor and network.

-

Default values: genesis_hash = None, lookahead = DEFAULT_LOOKAHEAD

+

Default values: genesis_hash = None, lookahead = [DEFAULT_LOOKAHEAD]

source

pub fn keymap(self, keychain: KeychainKind, keymap: KeyMap) -> Self

Extend the given keychain’s keymap.

source

pub fn network(self, network: Network) -> Self

Set network.

source

pub fn genesis_hash(self, genesis_hash: BlockHash) -> Self

Use a custom genesis_hash.

@@ -11,13 +11,13 @@
source

pub fn create_wallet<Db>( self, db: &mut Db -) -> Result<PersistedWallet, <Wallet as PersistWith<Db>>::CreateError>
where - Wallet: PersistWith<Db, CreateParams = Self>,

Create PersistedWallet with the given Db.

+) -> Result<PersistedWallet, <Wallet as PersistWith<Db>>::CreateError>
where + Wallet: PersistWith<Db, CreateParams = Self>,

Create PersistedWallet with the given Db.

source

pub async fn create_wallet_async<Db>( self, db: &mut Db -) -> Result<PersistedWallet, <Wallet as PersistAsyncWith<Db>>::CreateError>
where - Wallet: PersistAsyncWith<Db, CreateParams = Self>,

Create PersistedWallet with the given async Db.

+) -> Result<PersistedWallet, <Wallet as PersistAsyncWith<Db>>::CreateError>
where + Wallet: PersistAsyncWith<Db, CreateParams = Self>,

Create PersistedWallet with the given async Db.

source

pub fn create_wallet_no_persist(self) -> Result<Wallet, DescriptorError>

Create Wallet without persistence.

Auto Trait Implementations§

§

impl Freeze for CreateParams

§

impl !RefUnwindSafe for CreateParams

§

impl !Send for CreateParams

§

impl !Sync for CreateParams

§

impl Unpin for CreateParams

§

impl !UnwindSafe for CreateParams

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/struct.LoadParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html index a43f2fa922..a3239f2e1c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html @@ -1,6 +1,6 @@ -LoadParams in bdk_wallet - Rust

Struct bdk_wallet::LoadParams

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

Parameters for Wallet::load or PersistedWallet::load.

+LoadParams in bdk_wallet - Rust

Struct bdk_wallet::LoadParams

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

Parameters for Wallet::load or [PersistedWallet::load].

Implementations§

source§

impl LoadParams

source

pub fn new() -> Self

Construct parameters with default values.

-

Default values: lookahead = DEFAULT_LOOKAHEAD

+

Default values: lookahead = [DEFAULT_LOOKAHEAD]

source

pub fn keymap(self, keychain: KeychainKind, keymap: KeyMap) -> Self

Extend the given keychain’s keymap.

source

pub fn descriptors<D>(self, descriptor: D, change_descriptor: D) -> Self
where D: IntoWalletDescriptor + 'static,

Checks that descriptor of keychain matches this, and extracts private keys (if @@ -11,13 +11,13 @@ avaliable).

source

pub fn load_wallet<Db>( self, db: &mut Db -) -> Result<Option<PersistedWallet>, <Wallet as PersistWith<Db>>::LoadError>
where - Wallet: PersistWith<Db, LoadParams = Self>,

Load PersistedWallet with the given Db.

+) -> Result<Option<PersistedWallet>, <Wallet as PersistWith<Db>>::LoadError>
where + Wallet: PersistWith<Db, LoadParams = Self>,

Load PersistedWallet with the given Db.

source

pub async fn load_wallet_async<Db>( self, db: &mut Db -) -> Result<Option<PersistedWallet>, <Wallet as PersistAsyncWith<Db>>::LoadError>
where - Wallet: PersistAsyncWith<Db, LoadParams = Self>,

Load PersistedWallet with the given async Db.

+) -> Result<Option<PersistedWallet>, <Wallet as PersistAsyncWith<Db>>::LoadError>
where + Wallet: PersistAsyncWith<Db, LoadParams = Self>,

Load PersistedWallet with the given async Db.

source

pub fn load_wallet_no_persist( self, changeset: ChangeSet 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 ae3280dabe..ff99118351 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html @@ -4,14 +4,14 @@ pub keychain: KeychainKind, pub is_spent: bool, pub derivation_index: u32, - pub confirmation_time: ConfirmationTime, + pub confirmation_time: ConfirmationTime, }
Expand description

An unspent output owned by a Wallet.

Fields§

§outpoint: OutPoint

Reference to a transaction output

§txout: TxOut

Transaction output

§keychain: KeychainKind

Type of keychain

§is_spent: bool

Whether this UTXO is spent or not

§derivation_index: u32

The derivation index for the script pubkey in the wallet

-
§confirmation_time: ConfirmationTime

The confirmation time for transaction containing this utxo

+
§confirmation_time: ConfirmationTime

The confirmation time for transaction containing this utxo

Trait Implementations§

source§

impl Clone for LocalOutput

source§

fn clone(&self) -> LocalOutput

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for LocalOutput

source§

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

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

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

source§

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

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

impl Hash for LocalOutput

source§

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

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

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html index faa5942dc6..16fbd1de67 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 chain: Option<CheckPoint>,
+    pub graph: TxGraph<ConfirmationBlockTime>,
+    pub chain: Option<CheckPoint>,
 }
Expand description

An update to Wallet.

-

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

+

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.

-
§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 +[KeychainTxOutIndex].

+
§graph: TxGraph<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 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 c1108f5226..ab97409c0a 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 @@ -9,7 +9,7 @@ Its main components are:

ChangeSets (see take_staged). Also see individual functions and example for instructions 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.

+script pubkeys. See [KeychainTxOutIndex::insert_descriptor()] for more details.

Implementations§

source§

impl Wallet

source

pub fn create<D>(descriptor: D, change_descriptor: D) -> CreateParams
where D: IntoWalletDescriptor + Clone + 'static,

Build a new Wallet.

If you have previously created a wallet, use load instead.

@@ -122,11 +122,11 @@ by using
source

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

Return the list of unspent outputs of this wallet

source

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

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

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

-
source

pub fn checkpoints(&self) -> CheckPointIter

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

-
source

pub fn latest_checkpoint(&self) -> CheckPoint

Returns the latest checkpoint.

+
source

pub fn checkpoints(&self) -> CheckPointIter

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

+
source

pub fn latest_checkpoint(&self) -> CheckPoint

Returns the latest checkpoint.

source

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

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

+) -> BTreeMap<KeychainKind, impl Iterator<Item = Indexed<ScriptBuf>> + Clone>

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

This is intended to be used when doing a full scan of your addresses (e.g. after restoring from seed words). You pass the BTreeMap of iterators to a blockchain data source (e.g. electrum server) which will go through each address until it reaches a stop gap.

@@ -135,7 +135,7 @@ script pubkeys the wallet is storing internally).

source

pub fn unbounded_spk_iter( &self, keychain: KeychainKind -) -> impl Iterator<Item = Indexed<ScriptBuf>> + Clone

Get an unbounded script pubkey iterator for the given keychain.

+) -> impl Iterator<Item = Indexed<ScriptBuf>> + Clone

Get an unbounded script pubkey iterator for the given keychain.

See all_unbounded_spk_iters for more documentation

source

pub fn get_utxo(&self, op: OutPoint) -> Option<LocalOutput>

Returns the utxo owned by this wallet corresponding to outpoint if it exists in the wallet’s database.

@@ -151,7 +151,7 @@ See
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.

+) -> Result<Amount, CalculateFeeError>

Calculates the fee of a given transaction. Returns [Amount::ZERO] if tx is a coinbase transaction.

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

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

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

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

Calculate the [FeeRate] for a given transaction.

+) -> Result<FeeRate, CalculateFeeError>

Calculate the [FeeRate] for a given transaction.

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

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

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

source

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

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

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

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

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

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

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

Add a new checkpoint to the wallet’s internal view of the chain.

+ block_id: BlockId +) -> Result<bool, AlterCheckPointError>

Add a new checkpoint to the wallet’s internal view of the chain.

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

WARNING: You must persist the changes resulting from one or more calls to this method @@ -245,7 +245,7 @@ whether the transaction exists in the best chain. To know whether it exists, the must be broadcast to the network and the wallet synced via a chain source.

source

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

Iterate over the transactions in the wallet.

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

Iterate over the transactions in the wallet.

source

pub fn balance(&self) -> Balance

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

source

pub fn add_signer( @@ -366,25 +366,25 @@ Otherwise, it will return the index of the highest address it has derived.

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>

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 are yet to be committed (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 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 +) -> 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 spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

Get a reference to the inner [KeychainTxOutIndex].

+
source

pub fn local_chain(&self) -> &LocalChain

Get a reference to the inner [LocalChain].

source

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

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

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

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

@@ -392,12 +392,12 @@ with prev_blockhash and height-1 as the connecte &mut self, block: &Block, height: u32, - connected_to: BlockId -) -> Result<(), ApplyHeaderError>

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

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

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

+[LocalChain]. Relevant transactions are filtered from the block and inserted into the +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.

@@ -414,44 +414,44 @@ when there is conflicting unconfirmed transactions. The transaction with the lat 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

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

+
source

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

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

-
source

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

Create a `FullScanRequest for this wallet.

+
source

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

Create a [`FullScanRequest] for this wallet.

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

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

-

Trait Implementations§

source§

impl AsRef<TxGraph<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
source§

impl PersistWith<Connection> for Wallet

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
source§

impl PersistWith<Connection> for Wallet

§

type CreateParams = CreateParams

Parameters for [PersistWith::create].
§

type LoadParams = LoadParams

Parameters for [PersistWith::load].
§

type CreateError = CreateWithPersistError<Error>

Error type of [PersistWith::create].
§

type LoadError = LoadWithPersistError<Error>

Error type of [PersistWith::load].
§

type PersistError = Error

Error type of [PersistWith::persist].
source§

fn create( db: &mut Connection, - params: Self::CreateParams -) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( + params: Self::CreateParams +) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( db: &mut Connection, - params: Self::LoadParams -) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( + params: Self::LoadParams +) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( db: &mut Connection, - changeset: &<Self as Staged>::ChangeSet -) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl PersistWith<Store<ChangeSet>> for Wallet

§

type CreateParams = CreateParams

Parameters for PersistWith::create.
§

type LoadParams = LoadParams

Parameters for PersistWith::load.
§

type CreateError = CreateWithPersistError<Error>

Error type of PersistWith::create.
§

type LoadError = LoadWithPersistError<AggregateChangesetsError<ChangeSet>>

Error type of PersistWith::load.
§

type PersistError = Error

Error type of PersistWith::persist.
source§

fn create( + changeset: &<Self as Staged>::ChangeSet +) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl PersistWith<Store<ChangeSet>> for Wallet

§

type CreateParams = CreateParams

Parameters for [PersistWith::create].
§

type LoadParams = LoadParams

Parameters for [PersistWith::load].
§

type CreateError = CreateWithPersistError<Error>

Error type of [PersistWith::create].
§

type LoadError = LoadWithPersistError<AggregateChangesetsError<ChangeSet>>

Error type of [PersistWith::load].
§

type PersistError = Error

Error type of [PersistWith::persist].
source§

fn create( db: &mut Store<ChangeSet>, - params: Self::CreateParams -) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( + params: Self::CreateParams +) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( db: &mut Store<ChangeSet>, - params: Self::LoadParams -) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( + params: Self::LoadParams +) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( db: &mut Store<ChangeSet>, - changeset: &<Self as Staged>::ChangeSet -) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl<'c> PersistWith<Transaction<'c>> for Wallet

§

type CreateParams = CreateParams

Parameters for PersistWith::create.
§

type LoadParams = LoadParams

Parameters for PersistWith::load.
§

type CreateError = CreateWithPersistError<Error>

Error type of PersistWith::create.
§

type LoadError = LoadWithPersistError<Error>

Error type of PersistWith::load.
§

type PersistError = Error

Error type of PersistWith::persist.
source§

fn create( + changeset: &<Self as Staged>::ChangeSet +) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl<'c> PersistWith<Transaction<'c>> for Wallet

§

type CreateParams = CreateParams

Parameters for [PersistWith::create].
§

type LoadParams = LoadParams

Parameters for [PersistWith::load].
§

type CreateError = CreateWithPersistError<Error>

Error type of [PersistWith::create].
§

type LoadError = LoadWithPersistError<Error>

Error type of [PersistWith::load].
§

type PersistError = Error

Error type of [PersistWith::persist].
source§

fn create( db: &mut Transaction<'c>, - params: Self::CreateParams -) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( + params: Self::CreateParams +) -> Result<Self, Self::CreateError>

Initialize the Db and create Self.
source§

fn load( conn: &mut Transaction<'c>, - params: Self::LoadParams -) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( + params: Self::LoadParams +) -> Result<Option<Self>, Self::LoadError>

Initialize the Db and load a previously-persisted Self.
source§

fn persist( db: &mut Transaction<'c>, - changeset: &<Self as Staged>::ChangeSet -) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl Staged for Wallet

§

type ChangeSet = ChangeSet

Type for staged changes.
source§

fn staged(&mut self) -> &mut Self::ChangeSet

Get mutable reference of staged changes.

Auto Trait Implementations§

§

impl !Freeze for Wallet

§

impl !RefUnwindSafe for Wallet

§

impl Send for Wallet

§

impl Sync for Wallet

§

impl Unpin for Wallet

§

impl !UnwindSafe for Wallet

Blanket Implementations§

source§

impl<T> Any for T
where + changeset: &<Self as Staged>::ChangeSet +) -> Result<(), Self::PersistError>

Persist changes to the Db.
source§

impl Staged for Wallet

§

type ChangeSet = ChangeSet

Type for staged changes.
source§

fn staged(&mut self) -> &mut Self::ChangeSet

Get mutable reference of staged changes.

Auto Trait Implementations§

§

impl !Freeze for Wallet

§

impl !RefUnwindSafe for Wallet

§

impl Send for Wallet

§

impl Sync for Wallet

§

impl Unpin for Wallet

§

impl !UnwindSafe for Wallet

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.PersistedWallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.PersistedWallet.html index f7c9aba424..b5ec9c3c3d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.PersistedWallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.PersistedWallet.html @@ -1,2 +1,2 @@ -PersistedWallet in bdk_wallet - Rust

Type Alias bdk_wallet::PersistedWallet

source ·
pub type PersistedWallet = Persisted<Wallet>;
Expand description

Represents a persisted wallet.

+PersistedWallet in bdk_wallet - Rust

Type Alias bdk_wallet::PersistedWallet

source ·
pub type PersistedWallet = Persisted<Wallet>;
Expand description

Represents a persisted wallet.

Aliased Type§

struct PersistedWallet { /* private fields */ }
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html index 4bd31b2e25..0836976374 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_bitcoind_rpc_polling/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_bitcoind_rpc_polling - Rust

Type Alias example_bitcoind_rpc_polling::ChangeSet

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

Type Alias example_bitcoind_rpc_polling::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationBlockTime, ChangeSet>);
\ No newline at end of file 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 943051f3a0..404538e0b0 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,8 +1,8 @@ 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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html index 491b30d7cc..d871188987 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html @@ -1,4 +1,4 @@ -create_tx in example_cli - Rust

Function example_cli::create_tx

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

Function example_cli::create_tx

source ·
pub fn create_tx<A: Anchor, O: ChainOracle>(
     graph: &mut KeychainTxGraph<A>,
     chain: &O,
     keymap: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>,
@@ -6,4 +6,4 @@
     address: Address,
     value: u64
 ) -> Result<(Transaction, Option<CreateTxChange>)>
where - O::Error: Error + Send + Sync + 'static,
\ No newline at end of file + O::Error: Error + Send + Sync + 'static,

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html index 079fd0e7bf..c28a41f695 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html @@ -1,4 +1,4 @@ -handle_commands in example_cli - Rust

Function example_cli::handle_commands

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

Function example_cli::handle_commands

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

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

Expand description

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

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

Function example_cli::planned_utxos

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

Function example_cli::planned_utxos

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

Struct example_cli::CreateTxChange

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

Fields§

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Fields§

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html index 505fea8725..850d8d926c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html @@ -1,14 +1,14 @@ Init in example_cli - Rust

Struct example_cli::Init

source ·
pub struct Init<CS: Subcommand, S: Args, C>
where - C: Default + Merge + Serialize + DeserializeOwned + Debug + Send + Sync + 'static,
{ + C: Default + Merge + Serialize + DeserializeOwned + Debug + Send + Sync + 'static,
{ pub args: Args<CS, S>, pub keymap: KeyMap, - pub index: KeychainTxOutIndex<Keychain>, + pub index: KeychainTxOutIndex<Keychain>, pub db: Mutex<Store<C>>, pub init_changeset: C, }
Expand description

The initial state returned by init.

Fields§

§args: Args<CS, S>

Arguments parsed by the cli.

§keymap: KeyMap

Descriptor keymap.

-
§index: KeychainTxOutIndex<Keychain>

Keychain-txout index.

+
§index: KeychainTxOutIndex<Keychain>

Keychain-txout index.

§db: Mutex<Store<C>>

Persistence backend.

§init_changeset: C

Initial changeset.

Auto Trait Implementations§

§

impl<CS, S, C> !Freeze for Init<CS, S, C>

§

impl<CS, S, C> RefUnwindSafe for Init<CS, S, C>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html index 009fa08f7e..304afd019d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainChangeSet.html @@ -1 +1 @@ -KeychainChangeSet in example_cli - Rust

Type Alias example_cli::KeychainChangeSet

source ·
pub type KeychainChangeSet<A> = (ChangeSet, ChangeSet<A, ChangeSet>);
\ No newline at end of file +KeychainChangeSet in example_cli - Rust

Type Alias example_cli::KeychainChangeSet

source ·
pub type KeychainChangeSet<A> = (ChangeSet, ChangeSet<A, ChangeSet>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html index ffccc2703a..1a92e2720e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html @@ -1,5 +1,5 @@ -KeychainTxGraph in example_cli - Rust

Type Alias example_cli::KeychainTxGraph

source ·
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;

Aliased Type§

struct KeychainTxGraph<A> {
-    pub index: KeychainTxOutIndex<Keychain>,
+KeychainTxGraph in example_cli - Rust

Type Alias example_cli::KeychainTxGraph

source ·
pub type KeychainTxGraph<A> = IndexedTxGraph<A, KeychainTxOutIndex<Keychain>>;

Aliased Type§

struct KeychainTxGraph<A> {
+    pub index: KeychainTxOutIndex<Keychain>,
     /* private fields */
-}

Fields§

§index: KeychainTxOutIndex<Keychain>

Transaction index.

+}

Fields§

§index: KeychainTxOutIndex<Keychain>

Transaction index.

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html index 85cd9e4793..b313e93a5c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlannedUtxo.html @@ -1 +1 @@ -PlannedUtxo in example_cli - Rust

Type Alias example_cli::PlannedUtxo

source ·
pub type PlannedUtxo<K, A> = (Plan<K>, FullTxOut<A>);
\ No newline at end of file +PlannedUtxo in example_cli - Rust

Type Alias example_cli::PlannedUtxo

source ·
pub type PlannedUtxo<K, A> = (Plan<K>, FullTxOut<A>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html index bd7ca83ec0..7daf6c3e34 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_esplora/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_esplora - Rust

Type Alias example_esplora::ChangeSet

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

Type Alias example_esplora::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationBlockTime, ChangeSet>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html index d061326770..08ff977b9d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html @@ -1 +1 @@ -Help

Rustdoc help

Back
\ No newline at end of file +Help

Rustdoc help

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index 49ac5bcfed..8d84f15d6b 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,16 +1,16 @@ 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":"KKSFFSKGRFGPPRRRRKFRFFIEEIRRRRKKRRKFFKEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNMNNNMNOEMMNNCMENNNNONNNNNNNMMNNDCDNNNNNOCEMNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNONNNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNTGFFPPTTTFFFFNNNOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ChangeSet","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","CreateError","CreateError","CreateParams","CreateParams","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","LoadError","LoadError","LoadParams","LoadParams","Merge","PersistAsyncWith","PersistError","PersistError","PersistWith","Persisted","SpkIterator","Staged","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","borrow_mut","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","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","create","create","create","create_async","default","default","default","deref","deref","deref_mut","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","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","from","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","into_fallible","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","load","load","load","load_async","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","persist","persist","persist","persist_async","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","staged","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_from","try_into","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","type_id","unconfirmed","untrusted_pending","vzip","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","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","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","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","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","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"],[331,"bdk_chain::ConfirmationTime"],[334,"bdk_chain::indexed_tx_graph"],[384,"bdk_chain::indexer"],[393,"bdk_chain::indexer::keychain_txout"],[491,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[495,"bdk_chain::indexer::spk_txout"],[532,"bdk_chain::local_chain"],[702,"bdk_chain::rusqlite_impl"],[704,"bdk_chain::spk_client"],[768,"bdk_chain::tx_graph"],[946,"bdk_chain::balance"],[947,"bdk_chain::descriptor_ext"],[948,"bdk_chain::tx_data_traits"],[949,"bdk_chain::chain_data"],[950,"bitcoin_hashes::sha256"],[951,"core::clone"],[952,"bdk_chain::spk_iter"],[953,"core::cmp"],[954,"bdk_chain::persist"],[955,"rusqlite::types::value_ref"],[956,"bitcoin_units::amount"],[957,"rusqlite::types::from_sql"],[958,"bitcoin::network"],[959,"bitcoin::blockdata::transaction"],[960,"serde::de"],[961,"bitcoin::blockdata::block"],[962,"miniscript::descriptor::key"],[963,"miniscript::descriptor"],[964,"bitcoin::blockdata::script::owned"],[965,"core::option"],[966,"core::result"],[967,"core::future::future"],[968,"alloc::boxed"],[969,"core::pin"],[970,"core::borrow"],[971,"core::fmt"],[972,"bitcoin_hashes"],[973,"bdk_chain::chain_oracle"],[974,"core::hash"],[975,"core::slice::index"],[976,"fallible_iterator"],[977,"core::iter::traits::iterator"],[978,"core::ops::range"],[979,"serde::ser"],[980,"rusqlite::types::to_sql"],[981,"rusqlite"],[982,"alloc::string"],[983,"core::any"],[984,"core::iter::traits::collect"],[985,"core::default"],[986,"alloc::collections::btree::map"],[987,"rusqlite::transaction"],[988,"core::iter::traits::double_ended"],[989,"core::iter::traits::exact_size"],[990,"alloc::collections::btree::set"],[991,"alloc::vec"],[992,"core::marker"],[993,"core::ops::function"],[994,"bitcoin::blockdata::script::borrowed"],[995,"core::convert"],[996,"alloc::sync"],[997,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,75,0,0,12,14,40,45,40,45,0,0,63,0,0,0,0,0,0,40,45,40,45,0,0,40,45,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,20,2,2,16,23,1,12,14,5,6,15,20,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,20,2,23,23,23,23,23,23,23,23,23,3,3,12,6,6,1,40,45,20,20,1,5,6,23,20,20,16,47,1,14,5,6,2,47,2,1,12,14,5,6,15,20,2,1,1,12,12,14,14,5,5,6,6,15,15,20,20,2,2,1,1,12,14,5,6,15,20,2,2,2,2,23,23,23,1,12,14,14,5,5,5,6,15,20,2,2,16,59,5,6,2,2,2,2,2,2,63,12,14,5,6,2,5,5,1,2,0,0,23,1,12,14,5,6,15,20,2,16,16,16,63,12,14,15,70,15,15,0,40,45,20,20,0,70,0,16,16,16,16,15,12,14,5,6,15,20,2,40,45,20,20,0,0,0,1,14,5,6,2,15,0,0,75,70,70,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,20,2,16,23,1,12,14,5,6,15,20,2,16,0,15,23,1,12,14,5,6,15,20,2,16,14,1,23,1,12,14,5,6,15,20,2,16,131,132,131,0,0,82,82,82,82,82,82,82,82,82,83,82,83,83,83,82,83,83,83,82,83,82,83,83,83,82,82,83,82,82,82,82,82,82,83,83,83,82,83,83,82,83,82,83,83,82,83,82,83,84,0,84,84,84,84,84,0,0,0,0,95,0,95,0,90,90,93,93,93,93,95,90,93,95,90,93,95,90,93,95,90,93,90,90,95,90,93,95,95,90,93,95,90,90,93,93,93,93,93,93,93,93,95,90,90,93,93,93,93,93,90,93,93,93,93,93,93,93,90,93,93,93,93,93,90,93,93,93,93,93,93,90,93,93,95,90,95,93,95,90,93,95,90,93,93,93,93,95,90,93,93,93,93,93,95,90,133,133,134,134,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,106,110,0,0,0,0,110,0,0,106,105,105,105,105,111,106,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,111,105,106,107,112,109,110,111,105,106,107,112,109,110,106,106,105,111,105,106,107,112,109,110,111,111,105,106,107,107,112,112,109,109,110,110,113,111,105,106,106,107,112,109,110,111,105,105,105,111,106,106,106,105,105,111,105,105,111,111,112,105,111,105,113,111,105,106,107,112,109,110,113,113,111,105,106,111,105,106,111,113,112,106,111,111,111,105,106,105,111,105,106,107,112,109,110,107,112,109,110,113,113,111,105,106,107,112,109,110,109,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,112,113,111,105,106,107,112,109,110,0,0,0,0,0,0,114,135,117,136,114,135,117,136,114,114,117,114,117,114,135,136,114,135,117,136,114,117,117,135,136,114,114,117,117,114,114,135,117,136,136,114,114,114,114,117,114,114,117,114,135,117,136,114,135,117,136,114,114,135,117,136,114,135,117,136,89,0,0,0,123,123,89,89,89,0,0,0,0,85,85,89,124,89,85,85,85,85,85,128,129,85,124,125,123,89,128,129,85,124,125,123,89,85,125,128,128,129,129,85,124,125,89,85,124,125,89,124,125,85,89,124,89,85,85,124,125,123,89,124,124,125,125,123,123,85,85,85,85,124,125,123,123,89,128,129,85,124,125,123,89,89,85,85,85,85,85,85,85,85,85,85,85,128,129,85,124,125,123,89,128,129,128,129,85,89,89,124,85,85,89,89,85,128,129,85,124,125,89,89,85,124,125,89,123,128,129,85,85,85,128,129,85,124,125,123,89,85,85,128,129,85,124,125,123,89,85,124,125,85,85,124,89,89,89,85,128,129,85,124,125,123,89,85,128,129,85,124,125,123,89,85,85,85],"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}}}{}{}}0000000020{{{h{Afc}}}{{h{Afe}}}{}{}}000000000`{{{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{{Bh{c}}}}{h{{Bh{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bj{{C`{{Bn{Bl}}}}}}{Bj{{C`{{Bn{Cb}}}}}}{Bj{{C`{{Bn{Cd}}}}}}{Bj{{C`{{Bn{c}}}}}{fCf}}{Bj{{C`{{Bn{Ch}}}}}}{Bj{{C`{{Bn{{Cl{Cj}}}}}}}}{Bj{{C`{{Bn{Cn}}}}}}{Bj{{C`{{Bn{D`}}}}}}{Bj{{C`{{Bn{d}}}}}}{{{h{f}}}Db}0{{{h{{Ah{c}}}}}{{Dd{Db}}}f}{{{h{l}}}Db}``{{{h{Afc}}e}{{Eb{{E`{}{{Df{e}}{Dh{g}}{Dj{i}}{Dl{k}}{Dn{m}}}}i}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{Ej{c}}}}{{}b}{{}j}{{}l}{{{h{{Bn{c}}}}}{{h{e}}}{}{}}{{{h{{Bh{c}}}}}{{h{e}}}{}{}}{{{h{Af{Bh{c}}}}}{{h{Afe}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{El{{Cl{Cj}}}}}}{{{h{En}}}d}{c{{Eb{b}}}F`}{c{{Eb{Al}}}F`}{c{{Eb{j}}}F`}{c{{Eb{l}}}F`}{c{{Eb{d}}}F`}{{{h{En}}}Fb}{{}c{}}{{{h{b}}{h{b}}}Fd}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}FdFf}{{{h{Al}}{h{Al}}}Fd}{{{h{j}}{h{j}}}Fd}{{{h{l}}{h{l}}}Fd}{{{h{{An{c}}}}{h{{An{c}}}}}FdFf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}FdFf}{{{h{d}}{h{d}}}Fd}{{{h{c}}{h{e}}}Fd{}{}}000000000000000{{{h{b}}{h{AfFh}}}Fj}0{{{h{{Ah{c}}}}{h{AfFh}}}FjFl}{{{h{Al}}{h{AfFh}}}Fj}{{{h{j}}{h{AfFh}}}Fj}{{{h{l}}{h{AfFh}}}Fj}{{{h{{An{c}}}}{h{AfFh}}}FjFl}{{{h{{Bh{c}}}}{h{AfFh}}}FjFl}{{{h{d}}{h{AfFh}}}Fj}000{Fnc{}}{cc{}}{c{{Bn{c}}}{}}111{{{Ah{l}}}Al}2{{{G`{DbCh}}}j}{{{G`{{h{Db}}{h{Ch}}}}}j}444{nd}55{{{h{Gb}}jGd}Gf}{{{h{Gb}}jGd}j}{{{h{Gb}}jGd}l}{cd{}}04{{{h{{Ab{A`}}}}}{{Eb{dGh}}}}0{{{h{Gj}}}{{Eb{dc}}}{}}{{{h{{Gn{}{{Gl{c}}}}}}}{{Eb{jc}}}Fl}{{{h{{Ah{c}}}}{h{Afe}}}BbH`Hb}{{{h{Al}}{h{Afc}}}BbHb}{{{h{j}}{h{Afc}}}BbHb}{{{h{l}}{h{Afc}}}BbHb}{{{h{d}}{h{Afc}}}BbHb}```{{{h{d}}c}{{h{e}}}{{Hd{{Ab{A`}}}}}{}}``{ce{}{}}000000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{{{h{{Gn{}{{Gl{c}}}}}}jj}{{Eb{{Dd{Fd}}c}}}Fl}{{{h{{Ah{c}}}}}Fd{}}{{{h{Al}}}Fd}{{{h{{An{c}}}}Db}Fdf}{{{h{Hl}}}Fd}1``{{{h{Afc}}e}{{Eb{{Dd{{E`{}{{Df{g}}{Dh{e}}{Dj{i}}{Dl{k}}{Dn{m}}}}}}k}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{Ej{c}}}}`{{{h{AfHl}}Hl}Bb}`{c{{B`{c}}}{{El{{Cl{Cj}}}}}}{{ce}{{B`{c}}}{{El{{Cl{Cj}}}}}{{Hn{Db}}}}{{{h{Af{B`{c}}}}}{{Dd{e}}}{{El{{Cl{Cj}}}}}{}}{{{h{Af{B`{c}}}}Gd}{{Dd{e}}}{{El{{Cl{Cj}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Dd{Bd}}}I`}{{{h{Al}}{h{Al}}}{{Dd{Bd}}}}{{{h{j}}{h{j}}}{{Dd{Bd}}}}{{{h{l}}{h{l}}}{{Dd{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Dd{Bd}}}I`}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}{{Dd{Bd}}}I`}{{{h{d}}{h{d}}}{{Dd{Bd}}}}{{{h{Afc}}{h{e}}}{{Eb{Bbg}}}{}{}{}}{{{h{Afc}}{h{e}}}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{E`{c}}}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{Ej{c}}}}```{{{h{b}}c}EbIb}{{{h{Al}}c}EbIb}{{{h{j}}c}EbIb}{{{h{l}}c}EbIb}{{{h{d}}c}EbIb}```{{{h{Af{If{}{{Id{c}}}}}}}{{h{Afc}}}Hl}{{{h{AfHl}}}{{Dd{Hl}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bn{D`}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cb}}}}}{{Ij{Ih}}}}{{{h{{Bn{d}}}}}{{Ij{Ih}}}}{{{h{{Bn{c}}}}}{{Ij{Ih}}}{fIl}}{{{h{{Bn{Cn}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cd}}}}}{{Ij{Ih}}}}{{{h{{Bn{Bl}}}}}{{Ij{Ih}}}}{{{h{{Bn{{Cl{Cj}}}}}}}{{Ij{Ih}}}}{{{h{{Bn{Ch}}}}}{{Ij{Ih}}}}{{{h{c}}}In{}}0{{{h{b}}}Bl}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}`1{c{{Eb{e}}}{}{}}0000000000000000000``{{{h{c}}}Jb{}}000000000{FbAl}`{ce{}{}}000000000`````{{{h{Af{Jd{ce}}}}GbDb}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{h{Gb}}Db}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{Jf{c}}}BbfJh}{{{h{Af{Jd{ce}}}}{Jj{c}}}{{Jf{c}}}fJh}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}{{{h{Af{Jd{ce}}}}i}{{Jf{c}}}fJh{{Jl{}{{Hh{c}}}}}{{Jl{}{{Hh{{G`{{h{D`}}g}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{{h{D`}}Fb}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{D`Fb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Jf{ce}}}}}{{Jf{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jd{ce}}}{}Jn}{{}{{Jf{ce}}}{}Jn}{c{{Eb{{Jf{eg}}}}}F`{BfK`}K`}{{{h{{Jf{ce}}}}{h{{Jf{ce}}}}}FdFfFf}{{{h{{Jd{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Jf{ce}}}}{h{AfFh}}}FjFlFl}{cc{}}{{{Kb{c}}}{{Jf{ce}}}{}Jn}{Kd{{Jf{cKd}}}{}}2{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}``{{{h{{Jd{ce}}}}}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cdc}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}CdFb}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}D`}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}KfKh}{{Jf{c}}}fJh}{ce{}{}}0{{{h{{Jf{ce}}}}}FdfHl}{{{h{Af{Jf{ce}}}}{Jf{ce}}}BbfHl}{c{{Jd{ec}}}{}{}}{{{h{{Jf{ce}}}}g}Eb{BfIl}IlIb}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}000`{{{h{c}}}Jb{}}077``{{{h{Af{Jh{}{{Id{c}}}}}}c}Bb{}}{{{h{Af{Jh{}{{Id{c}}}}}}{h{D`}}}c{}}{{{h{Af{Jh{}{{Id{c}}}}}}Kf{h{Kh}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}{h{D`}}}Fd{}}``````````{{{h{{Kj{c}}}}}{{Kl{c{B`{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}Kd}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Kj{c}}}}}{{Kj{c}}}Aj}{{{h{{Kn{c}}}}}{{Kn{c}}}Aj}{{{h{Kd}}}Kd}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Kj{c}}}{}}{{}Kd}{c{{Eb{Kd}}}F`}{{{h{{Kn{c}}}}{h{{Kn{c}}}}}FdFf}{{{h{Kd}}{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{AfFh}}}FjFl}{{{h{{Kn{c}}}}{h{AfFh}}}FjFl}0{{{h{Kd}}{h{AfFh}}}Fj}{cc{}}00{{{h{L`}}}{{Ij{Kd}}}}{{{h{{Kj{c}}}}c}{{Dd{{h{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}Cn}{{Dd{{h{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{D`}}}e{AjBfFl}{}}{{{h{Af{Kj{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}{{h{{Lb{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c{Cl{Cj}}}{{Eb{Fd{Kn{c}}}}}{AjBfFl}}{ce{}{}}00{{{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{D`}}}Fd{AjBfFl}}{{{h{{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Kf}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Lf{}{{Hh{{Lh{cKf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{G`{c{h{{Cl{Cj}}}}}}}}}}Lj}}}{AjBfFl}}`{{{h{{Kj{c}}}}c}{{Dd{Db}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{Kl{cDb}}}{AjBfFl}}10{{{h{{Kj{c}}}}}Db{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{AfKd}}Kd}Bb}{{{h{{Kj{c}}}}{h{D`}}e}Ll{AjBfFl}{{Hn{c}}}}{Db{{Kj{c}}}{}}{{{h{{Kj{c}}}}c}{{Dd{{G`{DbFd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c}{{Dd{{G`{{Ld{Cn}}Kd}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{h{{Ln{{Lh{cKf}}}}}}}{AjBfFl}}{{{h{Kd}}{h{L`}}}{{Ij{Bb}}}}2{{{h{Af{Kj{c}}}}cDb}{{Dd{{G`{{M`{{Ld{Cn}}}}Kd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{{Kl{cDb}}}}}Kd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Cn}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Hj{}{{Hh{{Lh{cCn}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}{h{D`}}e}{{G`{BlBl}}}{AjBfFl}{{Hn{c}}}}{{{h{Kd}}c}EbIb}{{{h{{Kj{c}}}}cDb}{{Dd{Cn}}}{AjBfFl}}{{{h{c}}}e{}{}}00{{{h{c}}}In{}}{c{{Eb{e}}}{}{}}00000{{{h{{Kj{c}}}}Kf}{{Dd{{Lh{c{h{Kh}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Kj{c}}}}Cd}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}00{{{h{{Kj{c}}}}c}{{Dd{{B`{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Cn}}}}}}Aj}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{cCn}}}}}}Aj}}}{AjBfFl}}{ce{}{}}00`````{{{h{{Lb{c}}}}}{{h{{Kl{cCn}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Lb{c}}}}}{{Lb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Lb{c}}}{}}{{{h{{Lb{c}}}}{h{AfFh}}}FjFl}{cc{}}{{{h{{Lb{c}}}}Cn}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}{h{D`}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Lb{c}}}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}cCn}Fd{AjBfFl}}>{{{h{{Lb{c}}}}{h{D`}}}Fd{AjBfFl}}0{{{h{{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{Af{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{{Lb{c}}}}{h{D`}}e}Ll{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}}{{h{{Ln{{G`{cKf}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{Af{Lb{c}}}}{h{D`}}}{{Ln{c}}}{AjBfFl}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{{Lb{c}}}}{h{D`}}e}{{G`{BlBl}}}{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}{h{c}}}{{Dd{Cn}}}{AjBfFl}}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}0{{{h{{Lb{c}}}}Kf}{{Dd{{G`{{h{c}}{h{Kh}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Lb{c}}}}Cd}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}={{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Cn}}}}}}Aj}}}{AjBfFl}{{Hn{c}}}}{ce{}{}}````````````{{{h{AfMb}}{h{Md}}}{{Eb{BbMf}}}}{{{h{AfMb}}{h{Mh}}Db}{{Eb{MdMj}}}}{{{h{AfMb}}{h{Mh}}Dbj}{{Eb{MdMl}}}}{{{h{AfMb}}Mn}{{Eb{MdMj}}}}{{{h{Mn}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Mn}}}Mn}{{{h{Mb}}}Mb}{{{h{Md}}}Md}{{{h{Mf}}}Mf}{{{h{N`}}}N`}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Md}{c{{Eb{Md}}}F`}{{{h{AfMb}}j}{{Eb{MdMf}}}}{{{h{Mn}}{h{Mn}}}Fd}{{{h{Mb}}{h{Mb}}}Fd}{{{h{Md}}{h{Md}}}Fd}{{{h{Mf}}{h{Mf}}}Fd}{{{h{N`}}{h{N`}}}Fd}{{{h{Mj}}{h{Mj}}}Fd}{{{h{Ml}}{h{Ml}}}Fd}{{Mnc}{{Eb{MnMn}}}{{Jl{}{{Hh{j}}}}}}{{{h{Mn}}{h{AfFh}}}Fj}{{{h{Mb}}{h{AfFh}}}Fj}{{{h{Md}}{h{AfFh}}}Fj}{{{h{Mf}}{h{AfFh}}}Fj}0{{{h{N`}}{h{AfFh}}}Fj}0{{{h{Mj}}{h{AfFh}}}Fj}0{{{h{Ml}}{h{AfFh}}}Fj}0{cc{}}00{cMd{{Jl{}{{Hh{{G`{Db{Dd{Ch}}}}}}}}}}11111{c{{Eb{Mn{Dd{Mn}}}}}{{Jl{}{{Hh{j}}}}}}{{{Kl{DbCh}}}{{Eb{MbMf}}}}{Md{{Eb{MbMf}}}}{Ch{{G`{MbMd}}}}{{{h{Mh}}Db}Mn}5{cMd{{Jl{}{{Hh{{G`{DbCh}}}}}}}}{{{h{L`}}}{{Ij{Md}}}}{Mn{{Eb{MbMf}}}}{{{h{Mb}}}Ch}{{{h{Mn}}Db}{{Dd{Mn}}}}{{{h{Mb}}Db}{{Dd{Mn}}}}{{{h{Mb}}}{{Eb{jc}}}{}}{{{h{Mn}}}Ch}{{{h{Mn}}}Db}`{{{h{Mb}}}Md}{{Mnj}Mn}{{{h{AfMb}}j}{{Eb{MdN`}}}}{ce{}{}}0000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{Mnc{}}{{{h{Mb}}jj}{{Eb{{Dd{Fd}}c}}}{}}{{{h{Md}}}Fd}{{{h{Mn}}}Nb}{{{h{Mb}}}Nb}{{{h{AfMd}}Md}Bb}{jMn}{{{h{AfNb}}}{{Dd{c}}}{}}`{{{h{Md}}{h{L`}}}{{Ij{Bb}}}}{{{h{Mn}}}{{Dd{Mn}}}}{{Mnj}{{Eb{MnMn}}}}{{{h{Mn}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Mb}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Md}}c}EbIb}{{{h{Mb}}}Mn}{{{h{c}}}e{}{}}000000{{{h{c}}}In{}}000{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}{c{{Eb{e}}}{}{}}0000000`00000000{{{h{c}}}Jb{}}0000000`{ce{}{}}0000000`{{{h{L`}}{h{Gj}}{h{{Ab{{h{{Ab{{h{Gj}}}}}}}}}}}{{Ij{Bb}}}}````{{{h{c}}}{{h{e}}}{}{}}000{{{h{Afc}}}{{h{Afe}}}{}{}}000{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Kf}}}}}}{{Nde}Nd{{Lj{}{{Hh{Cn}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cn}}}}}}{{{Nj{c}}cg}{{Nj{c}}}{BfAj}{{Hj{}{{Hh{{Ld{Cn}}}}}}Nf}{{Jl{}{{Nh{e}}}}}}``{{Nde}Nd{{Lj{}{{Hh{Cd}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cd}}}}}}``{cc{}}000{MnNd}{Mn{{Nj{c}}}{BfAj}}{{Mn{h{{Kj{c}}}}}{{Nj{c}}}{FlBfAj}}``{{Ndc}Nd{{Nl{{h{Kf}}}}NfNn}}{{Ndc}Nd{{Nl{{h{O`}}}}NfNn}}{{{Nj{c}}e}{{Nj{c}}}{NfBfAj}{{Nl{cDb{h{O`}}}}NfNnAj}}{{{Nj{c}}ce}{{Nj{c}}}{NfBfAj}{{Nl{Db{h{O`}}}}NfNn}}{{Ndc}Nd{{Nl{{h{Cd}}}}NfNn}}{ce{}{}}000``{{Nd{h{{Kj{c}}}}e}Nd{AjBfFlNfNn}{{Hn{c}}}}{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}}}}}{{Nde}Nd{{Lj{}{{Hh{Cn}}}}Nf}{{Jl{}{{Nh{c}}}}}}>{{Nde}Nd{{Lj{}{{Hh{Cd}}}}Nf}{{Jl{}{{Nh{c}}}}}}``{c{{Eb{e}}}{}{}}0000000`{{{h{c}}}Jb{}}0006666`````````````{{{h{{Jj{c}}}}}{{h{{Ln{{G`{cCd}}}}}}}{}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{Db}}}}}}}f}``{{{h{Af{Jj{c}}}}{Kb{c}}}Bb{AjBf}}{{{h{Af{Jj{c}}}}{Jj{c}}}{{Kb{c}}}{AjBf}}{{{h{{Jj{c}}}}}{{h{{Jj{c}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jik}bf{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Cn}{{Od{Fd}}}}}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{Jl{}{{Hh{{G`{D`Fb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{Afc}}}{{h{Afe}}}{}{}}000000{{{h{{Jj{c}}}}{h{D`}}}{{Eb{BlOf}}}{}}`{c{{Dd{Bl}}}{}}{c{{Dd{Ll}}}{}}01{{{h{{Jj{c}}}}}{{Jj{c}}}Aj}{{{h{{Oh{ce}}}}}{{Oh{ce}}}AjAj}{{{h{{Oj{ce}}}}}{{Oj{ce}}}AjAj}{{{h{{Kb{c}}}}}{{Kb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}000{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}BdBfBf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}BdBfBf}{{}{{Jj{c}}}{}}{{}{{Kb{c}}}{}}{{{h{{Oh{ce}}}}}{{h{g}}}{}{}{}}{c{{Eb{{Kb{e}}}}}F`{BfK`}}{{{h{{Jj{c}}}}{h{D`}}}{{`{{Hj{}{{Hh{{G`{GdCd}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{{Jj{c}}}}}FdFf}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}FdFfFf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}FdFfFf}{{{h{Of}}{h{Of}}}Fd}{{{h{{Kb{c}}}}{h{{Kb{c}}}}}FdFf}{{{h{c}}{h{e}}}Fd{}{}}00000{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{G`{g{An{c}}}}}}}}}}}f{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{AfFh}}}FjFl}{{{h{{Oh{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Oj{ce}}}}{h{AfFh}}}FjFlFl}{{{h{Of}}{h{AfFh}}}Fj}0{{{h{{Kb{c}}}}{h{AfFh}}}FjFl}{cc{}}000000{{{h{L`}}}{{Ij{{Kb{c}}}}}{fAjBfIlCf}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{D`}}c}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jCd}{{Dd{{Ah{{h{c}}}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}{h{e}}jKf}{{Dd{{G`{{Ah{{h{c}}}}Cd}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}Cd}{{Dd{{Ol{D`}}}}}{}}{{{h{{Jj{c}}}}Cd}{{Dd{{Oh{{Ol{D`}}c}}}}}{}}{{{h{{Jj{c}}}}Kf}{{Dd{{h{Kh}}}}}{}}{{{h{{Jj{c}}}}}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}Cdc}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}CdFb}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{On{{Ol{D`}}}}}}{{{h{Af{Jj{c}}}}KfKh}{{Kb{c}}}{AjBf}}{ce{}{}}000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}011{{{h{{Jj{c}}}}}Fd{}}{{{h{{Kb{c}}}}}FdBf}``{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Oj{{Ol{D`}}c}}}}}}}}}fGn}{{{Jj{c}}g}{{Jj{e}}}{AjBf}{AjBf}{{Nl{c}{{Od{e}}}}}}{{{Kb{c}}g}{{Kb{e}}}BfBf{{Nl{c}{{Od{e}}}}}}{{{h{Af{Kb{c}}}}{Kb{c}}}BbBf}{c{{Jj{e}}}{{Jl{}{{Hh{D`}}}}}{AjBf}}{{{h{Af{A@`{cg}}}}}{{Dd{i}}}{}{}{{Nl{Gd{Ol{D`}}}{{Od{{Dd{e}}}}}}}{}}{{{h{Af{A@b{cg}}}}}{{Dd{i}}}{}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}{}}{{{h{{Jj{c}}}}Kf}{{h{{A@d{Cd}}}}}{}}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Kb{c}}}}{h{L`}}}{{Ij{Bb}}}{fAjBfIlCf}}{{{h{{Kb{c}}}}e}Eb{BfIl}Ib}{{{h{c}}}e{}{}}000{{{h{c}}}In{}}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}0{{{h{{Jj{c}}}}{h{e}}jik}{{Eb{b}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Cn}{{Od{Fd}}}}}}{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{Eb{{G`{g{An{c}}}}}}}}}}}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{c{{Eb{e}}}{}{}}000000{{{h{{Jj{c}}}}{h{e}}jCd}{{Eb{{Dd{{Ah{{h{c}}}}}}}}}fGn}{{{h{{Jj{c}}}}{h{e}}jKf}{{Eb{{Dd{{G`{{Ah{{h{c}}}}Cd}}}}}}}fGn}2222222{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Eb{{Oj{{Ol{D`}}c}}}}}}}}}}}fGn}``{{{h{{Jj{c}}}}Cd}{{Dd{{Kl{Db{h{Kh}}}}}}}{}}{{{h{{Jj{c}}}}Cd}{{`{{Lf{}{{Hh{{G`{Db{h{{A@d{Cd}}}}}}}}}}}}}{}}`{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}``{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{D`}}c}}}}}}}}}{}}{{{h{c}}}Jb{}}000000{{{h{Af{Jj{c}}}}Fb}{{Kb{c}}}{AjBf}}{ce{}{}}000000{{{h{{Jj{c}}}}ei}{{A@`{ci}}}{AjBf}{{On{{Ol{D`}}}}}{}{{Nl{Gd{Ol{D`}}}{{Od{{Dd{g}}}}}}}}{{{h{{Jj{c}}}}{h{D`}}g}{{A@b{cg}}}{}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}}{{{h{{Jj{c}}}}Cdg}{{A@b{cg}}}{AjBf}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}}","D":"CEj","p":[[5,"Balance",0,946],[5,"DescriptorId",0,947],[10,"Anchor",0,948],[1,"reference"],[5,"BlockId",0,949],[5,"ConfirmationBlockTime",0,949],[5,"Hash",950],[1,"u8"],[1,"slice"],[1,"array"],[0,"mut"],[6,"ChainPosition",0,949],[10,"Clone",951],[6,"ConfirmationTime",0,949],[5,"FullTxOut",0,949],[5,"SpkIterator",0,952],[1,"unit"],[6,"Ordering",953],[10,"Ord",953],[5,"Persisted",0,954],[6,"ValueRef",955],[5,"Amount",956],[5,"Impl",0],[8,"FromSqlResult",957],[6,"Network",958],[5,"Txid",959],[10,"DeserializeOwned",960],[5,"BlockHash",961],[6,"DescriptorPublicKey",962],[6,"Descriptor",963],[5,"ScriptBuf",964],[5,"Transaction",959],[1,"u32"],[6,"Option",965],[17,"CreateParams"],[17,"LoadParams"],[17,"CreateError"],[17,"LoadError"],[17,"PersistError"],[10,"PersistWith",0,954],[6,"Result",966],[10,"Future",967],[5,"Box",968],[5,"Pin",969],[10,"PersistAsyncWith",0,954],[10,"Borrow",970],[10,"DescriptorExt",0,947],[10,"Deserializer",960],[1,"u64"],[1,"bool"],[10,"PartialEq",953],[5,"Formatter",971],[8,"Result",971],[10,"Debug",971],[1,"never"],[1,"tuple"],[5,"Block",961],[1,"usize"],[10,"AnchorFromBlockPosition",0,948],[5,"FromSliceError",972],[1,"str"],[17,"Error"],[10,"ChainOracle",0,973],[10,"Hash",974],[10,"Hasher",974],[10,"SliceIndex",975],[5,"IntoFallible",976],[17,"Item"],[10,"Iterator",977],[10,"Merge",0,948],[10,"RangeBounds",978],[10,"PartialOrd",953],[10,"Serializer",979],[17,"ChangeSet"],[10,"Staged",0,954],[6,"ToSqlOutput",980],[8,"Result",981],[10,"Serialize",979],[5,"String",982],[5,"Convert",976],[5,"TypeId",983],[5,"IndexedTxGraph",334],[5,"ChangeSet",334],[10,"Indexer",384],[5,"TxGraph",768],[10,"IntoIterator",984],[10,"Default",985],[10,"Deserialize",960],[5,"ChangeSet",768],[5,"ChangeSet",393],[5,"OutPoint",959],[5,"TxOut",959],[5,"KeychainTxOutIndex",393],[5,"BTreeMap",986],[6,"InsertDescriptorError",393],[5,"Transaction",987],[5,"SpkTxOutIndex",495],[8,"Indexed",0],[10,"DoubleEndedIterator",988],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",989],[5,"SignedAmount",956],[5,"BTreeSet",990],[5,"Vec",991],[5,"LocalChain",532],[5,"ChangeSet",532],[5,"MissingGenesisError",532],[5,"Header",961],[5,"CannotConnectError",532],[6,"ApplyHeaderError",532],[5,"CheckPoint",532],[5,"AlterCheckPointError",532],[5,"CheckPointIter",532],[5,"SyncRequest",704],[10,"Send",992],[17,"IntoIter"],[5,"FullScanRequest",704],[10,"FnMut",993],[10,"Sync",992],[5,"Script",994],[6,"Infallible",995],[17,"Output"],[6,"CalculateFeeError",768],[5,"TxNode",768],[5,"CanonicalTx",768],[5,"Arc",996],[10,"Into",995],[5,"TxAncestors",768],[5,"TxDescendants",768],[5,"HashSet",997],[15,"Confirmed",331],[15,"Unconfirmed",331],[15,"DescriptorAlreadyAssigned",491],[15,"KeychainAlreadyAssigned",491],[5,"SyncResult",704],[5,"FullScanResult",704]],"r":[[0,948],[1,948],[2,952],[3,946],[4,949],[6,973],[7,949],[9,949],[10,949],[17,947],[18,947],[20,949],[23,334],[24,384],[30,948],[31,954],[34,954],[35,954],[36,952],[37,954],[38,768],[224,384],[258,384]],"b":[[48,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[49,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[98,"impl-FromSql-for-Impl%3CAmount%3E"],[99,"impl-FromSql-for-Impl%3CNetwork%3E"],[100,"impl-FromSql-for-Impl%3CTxid%3E"],[101,"impl-FromSql-for-Impl%3CA%3E"],[102,"impl-FromSql-for-Impl%3CBlockHash%3E"],[103,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[104,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[105,"impl-FromSql-for-Impl%3CTransaction%3E"],[106,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[156,"impl-Display-for-Balance"],[157,"impl-Debug-for-Balance"],[164,"impl-Debug-for-DescriptorId"],[165,"impl-UpperHex-for-DescriptorId"],[166,"impl-LowerHex-for-DescriptorId"],[167,"impl-Display-for-DescriptorId"],[176,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[177,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[272,"impl-ToSql-for-Impl%3CTransaction%3E"],[273,"impl-ToSql-for-Impl%3CNetwork%3E"],[274,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[275,"impl-ToSql-for-Impl%3CA%3E"],[276,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[277,"impl-ToSql-for-Impl%3CTxid%3E"],[278,"impl-ToSql-for-Impl%3CAmount%3E"],[279,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[280,"impl-ToSql-for-Impl%3CBlockHash%3E"],[357,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[358,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[402,"impl-KeychainTxOutIndex%3CK%3E"],[403,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[422,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[423,"impl-Display-for-InsertDescriptorError%3CK%3E"],[594,"impl-Debug-for-MissingGenesisError"],[595,"impl-Display-for-MissingGenesisError"],[596,"impl-Display-for-AlterCheckPointError"],[597,"impl-Debug-for-AlterCheckPointError"],[598,"impl-Display-for-CannotConnectError"],[599,"impl-Debug-for-CannotConnectError"],[600,"impl-Debug-for-ApplyHeaderError"],[601,"impl-Display-for-ApplyHeaderError"],[616,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[617,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[843,"impl-Display-for-CalculateFeeError"],[844,"impl-Debug-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUCVAAYAAEAJwAAACoAAQAtAAIAMQACADUAFABLAA8AXAAPAG8AAAB2AAUAfgAEAIQAJQCrAAAArwAAALEAAQC2AAAAugADAL8AAgDDAAQAywAAANkAAADhAAAA6AAAAOsAAQDuAAYA+QAAAPsABQADAQAABwEIABEBCgAgARMANgEJAEIBCQBVAQAAWQELAGYBAQBzAQEAdgEFAH0BAwCUARUAsAECALkBAADTAQAA1QEJAOIBAgDpAQIA8gEGAPsBAgABAgAACwICABECAAAUAgAAJwIfAEgCBgBQAgoAXgIAAGkCAQBwAgAAgAIDAIYCAACIAgAAjwIAAJECCgCdAgcApgIPALcCBwDFAgcA8AIHAPkCBwAVAwAAGAMNACgDEQA7AwoASQMFAGsDAQBuAwAAdAMAAHYDAQB5AwEAfAMFAIcDBgCQAwYAoQMGAKkDBgA="}],\ -["bdk_coin_select",{"t":"FFGGFFPIPFGPPPFGFPPSPPPPPFNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNNNONONNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNOOOONNNNONOOOOONNNNONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOON","n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","equivalent","equivalent","equivalent","equivalent","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":[[0,"bdk_coin_select"],[241,"bdk_coin_select::bnb"],[242,"core::cmp"],[243,"bdk_coin_select::coin_selector"],[244,"core::iter::traits::iterator"],[245,"core::option"],[246,"core::convert"],[247,"core::result"],[248,"core::fmt"],[249,"core::time"],[250,"bitcoin::blockdata::transaction"],[251,"core::hash"],[252,"fallible_iterator"],[253,"alloc::vec"],[254,"core::marker"],[255,"alloc::string"],[256,"core::any"]],"i":[0,0,0,0,0,0,43,0,22,0,0,18,18,22,0,0,0,43,43,0,18,18,11,11,11,0,2,6,7,2,16,2,7,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,6,6,15,16,6,17,18,7,11,12,15,16,6,17,18,7,11,12,11,0,6,6,6,12,16,16,6,15,18,11,18,18,11,11,7,7,12,12,6,15,16,6,17,17,18,18,7,11,11,12,2,43,2,35,22,22,22,15,16,6,17,18,7,11,12,16,11,15,43,2,35,22,15,16,6,17,18,7,11,12,35,2,35,6,15,6,16,16,16,16,16,2,15,6,35,6,11,2,2,12,2,2,6,6,6,6,7,6,6,6,6,6,6,2,16,16,16,15,16,6,17,18,7,11,12,17,18,11,35,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,6,6,15,43,2,35,22,15,16,6,17,18,7,11,12,12,15,12,43],"f":"``````````````````````````{{{f{b{d{c}}}}c}hj}{{{f{l}}}h}{{{f{n}}{f{{A`{c}}}}}{{`{{Ad{}{{Ab{{f{c}}}}}}}}}{}}{{{f{b{d{c}}}}}hj}``{{{f{n}}}{{Aj{{f{Af}}{f{Ah}}}}}}{{{f{c}}}{{f{e}}}{}{}}00000000000{{{f{bc}}}{{f{be}}}{}{}}00000000000{{{f{l}}Al}{{f{An}}}}`{{{f{An}}}An}{{{f{B`}}}B`}{{{f{l}}}l}{{{f{Bb}}}Bb}{{{f{Bd}}}Bd}{{{f{n}}}n}{{{f{Af}}}Af}{{{f{Ah}}}Ah}{{{f{c}}{f{be}}}Bf{}{}}0000000{{{f{Af}}{f{Af}}}Bh}{{cl}{{Bj{l}}}{{Bn{Bl}}}}{{{f{l}}}C`}{{{f{l}}}Cb}{{{f{bl}}Al}h}`{{{f{B`}}}C`}`3{{{f{An}}Cd}C`}{{{f{Bd}}{f{Bd}}}h}{{{f{Af}}{f{Af}}}h}{{{f{c}}{f{e}}}h{}{}}000```{{{f{Ah}}}Cd}{{{f{l}}}{{Cf{nBb}}}}{{{f{An}}{f{bCh}}}Cj}{{{f{B`}}{f{bCh}}}Cj}{{{f{l}}{f{bCh}}}Cj}{{{f{Bb}}{f{bCh}}}Cj}0{{{f{Bd}}{f{bCh}}}Cj}0{{{f{n}}{f{bCh}}}Cj}{{{f{Af}}{f{bCh}}}Cj}0{{{f{Ah}}{f{bCh}}}Cj}{{{f{b{d{c}}}}h}Bfj}{cc{}}00{AlBl}{ClBl}222222222{{{f{{A`{Cn}}}}{f{Cn}}Cb}B`}{{{f{Af}}{f{bc}}}BfD`}`{ce{}{}}00000000000{c{{Db{g}}}{}{}{{Ad{}{{Ab{e}}}}}}{{{d{c}}{f{{Dd{c}}}}}{{Df{c}}}j}2{{{f{l}}}h}`{{{f{l}}Al}h}{{{f{B`}}}Cd}````{{l{Dh{{Aj{Al{f{An}}}}}}c}{{d{c}}}j}{{DjCbh}An}{{{f{{Dh{An}}}}{f{B`}}}l}{{{f{b{Df{c}}}}}{{Bj{e}}}{jDlDn}{}}`{{{f{Af}}{f{Af}}}{{Bj{Bh}}}}`````{{{f{bl}}Al}h}{{{f{bl}}}Bf}{{{f{bl}}}{{Cf{nBb}}}}{{{f{l}}}{{`{{Ad{}{{Ab{{Aj{Al{f{An}}}}}}}}}}}}`{{{f{l}}}Dj}{{{f{l}}}Al}{{{f{l}}}C`}{{{f{l}}}{{`{{Ad{}{{Ab{Al}}}}}}}}1{{{f{l}}}Cb}````{{{f{c}}}e{}{}}0000000{{{f{c}}}E`{}}00{c{{Eb{i}}}{}{}{}{{Ad{}{{Ab{{Cf{eg}}}}}}}}{c{{Cf{e}}}{}{}}00000000000000000000000{{{f{c}}}Ed{}}00000000000:6`{ce{}{}}00000000000```{{{f{Ef}}}h}","D":"Hl","p":[[0,"mut"],[5,"Bnb",0,241],[1,"reference"],[1,"bool"],[10,"Ord",242],[5,"CoinSelector",0,243],[5,"Selection",0,243],[1,"slice"],[17,"Item"],[10,"Iterator",244],[6,"ExcessStrategyKind",0,243],[5,"ExcessStrategy",0,243],[1,"tuple"],[1,"usize"],[5,"WeightedValue",0,243],[5,"CoinSelectorOpt",0,243],[5,"SelectionError",0,243],[6,"SelectionConstraint",0,243],[1,"unit"],[6,"Ordering",242],[6,"Option",245],[6,"BnbLimit",0,241],[10,"Into",246],[1,"i64"],[1,"u32"],[1,"f32"],[6,"Result",247],[5,"Formatter",248],[8,"Result",248],[5,"Duration",249],[5,"TxOut",250],[10,"Hasher",251],[5,"IntoFallible",252],[8,"DecideStrategy",0,241],[5,"BnbIter",0,241],[5,"Vec",253],[1,"u64"],[10,"Copy",254],[10,"Display",248],[5,"String",255],[5,"Convert",252],[5,"TypeId",256],[6,"BranchStrategy",0,241]],"r":[[0,241],[1,241],[2,241],[3,241],[4,243],[5,243],[7,241],[9,243],[10,243],[14,243],[15,243],[16,243],[25,243],[76,241]],"b":[[99,"impl-Display-for-SelectionError"],[100,"impl-Debug-for-SelectionError"],[101,"impl-Debug-for-SelectionConstraint"],[102,"impl-Display-for-SelectionConstraint"],[104,"impl-Display-for-ExcessStrategyKind"],[105,"impl-Debug-for-ExcessStrategyKind"],[111,"impl-From%3Cusize%3E-for-BnbLimit"],[112,"impl-From%3CDuration%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKsAGAAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAIAGAACwBwAAEAewABAIwAAQCPAAEAlwANAKYAAACoAAAAqwAAAK8ACgC7ACUA4gAMAPAAAQA="}],\ +["bdk_chain",{"t":"KKSFFSKGRFGPPRRRRKFRFFIEEIRRRRKKRRKFFKEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNMNNNMNOEMMNNCMENNNNONNNNNNNMMNNDCDNNNNNOCEMNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNONNNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNTGFFPPTTTFFFFNNNOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ChangeSet","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","CreateError","CreateError","CreateParams","CreateParams","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","LoadError","LoadError","LoadParams","LoadParams","Merge","PersistAsyncWith","PersistError","PersistError","PersistWith","Persisted","SpkIterator","Staged","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","borrow_mut","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","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","create","create","create","create_async","default","default","default","deref","deref","deref_mut","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","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","from","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","into_fallible","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","load","load","load","load_async","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","persist","persist","persist","persist_async","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","staged","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_from","try_into","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","type_id","unconfirmed","untrusted_pending","vzip","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","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","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","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","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","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"],[331,"bdk_chain::ConfirmationTime"],[334,"bdk_chain::indexed_tx_graph"],[384,"bdk_chain::indexer"],[393,"bdk_chain::indexer::keychain_txout"],[491,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[495,"bdk_chain::indexer::spk_txout"],[532,"bdk_chain::local_chain"],[702,"bdk_chain::rusqlite_impl"],[704,"bdk_chain::spk_client"],[768,"bdk_chain::tx_graph"],[946,"bdk_chain::balance"],[947,"bdk_chain::descriptor_ext"],[948,"bdk_chain::tx_data_traits"],[949,"bdk_chain::chain_data"],[950,"bitcoin_hashes::sha256"],[951,"core::clone"],[952,"bdk_chain::spk_iter"],[953,"core::cmp"],[954,"bdk_chain::persist"],[955,"rusqlite::types::value_ref"],[956,"bitcoin::network"],[957,"rusqlite::types::from_sql"],[958,"miniscript::descriptor::key"],[959,"miniscript::descriptor"],[960,"bitcoin::blockdata::script::owned"],[961,"bitcoin_units::amount"],[962,"bitcoin::blockdata::block"],[963,"bitcoin::blockdata::transaction"],[964,"serde::de"],[965,"core::option"],[966,"core::result"],[967,"core::future::future"],[968,"alloc::boxed"],[969,"core::pin"],[970,"core::borrow"],[971,"core::fmt"],[972,"bitcoin_hashes"],[973,"bdk_chain::chain_oracle"],[974,"core::hash"],[975,"core::slice::index"],[976,"fallible_iterator"],[977,"core::iter::traits::iterator"],[978,"core::ops::range"],[979,"serde::ser"],[980,"rusqlite::types::to_sql"],[981,"rusqlite"],[982,"alloc::string"],[983,"core::any"],[984,"core::iter::traits::collect"],[985,"core::default"],[986,"alloc::collections::btree::map"],[987,"rusqlite::transaction"],[988,"core::iter::traits::double_ended"],[989,"core::iter::traits::exact_size"],[990,"alloc::collections::btree::set"],[991,"alloc::vec"],[992,"core::marker"],[993,"core::ops::function"],[994,"bitcoin::blockdata::script::borrowed"],[995,"core::convert"],[996,"alloc::sync"],[997,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,75,0,0,12,14,40,45,40,45,0,0,63,0,0,0,0,0,0,40,45,40,45,0,0,40,45,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,20,2,2,16,23,1,12,14,5,6,15,20,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,20,2,23,23,23,23,23,23,23,23,23,3,3,12,6,6,1,40,45,20,20,1,5,6,23,20,20,16,47,1,14,5,6,2,47,2,1,12,14,5,6,15,20,2,1,1,12,12,14,14,5,5,6,6,15,15,20,20,2,2,1,1,12,14,5,6,15,20,2,2,2,2,23,23,23,1,12,14,14,5,5,5,6,15,20,2,2,16,59,5,6,2,2,2,2,2,2,63,12,14,5,6,2,5,5,1,2,0,0,23,1,12,14,5,6,15,20,2,16,16,16,63,12,14,15,70,15,15,0,40,45,20,20,0,70,0,16,16,16,16,15,12,14,5,6,15,20,2,40,45,20,20,0,0,0,1,14,5,6,2,15,0,0,75,70,70,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,20,2,16,23,1,12,14,5,6,15,20,2,16,0,15,23,1,12,14,5,6,15,20,2,16,14,1,23,1,12,14,5,6,15,20,2,16,131,132,131,0,0,82,82,82,82,82,82,82,82,82,83,82,83,83,83,82,83,83,83,82,83,82,83,83,83,82,82,83,82,82,82,82,82,82,83,83,83,82,83,83,82,83,82,83,83,82,83,82,83,84,0,84,84,84,84,84,0,0,0,0,95,0,95,0,89,89,93,93,93,93,95,89,93,95,89,93,95,89,93,95,89,93,89,89,95,89,93,95,95,89,93,95,89,89,93,93,93,93,93,93,93,93,95,89,89,93,93,93,93,93,89,93,93,93,93,93,93,93,89,93,93,93,93,93,89,93,93,93,93,93,93,89,93,93,95,89,95,93,95,89,93,95,89,93,93,93,93,95,89,93,93,93,93,93,95,89,133,133,134,134,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,106,110,0,0,0,0,110,0,0,106,105,105,105,105,111,106,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,111,105,106,107,112,109,110,111,105,106,107,112,109,110,106,106,105,111,105,106,107,112,109,110,111,111,105,106,107,107,112,112,109,109,110,110,113,111,105,106,106,107,112,109,110,111,105,105,105,111,106,106,106,105,105,111,105,105,111,111,112,105,111,105,113,111,105,106,107,112,109,110,113,113,111,105,106,111,105,106,111,113,112,106,111,111,111,105,106,105,111,105,106,107,112,109,110,107,112,109,110,113,113,111,105,106,107,112,109,110,109,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,112,113,111,105,106,107,112,109,110,0,0,0,0,0,0,114,135,117,136,114,135,117,136,114,114,117,114,117,114,135,136,114,135,117,136,114,117,117,135,136,114,114,117,117,114,114,135,117,136,136,114,114,114,114,117,114,114,117,114,135,117,136,114,135,117,136,114,114,135,117,136,114,135,117,136,90,0,0,0,123,123,90,90,90,0,0,0,0,85,85,90,124,90,85,85,85,85,85,128,129,85,124,125,123,90,128,129,85,124,125,123,90,85,125,128,128,129,129,85,124,125,90,85,124,125,90,124,125,85,90,124,90,85,85,124,125,123,90,124,124,125,125,123,123,85,85,85,85,124,125,123,123,90,128,129,85,124,125,123,90,90,85,85,85,85,85,85,85,85,85,85,85,128,129,85,124,125,123,90,128,129,128,129,85,90,90,124,85,85,90,90,85,128,129,85,124,125,90,90,85,124,125,90,123,128,129,85,85,85,128,129,85,124,125,123,90,85,85,128,129,85,124,125,123,90,85,124,125,85,85,124,90,90,90,85,128,129,85,124,125,123,90,85,128,129,85,124,125,123,90,85,85,85],"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}}}{}{}}0000000020{{{h{Afc}}}{{h{Afe}}}{}{}}000000000`{{{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{{Bh{c}}}}{h{{Bh{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bj{{C`{{Bn{Bl}}}}}}{Bj{{C`{{Bn{{Cd{Cb}}}}}}}}{Bj{{C`{{Bn{Cf}}}}}}{Bj{{C`{{Bn{Ch}}}}}}{Bj{{C`{{Bn{Cj}}}}}}{Bj{{C`{{Bn{d}}}}}}{Bj{{C`{{Bn{Cl}}}}}}{Bj{{C`{{Bn{Cn}}}}}}{Bj{{C`{{Bn{c}}}}}{fD`}}{{{h{f}}}Db}0{{{h{{Ah{c}}}}}{{Dd{Db}}}f}{{{h{l}}}Db}``{{{h{Afc}}e}{{Eb{{E`{}{{Df{e}}{Dh{g}}{Dj{i}}{Dl{k}}{Dn{m}}}}i}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{Ej{c}}}}{{}b}{{}j}{{}l}{{{h{{Bn{c}}}}}{{h{e}}}{}{}}{{{h{{Bh{c}}}}}{{h{e}}}{}{}}{{{h{Af{Bh{c}}}}}{{h{Afe}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{El{{Cd{Cb}}}}}}{{{h{En}}}d}{c{{Eb{b}}}F`}{c{{Eb{Al}}}F`}{c{{Eb{j}}}F`}{c{{Eb{l}}}F`}{c{{Eb{d}}}F`}{{{h{En}}}Fb}{{}c{}}{{{h{b}}{h{b}}}Fd}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}FdFf}{{{h{Al}}{h{Al}}}Fd}{{{h{j}}{h{j}}}Fd}{{{h{l}}{h{l}}}Fd}{{{h{{An{c}}}}{h{{An{c}}}}}FdFf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}FdFf}{{{h{d}}{h{d}}}Fd}{{{h{c}}{h{e}}}Fd{}{}}000000000000000{{{h{b}}{h{AfFh}}}Fj}0{{{h{{Ah{c}}}}{h{AfFh}}}FjFl}{{{h{Al}}{h{AfFh}}}Fj}{{{h{j}}{h{AfFh}}}Fj}{{{h{l}}{h{AfFh}}}Fj}{{{h{{An{c}}}}{h{AfFh}}}FjFl}{{{h{{Bh{c}}}}{h{AfFh}}}FjFl}{{{h{d}}{h{AfFh}}}Fj}000{cc{}}{Fnc{}}{c{{Bn{c}}}{}}222{{{Ah{l}}}Al}{{{G`{DbCj}}}j}{{{G`{{h{Db}}{h{Cj}}}}}j}5555{nd}66{{{h{Gb}}jGd}Gf}{{{h{Gb}}jGd}j}{{{h{Gb}}jGd}l}{cd{}}04{{{h{{Ab{A`}}}}}{{Eb{dGh}}}}0{{{h{Gj}}}{{Eb{dc}}}{}}{{{h{{Gn{}{{Gl{c}}}}}}}{{Eb{jc}}}Fl}{{{h{{Ah{c}}}}{h{Afe}}}BbH`Hb}{{{h{Al}}{h{Afc}}}BbHb}{{{h{j}}{h{Afc}}}BbHb}{{{h{l}}{h{Afc}}}BbHb}{{{h{d}}{h{Afc}}}BbHb}```{{{h{d}}c}{{h{e}}}{{Hd{{Ab{A`}}}}}{}}``{ce{}{}}000000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{{{h{{Gn{}{{Gl{c}}}}}}jj}{{Eb{{Dd{Fd}}c}}}Fl}{{{h{{Ah{c}}}}}Fd{}}{{{h{Al}}}Fd}{{{h{{An{c}}}}Db}Fdf}{{{h{Hl}}}Fd}1``{{{h{Afc}}e}{{Eb{{Dd{{E`{}{{Df{g}}{Dh{e}}{Dj{i}}{Dl{k}}{Dn{m}}}}}}k}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{Ej{c}}}}`{{{h{AfHl}}Hl}Bb}`{c{{B`{c}}}{{El{{Cd{Cb}}}}}}{{ce}{{B`{c}}}{{El{{Cd{Cb}}}}}{{Hn{Db}}}}{{{h{Af{B`{c}}}}}{{Dd{e}}}{{El{{Cd{Cb}}}}}{}}{{{h{Af{B`{c}}}}Gd}{{Dd{e}}}{{El{{Cd{Cb}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Dd{Bd}}}I`}{{{h{Al}}{h{Al}}}{{Dd{Bd}}}}{{{h{j}}{h{j}}}{{Dd{Bd}}}}{{{h{l}}{h{l}}}{{Dd{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Dd{Bd}}}I`}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}{{Dd{Bd}}}I`}{{{h{d}}{h{d}}}{{Dd{Bd}}}}{{{h{Afc}}{h{e}}}{{Eb{Bbg}}}{}{}{}}{{{h{Afc}}{h{e}}}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{E`{c}}}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{Ej{c}}}}```{{{h{b}}c}EbIb}{{{h{Al}}c}EbIb}{{{h{j}}c}EbIb}{{{h{l}}c}EbIb}{{{h{d}}c}EbIb}```{{{h{Af{If{}{{Id{c}}}}}}}{{h{Afc}}}Hl}{{{h{AfHl}}}{{Dd{Hl}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bn{d}}}}}{{Ij{Ih}}}}{{{h{{Bn{{Cd{Cb}}}}}}}{{Ij{Ih}}}}{{{h{{Bn{c}}}}}{{Ij{Ih}}}{fIl}}{{{h{{Bn{Cl}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cf}}}}}{{Ij{Ih}}}}{{{h{{Bn{Bl}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cj}}}}}{{Ij{Ih}}}}{{{h{{Bn{Ch}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cn}}}}}{{Ij{Ih}}}}{{{h{c}}}In{}}0{{{h{b}}}Ch}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}`1{c{{Eb{e}}}{}{}}0000000000000000000``{{{h{c}}}Jb{}}000000000{FbAl}`{ce{}{}}000000000`````{{{h{Af{Jd{ce}}}}GbDb}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{h{Gb}}Db}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{Jf{c}}}BbfJh}{{{h{Af{Jd{ce}}}}{Jj{c}}}{{Jf{c}}}fJh}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}{{{h{Af{Jd{ce}}}}i}{{Jf{c}}}fJh{{Jl{}{{Hh{c}}}}}{{Jl{}{{Hh{{G`{{h{Cl}}g}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{{h{Cl}}Fb}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{ClFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Jf{ce}}}}}{{Jf{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jd{ce}}}{}Jn}{{}{{Jf{ce}}}{}Jn}{c{{Eb{{Jf{eg}}}}}F`{BfK`}K`}{{{h{{Jf{ce}}}}{h{{Jf{ce}}}}}FdFfFf}{{{h{{Jd{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Jf{ce}}}}{h{AfFh}}}FjFlFl}{cc{}}0{Kb{{Jf{cKb}}}{}}{{{Kd{c}}}{{Jf{ce}}}{}Jn}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}``{{{h{{Jd{ce}}}}}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cnc}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}CnFb}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cl}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}KfKh}{{Jf{c}}}fJh}{ce{}{}}0{{{h{{Jf{ce}}}}}FdfHl}{{{h{Af{Jf{ce}}}}{Jf{ce}}}BbfHl}{c{{Jd{ec}}}{}{}}{{{h{{Jf{ce}}}}g}Eb{BfIl}IlIb}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}000`{{{h{c}}}Jb{}}077``{{{h{Af{Jh{}{{Id{c}}}}}}c}Bb{}}{{{h{Af{Jh{}{{Id{c}}}}}}{h{Cl}}}c{}}{{{h{Af{Jh{}{{Id{c}}}}}}Kf{h{Kh}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}{h{Cl}}}Fd{}}``````````{{{h{{Kj{c}}}}}{{Kl{c{B`{{Cd{Cb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}Kb}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Kj{c}}}}}{{Kj{c}}}Aj}{{{h{{Kn{c}}}}}{{Kn{c}}}Aj}{{{h{Kb}}}Kb}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Kj{c}}}{}}{{}Kb}{c{{Eb{Kb}}}F`}{{{h{{Kn{c}}}}{h{{Kn{c}}}}}FdFf}{{{h{Kb}}{h{Kb}}}Fd}{{{h{{Kj{c}}}}{h{AfFh}}}FjFl}{{{h{{Kn{c}}}}{h{AfFh}}}FjFl}0{{{h{Kb}}{h{AfFh}}}Fj}{cc{}}00{{{h{L`}}}{{Ij{Kb}}}}{{{h{{Kj{c}}}}c}{{Dd{{h{{Cd{Cb}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}Cf}{{Dd{{h{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{Cl}}}e{AjBfFl}{}}{{{h{Af{Kj{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}{{h{{Lb{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c{Cd{Cb}}}{{Eb{Fd{Kn{c}}}}}{AjBfFl}}{ce{}{}}00{{{h{Kb}}}Fd}{{{h{{Kj{c}}}}{h{Cl}}}Fd{AjBfFl}}{{{h{{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Kf}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Lf{}{{Hh{{Lh{cKf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{G`{c{h{{Cd{Cb}}}}}}}}}}Lj}}}{AjBfFl}}`{{{h{{Kj{c}}}}c}{{Dd{Db}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{Kl{cDb}}}{AjBfFl}}10{{{h{{Kj{c}}}}}Db{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{AfKb}}Kb}Bb}{{{h{{Kj{c}}}}{h{Cl}}e}Ll{AjBfFl}{{Hn{c}}}}{Db{{Kj{c}}}{}}{{{h{{Kj{c}}}}c}{{Dd{{G`{DbFd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c}{{Dd{{G`{{Ld{Cf}}Kb}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{h{{Ln{{Lh{cKf}}}}}}}{AjBfFl}}{{{h{Kb}}{h{L`}}}{{Ij{Bb}}}}2{{{h{Af{Kj{c}}}}cDb}{{Dd{{G`{{M`{{Ld{Cf}}}}Kb}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{{Kl{cDb}}}}}Kb{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Cf}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Hj{}{{Hh{{Lh{cCf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}{h{Cl}}e}{{G`{ChCh}}}{AjBfFl}{{Hn{c}}}}{{{h{Kb}}c}EbIb}{{{h{{Kj{c}}}}cDb}{{Dd{Cf}}}{AjBfFl}}{{{h{c}}}e{}{}}00{{{h{c}}}In{}}{c{{Eb{e}}}{}{}}00000{{{h{{Kj{c}}}}Kf}{{Dd{{Lh{c{h{Kh}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Kj{c}}}}Cn}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}00{{{h{{Kj{c}}}}c}{{Dd{{B`{{Cd{Cb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Cf}}}}}}Aj}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{cCf}}}}}}Aj}}}{AjBfFl}}{ce{}{}}00`````{{{h{{Lb{c}}}}}{{h{{Kl{cCf}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Lb{c}}}}}{{Lb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Lb{c}}}{}}{{{h{{Lb{c}}}}{h{AfFh}}}FjFl}{cc{}}{{{h{{Lb{c}}}}Cf}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}{h{Cl}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Lb{c}}}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}cCf}Fd{AjBfFl}}>{{{h{{Lb{c}}}}{h{Cl}}}Fd{AjBfFl}}0{{{h{{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{Af{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{{Lb{c}}}}{h{Cl}}e}Ll{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}}{{h{{Ln{{G`{cKf}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{Af{Lb{c}}}}{h{Cl}}}{{Ln{c}}}{AjBfFl}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{{Lb{c}}}}{h{Cl}}e}{{G`{ChCh}}}{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}{h{c}}}{{Dd{Cf}}}{AjBfFl}}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}0{{{h{{Lb{c}}}}Kf}{{Dd{{G`{{h{c}}{h{Kh}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Lb{c}}}}Cn}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}={{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Cf}}}}}}Aj}}}{AjBfFl}{{Hn{c}}}}{ce{}{}}````````````{{{h{AfMb}}{h{Md}}}{{Eb{BbMf}}}}{{{h{AfMb}}{h{Mh}}Db}{{Eb{MdMj}}}}{{{h{AfMb}}{h{Mh}}Dbj}{{Eb{MdMl}}}}{{{h{AfMb}}Mn}{{Eb{MdMj}}}}{{{h{Mn}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Mn}}}Mn}{{{h{Mb}}}Mb}{{{h{Md}}}Md}{{{h{Mf}}}Mf}{{{h{N`}}}N`}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Md}{c{{Eb{Md}}}F`}{{{h{AfMb}}j}{{Eb{MdMf}}}}{{{h{Mn}}{h{Mn}}}Fd}{{{h{Mb}}{h{Mb}}}Fd}{{{h{Md}}{h{Md}}}Fd}{{{h{Mf}}{h{Mf}}}Fd}{{{h{N`}}{h{N`}}}Fd}{{{h{Mj}}{h{Mj}}}Fd}{{{h{Ml}}{h{Ml}}}Fd}{{Mnc}{{Eb{MnMn}}}{{Jl{}{{Hh{j}}}}}}{{{h{Mn}}{h{AfFh}}}Fj}{{{h{Mb}}{h{AfFh}}}Fj}{{{h{Md}}{h{AfFh}}}Fj}{{{h{Mf}}{h{AfFh}}}Fj}0{{{h{N`}}{h{AfFh}}}Fj}0{{{h{Mj}}{h{AfFh}}}Fj}0{{{h{Ml}}{h{AfFh}}}Fj}0{cc{}}00{cMd{{Jl{}{{Hh{{G`{Db{Dd{Cj}}}}}}}}}}11111{c{{Eb{Mn{Dd{Mn}}}}}{{Jl{}{{Hh{j}}}}}}{{{Kl{DbCj}}}{{Eb{MbMf}}}}{Md{{Eb{MbMf}}}}{Cj{{G`{MbMd}}}}{{{h{Mh}}Db}Mn}{cMd{{Jl{}{{Hh{{G`{DbCj}}}}}}}}6{{{h{L`}}}{{Ij{Md}}}}{Mn{{Eb{MbMf}}}}{{{h{Mb}}}Cj}{{{h{Mn}}Db}{{Dd{Mn}}}}{{{h{Mb}}Db}{{Dd{Mn}}}}{{{h{Mb}}}{{Eb{jc}}}{}}{{{h{Mn}}}Cj}{{{h{Mn}}}Db}`{{{h{Mb}}}Md}{{Mnj}Mn}{{{h{AfMb}}j}{{Eb{MdN`}}}}{ce{}{}}0000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{Mnc{}}{{{h{Mb}}jj}{{Eb{{Dd{Fd}}c}}}{}}{{{h{Md}}}Fd}{{{h{Mn}}}Nb}{{{h{Mb}}}Nb}{{{h{AfMd}}Md}Bb}{jMn}{{{h{AfNb}}}{{Dd{c}}}{}}`{{{h{Md}}{h{L`}}}{{Ij{Bb}}}}{{{h{Mn}}}{{Dd{Mn}}}}{{Mnj}{{Eb{MnMn}}}}{{{h{Mn}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Mb}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Md}}c}EbIb}{{{h{Mb}}}Mn}{{{h{c}}}e{}{}}000000{{{h{c}}}In{}}000{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}{c{{Eb{e}}}{}{}}0000000`00000000{{{h{c}}}Jb{}}0000000`{ce{}{}}0000000`{{{h{L`}}{h{Gj}}{h{{Ab{{h{{Ab{{h{Gj}}}}}}}}}}}{{Ij{Bb}}}}````{{{h{c}}}{{h{e}}}{}{}}000{{{h{Afc}}}{{h{Afe}}}{}{}}000{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Kf}}}}}}{{Nde}Nd{{Lj{}{{Hh{Cf}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cf}}}}}}{{{Nj{c}}cg}{{Nj{c}}}{BfAj}{{Hj{}{{Hh{{Ld{Cf}}}}}}Nf}{{Jl{}{{Nh{e}}}}}}``{{Nde}Nd{{Lj{}{{Hh{Cn}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cn}}}}}}``{cc{}}000{MnNd}{Mn{{Nj{c}}}{BfAj}}{{Mn{h{{Kj{c}}}}}{{Nj{c}}}{FlBfAj}}``{{Ndc}Nd{{Nl{{h{Kf}}}}NfNn}}{{Ndc}Nd{{Nl{{h{O`}}}}NfNn}}{{{Nj{c}}e}{{Nj{c}}}{NfBfAj}{{Nl{cDb{h{O`}}}}NfNnAj}}{{{Nj{c}}ce}{{Nj{c}}}{NfBfAj}{{Nl{Db{h{O`}}}}NfNn}}{{Ndc}Nd{{Nl{{h{Cn}}}}NfNn}}{ce{}{}}000``{{Nd{h{{Kj{c}}}}e}Nd{AjBfFlNfNn}{{Hn{c}}}}{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}}}}}{{Nde}Nd{{Lj{}{{Hh{Cf}}}}Nf}{{Jl{}{{Nh{c}}}}}}>{{Nde}Nd{{Lj{}{{Hh{Cn}}}}Nf}{{Jl{}{{Nh{c}}}}}}``{c{{Eb{e}}}{}{}}0000000`{{{h{c}}}Jb{}}0006666`````````````{{{h{{Jj{c}}}}}{{h{{Ln{{G`{cCn}}}}}}}{}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Kd{c}}}}}{{`{{Hj{}{{Hh{Db}}}}}}}f}``{{{h{Af{Jj{c}}}}{Kd{c}}}Bb{AjBf}}{{{h{Af{Jj{c}}}}{Jj{c}}}{{Kd{c}}}{AjBf}}{{{h{{Jj{c}}}}}{{h{{Jj{c}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jik}bf{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Cf}{{Od{Fd}}}}}}{{{h{Af{Jj{c}}}}e}{{Kd{c}}}{AjBf}{{Jl{}{{Hh{{G`{ClFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{Afc}}}{{h{Afe}}}{}{}}000000{{{h{{Jj{c}}}}{h{Cl}}}{{Eb{ChOf}}}{}}`{c{{Dd{Ll}}}{}}{c{{Dd{Ch}}}{}}10{{{h{{Jj{c}}}}}{{Jj{c}}}Aj}{{{h{{Oh{ce}}}}}{{Oh{ce}}}AjAj}{{{h{{Oj{ce}}}}}{{Oj{ce}}}AjAj}{{{h{{Kd{c}}}}}{{Kd{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}000{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}BdBfBf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}BdBfBf}{{}{{Jj{c}}}{}}{{}{{Kd{c}}}{}}{{{h{{Oh{ce}}}}}{{h{g}}}{}{}{}}{c{{Eb{{Kd{e}}}}}F`{BfK`}}{{{h{{Jj{c}}}}{h{Cl}}}{{`{{Hj{}{{Hh{{G`{GdCn}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{{Jj{c}}}}}FdFf}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}FdFfFf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}FdFfFf}{{{h{Of}}{h{Of}}}Fd}{{{h{{Kd{c}}}}{h{{Kd{c}}}}}FdFf}{{{h{c}}{h{e}}}Fd{}{}}00000{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{G`{g{An{c}}}}}}}}}}}f{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{AfFh}}}FjFl}{{{h{{Oh{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Oj{ce}}}}{h{AfFh}}}FjFlFl}{{{h{Of}}{h{AfFh}}}Fj}0{{{h{{Kd{c}}}}{h{AfFh}}}FjFl}{cc{}}000000{{{h{L`}}}{{Ij{{Kd{c}}}}}{fAjBfIlD`}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cl}}c}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jCn}{{Dd{{Ah{{h{c}}}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}{h{e}}jKf}{{Dd{{G`{{Ah{{h{c}}}}Cn}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}Cn}{{Dd{{Ol{Cl}}}}}{}}{{{h{{Jj{c}}}}Cn}{{Dd{{Oh{{Ol{Cl}}c}}}}}{}}{{{h{{Jj{c}}}}Kf}{{Dd{{h{Kh}}}}}{}}{{{h{{Jj{c}}}}}{{Kd{c}}}{AjBf}}{{{h{Af{Jj{c}}}}Cnc}{{Kd{c}}}{AjBf}}{{{h{Af{Jj{c}}}}CnFb}{{Kd{c}}}{AjBf}}{{{h{Af{Jj{c}}}}e}{{Kd{c}}}{AjBf}{{On{{Ol{Cl}}}}}}{{{h{Af{Jj{c}}}}KfKh}{{Kd{c}}}{AjBf}}{ce{}{}}000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}011{{{h{{Jj{c}}}}}Fd{}}{{{h{{Kd{c}}}}}FdBf}``{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Oj{{Ol{Cl}}c}}}}}}}}}fGn}{{{Jj{c}}g}{{Jj{e}}}{AjBf}{AjBf}{{Nl{c}{{Od{e}}}}}}{{{Kd{c}}g}{{Kd{e}}}BfBf{{Nl{c}{{Od{e}}}}}}{{{h{Af{Kd{c}}}}{Kd{c}}}BbBf}{c{{Jj{e}}}{{Jl{}{{Hh{Cl}}}}}{AjBf}}{{{h{Af{A@`{cg}}}}}{{Dd{i}}}{}{}{{Nl{Gd{Ol{Cl}}}{{Od{{Dd{e}}}}}}}{}}{{{h{Af{A@b{cg}}}}}{{Dd{i}}}{}{}{{Nl{GdCn}{{Od{{Dd{e}}}}}}}{}}{{{h{{Jj{c}}}}Kf}{{h{{A@d{Cn}}}}}{}}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Kd{c}}}}{h{L`}}}{{Ij{Bb}}}{fAjBfIlD`}}{{{h{{Kd{c}}}}e}Eb{BfIl}Ib}{{{h{c}}}e{}{}}000{{{h{c}}}In{}}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}0{{{h{{Jj{c}}}}{h{e}}jik}{{Eb{b}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Cf}{{Od{Fd}}}}}}{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{Eb{{G`{g{An{c}}}}}}}}}}}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{c{{Eb{e}}}{}{}}000000{{{h{{Jj{c}}}}{h{e}}jCn}{{Eb{{Dd{{Ah{{h{c}}}}}}}}}fGn}{{{h{{Jj{c}}}}{h{e}}jKf}{{Eb{{Dd{{G`{{Ah{{h{c}}}}Cn}}}}}}}fGn}2222222{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Eb{{Oj{{Ol{Cl}}c}}}}}}}}}}}fGn}``{{{h{{Jj{c}}}}Cn}{{Dd{{Kl{Db{h{Kh}}}}}}}{}}{{{h{{Jj{c}}}}Cn}{{`{{Lf{}{{Hh{{G`{Db{h{{A@d{Cn}}}}}}}}}}}}}{}}`{{{h{{Kd{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}``{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cl}}c}}}}}}}}}{}}{{{h{c}}}Jb{}}000000{{{h{Af{Jj{c}}}}Fb}{{Kd{c}}}{AjBf}}{ce{}{}}000000{{{h{{Jj{c}}}}ei}{{A@`{ci}}}{AjBf}{{On{{Ol{Cl}}}}}{}{{Nl{Gd{Ol{Cl}}}{{Od{{Dd{g}}}}}}}}{{{h{{Jj{c}}}}{h{Cl}}g}{{A@b{cg}}}{}{}{{Nl{GdCn}{{Od{{Dd{e}}}}}}}}{{{h{{Jj{c}}}}Cng}{{A@b{cg}}}{AjBf}{}{{Nl{GdCn}{{Od{{Dd{e}}}}}}}}","D":"CEj","p":[[5,"Balance",0,946],[5,"DescriptorId",0,947],[10,"Anchor",0,948],[1,"reference"],[5,"BlockId",0,949],[5,"ConfirmationBlockTime",0,949],[5,"Hash",950],[1,"u8"],[1,"slice"],[1,"array"],[0,"mut"],[6,"ChainPosition",0,949],[10,"Clone",951],[6,"ConfirmationTime",0,949],[5,"FullTxOut",0,949],[5,"SpkIterator",0,952],[1,"unit"],[6,"Ordering",953],[10,"Ord",953],[5,"Persisted",0,954],[6,"ValueRef",955],[6,"Network",956],[5,"Impl",0],[8,"FromSqlResult",957],[6,"DescriptorPublicKey",958],[6,"Descriptor",959],[5,"ScriptBuf",960],[5,"Amount",961],[5,"BlockHash",962],[5,"Transaction",963],[5,"Txid",963],[10,"DeserializeOwned",964],[1,"u32"],[6,"Option",965],[17,"CreateParams"],[17,"LoadParams"],[17,"CreateError"],[17,"LoadError"],[17,"PersistError"],[10,"PersistWith",0,954],[6,"Result",966],[10,"Future",967],[5,"Box",968],[5,"Pin",969],[10,"PersistAsyncWith",0,954],[10,"Borrow",970],[10,"DescriptorExt",0,947],[10,"Deserializer",964],[1,"u64"],[1,"bool"],[10,"PartialEq",953],[5,"Formatter",971],[8,"Result",971],[10,"Debug",971],[1,"never"],[1,"tuple"],[5,"Block",962],[1,"usize"],[10,"AnchorFromBlockPosition",0,948],[5,"FromSliceError",972],[1,"str"],[17,"Error"],[10,"ChainOracle",0,973],[10,"Hash",974],[10,"Hasher",974],[10,"SliceIndex",975],[5,"IntoFallible",976],[17,"Item"],[10,"Iterator",977],[10,"Merge",0,948],[10,"RangeBounds",978],[10,"PartialOrd",953],[10,"Serializer",979],[17,"ChangeSet"],[10,"Staged",0,954],[6,"ToSqlOutput",980],[8,"Result",981],[10,"Serialize",979],[5,"String",982],[5,"Convert",976],[5,"TypeId",983],[5,"IndexedTxGraph",334],[5,"ChangeSet",334],[10,"Indexer",384],[5,"TxGraph",768],[10,"IntoIterator",984],[10,"Default",985],[10,"Deserialize",964],[5,"ChangeSet",393],[5,"ChangeSet",768],[5,"OutPoint",963],[5,"TxOut",963],[5,"KeychainTxOutIndex",393],[5,"BTreeMap",986],[6,"InsertDescriptorError",393],[5,"Transaction",987],[5,"SpkTxOutIndex",495],[8,"Indexed",0],[10,"DoubleEndedIterator",988],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",989],[5,"SignedAmount",961],[5,"BTreeSet",990],[5,"Vec",991],[5,"LocalChain",532],[5,"ChangeSet",532],[5,"MissingGenesisError",532],[5,"Header",962],[5,"CannotConnectError",532],[6,"ApplyHeaderError",532],[5,"CheckPoint",532],[5,"AlterCheckPointError",532],[5,"CheckPointIter",532],[5,"SyncRequest",704],[10,"Send",992],[17,"IntoIter"],[5,"FullScanRequest",704],[10,"FnMut",993],[10,"Sync",992],[5,"Script",994],[6,"Infallible",995],[17,"Output"],[6,"CalculateFeeError",768],[5,"TxNode",768],[5,"CanonicalTx",768],[5,"Arc",996],[10,"Into",995],[5,"TxAncestors",768],[5,"TxDescendants",768],[5,"HashSet",997],[15,"Confirmed",331],[15,"Unconfirmed",331],[15,"DescriptorAlreadyAssigned",491],[15,"KeychainAlreadyAssigned",491],[5,"SyncResult",704],[5,"FullScanResult",704]],"r":[[0,948],[1,948],[2,952],[3,946],[4,949],[6,973],[7,949],[9,949],[10,949],[17,947],[18,947],[20,949],[23,334],[24,384],[30,948],[31,954],[34,954],[35,954],[36,952],[37,954],[38,768],[224,384],[258,384]],"b":[[48,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[49,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[98,"impl-FromSql-for-Impl%3CNetwork%3E"],[99,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[100,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[101,"impl-FromSql-for-Impl%3CAmount%3E"],[102,"impl-FromSql-for-Impl%3CBlockHash%3E"],[103,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[104,"impl-FromSql-for-Impl%3CTransaction%3E"],[105,"impl-FromSql-for-Impl%3CTxid%3E"],[106,"impl-FromSql-for-Impl%3CA%3E"],[156,"impl-Debug-for-Balance"],[157,"impl-Display-for-Balance"],[164,"impl-LowerHex-for-DescriptorId"],[165,"impl-Display-for-DescriptorId"],[166,"impl-Debug-for-DescriptorId"],[167,"impl-UpperHex-for-DescriptorId"],[175,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[176,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[272,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[273,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[274,"impl-ToSql-for-Impl%3CA%3E"],[275,"impl-ToSql-for-Impl%3CTransaction%3E"],[276,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[277,"impl-ToSql-for-Impl%3CNetwork%3E"],[278,"impl-ToSql-for-Impl%3CBlockHash%3E"],[279,"impl-ToSql-for-Impl%3CAmount%3E"],[280,"impl-ToSql-for-Impl%3CTxid%3E"],[358,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[359,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[402,"impl-KeychainTxOutIndex%3CK%3E"],[403,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[422,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[423,"impl-Display-for-InsertDescriptorError%3CK%3E"],[594,"impl-Display-for-MissingGenesisError"],[595,"impl-Debug-for-MissingGenesisError"],[596,"impl-Debug-for-AlterCheckPointError"],[597,"impl-Display-for-AlterCheckPointError"],[598,"impl-Debug-for-CannotConnectError"],[599,"impl-Display-for-CannotConnectError"],[600,"impl-Display-for-ApplyHeaderError"],[601,"impl-Debug-for-ApplyHeaderError"],[616,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[617,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[843,"impl-Display-for-CalculateFeeError"],[844,"impl-Debug-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUCUwAYAAEAJwAAACoAAQAtAAIAMQACADUAFABLAA8AXAAPAG8AAAB2AAUAfgAEAIQAJACqAAEArwACALYAAAC6AAMAvwACAMMABADLAAAA2QAAAOEAAADoAAAA6wABAO4ABgD5AAAA+wAFAAMBAAAHAQgAEQEKACABEwA2AQkAQgEJAFUBAABZAQsAZwEBAHMBAQB2AQUAfQEDAJQBFQCwAQIAuQEAANMBAADVAQkA4gECAOkBAgDyAQYA+wECAAECAAALAgIAEQIAABQCAAAnAh8ASAIGAFACCgBeAgAAaQIBAHACAACAAgMAhgIAAIgCAACPAgAAkQIKAJ0CBwCmAg8AtwIHAMUCBwDwAgcA+QIHABUDAAAYAw0AKAMRADsDCgBJAwUAawMBAG4DAAB0AwAAdgMBAHkDAQB8AwUAhwMGAJADBgChAwYAqQMGAA=="}],\ +["bdk_coin_select",{"t":"FFGGFFPIPFGPPPFGFPPSPPPPPFNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNNNONONNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNOOOONNNNONOOOOONNNNONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOON","n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","equivalent","equivalent","equivalent","equivalent","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":[[0,"bdk_coin_select"],[241,"bdk_coin_select::bnb"],[242,"core::cmp"],[243,"bdk_coin_select::coin_selector"],[244,"core::iter::traits::iterator"],[245,"core::option"],[246,"core::convert"],[247,"core::result"],[248,"core::fmt"],[249,"core::time"],[250,"bitcoin::blockdata::transaction"],[251,"core::hash"],[252,"fallible_iterator"],[253,"alloc::vec"],[254,"core::marker"],[255,"alloc::string"],[256,"core::any"]],"i":[0,0,0,0,0,0,43,0,22,0,0,18,18,22,0,0,0,43,43,0,18,18,11,11,11,0,2,6,7,2,16,2,7,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,6,6,15,16,6,17,18,7,11,12,15,16,6,17,18,7,11,12,11,0,6,6,6,12,16,16,6,15,18,11,18,18,11,11,7,7,12,12,6,15,16,6,17,17,18,18,7,11,11,12,2,43,2,35,22,22,22,15,16,6,17,18,7,11,12,16,11,15,43,2,35,22,15,16,6,17,18,7,11,12,35,2,35,6,15,6,16,16,16,16,16,2,15,6,35,6,11,2,2,12,2,2,6,6,6,6,7,6,6,6,6,6,6,2,16,16,16,15,16,6,17,18,7,11,12,17,18,11,35,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,43,2,35,22,15,16,6,17,18,7,11,12,6,6,15,43,2,35,22,15,16,6,17,18,7,11,12,12,15,12,43],"f":"``````````````````````````{{{f{b{d{c}}}}c}hj}{{{f{l}}}h}{{{f{n}}{f{{A`{c}}}}}{{`{{Ad{}{{Ab{{f{c}}}}}}}}}{}}{{{f{b{d{c}}}}}hj}``{{{f{n}}}{{Aj{{f{Af}}{f{Ah}}}}}}{{{f{c}}}{{f{e}}}{}{}}00000000000{{{f{bc}}}{{f{be}}}{}{}}00000000000{{{f{l}}Al}{{f{An}}}}`{{{f{An}}}An}{{{f{B`}}}B`}{{{f{l}}}l}{{{f{Bb}}}Bb}{{{f{Bd}}}Bd}{{{f{n}}}n}{{{f{Af}}}Af}{{{f{Ah}}}Ah}{{{f{c}}{f{be}}}Bf{}{}}0000000{{{f{Af}}{f{Af}}}Bh}{{cl}{{Bj{l}}}{{Bn{Bl}}}}{{{f{l}}}C`}{{{f{l}}}Cb}{{{f{bl}}Al}h}`{{{f{B`}}}C`}`3{{{f{An}}Cd}C`}{{{f{Bd}}{f{Bd}}}h}{{{f{Af}}{f{Af}}}h}{{{f{c}}{f{e}}}h{}{}}000```{{{f{Ah}}}Cd}{{{f{l}}}{{Cf{nBb}}}}{{{f{An}}{f{bCh}}}Cj}{{{f{B`}}{f{bCh}}}Cj}{{{f{l}}{f{bCh}}}Cj}{{{f{Bb}}{f{bCh}}}Cj}0{{{f{Bd}}{f{bCh}}}Cj}0{{{f{n}}{f{bCh}}}Cj}{{{f{Af}}{f{bCh}}}Cj}0{{{f{Ah}}{f{bCh}}}Cj}{{{f{b{d{c}}}}h}Bfj}{cc{}}00{ClBl}1{AlBl}22222222{{{f{{A`{Cn}}}}{f{Cn}}Cb}B`}{{{f{Af}}{f{bc}}}BfD`}`{ce{}{}}00000000000{c{{Db{g}}}{}{}{{Ad{}{{Ab{e}}}}}}{{{d{c}}{f{{Dd{c}}}}}{{Df{c}}}j}2{{{f{l}}}h}`{{{f{l}}Al}h}{{{f{B`}}}Cd}````{{l{Dh{{Aj{Al{f{An}}}}}}c}{{d{c}}}j}{{DjCbh}An}{{{f{{Dh{An}}}}{f{B`}}}l}{{{f{b{Df{c}}}}}{{Bj{e}}}{jDlDn}{}}`{{{f{Af}}{f{Af}}}{{Bj{Bh}}}}`````{{{f{bl}}Al}h}{{{f{bl}}}Bf}{{{f{bl}}}{{Cf{nBb}}}}{{{f{l}}}{{`{{Ad{}{{Ab{{Aj{Al{f{An}}}}}}}}}}}}`{{{f{l}}}Dj}{{{f{l}}}Al}{{{f{l}}}C`}{{{f{l}}}{{`{{Ad{}{{Ab{Al}}}}}}}}1{{{f{l}}}Cb}````{{{f{c}}}e{}{}}0000000{{{f{c}}}E`{}}00{c{{Eb{i}}}{}{}{}{{Ad{}{{Ab{{Cf{eg}}}}}}}}{c{{Cf{e}}}{}{}}00000000000000000000000{{{f{c}}}Ed{}}00000000000:6`{ce{}{}}00000000000```{{{f{Ef}}}h}","D":"Hl","p":[[0,"mut"],[5,"Bnb",0,241],[1,"reference"],[1,"bool"],[10,"Ord",242],[5,"CoinSelector",0,243],[5,"Selection",0,243],[1,"slice"],[17,"Item"],[10,"Iterator",244],[6,"ExcessStrategyKind",0,243],[5,"ExcessStrategy",0,243],[1,"tuple"],[1,"usize"],[5,"WeightedValue",0,243],[5,"CoinSelectorOpt",0,243],[5,"SelectionError",0,243],[6,"SelectionConstraint",0,243],[1,"unit"],[6,"Ordering",242],[6,"Option",245],[6,"BnbLimit",0,241],[10,"Into",246],[1,"i64"],[1,"u32"],[1,"f32"],[6,"Result",247],[5,"Formatter",248],[8,"Result",248],[5,"Duration",249],[5,"TxOut",250],[10,"Hasher",251],[5,"IntoFallible",252],[8,"DecideStrategy",0,241],[5,"BnbIter",0,241],[5,"Vec",253],[1,"u64"],[10,"Copy",254],[10,"Display",248],[5,"String",255],[5,"Convert",252],[5,"TypeId",256],[6,"BranchStrategy",0,241]],"r":[[0,241],[1,241],[2,241],[3,241],[4,243],[5,243],[7,241],[9,243],[10,243],[14,243],[15,243],[16,243],[25,243],[76,241]],"b":[[99,"impl-Debug-for-SelectionError"],[100,"impl-Display-for-SelectionError"],[101,"impl-Debug-for-SelectionConstraint"],[102,"impl-Display-for-SelectionConstraint"],[104,"impl-Debug-for-ExcessStrategyKind"],[105,"impl-Display-for-ExcessStrategyKind"],[111,"impl-From%3CDuration%3E-for-BnbLimit"],[113,"impl-From%3Cusize%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKsAGQAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAIAGAACwBwAAAAcgAAAHsAAQCMAAEAjwABAJcADQCmAAAAqAAAAKsAAACvAAoAuwAlAOIADADwAAEA"}],\ ["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,"bdk_chain::tx_graph"],[30,"core::convert"],[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}}}}{Aj{e}}AlAlAn}{{A`{{B`{e}}n}}}Ab{BbBd}}`{ce{}{}}{c{{f{c}}}Ab}{{{b{{f{c}}}}g}BfAb{}{{Bj{{Bh{e}}}}}}{{{b{{f{c}}}}BlAlAn}{{A`{Bnn}}}Ab}{{{b{{f{c}}}}{b{j}}}{{A`{hn}}}Ab}{c{{A`{e}}}{}{}}0{{{b{c}}}C`{}}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],[5,"FullScanRequest",26],[1,"usize"],[1,"bool"],[5,"FullScanResult",26],[10,"Ord",27],[10,"Clone",28],[1,"unit"],[5,"TxGraph",29],[10,"AsRef",30],[5,"SyncRequest",26],[5,"SyncResult",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,"bdk_esplora::async_ext"],[14,"core::future::future"],[15,"alloc::boxed"],[16,"core::pin"],[17,"core::marker"]],"i":[0,0,0,0,1,10,1,10],"f":"````{{{d{b}}{f{c}}hh}{{n{{j{c}}l}}}{A`Ab}}{{{d{Ad}}{f{c}}hh}{{Aj{{Ah{Af}}}}}{A`AbAl}}{{{d{b}}Anh}{{n{B`l}}}}{{{d{Ad}}Anh}{{Aj{{Ah{Af}}}}}}","D":"A`","p":[[10,"EsploraExt",0,8],[1,"reference"],[5,"FullScanRequest",9],[1,"usize"],[5,"FullScanResult",9],[8,"Error",0,8],[6,"Result",10],[10,"Ord",11],[10,"Clone",12],[10,"EsploraAsyncExt",0,13],[10,"Future",14],[5,"Box",15],[5,"Pin",16],[10,"Send",17],[5,"SyncRequest",9],[5,"SyncResult",9]],"r":[[0,8],[1,13],[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}}}BlBn}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}11{AjB`}2{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":"OzAAAAEAAC8ACAAMAAkAGAAHACIAAAAlAAAALQAAADAAAQA0AAIAOAAVAA=="}],\ +["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}11{AjB`}2{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":"OzAAAAEAAC8ACAAMAAkAGAAHACIAAAAlAAAALQAAADAAAQA0AAIAOAAVAA=="}],\ ["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":"FEEEONNEOENNNNNNNNNNNNNNNNNNN","n":["TestEnv","anyhow","bitcoincore_rpc","bitcoind","bitcoind","borrow","borrow_mut","electrsd","electrsd","electrum_client","electrum_client","from","genesis_hash","into","invalidate_blocks","make_checkpoint_tip","mine_blocks","mine_empty_block","new","reorg","reorg_empty_blocks","reset_electrsd","rpc_client","send","try_from","try_into","type_id","vzip","wait_until_electrum_sees_block"],"q":[[0,"bdk_testenv"],[29,"electrum_client::api"],[30,"bitcoin::blockdata::block"],[31,"anyhow"],[32,"bdk_chain::local_chain"],[33,"bitcoin::address"],[34,"core::option"],[35,"alloc::vec"],[36,"bitcoincore_rpc::client"],[37,"bitcoin_units::amount"],[38,"bitcoin::blockdata::transaction"],[39,"core::result"],[40,"core::any"]],"i":[0,0,0,0,3,3,3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}```{{{b{f}}}{{b{{`{h}}}}}}{cc{}}{{{b{f}}}{{l{j}}}}{ce{}{}}{{{b{f}}n}{{l{A`}}}}{{{b{f}}}Ab}{{{b{f}}n{Af{Ad}}}{{l{{Ah{j}}}}}}{{{b{f}}}{{l{{Aj{nj}}}}}}{{}{{l{f}}}}{{{b{f}}n}{{l{{Ah{j}}}}}}{{{b{f}}n}{{l{{Ah{{Aj{nj}}}}}}}}{f{{l{f}}}}{{{b{f}}}{{b{{`{Al}}}}}}{{{b{f}}{b{{Ad{An}}}}B`}{{l{Bb}}}}{c{{Bd{e}}}{}{}}0{{{b{c}}}Bf{}}<{{{b{f}}}{{l{A`}}}}","D":"An","p":[[1,"reference"],[0,"mut"],[5,"TestEnv",0],[10,"ElectrumApi",29],[5,"BlockHash",30],[8,"Result",31],[1,"usize"],[1,"unit"],[5,"CheckPoint",32],[5,"Address",33],[6,"Option",34],[5,"Vec",35],[1,"tuple"],[10,"RpcApi",36],[6,"NetworkChecked",33],[5,"Amount",37],[5,"Txid",38],[6,"Result",39],[5,"TypeId",40]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA4ABAAAAAAAAgAIABYAAAAZAAMA"}],\ -["bdk_tmp_plan",{"t":"FKPPPPFFGGFFPPPGPPONNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOONHNNNNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOOOOOOOO","n":["Assets","CanDerive","Complete","DerivationError","Incomplete","Legacy","Plan","PlanKey","PlanState","RequiredSignatures","Requirements","SatisfactionMaterial","Segwitv0","SigHashP2wpkh","SigHashTaproot","SigningError","TapKey","TapScript","asset_key","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_derive","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","derivation_hint","descriptor_key","ecdsa_sigs","expected_weight","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash160","hash160_images","hash160_preimages","hash256","hash256_images","hash256_preimages","into","into","into","into","into","into","into","into","keys","max_locktime","min_version","plan_satisfaction","required_locktime","required_sequence","requirements","requires_hash_preimages","ripemd160","ripemd160_images","ripemd160_preimages","schnorr_sigs","sha256","sha256_images","sha256_preimages","sign_with_keymap","signatures","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_complete","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txo_age","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness_version","final_script_sig","final_script_witness","keys","keys","leaf_hash","merkle_root","plan_key","plan_keys"],"q":[[0,"bdk_tmp_plan"],[151,"bdk_tmp_plan::PlanState"],[153,"bdk_tmp_plan::RequiredSignatures"],[159,"miniscript::descriptor::key"],[160,"bitcoin::bip32"],[161,"core::option"],[162,"bdk_tmp_plan::requirements"],[163,"core::clone"],[164,"bdk_tmp_plan::template"],[165,"core::fmt"],[166,"bitcoin::crypto::sighash"],[167,"miniscript::descriptor"],[168,"bitcoin::blockdata::locktime::absolute"],[169,"bitcoin::blockdata::transaction"],[170,"secp256k1"],[171,"core::result"],[172,"core::borrow"],[173,"secp256k1::context"],[174,"alloc::string"],[175,"core::any"],[176,"bitcoin::blockdata::script::witness_version"]],"i":[0,0,42,10,42,9,0,0,0,0,0,0,9,10,10,0,9,9,11,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,3,7,9,10,11,12,13,14,7,9,10,11,12,13,14,7,9,13,14,11,11,13,12,7,9,10,10,11,12,13,14,42,7,9,10,10,10,10,11,12,13,14,14,7,13,14,7,13,42,7,9,10,11,12,13,14,14,14,12,0,12,12,12,7,14,7,13,13,14,7,13,9,7,7,9,10,11,12,13,14,10,12,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,14,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,12,45,45,46,47,48,49,49,48],"f":"```````````````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{f}}{b{h}}}{{l{j}}}}{{{b{{n{c}}}}}{{n{c}}}A`}{{{b{{Ab{c}}}}}{{Ab{c}}}A`}{{{b{Ad}}}Ad}{{{b{{Af{c}}}}}{{Af{c}}}A`}{{{b{{Ah{c}}}}}{{Ah{c}}}A`}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}A`}{{{b{c}}{b{de}}}An{}{}}000000{{}{{n{c}}}{}}{{}{{Ab{c}}}{}}{{}Aj}{{}{{Al{c}}}{}}```{{{b{{Ah{c}}}}}B`A`}{{{b{{n{c}}}}{b{dBb}}}BdBf}{{{b{{Ab{c}}}}{b{dBb}}}BdBf}{{{b{Ad}}{b{dBb}}}Bd}0{{{b{{Af{c}}}}{b{dBb}}}BdBf}{{{b{{Ah{c}}}}{b{dBb}}}BdBf}{{{b{Aj}}{b{dBb}}}Bd}{{{b{{Al{c}}}}{b{dBb}}}BdBf}{cc{}}000{BhAd}{BjAd}{BlAd}3333``````{ce{}{}}0000000``{{{b{{Ah{c}}}}}{{l{Bn}}}A`}{{{b{{C`{h}}}}{b{{Al{c}}}}}{{l{{Ah{c}}}}}{fA`}}{{{b{{Ah{c}}}}}{{l{Cb}}}A`}{{{b{{Ah{c}}}}}{{l{Cd}}}A`}{{{b{{Ah{c}}}}}{{n{c}}}A`}{{{b{{n{c}}}}}Cf{}}```````{{{b{{Ab{Ch}}}}B`{b{Cj}}{b{{Cl{c}}}}{l{Cn}}{l{D`}}{b{d{Db{e}}}}{b{dAj}}{b{{Dd{g}}}}}{{Df{CfAd}}}{{Dj{Dh}}}{{Dj{Dl}}}{DnE`}}`{{{b{c}}}e{}{}}000000{{{b{c}}}Eb{}}{{{b{{Ah{c}}}}{b{Aj}}}{{Ed{c}}}A`}{c{{Df{e}}}{}{}}000000000000000`{{{b{c}}}Ef{}}0000000<<<<<<<<{{{b{{Ah{c}}}}}{{l{Eh}}}A`}````````","D":"Fl","p":[[1,"reference"],[0,"mut"],[10,"CanDerive",0],[5,"DefiniteDescriptorKey",159],[5,"DerivationPath",160],[6,"Option",161],[5,"Requirements",0,162],[10,"Clone",163],[6,"RequiredSignatures",0,162],[6,"SigningError",0,162],[5,"PlanKey",0,164],[5,"Plan",0],[5,"SatisfactionMaterial",0],[5,"Assets",0],[1,"unit"],[1,"usize"],[5,"Formatter",165],[8,"Result",165],[10,"Debug",165],[6,"Error",160],[6,"TaprootError",166],[6,"P2wpkhError",166],[1,"u32"],[6,"Descriptor",167],[6,"LockTime",168],[5,"Sequence",169],[1,"bool"],[6,"DescriptorPublicKey",159],[8,"KeyMap",167],[6,"Prevouts",166],[6,"TapSighashType",166],[6,"EcdsaSighashType",166],[5,"SighashCache",166],[5,"Secp256k1",170],[6,"Result",171],[5,"TxOut",169],[10,"Borrow",172],[5,"Transaction",169],[10,"Signing",173],[10,"Verification",173],[5,"String",174],[6,"PlanState",0],[5,"TypeId",175],[6,"WitnessVersion",176],[15,"Complete",151],[15,"Legacy",153],[15,"Segwitv0",153],[15,"TapScript",153],[15,"TapKey",153]],"r":[[7,164],[9,162],[10,162],[15,162]],"b":[[60,"impl-Debug-for-SigningError"],[61,"impl-Display-for-SigningError"],[70,"impl-From%3CError%3E-for-SigningError"],[71,"impl-From%3CTaprootError%3E-for-SigningError"],[72,"impl-From%3CP2wpkhError%3E-for-SigningError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGkAEAABAAEABAABAA4AAgAUACIAOwAHAEcAAgBOAAAAUQAAAFwAAQBfAAAAYgAAAGQAAABoAAAAawAAAG0AKQCaAAEA"}],\ -["bdk_wallet",{"t":"GGFGFPPPFGFGPPPPPPPEPPPPKGGGFGPFPPPPPPPPPIPFFGPPPFGTTFFNNONOONNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNONCOQNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCDNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNNONNNNDNNNONNNNNONNNNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","Descriptor","Descriptor","Descriptor","External","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","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","WeightedUtxo","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_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","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create","create","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor_checksum","descriptors","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","file_store","finalize_psbt","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_sqlite","genesis_hash","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","insert_checkpoint","insert_tx","insert_txout","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","load","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","network","new","new","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","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","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_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_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","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","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","calc_checksum_bytes","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"],[430,"bdk_wallet::AddForeignUtxoError"],[432,"bdk_wallet::ApplyBlockError"],[434,"bdk_wallet::LoadMismatch"],[441,"bdk_wallet::TxOrdering"],[443,"bdk_wallet::Utxo"],[446,"bdk_wallet::coin_selection"],[538,"bdk_wallet::coin_selection::Error"],[540,"bdk_wallet::coin_selection::Excess"],[545,"bdk_wallet::descriptor"],[805,"bdk_wallet::descriptor::checksum"],[807,"bdk_wallet::descriptor::error"],[840,"bdk_wallet::descriptor::policy"],[999,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1002,"bdk_wallet::descriptor::policy::Satisfaction"],[1013,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1023,"bdk_wallet::descriptor::template"],[1207,"bdk_wallet::error"],[1278,"bdk_wallet::error::CreateTxError"],[1284,"bdk_wallet::export"],[1307,"bdk_wallet::keys"],[1623,"bdk_wallet::psbt"],[1627,"bdk_wallet::rusqlite_impl"],[1629,"bdk_wallet::signer"],[1815,"bdk_wallet::signer::SignerContext"],[1816,"bdk_wallet::tx_builder"],[1931,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1933,"bdk_wallet::tx_builder::TxOrdering"],[1935,"bdk_chain::balance"],[1936,"bdk_wallet::wallet"],[1937,"bdk_wallet::types"],[1938,"bdk_wallet::wallet::signer"],[1939,"alloc::sync"],[1940,"bitcoin::blockdata::script::owned"],[1941,"bdk_chain"],[1942,"core::iter::traits::iterator"],[1943,"core::clone"],[1944,"alloc::collections::btree::map"],[1945,"bitcoin::blockdata::block"],[1946,"bdk_chain::local_chain"],[1947,"core::result"],[1948,"bdk_chain::chain_data"],[1949,"bitcoin::blockdata::transaction"],[1950,"core::iter::traits::collect"],[1951,"core::convert"],[1952,"bdk_chain::tx_graph"],[1953,"bdk_wallet::wallet::coin_selection"],[1954,"bdk_wallet::wallet::tx_builder"],[1955,"bdk_wallet::wallet::error"],[1956,"bitcoin_units::amount"],[1957,"bitcoin_units::fee_rate"],[1958,"bdk_wallet::wallet::changeset"],[1959,"core::cmp"],[1960,"rusqlite::transaction"],[1961,"rusqlite"],[1962,"bdk_file_store::store"],[1963,"bdk_wallet::wallet::params"],[1964,"bdk_wallet::wallet::persisted"],[1965,"core::option"],[1966,"alloc::string"],[1967,"serde::de"],[1968,"bitcoin::psbt"],[1969,"core::fmt"],[1970,"bdk_chain::indexer::keychain_txout"],[1971,"bdk_chain::indexed_tx_graph"],[1972,"bdk_chain::spk_client"],[1973,"bitcoin::psbt::map::input"],[1974,"core::hash"],[1975,"bdk_wallet::wallet::utils"],[1976,"bitcoin::blockdata::script::borrowed"],[1977,"miniscript::descriptor"],[1978,"core::iter::traits::double_ended"],[1979,"bitcoin::network"],[1980,"secp256k1::context::alloc_only"],[1981,"secp256k1"],[1982,"serde::ser"],[1983,"core::any"],[1984,"alloc::vec"],[1985,"bitcoin::address"],[1986,"miniscript"],[1987,"miniscript::miniscript"],[1988,"miniscript::miniscript::decode"],[1989,"miniscript::miniscript::context"],[1990,"miniscript::iter::tree"],[1991,"miniscript::descriptor::key"],[1992,"miniscript::miniscript::satisfy"],[1993,"miniscript::plan"],[1994,"bitcoin_hashes::sha256"],[1995,"miniscript::miniscript::hash256"],[1996,"bitcoin_hashes::ripemd160"],[1997,"bitcoin_hashes::hash160"],[1998,"bitcoin::crypto::key"],[1999,"secp256k1::context"],[2000,"bdk_chain::descriptor_ext"],[2001,"miniscript::blanket_traits"],[2002,"miniscript::miniscript::analyzable"],[2003,"core::ops::range"],[2004,"core::ops::function"],[2005,"miniscript::descriptor::sh"],[2006,"miniscript::descriptor::tr"],[2007,"miniscript::descriptor::bare"],[2008,"miniscript::descriptor::segwitv0"],[2009,"miniscript::miniscript::types"],[2010,"miniscript::miniscript::types::extra_props"],[2011,"miniscript::expression"],[2012,"miniscript::miniscript::iter"],[2013,"miniscript::policy::semantic"],[2014,"miniscript::policy"],[2015,"bitcoin_units::weight"],[2016,"hex_conservative::error"],[2017,"bitcoin::bip32"],[2018,"base58ck::error"],[2019,"bitcoin::psbt::error"],[2020,"bdk_wallet::wallet::export"],[2021,"miniscript::descriptor::sortedmulti"],[2022,"core::str::traits"],[2023,"core::default"],[2024,"rand_core"],[2025,"rusqlite::error"],[2026,"core::marker"],[2027,"bitcoin::blockdata::script::push_bytes::primitive"],[2028,"bitcoin::blockdata::locktime::absolute"],[2029,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,71,258,258,0,0,0,0,259,70,60,61,5,42,61,0,5,58,256,256,0,0,0,0,0,0,42,0,60,60,60,60,256,61,258,58,70,0,259,0,0,0,71,257,259,0,0,43,43,0,0,1,3,53,3,63,63,3,3,3,3,5,5,3,63,3,0,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,3,3,0,26,43,3,1,5,40,41,42,43,26,1,5,40,41,42,43,26,5,0,40,1,3,3,3,3,48,48,48,3,52,1,43,26,53,3,40,3,0,43,0,3,52,1,5,40,43,1,5,40,41,42,43,58,53,60,61,1,1,5,5,40,40,41,41,42,42,53,53,0,0,0,3,1,1,5,40,41,42,43,58,58,70,70,3,26,53,53,60,60,61,71,71,0,48,52,1,5,40,41,42,43,43,43,43,43,58,58,70,3,26,26,26,53,60,60,61,71,43,48,52,3,3,3,3,26,5,40,1,53,43,3,3,3,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,89,43,3,40,40,53,3,48,52,0,26,3,3,3,3,3,3,3,3,52,52,52,3,3,43,48,52,3,43,0,48,52,3,43,48,52,3,3,42,40,5,3,3,3,3,43,3,0,3,3,3,0,0,41,3,3,42,0,0,1,5,40,43,3,3,3,63,0,0,3,3,3,3,3,3,63,0,1,5,40,41,42,43,26,1,58,70,53,60,71,1,3,63,1,1,63,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,3,43,42,40,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,1,41,0,48,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,262,262,263,263,264,265,266,266,264,265,266,267,267,268,268,268,114,114,0,115,0,0,0,0,0,114,0,115,0,114,115,113,108,109,110,114,115,113,108,109,110,108,109,110,108,109,110,111,108,109,110,0,108,109,110,113,113,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,113,110,113,113,108,109,110,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,269,269,270,271,271,270,271,91,272,116,0,0,0,0,0,0,122,0,0,124,0,0,126,91,272,116,0,0,0,91,272,116,126,122,0,91,272,116,91,272,116,91,272,116,126,116,143,144,122,122,116,116,143,144,122,116,143,144,122,122,122,122,0,124,143,144,124,144,124,124,143,144,124,143,144,124,124,143,144,124,143,144,124,143,144,0,116,143,144,122,116,143,144,122,116,143,144,122,122,116,116,116,116,116,116,122,116,122,116,143,144,122,116,116,143,143,144,144,122,122,0,116,122,122,153,116,122,116,116,116,143,144,122,122,116,122,116,116,116,116,116,116,116,143,144,122,122,122,116,122,122,122,116,122,122,122,116,116,122,122,116,116,143,144,122,116,143,144,122,122,116,49,91,116,116,122,122,122,116,122,122,124,143,144,122,116,122,116,124,143,144,116,116,116,116,116,116,116,116,116,116,116,116,116,116,122,124,122,116,122,122,116,143,144,122,124,143,144,116,116,0,122,116,122,116,122,122,116,116,122,116,122,124,143,144,122,0,116,143,144,122,116,122,116,124,124,116,122,116,143,144,122,116,143,144,122,122,116,143,144,122,116,116,143,144,122,122,0,0,51,51,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,193,190,190,0,194,0,0,193,192,0,193,193,190,190,190,193,194,154,190,194,194,0,0,0,154,154,192,193,193,0,0,193,193,193,192,192,193,194,97,195,190,154,192,193,194,97,195,190,154,192,193,194,97,195,154,192,193,194,97,195,154,97,195,195,192,193,194,97,195,190,192,192,193,193,194,194,97,97,195,195,190,190,192,193,194,97,195,190,190,154,192,193,194,194,97,97,195,190,154,97,192,195,193,97,192,193,194,97,195,190,154,193,194,195,97,195,97,97,192,193,194,97,195,195,192,193,194,97,195,154,190,192,193,194,97,195,190,154,192,193,194,97,195,190,154,192,193,194,97,195,190,154,192,193,194,97,195,190,154,273,273,273,274,275,276,275,276,275,276,275,276,275,276,277,278,279,280,281,282,282,281,283,284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,196,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,197,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,0,82,213,0,82,82,35,82,35,82,82,0,82,82,82,82,82,213,82,82,82,82,82,35,35,82,35,213,82,82,213,82,35,213,82,35,213,213,213,213,82,82,35,35,213,82,82,82,82,82,82,35,213,82,35,213,213,82,35,213,82,35,213,82,35,213,82,35,213,82,35,285,285,286,286,287,288,0,0,289,215,215,215,215,215,215,215,215,215,215,215,215,289,215,215,215,215,215,215,215,189,0,0,0,0,232,232,0,0,222,0,0,0,0,189,189,189,124,0,0,121,189,189,177,126,232,225,0,225,0,0,121,126,177,0,0,0,0,121,0,222,177,126,0,290,126,225,218,223,121,219,189,217,126,177,220,221,222,225,218,223,121,219,189,217,126,177,220,221,222,217,124,124,124,124,124,124,124,124,124,218,121,219,217,126,177,220,221,222,218,121,219,217,126,177,220,221,222,217,126,220,222,219,219,218,126,126,217,121,189,217,126,177,220,221,222,121,121,217,217,126,126,177,177,220,220,221,221,222,222,223,121,219,189,189,217,217,126,126,177,177,220,221,222,217,225,225,225,218,223,121,219,189,189,189,217,126,126,177,220,221,222,223,223,126,177,217,126,126,232,235,235,232,232,235,225,126,217,126,220,222,225,218,223,121,219,189,217,126,177,220,221,222,126,199,205,218,218,223,126,177,205,225,218,218,126,177,225,225,126,290,121,126,177,290,121,290,121,126,126,217,220,221,217,0,126,124,217,217,0,217,124,217,126,220,221,124,223,217,126,220,222,124,217,217,217,217,126,124,217,0,218,121,219,217,126,177,220,221,222,177,189,217,126,177,124,124,217,225,218,223,121,219,189,217,126,177,220,221,222,225,218,223,121,219,189,217,126,177,220,221,222,225,218,223,121,219,189,217,126,177,220,221,222,225,218,223,121,219,189,217,126,177,220,221,222,0,242,242,242,0,0,248,244,248,64,244,248,64,0,64,64,64,245,64,64,64,64,64,64,64,248,244,64,245,64,0,0,0,0,0,0,0,0,245,0,0,64,83,63,63,83,63,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,83,244,245,246,6,83,63,248,244,245,246,6,83,63,248,244,6,6,83,63,248,246,249,249,246,246,246,244,245,6,248,244,244,245,245,6,6,248,248,83,244,64,64,245,246,6,83,63,248,244,244,244,64,245,246,6,83,63,248,244,249,246,246,246,83,244,64,245,246,6,83,63,248,246,83,244,6,83,253,246,246,246,7,246,63,83,63,244,245,246,6,83,63,248,64,63,63,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,291,0,0,258,258,0,259,256,256,256,258,259,0,0,257,259,34,34,34,34,34,34,34,34,34,34,257,256,259,258,34,257,256,259,258,34,34,259,258,34,259,258,258,34,34,259,258,34,34,34,34,34,258,258,258,34,34,34,34,34,257,257,256,256,259,258,34,257,256,259,258,258,34,34,257,256,259,258,34,34,34,34,34,258,34,34,34,259,259,34,259,258,257,256,34,257,256,259,258,34,257,256,259,258,34,257,256,259,258,34,34,34,257,256,259,258,262,262,267,267],"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}}}{}{}}000000000000000{{{h{dc}}}{{h{de}}}{}{}}000000000000000{{{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}```{{{h{f}}}Dn}{{{h{b}}}b}{{{h{j}}}j}{{{h{E`}}}E`}{{{h{Eb}}}Eb}{{{h{Ed}}}Ed}{{{h{Ef}}}Ef}{{{h{Cd}}}Cd}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{j}}{h{j}}}Eh}```{{{h{dEj}}c}{{Bf{fe}}}{}{}}{{{h{dEl}}c}{{Bf{fe}}}{}{}}{{{h{d{En{Ef}}}}c}{{Bf{fe}}}{}{}}{{cc}F`{FbAl}}{{F`{h{dc}}}{{Bf{Fd}}}{}}0{F`{{Bf{fFf}}}}0{{}Fh}{{}b}{{}Ef}{{}Cd}{{{h{Fj}}}{{h{c}}}{}}{{{h{f}}j}{{Fl{Bb}}}}`{{{h{f}}Af}{{Fl{{C`{jBb}}}}}}```{{{h{f}}j}Fn}{{Fhcc}FhFb}{c{{Bf{b}}}G`}{c{{Bf{j}}}G`}{c{{Bf{E`}}}G`}{c{{Bf{Ef}}}G`}{{{h{b}}{h{b}}}Gb}{{{h{j}}{h{j}}}Gb}{{{h{E`}}{h{E`}}}Gb}{{{h{Eb}}{h{Eb}}}Gb}{{{h{Ed}}{h{Ed}}}Gb}{{{h{Ef}}{h{Ef}}}Gb}{{{h{{Gd{c}}}}{h{{Gd{c}}}}}GbGf}{{{h{Fj}}{h{Fj}}}Gb}{{{h{Gh}}{h{Gh}}}Gb}{{{h{Gj}}{h{Gj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000```{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}{{{h{b}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{j}}{h{dHb}}}Hf}{{{h{E`}}{h{dHb}}}Hf}{{{h{Eb}}{h{dHb}}}Hf}{{{h{Ed}}{h{dHb}}}Hf}{{{h{Ef}}{h{dHb}}}Hf}{{{h{{Gd{c}}}}{h{dHb}}}HfHh}{{{h{{Gd{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHh}{{{h{{Hl{c}}}}{h{dHb}}}HfHj}{{{h{f}}{h{dHb}}}Hf}{{{h{Cd}}{h{dHb}}}Hf}{{{h{Fj}}{h{dHb}}}Hf}0{{{h{Gh}}{h{dHb}}}Hf}0{{{h{Gj}}{h{dHb}}}Hf}{{{h{Hn}}{h{dHb}}}Hf}0`{cc{}}000000{{{I`{Cl}}}Ef}{IbEf}2{{{Id{ClIb}}}Ef}{IfEf}4{Gj{{Gd{c}}}{}}555{{{Ih{j}}}Cd}{IjCd}7{GjGh}888{{{h{Ej}}}{{Il{Ef}}}}{{F`In}F`}{{FhIn}Fh}{{{h{f}}E`{Fl{J`}}Gb}{{Bf{JbJd}}}}{{{h{f}}j}{{A`{Jf}}}}{{{h{f}}D`}{{Fl{{Jh{{A`{Bl}}Cl}}}}}}{{{h{f}}Jj}{{Fl{E`}}}}`{{{h{j}}{h{dc}}}AbJl}{{{h{E`}}{h{dc}}}AbJl}```{{{h{df}}Bh}{{Bf{GbJn}}}}{{{h{df}}Bl}Gb}{{{h{df}}JjK`}Ab}{ce{}{}}000000000000000{{{h{Kb}}{h{Kd}}}Gb}{{{h{Ef}}}Gb}{{{h{f}}Af}Gb}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Kf}}}}}}}}}}}}{{F`jKh}F`}{{FhjKh}Fh}``{{{h{f}}}Kj}{{{h{f}}}{{`{{Aj{}{{Ad{E`}}}}}}}}0{{{h{f}}j}{{`{{Kl{}{{Ad{Fj}}}}}}}}{{{h{dEj}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{d{En{Ef}}}}c}{{Bf{{Fl{f}}e}}}{}{}}{{}Fh}{{{h{dEl}}c}{{Bf{{Fl{f}}e}}}{}{}}{{Fh{h{dc}}}{{Bf{{Fl{Fd}}}}}{}}0{{FhEf}{{Bf{{Fl{f}}Gh}}}}{{EfFh}{{Bf{{Fl{f}}Gh}}}}{{{h{f}}}{{h{Kn}}}}`{{F`Bb}F`}{{FhBb}Fh}{{{h{df}}jBb}Gb}{{{h{dEf}}Ef}Ab}`{{F`L`}F`}{{FhL`}Fh}{{{h{f}}}L`}`{{cc}F`Fb}={{{h{f}}j}Bb}{{{h{df}}j}Fj}{{{h{Ed}}}Jj}`{{{h{j}}{h{j}}}{{Fl{Eh}}}}{{{h{f}}jBb}Fj}{{{h{dEl}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dEj}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{d{En{Ef}}}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{Ef}}{h{Ej}}}{{Il{Ab}}}}{{{h{f}}j}{{Bf{{Fl{Lb}}Ff}}}}`{{{h{f}}j}{{h{Kf}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{Fj}}}}}}}}:```{{{h{f}}}{{h{{Lf{Ld}}}}}}{{{h{f}}{h{Bl}}}{{C`{DhDh}}}}{{{h{Ed}}}{{Fl{Lh}}}}``{{{h{b}}c}BfLj}{{{h{j}}c}BfLj}{{{h{E`}}c}BfLj}{{{h{Ef}}c}BfLj}{{{h{df}}jKh}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jKh}}}}}}}}{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}```{{{h{f}}}{{h{{Ll{j}}}}}}{{{h{f}}}{{Fl{{h{Ef}}}}}}{{{h{df}}}{{h{dc}}}{}}{{{h{f}}}{{Ln{j}}}}{{{h{f}}}M`}{{{h{df}}}{{Fl{Ef}}}}``{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}00000{{{h{b}}}Dh}{{{h{f}}}{{`{{Aj{}{{Ad{{Jh{{A`{Bl}}Cl}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}0000000000000000000000000000000`{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{Ed}}}{{h{K`}}}}`{{{h{c}}}Mb{}}000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{Md{{A`{Bl}}Cl}}}}}}}}}}{{{h{df}}jBb}Gb}``{{}{{h{Mf}}}}{ce{}{}}000000000000000{{c{Fl{c}}L`{h{{Lf{Ld}}}}}{{Bf{FnFf}}}Fb}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Mh}}}Mh}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Mn}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mh}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mj}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Ml}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{BnDl{h{Kd}}}Nf}{{}Mh}{{}Mj}{{}Ml}``{{{h{Nd}}{h{dHb}}}Hf}0{{{h{Nf}}{h{dHb}}}Hf}{{{h{Nb}}{h{dHb}}}Hf}{{{h{Mh}}{h{dHb}}}Hf}{{{h{Mj}}{h{dHb}}}Hf}{{{h{Ml}}{h{dHb}}}Hf}{cc{}}00000{ce{}{}}00000{{{h{Nb}}}Bn}{BnMl}`1{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mb{}}00000666666`````````````````````````````````````````````{{{h{{Nh{c}}}}L`}{{Bf{NjNl}}}{NnO`}}{{}Ob}0{{{h{{Od{ce}}}}}{{h{{Of{ce}}}}}NnOh}{{{h{{h{{Od{ce}}}}}}}{{Oj{{h{{Od{ce}}}}}}}NnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{Od{ce}}}}}{{N`{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}0`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Od{cAB`}}}}}{{Bf{AbA@j}}}Nn}2022102102{{{h{c}}}{{Bf{AbA@j}}}Nn}00{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Of{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{cAB`}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}00`{{{h{{Nh{c}}}}}{{Nh{c}}}{AlNn}}{{{h{AAn}}}AAn}{{{h{AB`}}}AB`}{{{h{{Od{ce}}}}}{{Od{ce}}}{AlNn}{AlOh}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Eh{ABbNn}}{{{h{AAn}}{h{AAn}}}Eh}{{{h{AB`}}{h{AB`}}}Eh}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}EhNnOh}{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}Bb}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{On}}}}{h{{Lf{c}}}}}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{c}}}}}ABhNn}{{{h{{Nh{Ol}}}}}ABj}{c{{Bf{{Nh{e}}}}}G`ABl}{c{{Bf{{Od{eg}}}}}G`ABlOh}{{{h{{Nh{Ol}}}}}Bn}{{{h{{Od{ce}}}}}Af{O`Nn}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Gb{GfNn}}{{{h{AAn}}{h{AAn}}}Gb}{{{h{AB`}}{h{AB`}}}Gb}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}GbNnOh}{{{h{c}}{h{e}}}Gb{}{}}0000000`{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}`{{{h{{Od{ce}}}}{h{ABn}}}{{Bf{AbAC`}}}NnOh}{{{h{ACb}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Nh{Ol}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Od{Olc}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}Oh}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}{h{Kd}}{ACf{Bb}}}{{Bf{{Fl{{C`{Bb{Nh{ABd}}}}}}A@`}}}ABf}{{{h{{Nh{c}}}}{h{dHb}}}{{Bf{AbHd}}}Nn}0{{{h{AAn}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AB`}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{Od{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{{Nh{c}}}}e}GbNn{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{h{{Od{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{ACl{c}}}{{Nh{c}}}Nn}{cc{}}{{{ACn{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}{{{ADb{c}}}{{Nh{c}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}{{{ADf{c}}}{{Nh{c}}}Nn}555{{{Of{ce}}}{{Bf{{Od{ce}}Nl}}}NnOh}{{{Of{ce}}ADhADj}{{Od{ce}}}NnOh}{{{h{Mf}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{Mf}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{Mf}}{h{ABn}}}{{Bf{{Od{ce}}Nl}}}ABlOh}1{{{h{ADl}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{ADl}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{{Od{ce}}}}ADn}{{Fl{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}ADn}{{Fl{c}}}NnOh}{{{h{{Nh{c}}}}e}{{Bf{{C`{{N`{{N`{Ch}}}}Af}}Nl}}}{NnO`}{{AE`{c}}}}0{{{h{{Od{ce}}}}}GbNnOh}0{{{h{{Nh{Ol}}}}}Gb}{{{h{{Nh{c}}}}{h{de}}}Ab{AEbNn}Jl}{{{h{AAn}}{h{dc}}}AbJl}{{{h{AB`}}{h{dc}}}AbJl}{{{h{{Od{ce}}}}{h{dg}}}AbNnOhJl}{ce{}{}}000{{{Od{ce}}}{{Of{ce}}}NnOh}{{{Nh{Ol}}}{{Bf{{N`{{Nh{Ol}}}}Nl}}}}{{Fb{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{Kf{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}99:{{{h{{Od{ce}}}}}{{AEd{ce}}}NnOh}{{{h{{Od{ce}}}}}{{AEf{ce}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{{AEh{c}}Nl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{{h{{Od{ce}}}}}{{Bf{AbAEj}}}NnOh}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{cAB`}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{ce}}}}}{{Bf{ADnNl}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{ADnNl}}}Nn}1{{{h{{Nh{c}}}}}{{Bf{AElNl}}}Nn}{{}{{h{Mf}}}}00{{{Od{cAEn}}}{{Bf{{Nh{c}}Nl}}}Nn}{c{{Nh{c}}}Nn}{c{{Bf{{Nh{c}}Nl}}}Nn}{{{Od{cAAn}}}{{Bf{{Nh{c}}Nl}}}Nn}{{ADn{N`{c}}}{{Bf{{Nh{c}}Nl}}}Nn}{{{ADf{c}}}{{Nh{c}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}4{{{Od{cAB`}}}{{Bf{{Nh{c}}Nl}}}Nn}3{{c{Fl{{AF`{c}}}}}{{Bf{{Nh{c}}Nl}}}Nn}614`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{Kd}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Lf{c}}}}{h{Mf}}}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Nl}}}AFd}1{{{h{Kd}}{h{ABn}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}{{Fl{Eh}}}{AFfNn}}{{{h{AAn}}{h{AAn}}}{{Fl{Eh}}}}{{{h{AB`}}{h{AB`}}}{{Fl{Eh}}}}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}{{Fl{Eh}}}NnOh}{{{h{c}}}ADnNn}00{{{Nh{On}}{h{c}}}{{Bf{AFh{Nh{On}}}}}{{A@f{On}}}}0`{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{c}}}}}{{Bf{AbNl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{AbAC`}}}NnOh}{{{h{{Nh{c}}}}{h{dAFj}}e}{{Bf{AbNl}}}{NnO`}{{AE`{c}}}}{{{h{{Od{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}0{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}{{{h{{Nh{c}}}}}Af{NnO`}}{{{h{{Od{ce}}}}}ADnNnOh}{{{h{{Nh{c}}}}e}BfNnLj}{{{h{{Od{ce}}}}g}BfNnOhLj}{{}AFl}00{{{h{{Od{ce}}}}{h{{An{AAjc}}}}}{{Od{ce}}}NnOh}`{{{h{c}}}e{}{}}000{{{h{c}}}Fn{}}0{{{h{{Nh{Ol}}}}{h{{An{OlAFb}}}}}Fn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{Nh{c}}}}{h{di}}}{{Bf{{AFn{g}}}}}NnNn{}{{AG`{ceg}}}}{{{h{{Od{ce}}}}{h{dk}}}{{Bf{{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mb{}}000={ce{}{}}000{{{h{{Od{ce}}}}}GbNnOh}{{{h{Mf}}}{{Bf{FnFf}}}}{{{h{Mf}}}{{Bf{{AGb{Ch}}Ff}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Ff}}{h{Ff}}}Gb}{{{h{Ff}}{h{dHb}}}Hf}0{AGdFf}{AGfFf}{AGhFf}{AGjFf}{AGlFf}{cc{}}{NlFf}{AGnFf}?{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mb{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AH`}}}AH`}{{{h{AHb}}}AHb}{{{h{AHd}}}AHd}{{{h{Lb}}}Lb}{{{h{AHf}}}AHf}{{{h{ACd}}}ACd}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AHf}{{{h{AH`}}{h{AH`}}}Gb}{{{h{AHb}}{h{AHb}}}Gb}{{{h{AHd}}{h{AHd}}}Gb}{{{h{Lb}}{h{Lb}}}Gb}{{{h{AHf}}{h{AHf}}}Gb}{{{h{AGl}}{h{AGl}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000{{{h{AH`}}{h{dHb}}}Hf}{{{h{AHb}}{h{dHb}}}Hf}{{{h{AHd}}{h{dHb}}}Hf}{{{h{Lb}}{h{dHb}}}Hf}{{{h{AHf}}{h{dHb}}}Hf}{{{h{AGl}}{h{dHb}}}Hf}0{{{h{ACd}}{h{dHb}}}Hf}{cc{}}0{GbAHd}1{AHbLb}2222{{{h{Lb}}{h{{An{Fn{N`{ADn}}}}}}}{{Bf{AHfAGl}}}}{{{h{AH`}}{h{dc}}}AbJl}{{{h{AHf}}{h{dc}}}AbJl}{{{h{AHb}}}Fn}`{ce{}{}}000000{{{h{AHb}}}Gb}{{{h{AHd}}}Gb}{{{h{AHf}}}Gb}`{{{h{AHf}}{h{AHf}}}{{Fl{Eh}}}}{{{h{Lb}}}Gb}`{{{h{AH`}}c}BfLj}{{{h{AHb}}c}BfLj}{{{h{AHd}}c}BfLj}{{{h{Lb}}c}BfLj}{{{h{AHf}}c}BfLj}`{{{h{c}}}e{}{}}00000{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mb{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AHhL`}{{Bf{AHjFf}}}}{{{AHl{c}}L`}{{Bf{AHjFf}}}{{AHn{AAn}}}}{{{AI`{c}}L`}{{Bf{AHjFf}}}{{AHn{AB`}}}}{{{AIb{c}}L`}{{Bf{AHjFf}}}{{AHn{AB`}}}}{{{AId{c}}L`}{{Bf{AHjFf}}}{{AHn{AIf}}}}{{{AIh{c}}L`}{{Bf{AHjFf}}}{{AIj{AAn}}}}{{{AIl{c}}L`}{{Bf{AHjFf}}}{{AIj{AAn}}}}{{{AIn{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJ`{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJb{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJd{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJf{c}}L`}{{Bf{AHjFf}}}{{AIj{AIf}}}}{{{AJh{c}}L`}{{Bf{AHjFf}}}{{AIj{AIf}}}}{{{h{{AHl{c}}}}}{{AHl{c}}}{Al{AHn{AAn}}}}{{{h{{AI`{c}}}}}{{AI`{c}}}{Al{AHn{AB`}}}}{{{h{{AIb{c}}}}}{{AIb{c}}}{Al{AHn{AB`}}}}{{{h{{AId{c}}}}}{{AId{c}}}{Al{AHn{AIf}}}}{{{h{{AIh{c}}}}}{{AIh{c}}}{Al{AIj{AAn}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIj{AAn}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIj{AB`}}}}{{{h{{AJ`{c}}}}}{{AJ`{c}}}{Al{AIj{AB`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AIj{AB`}}}}{{{h{{AJd{c}}}}}{{AJd{c}}}{Al{AIj{AB`}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AIj{AIf}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AIj{AIf}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AHl{c}}}}{h{dHb}}}Hf{Hh{AHn{AAn}}}}{{{h{{AI`{c}}}}{h{dHb}}}Hf{Hh{AHn{AB`}}}}{{{h{{AIb{c}}}}{h{dHb}}}Hf{Hh{AHn{AB`}}}}{{{h{{AId{c}}}}{h{dHb}}}Hf{Hh{AHn{AIf}}}}{{{h{{AIh{c}}}}{h{dHb}}}Hf{Hh{AIj{AAn}}}}{{{h{{AIl{c}}}}{h{dHb}}}Hf{Hh{AIj{AAn}}}}{{{h{{AIn{c}}}}{h{dHb}}}Hf{Hh{AIj{AB`}}}}{{{h{{AJ`{c}}}}{h{dHb}}}Hf{Hh{AIj{AB`}}}}{{{h{{AJb{c}}}}{h{dHb}}}Hf{Hh{AIj{AB`}}}}{{{h{{AJd{c}}}}{h{dHb}}}Hf{Hh{AIj{AB`}}}}{{{h{{AJf{c}}}}{h{dHb}}}Hf{Hh{AIj{AIf}}}}{{{h{{AJh{c}}}}{h{dHb}}}Hf{Hh{AIj{AIf}}}}{cc{}}00000000000{ce{}{}}00000000000{{AHj{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{c{h{{Lf{Ld}}}}L`}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Ff}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AJj}}}AJj}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AJj}}{h{dHb}}}Hf}0{{{h{Jd}}{h{dHb}}}Hf}0{{{h{Df}}{h{dHb}}}Hf}0=={AJlJd}{FfJd}{NdJd}{AJjJd}{AGlJd}{cc{}}{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Fn{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mb{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AJn}}}{{Fl{Fn}}}}{{{h{AJn}}}Fn}{c{{Bf{AJn}}}G`}{{{h{f}}{h{Mf}}Gb}{{Bf{AJn{h{Mf}}}}}}{{{h{AJn}}{h{dHb}}}Hf}0<{{{h{Mf}}}{{Bf{AJnc}}}{}}<``{{{h{AJn}}c}BfLj};::9=```````````````````````````````````````````{{}AK`}{{}Ob}{{OlBb}{{Bf{OnA@`}}}};;;;;;;;;;;;::::::::::::{{{h{{AKb{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}00000{{{h{c}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}{{{h{{AKd{ce}}}}}{{AKd{ce}}}AlOh}{{{h{Ob}}}Ob}{{{h{AKf}}}AKf}{{{h{{AKb{ce}}}}}{{AKb{ce}}}{AlNn}{AlOh}}{{{h{Ol}}}Ol}{{{h{AFb}}}AFb}{{{h{AKh}}}AKh}{{{h{AKj}}}AKj}{{{h{AKl}}}AKl}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}Eh{ABbNn}{ABbOh}}{{{h{Ol}}{h{Ol}}}Eh}{{{h{AKh}}{h{AKh}}}Eh}{{{h{AKl}}{h{AKl}}}Eh}`{{}AKf}{{{h{{AKd{ce}}}}}{{h{g}}}{}Oh{}}{{OlBb}{{Bf{OnA@`}}}}{c{{Bf{Ol}}}G`}{{{h{{AKb{ce}}}}}Af{O`Nn}Oh}{{{h{Ob}}{h{Ob}}}Gb}{{{h{AGj}}{h{AGj}}}Gb}{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}Gb{GfNn}{GfOh}}{{{h{Ol}}{h{Ol}}}Gb}{{{h{AFb}}{h{AFb}}}Gb}{{{h{AKh}}{h{AKh}}}Gb}{{{h{AKj}}{h{AKj}}}Gb}{{{h{AKl}}{h{AKl}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000000000{{{h{{AKn{c}}}}{h{dHb}}}Hf{HhOh}}{{{h{Ob}}{h{dHb}}}Hf}{{{h{AKf}}{h{dHb}}}Hf}{{{h{AGj}}{h{dHb}}}Hf}0{{{h{{AKb{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{Ol}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AFb}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AKh}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKj}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKl}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{AKb{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{AL`{{ALb{c}}}Oh}{ALd{{ALb{c}}}Oh}{cc{}}0000{AGhAGj}{NlAGj}222{OnOl}3333{{OlAK`}{{AKn{c}}}Oh}{{AFbAK`}{{AKn{c}}}Oh}{{{h{Mf}}}{{Bf{Ol}}}}{{{h{Mf}}}{{Bf{AFb}}}}{{{h{ADl}}}{{Bf{{AKb{ce}}Nl}}}{ALfNn}Oh}{{{h{Ol}}}{{Fl{ALh}}}}{{{h{Ol}}}{{N`{ALh}}}}{c{{Bf{{AKd{{AM`{}{{ALj{e}}{ALl{c}}{ALn{g}}}}i}}g}}}{}{{AMb{{Cj{Ch}}}}AMd}HhOh}{{}{{Bf{{AKd{AMfc}}e}}}Oh{}}{{{h{dc}}}{{Bf{{AKd{AMfe}}g}}}{AMhAMj}Oh{}}{{c{h{de}}}{{Bf{{AKd{{AM`{}{{ALj{g}}{ALl{c}}{ALn{i}}}}k}}i}}}{}{AMhAMj}{{AMb{{Cj{Ch}}}}AMd}HhOh}{{ce}{{Bf{{AKd{{AM`{}{{ALj{e}}{ALl{c}}{ALn{g}}}}i}}g}}}{}{{AMb{{Cj{Ch}}}}AMd}HhOh}{c{{Bf{{AKd{AMfe}}g}}}{}Oh{}}{{{h{{ALb{c}}}}}GbOh}{{{h{Ol}}}Gb}{{{h{{AKb{ce}}}}{h{dg}}}Ab{AEbNn}{AEbOh}Jl}{{{h{Ol}}{h{dc}}}AbJl}{{{h{AKh}}{h{dc}}}AbJl}{{{h{AKl}}{h{dc}}}AbJl}{ce{}{}}00000000000{OlAMl}{AHn{{Bf{{AKn{c}}AGj}}}Oh}{{AIj{Fl{AMn}}ALh}{{Bf{{AKn{c}}AGj}}}Oh}{{{AKd{ec}}}{{Bf{{AKn{c}}AGj}}}Oh{{AHn{c}}}}{{{AKd{ec}}{Fl{AMn}}ALh}{{Bf{{AKn{c}}AGj}}}Oh{{AIj{c}}}}{{{AKn{c}}}{{Bf{{AKn{c}}AGj}}}Oh}{Ol{{Bf{{AKn{c}}AGj}}}Oh}{AFb{{Bf{{AKn{c}}AGj}}}Oh}{AIj{{Bf{{ALb{c}}AGj}}}Oh}{{{ALb{c}}}{{Bf{{ALb{c}}AGj}}}Oh}{{{AKd{ec}}}{{Bf{{ALb{c}}AGj}}}Oh{{AIj{c}}}}{{{AKd{ce}}}c{}Oh}{Ol{{N`{Ol}}}}{AFb{{N`{AFb}}}}{{{ALb{c}}L`}{{Fl{AL`}}}Oh}{{{ALb{c}}L`{h{{Lf{e}}}}}ALdOhAFd}{{{h{Ol}}}Gb}{{}Gb}{{{h{Ob}}}Gb}2{{{h{AFb}}}Gb}212133{{{h{{AKb{ce}}}}}ADnNnOh}``{{{h{{AKb{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{}AK`}{{{h{Ol}}}AN`}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}44{{{h{AK`}}{h{AK`}}}AK`}5{{}{{h{Mf}}}}{{ADn{N`{c}}}{{Bf{{AKb{ce}}Nl}}}NnOh}{{{h{Ol}}}ADn}``{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{AKn{c}}AK`}{{AKn{c}}}Oh}{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}{{Fl{Eh}}}{AFfNn}{AFfOh}}{{{h{Ol}}{h{Ol}}}{{Fl{Eh}}}}{{{h{AKh}}{h{AKh}}}{{Fl{Eh}}}}{{{h{AKl}}{h{AKl}}}{{Fl{Eh}}}}{{{h{c}}}ADnNn}{{{h{{AKb{ce}}}}}{{h{{Cj{c}}}}}NnOh}{{{h{{AKb{ce}}}}}{{Bf{AbNl}}}NnOh}{{{h{{AKb{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}{{{h{{AKb{ce}}}}}ADnNnOh}{{{h{Ol}}c}BfLj}{{}AFl}{{{h{{AKb{ce}}}}}{{Of{ce}}}{O`Nn}Oh}{{}AK`}{{{h{c}}}e{}{}}00000000{{{h{AFb}}{h{{Lf{c}}}}}{{Bf{OlANb}}}AFd}{{{h{c}}}Fn{}}000{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{AKb{ce}}}}{h{dk}}}{{Bf{{AKb{ge}}{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000{ce{}{}}00000000000`{{{h{ANd}}}{{Fl{Dh}}}}{{{h{ANd}}}{{Fl{Dl}}}}{{{h{ANd}}ADn}{{Fl{K`}}}}`{{{h{Ej}}{h{Mf}}{h{{Cj{{h{{Cj{{h{Mf}}}}}}}}}}}{{Bf{AbANf}}}}````````````````````````````````````{{{h{dJf}}ANhl{A`{n}}}{{Fl{{A`{n}}}}}}``{{{h{Jf}}{h{{Lf{Ld}}}}}Kh}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Kh{h{{Nh{Ol}}}}{h{{Lf{Ld}}}}}Jf}{{{h{ANh}}}ANh}{{{h{ANj}}}ANj}{{{h{{ANl{c}}}}}{{ANl{c}}}{AlANnHhAl}}{{{h{l}}}l}{{{h{Jf}}}Jf}{{{h{Gn}}}Gn}{{{h{AO`}}}AO`}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{ANh}}{h{ANh}}}Eh}{{{h{l}}{h{l}}}Eh}{{}l}{{}Jf}{{}Gn}{{}AO`}{{{h{{ANl{c}}}}}{{h{e}}}{ANnHhAl}{}}{{{h{AOb}}}{{Fl{AFb}}}}0{{{h{{ANl{AOd}}}}}{{Fl{AFb}}}}{{{h{{ANl{{AOf{AL`}}}}}}}{{Fl{AFb}}}}{{{h{{ANl{{AOh{AL`}}}}}}}{{Fl{AFb}}}}{{{h{ANh}}{h{ANh}}}Gb}{{{h{ANj}}{h{ANj}}}Gb}{{{h{l}}{h{l}}}Gb}{{{h{AO`}}{h{AO`}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000{{{h{Jf}}ANh}{{Fl{{h{{A`{n}}}}}}}}{{{h{ANh}}{h{dHb}}}Hf}{{{h{H`}}{h{dHb}}}Hf}0{{{h{ANj}}{h{dHb}}}Hf}{{{h{{ANl{c}}}}{h{dHb}}}Hf{HhANnHhAl}}{{{h{l}}{h{dHb}}}Hf}{{{h{Jf}}{h{dHb}}}Hf}{{{h{Gn}}{h{dHb}}}Hf}{{{h{AO`}}{h{dHb}}}Hf}{cc{}}{AN`ANh}{AAjANh}2222222{{{h{ANh}}{h{dc}}}AbJl}{{{h{AOb}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{{AOh{AL`}}}}}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{AOd}}}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{{AOf{AL`}}}}}}{h{{Lf{Ld}}}}}ANh}{{{h{Jf}}}{{N`{{h{ANh}}}}}}{ce{}{}}0000000{{cANj}{{ANl{c}}}{ANnHhAl}}{{}Jf}{{{h{ANh}}{h{ANh}}}{{Fl{Eh}}}}{{{h{l}}{h{l}}}{{Fl{Eh}}}}{{{h{dJf}}ANhl}{{Fl{{A`{n}}}}}}{{{h{AOj}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{AOd}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{{AOf{AL`}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{{AOh{AL`}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{n}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{c}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}{}}`{{{h{Jf}}}{{N`{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mb{}}0000000{ce{}{}}0000000````````````````{{{h{d{Dd{c}}}}{h{e}}}{{h{d{Dd{c}}}}}{}{{AOn{AOl}}}}{{{h{d{Dd{c}}}}JjJbAEl}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}JjJbAElLh}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}AfDh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{Bf{{h{d{Dd{c}}}}B@b}}}{}}{{{h{d{Dd{c}}}}{h{{Cj{Jj}}}}}{{Bf{{h{d{Dd{c}}}}B@b}}}{}}{{{h{d{Dd{c}}}}Gb}{{h{d{Dd{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Dd{c}}}}B@d}{{h{d{Dd{c}}}}}{}}{{{h{{Dd{c}}}}}{{Dd{c}}}Al}{{{h{B@f}}}B@f}{{{h{B@d}}}B@d}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@d}}{h{B@d}}}Eh}{{{Dd{c}}e}{{Dd{e}}}{}Mn}{{{h{d{Dd{c}}}}Bb}{{h{d{Dd{c}}}}}{}}{{}B@f}{{}B@d}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Af}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}Lh}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{B@d}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0{{{h{d{Dd{c}}}}Dh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Dl}{{h{d{Dd{c}}}}}{}}{{{Dd{c}}}{{Bf{GlJd}}}Mn}{{{Dd{c}}{h{de}}}{{Bf{GlJd}}}MnAMj}{{{h{{Dd{c}}}}{h{dHb}}}HfHh}{{{h{B@b}}{h{dHb}}}Hf}0{{{h{B@`}}{h{dHb}}}Hf}0{{{h{B@f}}{h{dHb}}}Hf}{{{h{B@d}}{h{dHb}}}Hf}{cc{}}0000{{{h{B@d}}{h{dc}}}AbJl}?{ce{}{}}0000{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@h}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}B@f}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{B@d}}}{{Fl{Eh}}}}{{{h{d{Dd{c}}}}{An{Fn{N`{ADn}}}}j}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}{N`{{C`{AfDh}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}J`}{{h{d{Dd{c}}}}}{}}{{{h{B@f}}{h{dBl}}}Ab}{{{h{B@f}}{h{dBl}}{h{dc}}}AbAMj}{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mb{}}0000{{{h{d{Dd{c}}}}{N`{Jj}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@j}{{h{d{Dd{c}}}}}{}}?????````","D":"G@b","p":[[5,"Balance",0,1935],[0,"mut"],[5,"Wallet",0,1936],[1,"reference"],[6,"KeychainKind",0,1937],[5,"SignerOrdering",1629,1938],[10,"TransactionSigner",1629,1938],[5,"Arc",1939],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1940],[8,"Indexed",1941],[10,"Iterator",1942],[10,"Clone",1943],[5,"BTreeMap",1944],[5,"Block",1945],[1,"u32"],[5,"CannotConnectError",1946],[6,"Result",1947],[5,"BlockId",1948],[6,"ApplyHeaderError",1946],[5,"Transaction",1949],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1950],[5,"Update",0,1936],[10,"Into",1951],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1948],[5,"TxGraph",1952],[5,"Txid",1949],[8,"DefaultCoinSelectionAlgorithm",446,1953],[5,"TxBuilder",1816,1954],[6,"BuildFeeBumpError",1207,1955],[5,"Amount",1956],[6,"CalculateFeeError",1952],[5,"FeeRate",1957],[5,"CheckPointIter",1946],[5,"LocalOutput",0,1937],[5,"WeightedUtxo",0,1937],[6,"Utxo",0,1937],[5,"ChangeSet",0,1958],[6,"Ordering",1959],[5,"Transaction",1960],[5,"Connection",1961],[5,"Store",1962],[5,"CreateParams",0,1963],[10,"IntoWalletDescriptor",545],[8,"PersistedWallet",0,1964],[6,"Error",807],[5,"LoadParams",0,1963],[5,"AddressInfo",0,1936],[6,"Option",1965],[5,"String",1966],[10,"Deserializer",1967],[1,"bool"],[6,"LoadWithPersistError",0,1964],[10,"PartialEq",1959],[6,"LoadError",0,1936],[6,"LoadMismatch",0,1936],[5,"Psbt",1968],[5,"SignOptions",1629,1938],[6,"SignerError",1629,1938],[5,"Formatter",1969],[5,"Error",1969],[8,"Result",1969],[10,"Debug",1969],[10,"Display",1969],[6,"CreateWithPersistError",0,1964],[6,"ApplyBlockError",0,1936],[5,"ChangeSet",1952],[5,"ChangeSet",1970],[5,"ChangeSet",1971],[5,"ChangeSet",1946],[5,"FullScanResult",1972],[5,"SyncResult",1972],[8,"Result",1961],[5,"BlockHash",1945],[5,"PsbtSighashType",1973],[5,"Input",1973],[6,"CreateTxError",1207,1955],[5,"SignersContainer",1629,1938],[5,"CanonicalTx",1952],[5,"OutPoint",1949],[10,"Hasher",1974],[5,"AlterCheckPointError",1946],[5,"TxOut",1949],[10,"IsDust",0,1975],[5,"Script",1976],[8,"ExtendedDescriptor",545],[8,"KeyMap",1307,1977],[5,"CheckPoint",1946],[10,"DoubleEndedIterator",1978],[5,"LocalChain",1946],[6,"Network",1979],[5,"Policy",840],[6,"All",1980],[5,"Secp256k1",1981],[5,"Sequence",1949],[10,"Serializer",1982],[5,"KeychainTxOutIndex",1970],[5,"FullScanRequest",1972],[5,"SyncRequest",1972],[5,"TypeId",1983],[5,"TxNode",1952],[1,"str"],[5,"LargestFirstCoinSelection",446,1953],[5,"OldestFirstCoinSelection",446,1953],[5,"BranchAndBoundCoinSelection",446,1953],[10,"CoinSelectionAlgorithm",446,1953],[5,"Vec",1984],[5,"CoinSelectionResult",446,1953],[6,"Error",446,1953],[6,"Excess",446,1953],[6,"Descriptor",545,1977],[5,"Address",1985],[6,"Error",1986],[10,"MiniscriptKey",1986],[10,"ToPublicKey",1986],[6,"ScriptContextEnum",1307],[5,"Miniscript",545,1987],[6,"Terminal",1988],[10,"ScriptContext",1307,1989],[6,"Tree",1990],[6,"DescriptorPublicKey",1307,1991],[5,"DefiniteDescriptorKey",1991],[6,"ConversionError",1991],[6,"Placeholder",1992],[5,"Satisfaction",1992],[10,"AssetProvider",1993],[17,"Key"],[6,"ScriptContextError",1989],[17,"Sha256"],[5,"Hash",1994],[17,"Hash256"],[5,"Hash",1995],[17,"Ripemd160"],[5,"Hash",1996],[17,"Hash160"],[5,"Hash",1997],[10,"ParseableKey",1988],[6,"Legacy",545,1989],[6,"Segwitv0",545,1989],[10,"Ord",1959],[5,"PublicKey",1998],[10,"Verification",1999],[6,"DescriptorType",1977],[5,"DescriptorId",2000],[10,"FromStrKey",2001],[5,"ExtParams",2002],[6,"AnalysisError",2002],[10,"ExtractPolicy",545],[6,"BuildSatisfaction",840],[5,"Range",2003],[17,"Output"],[10,"FnMut",2004],[5,"Sh",2005],[5,"Tr",2006],[5,"Bare",2007],[5,"Pkh",2007],[5,"Wsh",2008],[5,"Wpkh",2008],[5,"Type",2009],[5,"ExtData",2010],[5,"Tree",2011],[1,"usize"],[10,"Satisfier",1992],[10,"Hash",1974],[5,"Iter",2012],[5,"PkIter",2012],[6,"Policy",2013],[6,"LiftError",2014],[5,"Weight",2015],[6,"BareCtx",1989],[6,"TapTree",2006],[6,"DescriptorSecretKey",1307,1991],[10,"Signing",1999],[10,"PartialOrd",1959],[5,"Plan",1993],[5,"TxIn",1949],[6,"SigType",1989],[6,"TranslateErr",1986],[10,"Translator",1986],[1,"array"],[6,"ParsePublicKeyError",1998],[6,"HexToBytesError",2016],[6,"Error",2017],[6,"KeyError",1307],[6,"PolicyError",840],[6,"Error",2018],[6,"PkOrF",840],[6,"SatisfiableItem",840],[6,"Satisfaction",840],[5,"Condition",840],[10,"DescriptorTemplate",1023],[8,"DescriptorTemplateOut",1023],[5,"P2Pkh",1023],[10,"IntoDescriptorKey",1307],[5,"P2Wpkh_P2Sh",1023],[5,"P2Wpkh",1023],[5,"P2TR",1023],[6,"Tap",1989],[5,"Bip44",1023],[10,"DerivableKey",1307],[5,"Bip44Public",1023],[5,"Bip49",1023],[5,"Bip49Public",1023],[5,"Bip84",1023],[5,"Bip84Public",1023],[5,"Bip86",1023],[5,"Bip86Public",1023],[6,"MiniscriptPsbtError",1207,1955],[6,"Error",2019],[5,"FullyNodedExport",1284,2020],[8,"ValidNetworks",1307],[5,"SortedMultiVec",1307,2021],[5,"GeneratedKey",1307],[5,"PrivateKeyGenerateOptions",1307],[5,"SinglePub",1307,1991],[5,"SinglePriv",1307,1991],[6,"SinglePubKey",1307,1991],[6,"DescriptorKey",1307],[5,"Xpriv",2017],[6,"ExtendedKey",1307],[5,"Xpub",2017],[10,"FromStr",2022],[5,"DerivationPath",2017],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",1307],[10,"AsMut",1951],[10,"Default",2023],[10,"GeneratableDefaultOptions",1307],[10,"CryptoRng",2024],[10,"RngCore",2024],[5,"Assets",1993],[8,"KeySource",2017],[5,"Fingerprint",2017],[5,"DescriptorKeyParseError",1991],[10,"PsbtUtils",1623],[6,"Error",2025],[6,"SignerId",1629,1938],[6,"SignerContext",1629,1938],[5,"SignerWrapper",1629,1938],[10,"Sized",2026],[6,"TapLeavesOptions",1629,1938],[10,"SignerCommon",1629,1938],[5,"PrivateKey",1998],[5,"DescriptorXKey",1991],[5,"DescriptorMultiXKey",1991],[10,"InputSigner",1629,1938],[5,"PushBytes",2027],[10,"AsRef",1951],[6,"AddForeignUtxoError",1816,1954],[6,"AddUtxoError",1816,1954],[6,"ChangeSpendPolicy",1816,1954],[6,"TxOrdering",1816,1954],[6,"LockTime",2028],[1,"i32"],[15,"InvalidTxid",1931],[15,"UnexpectedConnectedToHash",432],[15,"Network",434],[15,"Genesis",434],[15,"Descriptor",434],[15,"Custom",1933],[15,"Foreign",443],[15,"InsufficientFunds",538],[15,"Change",540],[15,"NoChange",540],[8,"DerivedDescriptor",545],[15,"PsbtTimelocks",999],[15,"Complete",1002],[15,"Partial",1002],[15,"PartialComplete",1002],[15,"Sha256Preimage",1013],[15,"Hash256Preimage",1013],[15,"Ripemd160Preimage",1013],[15,"Hash160Preimage",1013],[15,"Thresh",1013],[15,"Multisig",1013],[15,"AbsoluteTimelock",1013],[15,"RelativeTimelock",1013],[15,"RbfSequenceCsv",1278],[15,"LockTime",1278],[15,"FeeTooLow",1278],[15,"FeeRateTooLow",1278],[8,"WalletExport",1284],[10,"ExtScriptContext",1307],[15,"Tap",1815]],"r":[[0,1954],[1,1954],[2,1936],[3,1936],[4,1935],[8,1958],[9,1954],[10,1963],[11,1964],[19,545],[24,1975],[25,1937],[26,1936],[27,1936],[28,1963],[29,1964],[31,1937],[41,1964],[43,1938],[44,1954],[45,1954],[49,1936],[50,1937],[53,1936],[54,1937],[127,1936],[177,1936],[178,1936],[310,1941],[325,1936],[326,1936],[334,545],[386,1936],[429,1936],[448,1953],[450,1953],[451,1953],[452,1953],[453,1953],[454,1953],[456,1953],[458,1953],[481,1953],[549,1977],[551,1991],[558,1989],[559,1987],[564,840],[565,1989],[566,1989],[600,805],[1207,1955],[1210,1955],[1218,1955],[1284,2020],[1285,2020],[1310,1991],[1311,1991],[1326,1977],[1336,1989],[1341,1991],[1342,1991],[1343,1991],[1344,2021],[1627,2029],[1628,2029],[1636,1938],[1653,1938],[1654,1938],[1655,1938],[1656,1938],[1657,1938],[1658,1938],[1659,1938],[1660,1938],[1662,1938],[1663,1938],[1816,1954],[1817,1954],[1820,1954],[1827,1954],[1828,1954]],"b":[[130,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[131,"impl-PersistWith%3CConnection%3E-for-Wallet"],[132,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[133,"impl-Wallet"],[181,"impl-Debug-for-Balance"],[182,"impl-Display-for-Balance"],[188,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[189,"impl-Display-for-LoadWithPersistError%3CE%3E"],[190,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[191,"impl-Display-for-CreateWithPersistError%3CE%3E"],[194,"impl-Display-for-AddressInfo"],[195,"impl-Debug-for-AddressInfo"],[196,"impl-Debug-for-LoadError"],[197,"impl-Display-for-LoadError"],[199,"impl-Display-for-ApplyBlockError"],[200,"impl-Debug-for-ApplyBlockError"],[209,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[210,"impl-From%3CChangeSet%3E-for-ChangeSet"],[212,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[213,"impl-From%3CChangeSet%3E-for-ChangeSet"],[219,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[220,"impl-From%3CSyncResult%3E-for-Update"],[273,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[274,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[275,"impl-Wallet"],[276,"impl-PersistWith%3CConnection%3E-for-Wallet"],[300,"impl-PersistWith%3CConnection%3E-for-Wallet"],[301,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[302,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[328,"impl-Wallet"],[329,"impl-Staged-for-Wallet"],[487,"impl-Display-for-Error"],[488,"impl-Debug-for-Error"],[638,"impl-Descriptor%3CDescriptorPublicKey%3E"],[639,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[666,"impl-Debug-for-Descriptor%3CPk%3E"],[667,"impl-Display-for-Descriptor%3CPk%3E"],[670,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[671,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[674,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[676,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[677,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[678,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[679,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[680,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[824,"impl-Debug-for-Error"],[825,"impl-Display-for-Error"],[826,"impl-From%3CParsePublicKeyError%3E-for-Error"],[827,"impl-From%3CHexToBytesError%3E-for-Error"],[828,"impl-From%3CError%3E-for-Error"],[829,"impl-From%3CKeyError%3E-for-Error"],[830,"impl-From%3CPolicyError%3E-for-Error"],[832,"impl-From%3CError%3E-for-Error"],[833,"impl-From%3CError%3E-for-Error"],[927,"impl-Debug-for-PolicyError"],[928,"impl-Display-for-PolicyError"],[1245,"impl-Debug-for-MiniscriptPsbtError"],[1246,"impl-Display-for-MiniscriptPsbtError"],[1247,"impl-Debug-for-CreateTxError"],[1248,"impl-Display-for-CreateTxError"],[1249,"impl-Debug-for-BuildFeeBumpError"],[1250,"impl-Display-for-BuildFeeBumpError"],[1253,"impl-From%3CError%3E-for-CreateTxError"],[1254,"impl-From%3CError%3E-for-CreateTxError"],[1255,"impl-From%3CError%3E-for-CreateTxError"],[1256,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1257,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1294,"impl-Debug-for-FullyNodedExport"],[1295,"impl-Display-for-FullyNodedExport"],[1440,"impl-Display-for-KeyError"],[1441,"impl-Debug-for-KeyError"],[1442,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1443,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1444,"impl-Display-for-DescriptorPublicKey"],[1445,"impl-Debug-for-DescriptorPublicKey"],[1446,"impl-Display-for-DescriptorSecretKey"],[1447,"impl-Debug-for-DescriptorSecretKey"],[1452,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1453,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1459,"impl-From%3CError%3E-for-KeyError"],[1460,"impl-From%3CError%3E-for-KeyError"],[1503,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1504,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1710,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1711,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1712,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1727,"impl-Debug-for-SignerError"],[1728,"impl-Display-for-SignerError"],[1736,"impl-From%3CFingerprint%3E-for-SignerId"],[1737,"impl-From%3CHash%3E-for-SignerId"],[1747,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1749,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1765,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1766,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1767,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1875,"impl-Debug-for-AddUtxoError"],[1876,"impl-Display-for-AddUtxoError"],[1877,"impl-Display-for-AddForeignUtxoError"],[1878,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAH4CyALUAgYFhQXtBQ==","e":"OzAAAAEAAA4EhAAUAAAAOAAAAEMAAQBHACAAbQAAAHEADgCDAAIAiwAEAJgAGQC0AAAAtgATANIAAQDVAAEA2AAAANwAAQDfAAAA6wABAAQBAAASAQEAFQEAACABAAArAQAALQECADYBAAA8AQUARwEAAEoBAABPAQ0AYwEfAIgBDwCeAQ8AzAERAN8BAgDjAQIA6AEGAP8BGwAnAgAANQIAAEkCAQBMAgAATgIHAFkCAABbAgEAXgIAAGECAQBkAgEAaAIBAGsCAQBuAgEAcQILAIICAwCHAgsAmAIBAJsCCAClAgQArwIAALwCAwDHAgAAzQIBANECAQDYAgEA7gIDAPMCAQABAwEABAMBAAgDBQATAwcAHAMDACEDAwA2AwkAQQMBAEQDBABsAxkAiAMaAKUDAACnAwAArQMBALwDAAC/AwQAxQMiAA4EFwAnBC8AbwRIANYEDQDmBAQA7wQPAAkFAQANBQAADwUBABIFAAAWBQUASgUXAGwFFQCDBQEAhgUAAIgFJgC0BQEAuQUAAMAFAQDNBQMA3QUAAOAFBADmBQEA9gUBAPsFAAAFBgAACgYDABMGAAAXBggAIQYDACgGLwCHBg8AmAYUAK8GDgC/BggAyQYBANIGAADUBgIA4gYBAOYGAgDqBgAA7gYHAPgGHwAxBwkAPAcGAEUHAQBMBwIAUwcGAF8HAABrBwAAcQcTAIcHBAA="}],\ +["bdk_tmp_plan",{"t":"FKPPPPFFGGFFPPPGPPONNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNOOOOOONNNNNNNNOONHNNNNOOOOOOONONNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOOOOOOOO","n":["Assets","CanDerive","Complete","DerivationError","Incomplete","Legacy","Plan","PlanKey","PlanState","RequiredSignatures","Requirements","SatisfactionMaterial","Segwitv0","SigHashP2wpkh","SigHashTaproot","SigningError","TapKey","TapScript","asset_key","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_derive","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","default","default","default","derivation_hint","descriptor_key","ecdsa_sigs","expected_weight","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash160","hash160_images","hash160_preimages","hash256","hash256_images","hash256_preimages","into","into","into","into","into","into","into","into","keys","max_locktime","min_version","plan_satisfaction","required_locktime","required_sequence","requirements","requires_hash_preimages","ripemd160","ripemd160_images","ripemd160_preimages","schnorr_sigs","sha256","sha256_images","sha256_preimages","sign_with_keymap","signatures","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_complete","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","txo_age","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness_version","final_script_sig","final_script_witness","keys","keys","leaf_hash","merkle_root","plan_key","plan_keys"],"q":[[0,"bdk_tmp_plan"],[151,"bdk_tmp_plan::PlanState"],[153,"bdk_tmp_plan::RequiredSignatures"],[159,"miniscript::descriptor::key"],[160,"bitcoin::bip32"],[161,"core::option"],[162,"bdk_tmp_plan::requirements"],[163,"core::clone"],[164,"bdk_tmp_plan::template"],[165,"core::fmt"],[166,"bitcoin::crypto::sighash"],[167,"miniscript::descriptor"],[168,"bitcoin::blockdata::locktime::absolute"],[169,"bitcoin::blockdata::transaction"],[170,"secp256k1"],[171,"core::result"],[172,"core::borrow"],[173,"secp256k1::context"],[174,"alloc::string"],[175,"core::any"],[176,"bitcoin::blockdata::script::witness_version"]],"i":[0,0,42,10,42,9,0,0,0,0,0,0,9,10,10,0,9,9,11,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,3,7,9,10,11,12,13,14,7,9,10,11,12,13,14,7,9,13,14,11,11,13,12,7,9,10,10,11,12,13,14,42,7,9,10,10,10,10,11,12,13,14,14,7,13,14,7,13,42,7,9,10,11,12,13,14,14,14,12,0,12,12,12,7,14,7,13,13,14,7,13,9,7,7,9,10,11,12,13,14,10,12,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,14,42,7,9,10,11,12,13,14,42,7,9,10,11,12,13,14,12,45,45,46,47,48,49,49,48],"f":"```````````````````{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{dc}}}{{b{de}}}{}{}}0000000{{{b{f}}{b{h}}}{{l{j}}}}{{{b{{n{c}}}}}{{n{c}}}A`}{{{b{{Ab{c}}}}}{{Ab{c}}}A`}{{{b{Ad}}}Ad}{{{b{{Af{c}}}}}{{Af{c}}}A`}{{{b{{Ah{c}}}}}{{Ah{c}}}A`}{{{b{Aj}}}Aj}{{{b{{Al{c}}}}}{{Al{c}}}A`}{{{b{c}}{b{de}}}An{}{}}000000{{}{{n{c}}}{}}{{}{{Ab{c}}}{}}{{}Aj}{{}{{Al{c}}}{}}```{{{b{{Ah{c}}}}}B`A`}{{{b{{n{c}}}}{b{dBb}}}BdBf}{{{b{{Ab{c}}}}{b{dBb}}}BdBf}{{{b{Ad}}{b{dBb}}}Bd}0{{{b{{Af{c}}}}{b{dBb}}}BdBf}{{{b{{Ah{c}}}}{b{dBb}}}BdBf}{{{b{Aj}}{b{dBb}}}Bd}{{{b{{Al{c}}}}{b{dBb}}}BdBf}{cc{}}000{BhAd}{BjAd}{BlAd}3333``````{ce{}{}}0000000``{{{b{{Ah{c}}}}}{{l{Bn}}}A`}{{{b{{C`{h}}}}{b{{Al{c}}}}}{{l{{Ah{c}}}}}{fA`}}{{{b{{Ah{c}}}}}{{l{Cb}}}A`}{{{b{{Ah{c}}}}}{{l{Cd}}}A`}{{{b{{Ah{c}}}}}{{n{c}}}A`}{{{b{{n{c}}}}}Cf{}}```````{{{b{{Ab{Ch}}}}B`{b{Cj}}{b{{Cl{c}}}}{l{Cn}}{l{D`}}{b{d{Db{e}}}}{b{dAj}}{b{{Dd{g}}}}}{{Df{CfAd}}}{{Dj{Dh}}}{{Dj{Dl}}}{DnE`}}`{{{b{c}}}e{}{}}000000{{{b{c}}}Eb{}}{{{b{{Ah{c}}}}{b{Aj}}}{{Ed{c}}}A`}{c{{Df{e}}}{}{}}000000000000000`{{{b{c}}}Ef{}}0000000<<<<<<<<{{{b{{Ah{c}}}}}{{l{Eh}}}A`}````````","D":"Fl","p":[[1,"reference"],[0,"mut"],[10,"CanDerive",0],[5,"DefiniteDescriptorKey",159],[5,"DerivationPath",160],[6,"Option",161],[5,"Requirements",0,162],[10,"Clone",163],[6,"RequiredSignatures",0,162],[6,"SigningError",0,162],[5,"PlanKey",0,164],[5,"Plan",0],[5,"SatisfactionMaterial",0],[5,"Assets",0],[1,"unit"],[1,"usize"],[5,"Formatter",165],[8,"Result",165],[10,"Debug",165],[6,"TaprootError",166],[6,"P2wpkhError",166],[6,"Error",160],[1,"u32"],[6,"Descriptor",167],[6,"LockTime",168],[5,"Sequence",169],[1,"bool"],[6,"DescriptorPublicKey",159],[8,"KeyMap",167],[6,"Prevouts",166],[6,"TapSighashType",166],[6,"EcdsaSighashType",166],[5,"SighashCache",166],[5,"Secp256k1",170],[6,"Result",171],[5,"TxOut",169],[10,"Borrow",172],[5,"Transaction",169],[10,"Signing",173],[10,"Verification",173],[5,"String",174],[6,"PlanState",0],[5,"TypeId",175],[6,"WitnessVersion",176],[15,"Complete",151],[15,"Legacy",153],[15,"Segwitv0",153],[15,"TapScript",153],[15,"TapKey",153]],"r":[[7,164],[9,162],[10,162],[15,162]],"b":[[60,"impl-Debug-for-SigningError"],[61,"impl-Display-for-SigningError"],[70,"impl-From%3CTaprootError%3E-for-SigningError"],[71,"impl-From%3CP2wpkhError%3E-for-SigningError"],[72,"impl-From%3CError%3E-for-SigningError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGkAEAABAAEABAABAA4AAgAUACIAOwAHAEcAAgBOAAAAUQAAAFwAAQBfAAAAYgAAAGQAAABoAAAAawAAAG0AKQCaAAEA"}],\ +["bdk_wallet",{"t":"GGFGFPPPFGFGPPPPPPPEPPPPKGGGFGPFPPPPPPPPPIPFFGPPPFGTTFFNNONOONNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNONCOQNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCDNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNNONNNNDNNNONNNNNONNNNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","Descriptor","Descriptor","Descriptor","External","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","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","WeightedUtxo","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_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","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create","create","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor_checksum","descriptors","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","file_store","finalize_psbt","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_sqlite","genesis_hash","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","insert_checkpoint","insert_tx","insert_txout","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","load","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","network","new","new","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","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","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_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_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","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","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","calc_checksum_bytes","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"],[430,"bdk_wallet::AddForeignUtxoError"],[432,"bdk_wallet::ApplyBlockError"],[434,"bdk_wallet::LoadMismatch"],[441,"bdk_wallet::TxOrdering"],[443,"bdk_wallet::Utxo"],[446,"bdk_wallet::coin_selection"],[538,"bdk_wallet::coin_selection::Error"],[540,"bdk_wallet::coin_selection::Excess"],[545,"bdk_wallet::descriptor"],[805,"bdk_wallet::descriptor::checksum"],[807,"bdk_wallet::descriptor::error"],[840,"bdk_wallet::descriptor::policy"],[999,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1002,"bdk_wallet::descriptor::policy::Satisfaction"],[1013,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1023,"bdk_wallet::descriptor::template"],[1207,"bdk_wallet::error"],[1278,"bdk_wallet::error::CreateTxError"],[1284,"bdk_wallet::export"],[1307,"bdk_wallet::keys"],[1623,"bdk_wallet::psbt"],[1627,"bdk_wallet::rusqlite_impl"],[1629,"bdk_wallet::signer"],[1815,"bdk_wallet::signer::SignerContext"],[1816,"bdk_wallet::tx_builder"],[1931,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1933,"bdk_wallet::tx_builder::TxOrdering"],[1935,"bdk_chain::balance"],[1936,"bdk_wallet::wallet"],[1937,"bdk_wallet::types"],[1938,"bdk_wallet::wallet::signer"],[1939,"alloc::sync"],[1940,"bitcoin::blockdata::script::owned"],[1941,"bdk_chain"],[1942,"core::iter::traits::iterator"],[1943,"core::clone"],[1944,"alloc::collections::btree::map"],[1945,"bitcoin::blockdata::block"],[1946,"bdk_chain::local_chain"],[1947,"core::result"],[1948,"bdk_chain::chain_data"],[1949,"bitcoin::blockdata::transaction"],[1950,"core::iter::traits::collect"],[1951,"core::convert"],[1952,"bdk_chain::tx_graph"],[1953,"bdk_wallet::wallet::coin_selection"],[1954,"bdk_wallet::wallet::tx_builder"],[1955,"bdk_wallet::wallet::error"],[1956,"bitcoin_units::amount"],[1957,"bitcoin_units::fee_rate"],[1958,"bdk_wallet::wallet::changeset"],[1959,"core::cmp"],[1960,"bdk_wallet::wallet::params"],[1961,"rusqlite::transaction"],[1962,"rusqlite"],[1963,"bdk_file_store::store"],[1964,"bdk_wallet::wallet::persisted"],[1965,"core::option"],[1966,"alloc::string"],[1967,"serde::de"],[1968,"bitcoin::psbt"],[1969,"core::fmt"],[1970,"bdk_chain::indexer::keychain_txout"],[1971,"bdk_chain::indexed_tx_graph"],[1972,"bdk_chain::spk_client"],[1973,"bitcoin::psbt::map::input"],[1974,"core::hash"],[1975,"bdk_wallet::wallet::utils"],[1976,"bitcoin::blockdata::script::borrowed"],[1977,"miniscript::descriptor"],[1978,"core::iter::traits::double_ended"],[1979,"bitcoin::network"],[1980,"secp256k1::context::alloc_only"],[1981,"secp256k1"],[1982,"serde::ser"],[1983,"core::any"],[1984,"alloc::vec"],[1985,"bitcoin::address"],[1986,"miniscript"],[1987,"miniscript::miniscript"],[1988,"miniscript::miniscript::decode"],[1989,"miniscript::miniscript::context"],[1990,"miniscript::iter::tree"],[1991,"miniscript::descriptor::key"],[1992,"miniscript::miniscript::satisfy"],[1993,"miniscript::plan"],[1994,"bitcoin_hashes::sha256"],[1995,"miniscript::miniscript::hash256"],[1996,"bitcoin_hashes::ripemd160"],[1997,"bitcoin_hashes::hash160"],[1998,"bitcoin::crypto::key"],[1999,"secp256k1::context"],[2000,"bdk_chain::descriptor_ext"],[2001,"miniscript::blanket_traits"],[2002,"miniscript::miniscript::analyzable"],[2003,"core::ops::range"],[2004,"core::ops::function"],[2005,"miniscript::descriptor::bare"],[2006,"miniscript::descriptor::segwitv0"],[2007,"miniscript::descriptor::sh"],[2008,"miniscript::descriptor::tr"],[2009,"miniscript::miniscript::types"],[2010,"miniscript::miniscript::types::extra_props"],[2011,"miniscript::expression"],[2012,"miniscript::miniscript::iter"],[2013,"miniscript::policy::semantic"],[2014,"miniscript::policy"],[2015,"bitcoin_units::weight"],[2016,"base58ck::error"],[2017,"hex_conservative::error"],[2018,"bitcoin::bip32"],[2019,"bitcoin::psbt::error"],[2020,"bdk_wallet::wallet::export"],[2021,"miniscript::descriptor::sortedmulti"],[2022,"core::str::traits"],[2023,"core::default"],[2024,"rand_core"],[2025,"rusqlite::error"],[2026,"core::marker"],[2027,"bitcoin::blockdata::script::push_bytes::primitive"],[2028,"bitcoin::blockdata::locktime::absolute"],[2029,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,71,258,258,0,0,0,0,259,70,60,61,5,42,61,0,5,58,256,256,0,0,0,0,0,0,42,0,60,60,60,60,256,61,258,58,70,0,259,0,0,0,71,257,259,0,0,43,43,0,0,1,3,53,3,63,63,3,3,3,3,5,5,3,63,3,0,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,3,3,0,26,43,3,1,5,40,41,42,43,26,1,5,40,41,42,43,26,5,0,40,1,3,3,3,3,45,45,45,3,52,1,43,26,53,3,40,3,0,43,0,3,52,1,5,40,43,1,5,40,41,42,43,58,53,60,61,1,1,5,5,40,40,41,41,42,42,53,53,0,0,0,3,1,1,5,40,41,42,43,58,58,70,70,3,26,53,53,60,60,61,71,71,0,45,52,1,5,40,41,42,43,43,43,43,43,58,58,70,3,26,26,26,53,60,60,61,71,43,45,52,3,3,3,3,26,5,40,1,53,43,3,3,3,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,89,43,3,40,40,53,3,45,52,0,26,3,3,3,3,3,3,3,3,52,52,52,3,3,43,45,52,3,43,0,45,52,3,43,45,52,3,3,42,40,5,3,3,3,3,43,3,0,3,3,3,0,0,41,3,3,42,0,0,1,5,40,43,3,3,3,63,0,0,3,3,3,3,3,3,63,0,1,5,40,41,42,43,26,1,58,70,53,60,71,1,3,63,1,1,63,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,3,43,42,40,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,1,41,0,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,262,262,263,263,264,265,266,266,264,265,266,267,267,268,268,268,114,114,0,115,0,0,0,0,0,114,0,115,0,114,115,113,108,109,110,114,115,113,108,109,110,108,109,110,108,109,110,111,108,109,110,0,108,109,110,113,113,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,113,110,113,113,108,109,110,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,269,269,270,271,271,270,271,91,272,116,0,0,0,0,0,0,122,0,0,124,0,0,126,91,272,116,0,0,0,91,272,116,126,122,0,91,272,116,91,272,116,91,272,116,126,116,143,144,122,122,116,116,143,144,122,116,143,144,122,122,122,122,0,124,143,144,124,144,124,124,143,144,124,143,144,124,124,143,144,124,143,144,124,143,144,0,116,143,144,122,116,143,144,122,116,143,144,122,122,116,116,116,116,116,116,122,116,122,116,143,144,122,116,116,143,143,144,144,122,122,0,116,122,122,153,116,122,116,116,116,143,144,122,122,116,122,116,116,116,116,116,116,116,143,144,122,122,122,116,122,122,122,116,122,122,122,116,116,122,122,116,116,143,144,122,116,143,144,122,122,116,46,91,116,116,122,122,122,116,122,122,124,143,144,122,116,122,116,124,143,144,116,116,116,116,116,116,116,116,116,116,116,116,116,116,122,124,122,116,122,122,116,143,144,122,124,143,144,116,116,0,122,116,122,116,122,122,116,116,122,116,122,124,143,144,122,0,116,143,144,122,116,122,116,124,124,116,122,116,143,144,122,116,143,144,122,122,116,143,144,122,116,116,143,144,122,122,0,0,51,51,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,193,186,186,0,194,0,0,193,192,0,193,193,186,186,186,193,194,154,186,194,194,0,0,0,154,154,192,193,193,0,0,193,193,193,192,192,193,194,97,195,186,154,192,193,194,97,195,186,154,192,193,194,97,195,154,192,193,194,97,195,154,97,195,195,192,193,194,97,195,186,192,192,193,193,194,194,97,97,195,195,186,186,192,193,194,97,195,186,186,154,192,193,194,194,97,97,195,186,154,97,192,195,193,97,192,193,194,97,195,186,154,193,194,195,97,195,97,97,192,193,194,97,195,195,192,193,194,97,195,154,186,192,193,194,97,195,186,154,192,193,194,97,195,186,154,192,193,194,97,195,186,154,192,193,194,97,195,186,154,273,273,273,274,275,276,275,276,275,276,275,276,275,276,277,278,279,280,281,282,282,281,283,284,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,196,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,197,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,198,200,201,202,204,206,207,208,209,210,211,212,0,82,213,0,82,82,35,82,35,82,82,0,82,82,82,82,82,213,82,82,82,82,82,35,35,82,35,213,82,82,213,82,35,213,82,35,213,213,213,213,82,82,35,35,213,82,82,82,82,82,82,35,213,82,35,213,213,82,35,213,82,35,213,82,35,213,82,35,213,82,35,285,285,286,286,287,288,0,0,289,215,215,215,215,215,215,215,215,215,215,215,215,289,215,215,215,215,215,215,215,188,0,0,0,0,232,232,0,0,222,0,0,0,0,188,188,188,124,0,0,121,188,188,177,126,232,225,0,225,0,0,121,126,177,0,0,0,0,121,0,222,177,126,0,290,126,225,218,223,121,219,188,217,126,177,220,221,222,225,218,223,121,219,188,217,126,177,220,221,222,217,124,124,124,124,124,124,124,124,124,218,121,219,217,126,177,220,221,222,218,121,219,217,126,177,220,221,222,217,126,220,222,219,219,218,126,126,217,121,188,217,126,177,220,221,222,121,121,217,217,126,126,177,177,220,220,221,221,222,222,223,121,219,188,188,217,217,126,126,177,177,220,221,222,217,225,225,225,218,223,121,219,188,188,188,217,126,126,177,220,221,222,223,223,126,177,217,126,126,232,235,235,232,232,235,225,126,217,126,220,222,225,218,223,121,219,188,217,126,177,220,221,222,126,199,205,218,218,223,126,177,205,225,218,218,126,177,225,225,126,290,121,126,177,290,121,290,121,126,126,217,220,221,217,0,126,124,217,217,0,217,124,217,126,220,221,124,223,217,126,220,222,124,217,217,217,217,126,124,217,0,218,121,219,217,126,177,220,221,222,177,188,217,126,177,124,124,217,225,218,223,121,219,188,217,126,177,220,221,222,225,218,223,121,219,188,217,126,177,220,221,222,225,218,223,121,219,188,217,126,177,220,221,222,225,218,223,121,219,188,217,126,177,220,221,222,0,242,242,242,0,0,248,244,248,64,244,248,64,0,64,64,64,245,64,64,64,64,64,64,64,248,244,64,245,64,0,0,0,0,0,0,0,0,245,0,0,64,83,63,63,83,63,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,83,244,245,246,6,83,63,248,244,245,246,6,83,63,248,244,6,6,83,63,248,246,249,249,246,246,246,244,245,6,248,244,244,245,245,6,6,248,248,83,244,64,64,245,246,6,83,63,248,244,244,244,64,245,246,6,83,63,248,244,249,246,246,246,83,244,64,245,246,6,83,63,248,246,83,244,6,83,253,246,246,246,7,246,63,83,63,244,245,246,6,83,63,248,64,63,63,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,244,64,245,246,6,83,63,248,291,0,0,258,258,0,259,256,256,256,258,259,0,0,257,259,34,34,34,34,34,34,34,34,34,34,257,256,259,258,34,257,256,259,258,34,34,259,258,34,259,258,258,34,34,259,258,34,34,34,34,34,258,258,258,34,34,34,34,34,257,257,256,256,259,258,34,257,256,259,258,258,34,34,257,256,259,258,34,34,34,34,34,258,34,34,34,259,259,34,259,258,257,256,34,257,256,259,258,34,257,256,259,258,34,257,256,259,258,34,34,34,257,256,259,258,262,262,267,267],"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}}}{}{}}000000000000000{{{h{dc}}}{{h{de}}}{}{}}000000000000000{{{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}```{{{h{f}}}Dn}{{{h{b}}}b}{{{h{j}}}j}{{{h{E`}}}E`}{{{h{Eb}}}Eb}{{{h{Ed}}}Ed}{{{h{Ef}}}Ef}{{{h{Cd}}}Cd}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{j}}{h{j}}}Eh}```{{cc}Ej{ElAl}}{{{h{dEn}}c}{{Bf{fe}}}{}{}}{{{h{dF`}}c}{{Bf{fe}}}{}{}}{{{h{d{Fb{Ef}}}}c}{{Bf{fe}}}{}{}}{{Ej{h{dc}}}{{Bf{Fd}}}{}}0{Ej{{Bf{fFf}}}}0{{}Fh}{{}b}{{}Ef}{{}Cd}{{{h{Fj}}}{{h{c}}}{}}{{{h{f}}j}{{Fl{Bb}}}}`{{{h{f}}Af}{{Fl{{C`{jBb}}}}}}```{{{h{f}}j}Fn}{{Fhcc}FhEl}{c{{Bf{b}}}G`}{c{{Bf{j}}}G`}{c{{Bf{E`}}}G`}{c{{Bf{Ef}}}G`}{{{h{b}}{h{b}}}Gb}{{{h{j}}{h{j}}}Gb}{{{h{E`}}{h{E`}}}Gb}{{{h{Eb}}{h{Eb}}}Gb}{{{h{Ed}}{h{Ed}}}Gb}{{{h{Ef}}{h{Ef}}}Gb}{{{h{{Gd{c}}}}{h{{Gd{c}}}}}GbGf}{{{h{Fj}}{h{Fj}}}Gb}{{{h{Gh}}{h{Gh}}}Gb}{{{h{Gj}}{h{Gj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000```{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}{{{h{b}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{j}}{h{dHb}}}Hf}{{{h{E`}}{h{dHb}}}Hf}{{{h{Eb}}{h{dHb}}}Hf}{{{h{Ed}}{h{dHb}}}Hf}{{{h{Ef}}{h{dHb}}}Hf}{{{h{{Gd{c}}}}{h{dHb}}}HfHh}{{{h{{Gd{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHh}{{{h{f}}{h{dHb}}}Hf}{{{h{Cd}}{h{dHb}}}Hf}{{{h{Fj}}{h{dHb}}}Hf}0{{{h{Gh}}{h{dHb}}}Hf}0{{{h{Gj}}{h{dHb}}}Hf}{{{h{Hn}}{h{dHb}}}Hf}0`{cc{}}000000{{{Ib{ClI`}}}Ef}{{{Id{Cl}}}Ef}{IfEf}3{I`Ef}4{Gj{{Gd{c}}}{}}555{{{Ih{j}}}Cd}{IjCd}77{GjGh}88{{{h{En}}}{{Il{Ef}}}}{{EjIn}Ej}{{FhIn}Fh}{{{h{f}}E`{Fl{J`}}Gb}{{Bf{JbJd}}}}{{{h{f}}j}{{A`{Jf}}}}{{{h{f}}D`}{{Fl{{Jh{{A`{Bl}}Cl}}}}}}{{{h{f}}Jj}{{Fl{E`}}}}`{{{h{j}}{h{dc}}}AbJl}{{{h{E`}}{h{dc}}}AbJl}```{{{h{df}}Bh}{{Bf{GbJn}}}}{{{h{df}}Bl}Gb}{{{h{df}}JjK`}Ab}{ce{}{}}000000000000000{{{h{Kb}}{h{Kd}}}Gb}{{{h{Ef}}}Gb}{{{h{f}}Af}Gb}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Kf}}}}}}}}}}}}{{EjjKh}Ej}{{FhjKh}Fh}``{{{h{f}}}Kj}{{{h{f}}}{{`{{Aj{}{{Ad{E`}}}}}}}}0{{{h{f}}j}{{`{{Kl{}{{Ad{Fj}}}}}}}}{{{h{dEn}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{d{Fb{Ef}}}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{dF`}}c}{{Bf{{Fl{f}}e}}}{}{}}{{}Fh}{{Fh{h{dc}}}{{Bf{{Fl{Fd}}}}}{}}0{{FhEf}{{Bf{{Fl{f}}Gh}}}}{{EfFh}{{Bf{{Fl{f}}Gh}}}}{{{h{f}}}{{h{Kn}}}}`{{EjBb}Ej}{{FhBb}Fh}{{{h{df}}jBb}Gb}{{{h{dEf}}Ef}Ab}`{{EjL`}Ej}{{FhL`}Fh}{{{h{f}}}L`}`{{cc}EjEl}<{{{h{f}}j}Bb}{{{h{df}}j}Fj}{{{h{Ed}}}Jj}`{{{h{j}}{h{j}}}{{Fl{Eh}}}}{{{h{f}}jBb}Fj}{{{h{d{Fb{Ef}}}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dF`}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dEn}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{Ef}}{h{En}}}{{Il{Ab}}}}{{{h{f}}j}{{Bf{{Fl{Lb}}Ff}}}}`{{{h{f}}j}{{h{Kf}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{Fj}}}}}}}}:```{{{h{f}}}{{h{{Lf{Ld}}}}}}{{{h{f}}{h{Bl}}}{{C`{DhDh}}}}{{{h{Ed}}}{{Fl{Lh}}}}``{{{h{b}}c}BfLj}{{{h{j}}c}BfLj}{{{h{E`}}c}BfLj}{{{h{Ef}}c}BfLj}{{{h{df}}jKh}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jKh}}}}}}}}{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}```{{{h{f}}}{{h{{Ll{j}}}}}}{{{h{f}}}{{Fl{{h{Ef}}}}}}{{{h{df}}}{{h{dc}}}{}}{{{h{f}}}{{Ln{j}}}}{{{h{f}}}M`}{{{h{df}}}{{Fl{Ef}}}}``{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}00000{{{h{b}}}Dh}{{{h{f}}}{{`{{Aj{}{{Ad{{Jh{{A`{Bl}}Cl}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}0000000000000000000000000000000`{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{Ed}}}{{h{K`}}}}`{{{h{c}}}Mb{}}000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{Md{{A`{Bl}}Cl}}}}}}}}}}{{{h{df}}jBb}Gb}``{{}{{h{Mf}}}}{ce{}{}}000000000000000{{c{Fl{c}}L`{h{{Lf{Ld}}}}}{{Bf{FnFf}}}El}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Mh}}}Mh}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Mn}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mh}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mj}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Ml}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{BnDl{h{Kd}}}Nf}{{}Mh}{{}Mj}{{}Ml}``{{{h{Nd}}{h{dHb}}}Hf}0{{{h{Nf}}{h{dHb}}}Hf}{{{h{Nb}}{h{dHb}}}Hf}{{{h{Mh}}{h{dHb}}}Hf}{{{h{Mj}}{h{dHb}}}Hf}{{{h{Ml}}{h{dHb}}}Hf}{cc{}}00000{ce{}{}}00000{{{h{Nb}}}Bn}{BnMl}`1{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mb{}}00000666666`````````````````````````````````````````````{{{h{{Nh{c}}}}L`}{{Bf{NjNl}}}{NnO`}}{{}Ob}0{{{h{{Od{ce}}}}}{{h{{Of{ce}}}}}NnOh}{{{h{{h{{Od{ce}}}}}}}{{Oj{{h{{Od{ce}}}}}}}NnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{Od{ce}}}}}{{N`{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}0`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Od{cAB`}}}}}{{Bf{AbA@j}}}Nn}2022102102{{{h{c}}}{{Bf{AbA@j}}}Nn}00{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Of{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{cAB`}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}00`{{{h{{Nh{c}}}}}{{Nh{c}}}{AlNn}}{{{h{AAn}}}AAn}{{{h{AB`}}}AB`}{{{h{{Od{ce}}}}}{{Od{ce}}}{AlNn}{AlOh}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Eh{ABbNn}}{{{h{AAn}}{h{AAn}}}Eh}{{{h{AB`}}{h{AB`}}}Eh}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}EhNnOh}{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{{Nh{On}}}}{h{{Lf{c}}}}}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}Bb}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{c}}}}}ABhNn}{{{h{{Nh{Ol}}}}}ABj}{c{{Bf{{Nh{e}}}}}G`ABl}{c{{Bf{{Od{eg}}}}}G`ABlOh}{{{h{{Nh{Ol}}}}}Bn}{{{h{{Od{ce}}}}}Af{O`Nn}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Gb{GfNn}}{{{h{AAn}}{h{AAn}}}Gb}{{{h{AB`}}{h{AB`}}}Gb}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}GbNnOh}{{{h{c}}{h{e}}}Gb{}{}}0000000`{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}`{{{h{{Od{ce}}}}{h{ABn}}}{{Bf{AbAC`}}}NnOh}{{{h{ACb}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Nh{Ol}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Od{Olc}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}Oh}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}{h{Kd}}{ACf{Bb}}}{{Bf{{Fl{{C`{Bb{Nh{ABd}}}}}}A@`}}}ABf}{{{h{{Nh{c}}}}{h{dHb}}}{{Bf{AbHd}}}Nn}0{{{h{AAn}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AB`}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{Od{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{{Nh{c}}}}e}GbNn{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{h{{Od{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{ACl{c}}}{{Nh{c}}}Nn}{{{ACn{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}{{{ADb{c}}}{{Nh{c}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}{cc{}}{{{ADf{c}}}{{Nh{c}}}Nn}111{{{Of{ce}}}{{Bf{{Od{ce}}Nl}}}NnOh}{{{Of{ce}}ADhADj}{{Od{ce}}}NnOh}{{{h{Mf}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{Mf}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{Mf}}{h{ABn}}}{{Bf{{Od{ce}}Nl}}}ABlOh}1{{{h{ADl}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{ADl}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{{Od{ce}}}}ADn}{{Fl{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}ADn}{{Fl{c}}}NnOh}{{{h{{Nh{c}}}}e}{{Bf{{C`{{N`{{N`{Ch}}}}Af}}Nl}}}{NnO`}{{AE`{c}}}}0{{{h{{Od{ce}}}}}GbNnOh}0{{{h{{Nh{Ol}}}}}Gb}{{{h{{Nh{c}}}}{h{de}}}Ab{AEbNn}Jl}{{{h{AAn}}{h{dc}}}AbJl}{{{h{AB`}}{h{dc}}}AbJl}{{{h{{Od{ce}}}}{h{dg}}}AbNnOhJl}{ce{}{}}000{{{Od{ce}}}{{Of{ce}}}NnOh}{{{Nh{Ol}}}{{Bf{{N`{{Nh{Ol}}}}Nl}}}}{{El{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{Kf{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}99:{{{h{{Od{ce}}}}}{{AEd{ce}}}NnOh}{{{h{{Od{ce}}}}}{{AEf{ce}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{{AEh{c}}Nl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{{h{{Od{ce}}}}}{{Bf{AbAEj}}}NnOh}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{cAB`}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{ce}}}}}{{Bf{ADnNl}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{ADnNl}}}Nn}1{{{h{{Nh{c}}}}}{{Bf{AElNl}}}Nn}{{}{{h{Mf}}}}00{{{Od{cAEn}}}{{Bf{{Nh{c}}Nl}}}Nn}{c{{Nh{c}}}Nn}{c{{Bf{{Nh{c}}Nl}}}Nn}{{{Od{cAAn}}}{{Bf{{Nh{c}}Nl}}}Nn}{{ADn{N`{c}}}{{Bf{{Nh{c}}Nl}}}Nn}{{{ADb{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}4{{{Od{cAB`}}}{{Bf{{Nh{c}}Nl}}}Nn}3{{c{Fl{{AF`{c}}}}}{{Bf{{Nh{c}}Nl}}}Nn}614`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{Kd}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Lf{c}}}}{h{Mf}}}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Nl}}}AFd}1{{{h{Kd}}{h{ABn}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}{{Fl{Eh}}}{AFfNn}}{{{h{AAn}}{h{AAn}}}{{Fl{Eh}}}}{{{h{AB`}}{h{AB`}}}{{Fl{Eh}}}}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}{{Fl{Eh}}}NnOh}{{{h{c}}}ADnNn}00{{{Nh{On}}{h{c}}}{{Bf{AFh{Nh{On}}}}}{{A@f{On}}}}0`{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{c}}}}}{{Bf{AbNl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{AbAC`}}}NnOh}{{{h{{Nh{c}}}}{h{dAFj}}e}{{Bf{AbNl}}}{NnO`}{{AE`{c}}}}{{{h{{Od{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}0{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}{{{h{{Nh{c}}}}}Af{NnO`}}{{{h{{Od{ce}}}}}ADnNnOh}{{{h{{Nh{c}}}}e}BfNnLj}{{{h{{Od{ce}}}}g}BfNnOhLj}{{}AFl}00{{{h{{Od{ce}}}}{h{{An{AAjc}}}}}{{Od{ce}}}NnOh}`{{{h{c}}}e{}{}}000{{{h{c}}}Fn{}}0{{{h{{Nh{Ol}}}}{h{{An{OlAFb}}}}}Fn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{Nh{c}}}}{h{di}}}{{Bf{{AFn{g}}}}}NnNn{}{{AG`{ceg}}}}{{{h{{Od{ce}}}}{h{dk}}}{{Bf{{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mb{}}000={ce{}{}}000{{{h{{Od{ce}}}}}GbNnOh}{{{h{Mf}}}{{Bf{FnFf}}}}{{{h{Mf}}}{{Bf{{AGb{Ch}}Ff}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Ff}}{h{Ff}}}Gb}{{{h{Ff}}{h{dHb}}}Hf}0{cc{}}{AGdFf}{AGfFf}{AGhFf}{AGjFf}{NlFf}{AGlFf}{AGnFf}?{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mb{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AH`}}}AH`}{{{h{AHb}}}AHb}{{{h{AHd}}}AHd}{{{h{Lb}}}Lb}{{{h{AHf}}}AHf}{{{h{ACd}}}ACd}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AHf}{{{h{AH`}}{h{AH`}}}Gb}{{{h{AHb}}{h{AHb}}}Gb}{{{h{AHd}}{h{AHd}}}Gb}{{{h{Lb}}{h{Lb}}}Gb}{{{h{AHf}}{h{AHf}}}Gb}{{{h{AGd}}{h{AGd}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000{{{h{AH`}}{h{dHb}}}Hf}{{{h{AHb}}{h{dHb}}}Hf}{{{h{AHd}}{h{dHb}}}Hf}{{{h{Lb}}{h{dHb}}}Hf}{{{h{AHf}}{h{dHb}}}Hf}{{{h{AGd}}{h{dHb}}}Hf}0{{{h{ACd}}{h{dHb}}}Hf}{cc{}}0{GbAHd}11{AHbLb}222{{{h{Lb}}{h{{An{Fn{N`{ADn}}}}}}}{{Bf{AHfAGd}}}}{{{h{AH`}}{h{dc}}}AbJl}{{{h{AHf}}{h{dc}}}AbJl}{{{h{AHb}}}Fn}`{ce{}{}}000000{{{h{AHb}}}Gb}{{{h{AHd}}}Gb}{{{h{AHf}}}Gb}`{{{h{AHf}}{h{AHf}}}{{Fl{Eh}}}}{{{h{Lb}}}Gb}`{{{h{AH`}}c}BfLj}{{{h{AHb}}c}BfLj}{{{h{AHd}}c}BfLj}{{{h{Lb}}c}BfLj}{{{h{AHf}}c}BfLj}`{{{h{c}}}e{}{}}00000{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mb{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AHhL`}{{Bf{AHjFf}}}}{{{AHl{c}}L`}{{Bf{AHjFf}}}{{AHn{AAn}}}}{{{AI`{c}}L`}{{Bf{AHjFf}}}{{AHn{AB`}}}}{{{AIb{c}}L`}{{Bf{AHjFf}}}{{AHn{AB`}}}}{{{AId{c}}L`}{{Bf{AHjFf}}}{{AHn{AIf}}}}{{{AIh{c}}L`}{{Bf{AHjFf}}}{{AIj{AAn}}}}{{{AIl{c}}L`}{{Bf{AHjFf}}}{{AIj{AAn}}}}{{{AIn{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJ`{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJb{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJd{c}}L`}{{Bf{AHjFf}}}{{AIj{AB`}}}}{{{AJf{c}}L`}{{Bf{AHjFf}}}{{AIj{AIf}}}}{{{AJh{c}}L`}{{Bf{AHjFf}}}{{AIj{AIf}}}}{{{h{{AHl{c}}}}}{{AHl{c}}}{Al{AHn{AAn}}}}{{{h{{AI`{c}}}}}{{AI`{c}}}{Al{AHn{AB`}}}}{{{h{{AIb{c}}}}}{{AIb{c}}}{Al{AHn{AB`}}}}{{{h{{AId{c}}}}}{{AId{c}}}{Al{AHn{AIf}}}}{{{h{{AIh{c}}}}}{{AIh{c}}}{Al{AIj{AAn}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIj{AAn}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIj{AB`}}}}{{{h{{AJ`{c}}}}}{{AJ`{c}}}{Al{AIj{AB`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AIj{AB`}}}}{{{h{{AJd{c}}}}}{{AJd{c}}}{Al{AIj{AB`}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AIj{AIf}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AIj{AIf}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AHl{c}}}}{h{dHb}}}Hf{Hj{AHn{AAn}}}}{{{h{{AI`{c}}}}{h{dHb}}}Hf{Hj{AHn{AB`}}}}{{{h{{AIb{c}}}}{h{dHb}}}Hf{Hj{AHn{AB`}}}}{{{h{{AId{c}}}}{h{dHb}}}Hf{Hj{AHn{AIf}}}}{{{h{{AIh{c}}}}{h{dHb}}}Hf{Hj{AIj{AAn}}}}{{{h{{AIl{c}}}}{h{dHb}}}Hf{Hj{AIj{AAn}}}}{{{h{{AIn{c}}}}{h{dHb}}}Hf{Hj{AIj{AB`}}}}{{{h{{AJ`{c}}}}{h{dHb}}}Hf{Hj{AIj{AB`}}}}{{{h{{AJb{c}}}}{h{dHb}}}Hf{Hj{AIj{AB`}}}}{{{h{{AJd{c}}}}{h{dHb}}}Hf{Hj{AIj{AB`}}}}{{{h{{AJf{c}}}}{h{dHb}}}Hf{Hj{AIj{AIf}}}}{{{h{{AJh{c}}}}{h{dHb}}}Hf{Hj{AIj{AIf}}}}{cc{}}00000000000{ce{}{}}00000000000{{AHj{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{c{h{{Lf{Ld}}}}L`}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Ff}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AJj}}}AJj}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AJj}}{h{dHb}}}Hf}0{{{h{Jd}}{h{dHb}}}Hf}0{{{h{Df}}{h{dHb}}}Hf}0={AJlJd}{NdJd}{AGdJd}{cc{}}{AJjJd}{FfJd}2{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Fn{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mb{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AJn}}}{{Fl{Fn}}}}{{{h{AJn}}}Fn}{c{{Bf{AJn}}}G`}{{{h{f}}{h{Mf}}Gb}{{Bf{AJn{h{Mf}}}}}}{{{h{AJn}}{h{dHb}}}Hf}0>{{{h{Mf}}}{{Bf{AJnc}}}{}}<``{{{h{AJn}}c}BfLj};::9=```````````````````````````````````````````{{}AK`}{{}Ob}{{OlBb}{{Bf{OnA@`}}}};;;;;;;;;;;;::::::::::::{{{h{{AKb{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}00000{{{h{c}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}{{{h{{AKd{ce}}}}}{{AKd{ce}}}AlOh}{{{h{Ob}}}Ob}{{{h{AKf}}}AKf}{{{h{{AKb{ce}}}}}{{AKb{ce}}}{AlNn}{AlOh}}{{{h{Ol}}}Ol}{{{h{AFb}}}AFb}{{{h{AKh}}}AKh}{{{h{AKj}}}AKj}{{{h{AKl}}}AKl}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}Eh{ABbNn}{ABbOh}}{{{h{Ol}}{h{Ol}}}Eh}{{{h{AKh}}{h{AKh}}}Eh}{{{h{AKl}}{h{AKl}}}Eh}`{{}AKf}{{{h{{AKd{ce}}}}}{{h{g}}}{}Oh{}}{{OlBb}{{Bf{OnA@`}}}}{c{{Bf{Ol}}}G`}{{{h{{AKb{ce}}}}}Af{O`Nn}Oh}{{{h{Ob}}{h{Ob}}}Gb}{{{h{AGh}}{h{AGh}}}Gb}{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}Gb{GfNn}{GfOh}}{{{h{Ol}}{h{Ol}}}Gb}{{{h{AFb}}{h{AFb}}}Gb}{{{h{AKh}}{h{AKh}}}Gb}{{{h{AKj}}{h{AKj}}}Gb}{{{h{AKl}}{h{AKl}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000000000{{{h{{AKn{c}}}}{h{dHb}}}Hf{HjOh}}{{{h{Ob}}{h{dHb}}}Hf}{{{h{AKf}}{h{dHb}}}Hf}{{{h{AGh}}{h{dHb}}}Hf}0{{{h{{AKb{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{Ol}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AFb}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AKh}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKj}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKl}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{AKb{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{AL`{{ALb{c}}}Oh}{cc{}}{ALd{{ALb{c}}}Oh}1111{AGlAGh}{NlAGh}333{OnOl}4444{{OlAK`}{{AKn{c}}}Oh}{{AFbAK`}{{AKn{c}}}Oh}{{{h{Mf}}}{{Bf{Ol}}}}{{{h{Mf}}}{{Bf{AFb}}}}{{{h{ADl}}}{{Bf{{AKb{ce}}Nl}}}{ALfNn}Oh}{{{h{Ol}}}{{Fl{ALh}}}}{{{h{Ol}}}{{N`{ALh}}}}{c{{Bf{{AKd{{AM`{}{{ALj{e}}{ALl{c}}{ALn{g}}}}i}}g}}}{}{{AMb{{Cj{Ch}}}}AMd}HjOh}{{}{{Bf{{AKd{AMfc}}e}}}Oh{}}{{{h{dc}}}{{Bf{{AKd{AMfe}}g}}}{AMhAMj}Oh{}}{{c{h{de}}}{{Bf{{AKd{{AM`{}{{ALj{g}}{ALl{c}}{ALn{i}}}}k}}i}}}{}{AMhAMj}{{AMb{{Cj{Ch}}}}AMd}HjOh}{{ce}{{Bf{{AKd{{AM`{}{{ALj{e}}{ALl{c}}{ALn{g}}}}i}}g}}}{}{{AMb{{Cj{Ch}}}}AMd}HjOh}{c{{Bf{{AKd{AMfe}}g}}}{}Oh{}}{{{h{{ALb{c}}}}}GbOh}{{{h{Ol}}}Gb}{{{h{{AKb{ce}}}}{h{dg}}}Ab{AEbNn}{AEbOh}Jl}{{{h{Ol}}{h{dc}}}AbJl}{{{h{AKh}}{h{dc}}}AbJl}{{{h{AKl}}{h{dc}}}AbJl}{ce{}{}}00000000000{OlAMl}{AHn{{Bf{{AKn{c}}AGh}}}Oh}{{AIj{Fl{AMn}}ALh}{{Bf{{AKn{c}}AGh}}}Oh}{{{AKd{ec}}{Fl{AMn}}ALh}{{Bf{{AKn{c}}AGh}}}Oh{{AIj{c}}}}{{{AKd{ec}}}{{Bf{{AKn{c}}AGh}}}Oh{{AHn{c}}}}{{{AKn{c}}}{{Bf{{AKn{c}}AGh}}}Oh}{Ol{{Bf{{AKn{c}}AGh}}}Oh}{AFb{{Bf{{AKn{c}}AGh}}}Oh}{AIj{{Bf{{ALb{c}}AGh}}}Oh}{{{ALb{c}}}{{Bf{{ALb{c}}AGh}}}Oh}{{{AKd{ec}}}{{Bf{{ALb{c}}AGh}}}Oh{{AIj{c}}}}{{{AKd{ce}}}c{}Oh}{Ol{{N`{Ol}}}}{AFb{{N`{AFb}}}}{{{ALb{c}}L`}{{Fl{AL`}}}Oh}{{{ALb{c}}L`{h{{Lf{e}}}}}ALdOhAFd}{{{h{Ol}}}Gb}{{}Gb}{{{h{Ob}}}Gb}2{{{h{AFb}}}Gb}212133{{{h{{AKb{ce}}}}}ADnNnOh}``{{{h{{AKb{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{}AK`}{{{h{Ol}}}AN`}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}44{{{h{AK`}}{h{AK`}}}AK`}5{{}{{h{Mf}}}}{{ADn{N`{c}}}{{Bf{{AKb{ce}}Nl}}}NnOh}{{{h{Ol}}}ADn}``{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{AKn{c}}AK`}{{AKn{c}}}Oh}{{{h{{AKb{ce}}}}{h{{AKb{ce}}}}}{{Fl{Eh}}}{AFfNn}{AFfOh}}{{{h{Ol}}{h{Ol}}}{{Fl{Eh}}}}{{{h{AKh}}{h{AKh}}}{{Fl{Eh}}}}{{{h{AKl}}{h{AKl}}}{{Fl{Eh}}}}{{{h{c}}}ADnNn}{{{h{{AKb{ce}}}}}{{h{{Cj{c}}}}}NnOh}{{{h{{AKb{ce}}}}}{{Bf{AbNl}}}NnOh}{{{h{{AKb{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}{{{h{{AKb{ce}}}}}ADnNnOh}{{{h{Ol}}c}BfLj}{{}AFl}{{{h{{AKb{ce}}}}}{{Of{ce}}}{O`Nn}Oh}{{}AK`}{{{h{c}}}e{}{}}00000000{{{h{AFb}}{h{{Lf{c}}}}}{{Bf{OlANb}}}AFd}{{{h{c}}}Fn{}}000{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{AKb{ce}}}}{h{dk}}}{{Bf{{AKb{ge}}{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000{ce{}{}}00000000000`{{{h{ANd}}}{{Fl{Dh}}}}{{{h{ANd}}}{{Fl{Dl}}}}{{{h{ANd}}ADn}{{Fl{K`}}}}`{{{h{En}}{h{Mf}}{h{{Cj{{h{{Cj{{h{Mf}}}}}}}}}}}{{Bf{AbANf}}}}````````````````````````````````````{{{h{dJf}}ANhl{A`{n}}}{{Fl{{A`{n}}}}}}``{{{h{Jf}}{h{{Lf{Ld}}}}}Kh}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Kh{h{{Nh{Ol}}}}{h{{Lf{Ld}}}}}Jf}{{{h{ANh}}}ANh}{{{h{ANj}}}ANj}{{{h{{ANl{c}}}}}{{ANl{c}}}{AlANnHjAl}}{{{h{l}}}l}{{{h{Jf}}}Jf}{{{h{Gn}}}Gn}{{{h{AO`}}}AO`}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{ANh}}{h{ANh}}}Eh}{{{h{l}}{h{l}}}Eh}{{}l}{{}Jf}{{}Gn}{{}AO`}{{{h{{ANl{c}}}}}{{h{e}}}{ANnHjAl}{}}{{{h{AOb}}}{{Fl{AFb}}}}0{{{h{{ANl{AOd}}}}}{{Fl{AFb}}}}{{{h{{ANl{{AOf{AL`}}}}}}}{{Fl{AFb}}}}{{{h{{ANl{{AOh{AL`}}}}}}}{{Fl{AFb}}}}{{{h{ANh}}{h{ANh}}}Gb}{{{h{ANj}}{h{ANj}}}Gb}{{{h{l}}{h{l}}}Gb}{{{h{AO`}}{h{AO`}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000{{{h{Jf}}ANh}{{Fl{{h{{A`{n}}}}}}}}{{{h{ANh}}{h{dHb}}}Hf}{{{h{H`}}{h{dHb}}}Hf}0{{{h{ANj}}{h{dHb}}}Hf}{{{h{{ANl{c}}}}{h{dHb}}}Hf{HjANnHjAl}}{{{h{l}}{h{dHb}}}Hf}{{{h{Jf}}{h{dHb}}}Hf}{{{h{Gn}}{h{dHb}}}Hf}{{{h{AO`}}{h{dHb}}}Hf}{AN`ANh}{cc{}}{AAjANh}1111111{{{h{ANh}}{h{dc}}}AbJl}{{{h{AOb}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{{AOf{AL`}}}}}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{AOd}}}}{h{{Lf{Ld}}}}}ANh}{{{h{{ANl{{AOh{AL`}}}}}}{h{{Lf{Ld}}}}}ANh}{{{h{Jf}}}{{N`{{h{ANh}}}}}}{ce{}{}}0000000{{cANj}{{ANl{c}}}{ANnHjAl}}{{}Jf}{{{h{ANh}}{h{ANh}}}{{Fl{Eh}}}}{{{h{l}}{h{l}}}{{Fl{Eh}}}}{{{h{dJf}}ANhl}{{Fl{{A`{n}}}}}}{{{h{AOj}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{{AOf{AL`}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{AOd}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANl{{AOh{AL`}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{n}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{c}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}{}}`{{{h{Jf}}}{{N`{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mb{}}0000000{ce{}{}}0000000````````````````{{{h{d{Dd{c}}}}{h{e}}}{{h{d{Dd{c}}}}}{}{{AOn{AOl}}}}{{{h{d{Dd{c}}}}JjJbAEl}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}JjJbAElLh}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}AfDh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{Bf{{h{d{Dd{c}}}}B@b}}}{}}{{{h{d{Dd{c}}}}{h{{Cj{Jj}}}}}{{Bf{{h{d{Dd{c}}}}B@b}}}{}}{{{h{d{Dd{c}}}}Gb}{{h{d{Dd{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Dd{c}}}}B@d}{{h{d{Dd{c}}}}}{}}{{{h{{Dd{c}}}}}{{Dd{c}}}Al}{{{h{B@f}}}B@f}{{{h{B@d}}}B@d}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@d}}{h{B@d}}}Eh}{{{Dd{c}}e}{{Dd{e}}}{}Mn}{{{h{d{Dd{c}}}}Bb}{{h{d{Dd{c}}}}}{}}{{}B@f}{{}B@d}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Af}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}Lh}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{B@d}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0{{{h{d{Dd{c}}}}Dh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Dl}{{h{d{Dd{c}}}}}{}}{{{Dd{c}}}{{Bf{GlJd}}}Mn}{{{Dd{c}}{h{de}}}{{Bf{GlJd}}}MnAMj}{{{h{{Dd{c}}}}{h{dHb}}}HfHj}{{{h{B@b}}{h{dHb}}}Hf}0{{{h{B@`}}{h{dHb}}}Hf}0{{{h{B@f}}{h{dHb}}}Hf}{{{h{B@d}}{h{dHb}}}Hf}{cc{}}0000{{{h{B@d}}{h{dc}}}AbJl}?{ce{}{}}0000{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@h}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}B@f}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{B@d}}}{{Fl{Eh}}}}{{{h{d{Dd{c}}}}{An{Fn{N`{ADn}}}}j}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}{N`{{C`{AfDh}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}J`}{{h{d{Dd{c}}}}}{}}{{{h{B@f}}{h{dBl}}}Ab}{{{h{B@f}}{h{dBl}}{h{dc}}}AbAMj}{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mb{}}0000{{{h{d{Dd{c}}}}{N`{Jj}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@j}{{h{d{Dd{c}}}}}{}}?????````","D":"G@b","p":[[5,"Balance",0,1935],[0,"mut"],[5,"Wallet",0,1936],[1,"reference"],[6,"KeychainKind",0,1937],[5,"SignerOrdering",1629,1938],[10,"TransactionSigner",1629,1938],[5,"Arc",1939],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1940],[8,"Indexed",1941],[10,"Iterator",1942],[10,"Clone",1943],[5,"BTreeMap",1944],[5,"Block",1945],[1,"u32"],[5,"CannotConnectError",1946],[6,"Result",1947],[5,"BlockId",1948],[6,"ApplyHeaderError",1946],[5,"Transaction",1949],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1950],[5,"Update",0,1936],[10,"Into",1951],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1948],[5,"TxGraph",1952],[5,"Txid",1949],[8,"DefaultCoinSelectionAlgorithm",446,1953],[5,"TxBuilder",1816,1954],[6,"BuildFeeBumpError",1207,1955],[5,"Amount",1956],[6,"CalculateFeeError",1952],[5,"FeeRate",1957],[5,"CheckPointIter",1946],[5,"LocalOutput",0,1937],[5,"WeightedUtxo",0,1937],[6,"Utxo",0,1937],[5,"ChangeSet",0,1958],[6,"Ordering",1959],[5,"CreateParams",0,1960],[10,"IntoWalletDescriptor",545],[5,"Transaction",1961],[5,"Connection",1962],[5,"Store",1963],[8,"PersistedWallet",0,1964],[6,"Error",807],[5,"LoadParams",0,1960],[5,"AddressInfo",0,1936],[6,"Option",1965],[5,"String",1966],[10,"Deserializer",1967],[1,"bool"],[6,"LoadWithPersistError",0,1964],[10,"PartialEq",1959],[6,"LoadError",0,1936],[6,"LoadMismatch",0,1936],[5,"Psbt",1968],[5,"SignOptions",1629,1938],[6,"SignerError",1629,1938],[5,"Formatter",1969],[5,"Error",1969],[8,"Result",1969],[10,"Display",1969],[10,"Debug",1969],[6,"CreateWithPersistError",0,1964],[6,"ApplyBlockError",0,1936],[5,"ChangeSet",1970],[5,"ChangeSet",1971],[5,"ChangeSet",1952],[5,"ChangeSet",1946],[5,"FullScanResult",1972],[5,"SyncResult",1972],[8,"Result",1962],[5,"BlockHash",1945],[5,"PsbtSighashType",1973],[5,"Input",1973],[6,"CreateTxError",1207,1955],[5,"SignersContainer",1629,1938],[5,"CanonicalTx",1952],[5,"OutPoint",1949],[10,"Hasher",1974],[5,"AlterCheckPointError",1946],[5,"TxOut",1949],[10,"IsDust",0,1975],[5,"Script",1976],[8,"ExtendedDescriptor",545],[8,"KeyMap",1307,1977],[5,"CheckPoint",1946],[10,"DoubleEndedIterator",1978],[5,"LocalChain",1946],[6,"Network",1979],[5,"Policy",840],[6,"All",1980],[5,"Secp256k1",1981],[5,"Sequence",1949],[10,"Serializer",1982],[5,"KeychainTxOutIndex",1970],[5,"FullScanRequest",1972],[5,"SyncRequest",1972],[5,"TypeId",1983],[5,"TxNode",1952],[1,"str"],[5,"LargestFirstCoinSelection",446,1953],[5,"OldestFirstCoinSelection",446,1953],[5,"BranchAndBoundCoinSelection",446,1953],[10,"CoinSelectionAlgorithm",446,1953],[5,"Vec",1984],[5,"CoinSelectionResult",446,1953],[6,"Error",446,1953],[6,"Excess",446,1953],[6,"Descriptor",545,1977],[5,"Address",1985],[6,"Error",1986],[10,"MiniscriptKey",1986],[10,"ToPublicKey",1986],[6,"ScriptContextEnum",1307],[5,"Miniscript",545,1987],[6,"Terminal",1988],[10,"ScriptContext",1307,1989],[6,"Tree",1990],[6,"DescriptorPublicKey",1307,1991],[5,"DefiniteDescriptorKey",1991],[6,"ConversionError",1991],[6,"Placeholder",1992],[5,"Satisfaction",1992],[10,"AssetProvider",1993],[17,"Key"],[6,"ScriptContextError",1989],[17,"Sha256"],[5,"Hash",1994],[17,"Hash256"],[5,"Hash",1995],[17,"Ripemd160"],[5,"Hash",1996],[17,"Hash160"],[5,"Hash",1997],[10,"ParseableKey",1988],[6,"Legacy",545,1989],[6,"Segwitv0",545,1989],[10,"Ord",1959],[5,"PublicKey",1998],[10,"Verification",1999],[6,"DescriptorType",1977],[5,"DescriptorId",2000],[10,"FromStrKey",2001],[5,"ExtParams",2002],[6,"AnalysisError",2002],[10,"ExtractPolicy",545],[6,"BuildSatisfaction",840],[5,"Range",2003],[17,"Output"],[10,"FnMut",2004],[5,"Bare",2005],[5,"Pkh",2005],[5,"Wsh",2006],[5,"Wpkh",2006],[5,"Sh",2007],[5,"Tr",2008],[5,"Type",2009],[5,"ExtData",2010],[5,"Tree",2011],[1,"usize"],[10,"Satisfier",1992],[10,"Hash",1974],[5,"Iter",2012],[5,"PkIter",2012],[6,"Policy",2013],[6,"LiftError",2014],[5,"Weight",2015],[6,"BareCtx",1989],[6,"TapTree",2008],[6,"DescriptorSecretKey",1307,1991],[10,"Signing",1999],[10,"PartialOrd",1959],[5,"Plan",1993],[5,"TxIn",1949],[6,"SigType",1989],[6,"TranslateErr",1986],[10,"Translator",1986],[1,"array"],[6,"PolicyError",840],[6,"Error",2016],[6,"KeyError",1307],[6,"HexToBytesError",2017],[6,"Error",2018],[6,"ParsePublicKeyError",1998],[6,"PkOrF",840],[6,"SatisfiableItem",840],[6,"Satisfaction",840],[5,"Condition",840],[10,"DescriptorTemplate",1023],[8,"DescriptorTemplateOut",1023],[5,"P2Pkh",1023],[10,"IntoDescriptorKey",1307],[5,"P2Wpkh_P2Sh",1023],[5,"P2Wpkh",1023],[5,"P2TR",1023],[6,"Tap",1989],[5,"Bip44",1023],[10,"DerivableKey",1307],[5,"Bip44Public",1023],[5,"Bip49",1023],[5,"Bip49Public",1023],[5,"Bip84",1023],[5,"Bip84Public",1023],[5,"Bip86",1023],[5,"Bip86Public",1023],[6,"MiniscriptPsbtError",1207,1955],[6,"Error",2019],[5,"FullyNodedExport",1284,2020],[8,"ValidNetworks",1307],[5,"SortedMultiVec",1307,2021],[5,"GeneratedKey",1307],[5,"PrivateKeyGenerateOptions",1307],[5,"SinglePub",1307,1991],[5,"SinglePriv",1307,1991],[6,"SinglePubKey",1307,1991],[6,"DescriptorKey",1307],[5,"Xpriv",2018],[6,"ExtendedKey",1307],[5,"Xpub",2018],[10,"FromStr",2022],[5,"DerivationPath",2018],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",1307],[10,"AsMut",1951],[10,"Default",2023],[10,"GeneratableDefaultOptions",1307],[10,"CryptoRng",2024],[10,"RngCore",2024],[5,"Assets",1993],[8,"KeySource",2018],[5,"Fingerprint",2018],[5,"DescriptorKeyParseError",1991],[10,"PsbtUtils",1623],[6,"Error",2025],[6,"SignerId",1629,1938],[6,"SignerContext",1629,1938],[5,"SignerWrapper",1629,1938],[10,"Sized",2026],[6,"TapLeavesOptions",1629,1938],[10,"SignerCommon",1629,1938],[5,"PrivateKey",1998],[5,"DescriptorXKey",1991],[5,"DescriptorMultiXKey",1991],[10,"InputSigner",1629,1938],[5,"PushBytes",2027],[10,"AsRef",1951],[6,"AddForeignUtxoError",1816,1954],[6,"AddUtxoError",1816,1954],[6,"ChangeSpendPolicy",1816,1954],[6,"TxOrdering",1816,1954],[6,"LockTime",2028],[1,"i32"],[15,"InvalidTxid",1931],[15,"UnexpectedConnectedToHash",432],[15,"Network",434],[15,"Genesis",434],[15,"Descriptor",434],[15,"Custom",1933],[15,"Foreign",443],[15,"InsufficientFunds",538],[15,"Change",540],[15,"NoChange",540],[8,"DerivedDescriptor",545],[15,"PsbtTimelocks",999],[15,"Complete",1002],[15,"Partial",1002],[15,"PartialComplete",1002],[15,"Sha256Preimage",1013],[15,"Hash256Preimage",1013],[15,"Ripemd160Preimage",1013],[15,"Hash160Preimage",1013],[15,"Thresh",1013],[15,"Multisig",1013],[15,"AbsoluteTimelock",1013],[15,"RelativeTimelock",1013],[15,"RbfSequenceCsv",1278],[15,"LockTime",1278],[15,"FeeTooLow",1278],[15,"FeeRateTooLow",1278],[8,"WalletExport",1284],[10,"ExtScriptContext",1307],[15,"Tap",1815]],"r":[[0,1954],[1,1954],[2,1936],[3,1936],[4,1935],[8,1958],[9,1954],[10,1960],[11,1964],[19,545],[24,1975],[25,1937],[26,1936],[27,1936],[28,1960],[29,1964],[31,1937],[41,1964],[43,1938],[44,1954],[45,1954],[49,1936],[50,1937],[53,1936],[54,1937],[127,1936],[177,1936],[178,1936],[310,1941],[325,1936],[326,1936],[334,545],[386,1936],[429,1936],[448,1953],[450,1953],[451,1953],[452,1953],[453,1953],[454,1953],[456,1953],[458,1953],[481,1953],[549,1977],[551,1991],[558,1989],[559,1987],[564,840],[565,1989],[566,1989],[600,805],[1207,1955],[1210,1955],[1218,1955],[1284,2020],[1285,2020],[1310,1991],[1311,1991],[1326,1977],[1336,1989],[1341,1991],[1342,1991],[1343,1991],[1344,2021],[1627,2029],[1628,2029],[1636,1938],[1653,1938],[1654,1938],[1655,1938],[1656,1938],[1657,1938],[1658,1938],[1659,1938],[1660,1938],[1662,1938],[1663,1938],[1816,1954],[1817,1954],[1820,1954],[1827,1954],[1828,1954]],"b":[[130,"impl-Wallet"],[131,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[132,"impl-PersistWith%3CConnection%3E-for-Wallet"],[133,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[181,"impl-Display-for-Balance"],[182,"impl-Debug-for-Balance"],[188,"impl-Display-for-LoadWithPersistError%3CE%3E"],[189,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[190,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[191,"impl-Display-for-CreateWithPersistError%3CE%3E"],[194,"impl-Debug-for-AddressInfo"],[195,"impl-Display-for-AddressInfo"],[196,"impl-Debug-for-LoadError"],[197,"impl-Display-for-LoadError"],[199,"impl-Debug-for-ApplyBlockError"],[200,"impl-Display-for-ApplyBlockError"],[209,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[210,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[211,"impl-From%3CChangeSet%3E-for-ChangeSet"],[213,"impl-From%3CChangeSet%3E-for-ChangeSet"],[219,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[220,"impl-From%3CSyncResult%3E-for-Update"],[273,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[274,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[275,"impl-PersistWith%3CConnection%3E-for-Wallet"],[276,"impl-Wallet"],[300,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[301,"impl-PersistWith%3CConnection%3E-for-Wallet"],[302,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[328,"impl-Wallet"],[329,"impl-Staged-for-Wallet"],[487,"impl-Debug-for-Error"],[488,"impl-Display-for-Error"],[638,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[639,"impl-Descriptor%3CDescriptorPublicKey%3E"],[666,"impl-Display-for-Descriptor%3CPk%3E"],[667,"impl-Debug-for-Descriptor%3CPk%3E"],[670,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[671,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[674,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[675,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[676,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[677,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[678,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[680,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[824,"impl-Debug-for-Error"],[825,"impl-Display-for-Error"],[827,"impl-From%3CPolicyError%3E-for-Error"],[828,"impl-From%3CError%3E-for-Error"],[829,"impl-From%3CKeyError%3E-for-Error"],[830,"impl-From%3CHexToBytesError%3E-for-Error"],[831,"impl-From%3CError%3E-for-Error"],[832,"impl-From%3CError%3E-for-Error"],[833,"impl-From%3CParsePublicKeyError%3E-for-Error"],[927,"impl-Display-for-PolicyError"],[928,"impl-Debug-for-PolicyError"],[1245,"impl-Display-for-MiniscriptPsbtError"],[1246,"impl-Debug-for-MiniscriptPsbtError"],[1247,"impl-Debug-for-CreateTxError"],[1248,"impl-Display-for-CreateTxError"],[1249,"impl-Display-for-BuildFeeBumpError"],[1250,"impl-Debug-for-BuildFeeBumpError"],[1252,"impl-From%3CError%3E-for-CreateTxError"],[1253,"impl-From%3CError%3E-for-CreateTxError"],[1254,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1256,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1257,"impl-From%3CError%3E-for-CreateTxError"],[1294,"impl-Display-for-FullyNodedExport"],[1295,"impl-Debug-for-FullyNodedExport"],[1440,"impl-Display-for-KeyError"],[1441,"impl-Debug-for-KeyError"],[1442,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1443,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1444,"impl-Display-for-DescriptorPublicKey"],[1445,"impl-Debug-for-DescriptorPublicKey"],[1446,"impl-Debug-for-DescriptorSecretKey"],[1447,"impl-Display-for-DescriptorSecretKey"],[1452,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1454,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1459,"impl-From%3CError%3E-for-KeyError"],[1460,"impl-From%3CError%3E-for-KeyError"],[1503,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1504,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1710,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1711,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1712,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1727,"impl-Display-for-SignerError"],[1728,"impl-Debug-for-SignerError"],[1735,"impl-From%3CFingerprint%3E-for-SignerId"],[1737,"impl-From%3CHash%3E-for-SignerId"],[1747,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1749,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1765,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1766,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1767,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1875,"impl-Debug-for-AddUtxoError"],[1876,"impl-Display-for-AddUtxoError"],[1877,"impl-Display-for-AddForeignUtxoError"],[1878,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAH4CyALUAgYFhQXtBQ==","e":"OzAAAAEAAA4EhQAUAAAAOAAAAEMAAQBHACAAbQAAAHEADgCEAAIAiwAEAJgAGQC0AAAAtgATANIAAgDWAAAA2AAAANwAAQDgAAAA6wABAAQBAAASAQIAIAEAACsBAAAtAQIANgEAADwBBQBHAQAASgEAAE8BDQBjAR8AiAEPAJ4BDwDMAREA3wECAOMBAgDoAQYA/wEbACcCAAA1AgAASQIBAEwCAABOAgcAWQIAAFsCAQBeAgAAYQIBAGQCAQBoAgEAawIBAG4CAQBxAgsAggIDAIcCCwCYAgEAmwIMAKkCAACvAgAAvAIDAMcCAADNAgEA0QIBANgCAQDuAgMA8wIBAAEDAQAEAwEACAMFABMDBwAcAwMAIQMDADYDBAA8AwYARAMEAGwDGQCIAxoApQMAAKgDAACtAwEAvAMAAL8DBADFAyIADgQXACcELwBvBEgA1gQNAOUEAgDpBAEA7wQPAAkFAQANBQAADwUBABIFAAAWBQUASgUXAGwFFQCDBQEAhgUAAIgFJQCvBQAAtAUBALkFAADABQEAzQUDAN0FAADgBQQA5gUBAPYFAQD7BQAABQYAAAoGAwATBgAAFwYIACEGAwAoBi8AhwYPAJgGFACvBg4AvwYJAMoGAADSBgAA1AYCAOIGAQDmBgIA6gYAAO4GBwD4Bh8AMQcJADwHBgBFBwEATAcCAFMHBgBfBwAAawcAAHEHEwCHBwQA"}],\ ["example_bitcoind_rpc_polling",{"t":"PSISSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","ChangeSet","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[70,"example_bitcoind_rpc_polling::RpcCommands"],[72,"clap::builder::command"],[73,"core::sync::atomic"],[74,"core::time"],[75,"core::fmt"],[76,"clap::parser::matches::arg_matches"],[77,"clap::error"],[78,"core::result"],[79,"anyhow"],[80,"bitcoincore_rpc::client"],[81,"alloc::sync"],[82,"core::any"]],"i":[10,0,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"```````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",72],[5,"AtomicBool",73],[1,"reference"],[5,"Duration",74],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",75],[8,"Result",75],[5,"ArgMatches",76],[5,"Error",77],[6,"Result",78],[1,"str"],[8,"Result",79],[5,"Client",80],[5,"Arc",81],[5,"TypeId",82],[15,"Sync",70],[15,"Live",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcACgAAAAEAAwAAAAUAAgAKAAIADwAPACAAAgAmAAQALgABADMADwBEAAQA"}],\ -["example_cli",{"t":"PGFPPPGGFPPFPGIIPPPPPPPIPPPGEONNNNNNNNENNNNNNNNNNNNNNNNOOENNNNNNNNNNNOOHOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNOOOOHONNNNNNNNNNOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","CreateTxChange","External","Index","Init","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","PlannedUtxo","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db","db_path","default","descriptor","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","index","index","index","index_changeset","init","init_changeset","into","into","into","into","into","into","into","into","into_app","into_app_for_update","keymap","network","partial_cmp","planned_utxos","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","chain_specific","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[177,"example_cli::AddressCmd"],[178,"example_cli::Commands"],[184,"example_cli::TxOutCmd"],[188,"clap::builder::command"],[189,"core::clone"],[190,"clap::derive"],[191,"core::cmp"],[192,"miniscript::descriptor::key"],[193,"alloc::collections::btree::map"],[194,"bitcoin::address"],[195,"bitcoin::blockdata::transaction"],[196,"core::option"],[197,"anyhow"],[198,"bdk_chain::tx_data_traits"],[199,"bdk_chain::chain_oracle"],[200,"core::result"],[201,"serde::de"],[202,"core::fmt"],[203,"clap::parser::matches::arg_matches"],[204,"clap::error"],[205,"std::sync::mutex"],[206,"bdk_file_store::store"],[207,"bitcoin::network"],[208,"core::default"],[209,"serde::ser"],[210,"core::convert"],[211,"core::marker"],[212,"core::ops::function"],[213,"bdk_tmp_plan"],[214,"alloc::vec"],[215,"alloc::string"],[216,"core::any"]],"i":[4,0,0,4,8,4,0,0,0,11,9,0,11,0,0,0,8,9,10,9,8,9,8,0,4,8,4,0,0,52,34,34,4,9,10,4,9,10,0,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,21,0,4,8,9,10,11,4,8,9,10,11,11,34,34,0,52,34,8,34,11,11,11,11,11,4,8,8,9,10,11,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,8,0,4,9,10,14,21,52,21,0,52,21,52,34,4,8,9,10,11,34,34,52,34,11,0,11,4,8,9,10,11,8,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,21,52,34,4,8,9,10,11,60,61,62,62,62,63,62,64,64,64,64],"f":"``````````````````````````````{bb}0000000`{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{fc}}}{{d{fe}}}{}{}}0000000```{{{d{{h{ce}}}}}{{h{ce}}}{jl}{jn}}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{Af}}}Af}{{{d{c}}{d{fe}}}Ah{}{}}0000{{{d{Af}}{d{Af}}}Aj}``{{{d{f{Al{c}}}}{d{e}}{d{{Bb{AnB`}}}}A`BdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}CbCd}``{{}A`}`{c{{Cf{Af}}}Ch}{{{d{Af}}{d{Af}}}Cj}{{{d{c}}{d{e}}}Cj{}{}}00{{{d{{h{ce}}}}{d{fCl}}}Cn{D`l}{D`n}}{{{d{A`}}{d{fCl}}}Cn}0{{{d{Ab}}{d{fCl}}}Cn}{{{d{Ad}}{d{fCl}}}Cn}{{{d{Af}}{d{fCl}}}Cn}0{cc{}}0000000{{{d{Db}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{Db}}}{{Cf{{h{ce}}Df}}}ln}{{{d{Db}}}{{Cf{AbDf}}}}{{{d{Db}}}{{Cf{AdDf}}}}{{{d{fDb}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{{h{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{AbDf}}}}{{{d{fDb}}}{{Cf{AdDf}}}}{{{d{Dh}}}{{Cf{A`c}}}{}}{{{d{{Dj{{Al{c}}}}}}{d{{Dj{{Dl{e}}}}}}{d{{Dj{g}}}}{d{{Bb{AnB`}}}}Dnk{h{mi}}}{{C`{Ah}}}Cb{E`EbEdEf{Ej{{Eh{c}}}}ElEnD`}Cdn{{Fb{i{d{Bh}}}{{F`{{C`{Ah}}}}}}}l}{{{d{Dh}}}Cj}00````{{{d{{Ff{Fd}}}}{d{Dh}}}{{C`{{Fh{ceg}}}}}ln{E`EbEfEdD`ElEn}}`{ce{}{}}0000000{{}b}0``{{{d{Af}}{d{Af}}}{{Bl{Aj}}}}{{{d{{Al{c}}}}{d{e}}{d{{Fj{g}}}}}{{Cf{{Fn{{Fl{gc}}}}}}}CbCd{jG`}}{{{d{Af}}c}CfGb}{{{d{c}}}e{}{}}0000{{{d{c}}}Gd{}}0{c{{Cf{e}}}{}{}}000000000000000{{{d{c}}}Gf{}}0000000{{{d{f{Dd{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{Db}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{Db}}}{{Cf{AhDf}}}}{{{d{f{Dd{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{fDb}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{fDb}}}{{Cf{AhDf}}}}{ce{}{}}0000000```````````","D":"E`","p":[[8,"Command",188],[1,"reference"],[0,"mut"],[6,"Commands",0],[10,"Clone",189],[10,"Subcommand",190],[10,"Args",190],[6,"CoinSelectionAlgo",0],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"Keychain",0],[1,"unit"],[6,"Ordering",191],[8,"KeychainTxGraph",0],[6,"DescriptorPublicKey",192],[6,"DescriptorSecretKey",192],[5,"BTreeMap",193],[5,"Address",194],[1,"u64"],[5,"Transaction",195],[5,"CreateTxChange",0],[6,"Option",196],[1,"tuple"],[8,"Result",197],[10,"Anchor",198],[10,"ChainOracle",199],[6,"Result",200],[10,"Deserializer",201],[1,"bool"],[5,"Formatter",202],[8,"Result",202],[10,"Debug",202],[5,"ArgMatches",203],[5,"Args",0],[5,"Error",204],[1,"str"],[5,"Mutex",205],[5,"Store",206],[6,"Network",207],[10,"Default",208],[10,"Merge",198],[10,"DeserializeOwned",201],[10,"Serialize",209],[8,"KeychainChangeSet",0],[10,"From",210],[10,"Send",211],[10,"Sync",211],[17,"Output"],[10,"FnOnce",212],[1,"u8"],[1,"slice"],[5,"Init",0],[5,"Assets",213],[8,"PlannedUtxo",0],[5,"Vec",214],[10,"CanDerive",213],[10,"Serializer",209],[5,"String",215],[5,"TypeId",216],[15,"List",177],[15,"Address",178],[15,"Send",178],[15,"TxOut",178],[15,"List",184]],"r":[],"b":[[82,"impl-Debug-for-CoinSelectionAlgo"],[83,"impl-Display-for-CoinSelectionAlgo"],[86,"impl-Debug-for-Keychain"],[87,"impl-Display-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJQAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA4AYQAMAG8AAABxAAAAfAABAH8AMgCzAAAAtQACAA=="}],\ +["example_cli",{"t":"PGFPPPGGFPPFPGIIPPPPPPPIPPPGEONNNNNNNNENNNNNNNNNNNNNNNNOOENNNNNNNNNNNOOHOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNOOOOHONNNNNNNNNNOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","CreateTxChange","External","Index","Init","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","PlannedUtxo","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db","db_path","default","descriptor","deserialize","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","index","index","index","index_changeset","init","init_changeset","into","into","into","into","into","into","into","into","into_app","into_app_for_update","keymap","network","partial_cmp","planned_utxos","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","chain_specific","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[177,"example_cli::AddressCmd"],[178,"example_cli::Commands"],[184,"example_cli::TxOutCmd"],[188,"clap::builder::command"],[189,"core::clone"],[190,"clap::derive"],[191,"core::cmp"],[192,"miniscript::descriptor::key"],[193,"alloc::collections::btree::map"],[194,"bitcoin::address"],[195,"bitcoin::blockdata::transaction"],[196,"core::option"],[197,"anyhow"],[198,"bdk_chain::tx_data_traits"],[199,"bdk_chain::chain_oracle"],[200,"core::result"],[201,"serde::de"],[202,"core::fmt"],[203,"clap::parser::matches::arg_matches"],[204,"clap::error"],[205,"std::sync::mutex"],[206,"bdk_file_store::store"],[207,"bitcoin::network"],[208,"core::default"],[209,"serde::ser"],[210,"core::convert"],[211,"core::marker"],[212,"core::ops::function"],[213,"bdk_tmp_plan"],[214,"alloc::vec"],[215,"alloc::string"],[216,"core::any"]],"i":[4,0,0,4,8,4,0,0,0,11,9,0,11,0,0,0,8,9,10,9,8,9,8,0,4,8,4,0,0,52,34,34,4,9,10,4,9,10,0,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,21,0,4,8,9,10,11,4,8,9,10,11,11,34,34,0,52,34,8,34,11,11,11,11,11,4,8,8,9,10,11,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,8,0,4,9,10,14,21,52,21,0,52,21,52,34,4,8,9,10,11,34,34,52,34,11,0,11,4,8,9,10,11,8,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,21,52,34,4,8,9,10,11,34,4,9,10,34,4,9,10,21,52,34,4,8,9,10,11,60,61,62,62,62,63,62,64,64,64,64],"f":"``````````````````````````````{bb}0000000`{{{d{c}}}{{d{e}}}{}{}}0000000{{{d{fc}}}{{d{fe}}}{}{}}0000000```{{{d{{h{ce}}}}}{{h{ce}}}{jl}{jn}}{{{d{A`}}}A`}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{Af}}}Af}{{{d{c}}{d{fe}}}Ah{}{}}0000{{{d{Af}}{d{Af}}}Aj}``{{{d{f{Al{c}}}}{d{e}}{d{{Bb{AnB`}}}}A`BdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}CbCd}``{{}A`}`{c{{Cf{Af}}}Ch}{{{d{Af}}{d{Af}}}Cj}{{{d{c}}{d{e}}}Cj{}{}}00{{{d{{h{ce}}}}{d{fCl}}}Cn{D`l}{D`n}}{{{d{A`}}{d{fCl}}}Cn}0{{{d{Ab}}{d{fCl}}}Cn}{{{d{Ad}}{d{fCl}}}Cn}{{{d{Af}}{d{fCl}}}Cn}0{cc{}}0000000{{{d{Db}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{Db}}}{{Cf{{h{ce}}Df}}}ln}{{{d{Db}}}{{Cf{AbDf}}}}{{{d{Db}}}{{Cf{AdDf}}}}{{{d{fDb}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{{h{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{AbDf}}}}{{{d{fDb}}}{{Cf{AdDf}}}}{{{d{Dh}}}{{Cf{A`c}}}{}}{{{d{{Dj{{Al{c}}}}}}{d{{Dj{{Dl{e}}}}}}{d{{Dj{g}}}}{d{{Bb{AnB`}}}}Dnk{h{mi}}}{{C`{Ah}}}Cb{E`EbEdEf{Ej{{Eh{c}}}}ElEnD`}Cdn{{Fb{i{d{Bh}}}{{F`{{C`{Ah}}}}}}}l}{{{d{Dh}}}Cj}00````{{{d{{Ff{Fd}}}}{d{Dh}}}{{C`{{Fh{ceg}}}}}ln{E`EbEfEdD`ElEn}}`{ce{}{}}0000000{{}b}0``{{{d{Af}}{d{Af}}}{{Bl{Aj}}}}{{{d{{Al{c}}}}{d{e}}{d{{Fj{g}}}}}{{Cf{{Fn{{Fl{gc}}}}}}}CbCd{jG`}}{{{d{Af}}c}CfGb}{{{d{c}}}e{}{}}0000{{{d{c}}}Gd{}}0{c{{Cf{e}}}{}{}}000000000000000{{{d{c}}}Gf{}}0000000{{{d{f{Dd{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{Db}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{Db}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{Db}}}{{Cf{AhDf}}}}{{{d{f{Dd{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{f{h{ce}}}}{d{fDb}}}{{Cf{AhDf}}}ln}{{{d{fAb}}{d{fDb}}}{{Cf{AhDf}}}}{{{d{fAd}}{d{fDb}}}{{Cf{AhDf}}}}{ce{}{}}0000000```````````","D":"E`","p":[[8,"Command",188],[1,"reference"],[0,"mut"],[6,"Commands",0],[10,"Clone",189],[10,"Subcommand",190],[10,"Args",190],[6,"CoinSelectionAlgo",0],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"Keychain",0],[1,"unit"],[6,"Ordering",191],[8,"KeychainTxGraph",0],[6,"DescriptorPublicKey",192],[6,"DescriptorSecretKey",192],[5,"BTreeMap",193],[5,"Address",194],[1,"u64"],[5,"Transaction",195],[5,"CreateTxChange",0],[6,"Option",196],[1,"tuple"],[8,"Result",197],[10,"Anchor",198],[10,"ChainOracle",199],[6,"Result",200],[10,"Deserializer",201],[1,"bool"],[5,"Formatter",202],[8,"Result",202],[10,"Debug",202],[5,"ArgMatches",203],[5,"Args",0],[5,"Error",204],[1,"str"],[5,"Mutex",205],[5,"Store",206],[6,"Network",207],[10,"Default",208],[10,"Merge",198],[10,"DeserializeOwned",201],[10,"Serialize",209],[8,"KeychainChangeSet",0],[10,"From",210],[10,"Send",211],[10,"Sync",211],[17,"Output"],[10,"FnOnce",212],[1,"u8"],[1,"slice"],[5,"Init",0],[5,"Assets",213],[8,"PlannedUtxo",0],[5,"Vec",214],[10,"CanDerive",213],[10,"Serializer",209],[5,"String",215],[5,"TypeId",216],[15,"List",177],[15,"Address",178],[15,"Send",178],[15,"TxOut",178],[15,"List",184]],"r":[],"b":[[82,"impl-Debug-for-CoinSelectionAlgo"],[83,"impl-Display-for-CoinSelectionAlgo"],[86,"impl-Display-for-Keychain"],[87,"impl-Debug-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJQAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA4AYQAMAG8AAABxAAAAfAABAH8AMgCzAAAAtQACAA=="}],\ ["example_electrum",{"t":"ISSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[71,"example_electrum::ElectrumCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"electrum_client::client"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"````````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",80],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",81],[5,"Client",82],[8,"Result",83],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkABQAQAA0AHwADACYABgAwABcASQADAA=="}],\ ["example_esplora",{"t":"ISSFGPFPNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","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"],[71,"example_esplora::EsploraCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"esplora_client::blocking"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,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",80],[1,"reference"],[0,"mut"],[5,"EsploraArgs",0],[6,"Network",81],[5,"BlockingClient",82],[8,"Result",83],[6,"EsploraCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkAFAAfAAIAJQAGAC8AAgAzABQASQADAA=="}],\ ["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/settings.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html index 1ee22d6039..d75e264032 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html @@ -1 +1 @@ -Settings

Rustdoc settings

Back
\ No newline at end of file +Settings

Rustdoc settings

Back
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.PersistWith.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.PersistWith.js index eb11aadc0c..f6b21a7527 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.PersistWith.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.PersistWith.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"bdk_wallet":[["impl PersistWith<Connection> for Wallet"],["impl PersistWith<Store<ChangeSet>> for Wallet"],["impl<'c> PersistWith<Transaction<'c>> for Wallet"]] +"bdk_wallet":[["impl PersistWith<Connection> for Wallet"],["impl PersistWith<Store<ChangeSet>> for Wallet"],["impl<'c> PersistWith<Transaction<'c>> for Wallet"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.Staged.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.Staged.js index 971a74895b..16e5aea7d6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.Staged.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/persist/trait.Staged.js @@ -1,3 +1,3 @@ (function() {var implementors = { -"bdk_wallet":[["impl Staged for Wallet"]] +"bdk_wallet":[["impl Staged for Wallet"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Merge.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Merge.js index 133165b933..3f4352797d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Merge.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_chain/tx_data_traits/trait.Merge.js @@ -1,4 +1,4 @@ (function() {var implementors = { "bdk_chain":[], -"bdk_wallet":[["impl Merge for ChangeSet"]] +"bdk_wallet":[["impl Merge 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/core/convert/trait.AsRef.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js index f85fedae4e..a54eb9a2cf 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js @@ -1,4 +1,4 @@ (function() {var implementors = { "bdk_chain":[["impl AsRef<[u8; 32]> for DescriptorId"],["impl AsRef<[u8]> for DescriptorId"],["impl<A> AsRef<TxGraph<A>> for TxGraph<A>"],["impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>"]], -"bdk_wallet":[["impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]] +"bdk_wallet":[["impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js index 5ba68a7376..b82c378234 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 @@ -3,6 +3,6 @@ "bdk_coin_select":[["impl From<usize> for BnbLimit"],["impl From<Duration> for BnbLimit"]], "bdk_file_store":[["impl From<Error> for FileError"],["impl From<Error> for IterError"]], "bdk_tmp_plan":[["impl From<Error> for SigningError"],["impl From<P2wpkhError> for SigningError"],["impl From<TaprootError> for SigningError"]], -"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<ConfirmationBlockTime, ChangeSet>> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<FullScanResult<KeychainKind>> for Update"],["impl From<SyncResult> for Update"],["impl From<ChangeSet<ConfirmationBlockTime>> 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<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<ParsePublicKeyError> for Error"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"],["impl<E> From<LoadMismatch> for LoadWithPersistError<E>"]], +"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"]] };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/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 0420b20fc1..ab043738ac 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"],["
source§

impl<K, V> Merge for BTreeMap<K, V>
where\n K: Ord,

source§

fn merge(&mut self, other: BTreeMap<K, V>)

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.
","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 2f94667f00..8ab34b1526 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":[["
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.
","AsRef>","example_cli::KeychainTxGraph"],["
source§

impl<A, I> Debug for IndexedTxGraph<A, I>
where\n A: Debug,\n I: Debug,

source§

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

Formats the value using the given formatter. Read more
","Debug","example_cli::KeychainTxGraph"],["
source§

impl<A, I> Default for IndexedTxGraph<A, I>
where\n I: Default,

source§

fn default() -> IndexedTxGraph<A, I>

Returns the “default value” for a type. Read more
","Default","example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>

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

\n
source

pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

\n

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

\n

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

\n
source

pub fn apply_block(\n &mut self,\n block: Block,\n height: u32\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

Batch insert all transactions of the given block of height.

\n

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

\n

To only insert relevant transactions, use apply_block_relevant instead.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>

source

pub fn new(index: I) -> IndexedTxGraph<A, I>

Construct a new IndexedTxGraph with a given index.

\n
source

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

Get a reference of the internal transaction graph.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

impl<A, I> IndexedTxGraph<A, I>
where\n A: Anchor,\n I: Indexer,

source

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

Applies the ChangeSet to the IndexedTxGraph.

\n
source

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

Determines the ChangeSet between self and an empty IndexedTxGraph.

\n
",0,"example_cli::KeychainTxGraph"],["
source§

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

source

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

Apply an update directly.

\n

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

\n
source

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

Insert a floating txout of given outpoint.

\n
source

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

Insert and index a transaction into the graph.

\n
source

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

Insert an anchor for a given transaction.

\n
source

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

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

\n

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

\n
source

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

Batch insert transactions, filtering out those that are irrelevant.

\n

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

\n
source

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

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

\n

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

\n

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

\n
source

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

Batch insert unconfirmed transactions.

\n

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

\n

To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

\n
",0,"example_cli::KeychainTxGraph"]] +"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"]] };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/persist/struct.Persisted.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/persist/struct.Persisted.js index ab67f55e86..c89462e06c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/persist/struct.Persisted.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/persist/struct.Persisted.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
source§

impl<T> Debug for Persisted<T>
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::wallet::persisted::PersistedWallet"],["
source§

impl<T> Deref for Persisted<T>

§

type Target = T

The resulting type after dereferencing.
source§

fn deref(&self) -> &<Persisted<T> as Deref>::Target

Dereferences the value.
","Deref","bdk_wallet::wallet::persisted::PersistedWallet"],["
source§

impl<T> DerefMut for Persisted<T>

source§

fn deref_mut(&mut self) -> &mut <Persisted<T> as Deref>::Target

Mutably dereferences the value.
","DerefMut","bdk_wallet::wallet::persisted::PersistedWallet"],["
source§

impl<T> Ord for Persisted<T>
where\n T: Ord,

source§

fn cmp(&self, other: &Persisted<T>) -> 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::wallet::persisted::PersistedWallet"],["
source§

impl<T> PartialEq for Persisted<T>
where\n T: PartialEq,

source§

fn eq(&self, other: &Persisted<T>) -> bool

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::wallet::persisted::PersistedWallet"],["
source§

impl<T> PartialOrd for Persisted<T>
where\n T: PartialOrd,

source§

fn partial_cmp(&self, other: &Persisted<T>) -> 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::wallet::persisted::PersistedWallet"],["
source§

impl<T> Persisted<T>

source

pub fn create<Db>(\n db: &mut Db,\n params: <T as PersistWith<Db>>::CreateParams\n) -> Result<Persisted<T>, <T as PersistWith<Db>>::CreateError>
where\n T: PersistWith<Db>,

Create a new persisted T.

\n
source

pub async fn create_async<Db>(\n db: &mut Db,\n params: <T as PersistAsyncWith<Db>>::CreateParams\n) -> Result<Persisted<T>, <T as PersistAsyncWith<Db>>::CreateError>
where\n T: PersistAsyncWith<Db>,

Create a new persisted T with async Db.

\n
source

pub fn load<Db>(\n db: &mut Db,\n params: <T as PersistWith<Db>>::LoadParams\n) -> Result<Option<Persisted<T>>, <T as PersistWith<Db>>::LoadError>
where\n T: PersistWith<Db>,

Construct a persisted T from Db.

\n
source

pub async fn load_async<Db>(\n db: &mut Db,\n params: <T as PersistAsyncWith<Db>>::LoadParams\n) -> Result<Option<Persisted<T>>, <T as PersistAsyncWith<Db>>::LoadError>
where\n T: PersistAsyncWith<Db>,

Contruct a persisted T from an async Db.

\n
source

pub fn persist<Db>(\n &mut self,\n db: &mut Db\n) -> Result<bool, <T as PersistWith<Db>>::PersistError>
where\n T: PersistWith<Db>,

Persist staged changes of T into Db.

\n

If the database errors, the staged changes will not be cleared.

\n
source

pub async fn persist_async<'a, Db>(\n &'a mut self,\n db: &'a mut Db\n) -> Result<bool, <T as PersistAsyncWith<Db>>::PersistError>
where\n T: PersistAsyncWith<Db>,

Persist staged changes of T into an async Db.

\n

If the database errors, the staged changes will not be cleared.

\n
",0,"bdk_wallet::wallet::persisted::PersistedWallet"],["
source§

impl<T> Eq for Persisted<T>
where\n T: Eq,

","Eq","bdk_wallet::wallet::persisted::PersistedWallet"],["
source§

impl<T> StructuralPartialEq for Persisted<T>

","StructuralPartialEq","bdk_wallet::wallet::persisted::PersistedWallet"]] +"bdk_wallet":[["
§

impl<T> Debug for Persisted<T>
where\n T: Debug,

§

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

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> Deref for Persisted<T>

§

type Target = T

The resulting type after dereferencing.
§

fn deref(&self) -> &<Persisted<T> as Deref>::Target

Dereferences the value.
","Deref","bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> DerefMut for Persisted<T>

§

fn deref_mut(&mut self) -> &mut <Persisted<T> as Deref>::Target

Mutably dereferences the value.
","DerefMut","bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> Ord for Persisted<T>
where\n T: Ord,

§

fn cmp(&self, other: &Persisted<T>) -> 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::wallet::persisted::PersistedWallet"],["
§

impl<T> PartialEq for Persisted<T>
where\n T: PartialEq,

§

fn eq(&self, other: &Persisted<T>) -> bool

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

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

This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
","PartialEq","bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> PartialOrd for Persisted<T>
where\n T: PartialOrd,

§

fn partial_cmp(&self, other: &Persisted<T>) -> 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::wallet::persisted::PersistedWallet"],["
§

impl<T> Persisted<T>

pub fn create<Db>(\n db: &mut Db,\n params: <T as PersistWith<Db>>::CreateParams\n) -> Result<Persisted<T>, <T as PersistWith<Db>>::CreateError>
where\n T: PersistWith<Db>,

Create a new persisted T.

\n

pub async fn create_async<Db>(\n db: &mut Db,\n params: <T as PersistAsyncWith<Db>>::CreateParams\n) -> Result<Persisted<T>, <T as PersistAsyncWith<Db>>::CreateError>
where\n T: PersistAsyncWith<Db>,

Create a new persisted T with async Db.

\n

pub fn load<Db>(\n db: &mut Db,\n params: <T as PersistWith<Db>>::LoadParams\n) -> Result<Option<Persisted<T>>, <T as PersistWith<Db>>::LoadError>
where\n T: PersistWith<Db>,

Construct a persisted T from Db.

\n

pub async fn load_async<Db>(\n db: &mut Db,\n params: <T as PersistAsyncWith<Db>>::LoadParams\n) -> Result<Option<Persisted<T>>, <T as PersistAsyncWith<Db>>::LoadError>
where\n T: PersistAsyncWith<Db>,

Contruct a persisted T from an async Db.

\n

pub fn persist<Db>(\n &mut self,\n db: &mut Db\n) -> Result<bool, <T as PersistWith<Db>>::PersistError>
where\n T: PersistWith<Db>,

Persist staged changes of T into Db.

\n

If the database errors, the staged changes will not be cleared.

\n

pub async fn persist_async<'a, Db>(\n &'a mut self,\n db: &'a mut Db\n) -> Result<bool, <T as PersistAsyncWith<Db>>::PersistError>
where\n T: PersistAsyncWith<Db>,

Persist staged changes of T into an async Db.

\n

If the database errors, the staged changes will not be cleared.

\n
",0,"bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> Eq for Persisted<T>
where\n T: Eq,

","Eq","bdk_wallet::wallet::persisted::PersistedWallet"],["
§

impl<T> StructuralPartialEq for Persisted<T>

","StructuralPartialEq","bdk_wallet::wallet::persisted::PersistedWallet"]] };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 1e7902c763..a24f4a6f15 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
§

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

§

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

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

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

Performs copy-assignment from source. Read more
","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Debug for Descriptor<Pk>
where\n Pk: MiniscriptKey,

§

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

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n
§Examples
\n
use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
\n
§Errors
\n

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

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DefiniteDescriptorKey>

pub fn plan<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n

pub fn plan_mall<P>(\n self,\n provider: &P\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
where\n P: AssetProvider<DefiniteDescriptorKey>,

Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

\n

If the assets aren’t sufficient for generating a Plan, the descriptor is returned

\n
",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl Descriptor<DescriptorPublicKey>

pub fn is_deriveable(&self) -> bool

👎Deprecated: use has_wildcards instead

Whether or not the descriptor has any wildcards

\n

pub fn has_wildcard(&self) -> bool

Whether or not the descriptor has any wildcards i.e. /*.

\n

pub fn at_derivation_index(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

\n
§Errors
\n
    \n
  • If index ≥ 2^31
  • \n
\n

pub fn derive(\n &self,\n index: u32\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

👎Deprecated: use at_derivation_index instead

Deprecated name for Self::at_derivation_index.

\n

pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32\n) -> Result<Descriptor<PublicKey>, ConversionError>
where\n C: Verification,

Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

\n

This is a shorthand for:

\n\n
    .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
\n

and is only here really here for backwards compatbility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

\n
§Errors
\n

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

\n

pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
where\n C: Signing,

Parse a descriptor that may contain secret keys

\n

Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

\n

pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

Serialize a descriptor to string with its secret keys

\n

pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
where\n C: Verification,

Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

\n

If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

\n

pub fn is_multipath(&self) -> bool

Whether this descriptor contains a key that has multiple derivation paths.

\n

pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

Get as many descriptors as different paths in this descriptor.

\n

For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey + ToPublicKey,

pub fn address(&self, network: Network) -> Result<Address, Error>

Computes the Bitcoin address of the descriptor, if one exists

\n

Some descriptors like pk() don’t have an address.

\n
§Errors
\n

For raw/bare descriptors that don’t have an address.

\n

pub fn script_pubkey(&self) -> ScriptBuf

Computes the scriptpubkey of the descriptor.

\n

pub fn unsigned_script_sig(&self) -> ScriptBuf

Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

\n

This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

\n

pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn script_code(&self) -> Result<ScriptBuf, Error>

Computes the scriptCode of a transaction output.

\n

The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
where\n S: Satisfier<Pk>,

Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey,

pub fn new_pk(pk: Pk) -> Descriptor<Pk>

Create a new pk descriptor

\n

pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new PkH descriptor

\n

pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

\n

pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

\n

pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

\n

pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

\n

pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wpkh descriptor

\n

pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wsh descriptor

\n

pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

\n

pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

\n

pub fn desc_type(&self) -> DescriptorType

Get the [DescriptorType] of Descriptor

\n

pub fn sanity_check(&self) -> Result<(), Error>

Checks whether the descriptor is safe.

\n

Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

\n

In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

\n

pub fn max_weight_to_satisfy(&self) -> Result<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"],["
source§

impl DescriptorExt for Descriptor<DescriptorPublicKey>

source§

fn dust_value(&self) -> u64

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

fn descriptor_id(&self) -> DescriptorId

Returns the descriptor ID, calculated as the sha256 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 compatbility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

\n
§Errors
\n

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

\n

pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
where\n C: Signing,

Parse a descriptor that may contain secret keys

\n

Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

\n

pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>\n) -> String

Serialize a descriptor to string with its secret keys

\n

pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
where\n C: Verification,

Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

\n

If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

\n

pub fn is_multipath(&self) -> bool

Whether this descriptor contains a key that has multiple derivation paths.

\n

pub fn into_single_descriptors(\n self\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

Get as many descriptors as different paths in this descriptor.

\n

For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey + ToPublicKey,

pub fn address(&self, network: Network) -> Result<Address, Error>

Computes the Bitcoin address of the descriptor, if one exists

\n

Some descriptors like pk() don’t have an address.

\n
§Errors
\n

For raw/bare descriptors that don’t have an address.

\n

pub fn script_pubkey(&self) -> ScriptBuf

Computes the scriptpubkey of the descriptor.

\n

pub fn unsigned_script_sig(&self) -> ScriptBuf

Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

\n

This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

\n

pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn script_code(&self) -> Result<ScriptBuf, Error>

Computes the scriptCode of a transaction output.

\n

The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

\n
§Errors
\n

If the descriptor is a taproot descriptor.

\n

pub fn get_satisfaction<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
where\n S: Satisfier<Pk>,

Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

\n

pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
where\n S: Satisfier<Pk>,

Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

\n
",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
§

impl<Pk> Descriptor<Pk>
where\n Pk: MiniscriptKey,

pub fn new_pk(pk: Pk) -> Descriptor<Pk>

Create a new pk descriptor

\n

pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new PkH descriptor

\n

pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

\n

pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

\n

pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

\n

pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

\n

pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

\n

pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wpkh descriptor

\n

pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

Create a new sh wrapper for the given wsh descriptor

\n

pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

\n

pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>\n) -> Result<Descriptor<Pk>, Error>

Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

\n

pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>\n) -> Result<Descriptor<Pk>, Error>

Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

\n

pub fn desc_type(&self) -> DescriptorType

Get the [DescriptorType] of Descriptor

\n

pub fn sanity_check(&self) -> Result<(), Error>

Checks whether the descriptor is safe.

\n

Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

\n

In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

\n

pub fn max_weight_to_satisfy(&self) -> Result<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