From: github-actions Date: Tue, 25 Jun 2024 19:26:35 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/scripts/static/enum.CreateTxError.html?a=commitdiff_plain;h=8b9e90eb8d7ee12bc4021492198a61d2a0b7a4e6;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html index b9c800d826..9d464413ab 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: Anchor, IA: Append> Append for ChangeSet<A, IA>

source§

fn append(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

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

Take the value, replacing it with the default value.
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<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

source§

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

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
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<K, A> From<ChangeSet<A, ChangeSet<K>>> for CombinedChangeSet<K, A>

source§

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

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
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/keychain/enum.InsertDescriptorError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/enum.InsertDescriptorError.html index ba0114e42e..c5eee17261 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/enum.InsertDescriptorError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/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/keychain/struct.Balance.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.Balance.html index e5f1ff6f92..f7e7d743c4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.Balance.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.Balance.html @@ -12,8 +12,8 @@

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

source

pub fn total(&self) -> Amount

Get the whole balance visible to the wallet.

-

Trait Implementations§

source§

impl Add for Balance

§

type Output = Balance

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for Balance

source§

fn clone(&self) -> Balance

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Balance

source§

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

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

impl Default for Balance

source§

fn default() -> Balance

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

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

source§

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

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

impl Display for Balance

source§

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

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

impl PartialEq for Balance

source§

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

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

Trait Implementations§

source§

impl Add for Balance

§

type Output = Balance

The resulting type after applying the + operator.
source§

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

Performs the + operation. Read more
source§

impl Clone for Balance

source§

fn clone(&self) -> Balance

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Balance

source§

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

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

impl Default for Balance

source§

fn default() -> Balance

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

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

source§

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

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

impl Display for Balance

source§

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

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

impl PartialEq for Balance

source§

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

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

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

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

impl Serialize for Balance

source§

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

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

impl Eq for Balance

source§

impl StructuralPartialEq for Balance

Auto Trait Implementations§

§

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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html index 8e54a0c4f4..3c718cf7e7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html @@ -15,7 +15,7 @@ same one-to-one keychain <-> descriptor mapping invariant as

source§

fn is_empty(&self) -> bool

Returns whether the changeset are empty.

source§

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

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

impl<K: Clone> Clone for ChangeSet<K>

source§

fn clone(&self) -> ChangeSet<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 ChangeSet<K>

source§

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

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

impl<K> Default for ChangeSet<K>

source§

fn default() -> Self

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

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

source§

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

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

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

impl<K: PartialEq> PartialEq for ChangeSet<K>

source§

fn eq(&self, other: &ChangeSet<K>) -> 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, K> From<ChangeSet<K>> for ChangeSet<A, ChangeSet<K>>

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

impl<K: PartialEq> PartialEq for ChangeSet<K>

source§

fn eq(&self, other: &ChangeSet<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> Serialize for ChangeSet<K>
where K: Ord + Serialize,

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html index 09578b5ece..56bdc42483 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.AlterCheckPointError.html @@ -6,7 +6,7 @@

Fields§

§height: u32

The checkpoint’s height.

§original_hash: BlockHash

The original checkpoint’s block hash which cannot be replaced/removed.

§update_hash: Option<BlockHash>

The attempted update to the original_block hash.

-

Trait Implementations§

source§

impl Clone for AlterCheckPointError

source§

fn clone(&self) -> AlterCheckPointError

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 AlterCheckPointError

source§

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

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

impl Display for AlterCheckPointError

source§

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

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

impl Error for AlterCheckPointError

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 AlterCheckPointError

source§

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

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

Trait Implementations§

source§

impl Clone for AlterCheckPointError

source§

fn clone(&self) -> AlterCheckPointError

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 AlterCheckPointError

source§

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

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

impl Display for AlterCheckPointError

source§

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

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

impl Error for AlterCheckPointError

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 AlterCheckPointError

source§

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

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 69bdf4cde2..a50286844b 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.CombinedChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CombinedChangeSet.html index 69a360c048..2d3365a513 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CombinedChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CombinedChangeSet.html @@ -9,7 +9,7 @@

Trait Implementations§

source§

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

source§

fn append(&mut self, other: Self)

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

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

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

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

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

source§

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

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

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

Performs copy-assignment from source. Read more
source§

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

source§

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

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

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

source§

fn default() -> Self

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

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

source§

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

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

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

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

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

source§

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

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

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

source§

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

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

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

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

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

source§

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

Converts to this type from the input type.
source§

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

source§

fn from(indexer: ChangeSet<K>) -> Self

Converts to this type from the input type.
source§

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

source§

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

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

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

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

impl<K, A> Serialize for CombinedChangeSet<K, A>
where A: Ord + Serialize, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.DescriptorId.html index 210c26af2a..255653081c 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 @@ -6,7 +6,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 @@ -14,7 +14,7 @@ any conditions.
Sha256dHash, so here we are.
source§

fn engine() -> Self::Engine

Constructs a new engine.
source§

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

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

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

Copies a byte slice into a hash object.
source§

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

Constructs a hash from the underlying byte array.
source§

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.
source§

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

Returns a reference to the underlying byte array.
source§

fn all_zeros() -> Self

Returns an all zero hash. Read more
§

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

Hashes some bytes.
§

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

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

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

§

type Output = <I as SliceIndex<[u8]>>::Output

The returned type after indexing.
source§

fn index(&self, index: I) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

fn max(self, other: Self) -> Self
where + I: IntoIterator<Item = B>,

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

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

§

type Output = <I as SliceIndex<[u8]>>::Output

The returned type after indexing.
source§

fn index(&self, index: I) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
source§

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

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

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

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

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

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

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

impl PartialEq for DescriptorId

source§

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

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

§

impl Freeze for DescriptorId

§

impl RefUnwindSafe for DescriptorId

§

impl Send for DescriptorId

§

impl Sync for DescriptorId

§

impl Unpin for DescriptorId

§

impl UnwindSafe for DescriptorId

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_chain/tx_graph/struct.TxAncestors.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html index 1e49163a1a..a0f45e81f7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html @@ -194,9 +194,9 @@ function. 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<I> ByteIterExt for I
where I: Iterator<Item = u8>,

§

fn bytes_to_fes(self) -> BytesToFes<Self>

Adapts the byte iterator to output GF32 field elements instead. Read more
§

impl<T> CheckedSum<Amount> for T
where - T: Iterator<Item = Amount>,

§

fn checked_sum(self) -> Option<Amount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would + T: Iterator<Item = Amount>,
§

fn checked_sum(self) -> Option<Amount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would happen it returns None.
§

impl<T> CheckedSum<SignedAmount> for T
where - T: Iterator<Item = SignedAmount>,

§

fn checked_sum(self) -> Option<SignedAmount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would + T: Iterator<Item = SignedAmount>,
§

fn checked_sum(self) -> Option<SignedAmount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would happen it returns None.
§

impl<I> Fe32IterExt for I
where I: Iterator<Item = Fe32>,

§

fn fes_to_bytes(self) -> FesToBytes<Self>

Adapts the Fe32 iterator to output bytes instead. Read more
§

fn with_checksum<Ck>(self, hrp: &Hrp) -> Encoder<'_, Self, Ck>
where Ck: Checksum,

Adapts the Fe32 iterator to encode the field elements into a bech32 address.
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_chain/tx_graph/struct.TxDescendants.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html index 01e4b257a7..897d52e845 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html @@ -193,9 +193,9 @@ function. 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<I> ByteIterExt for I
where I: Iterator<Item = u8>,

§

fn bytes_to_fes(self) -> BytesToFes<Self>

Adapts the byte iterator to output GF32 field elements instead. Read more
§

impl<T> CheckedSum<Amount> for T
where - T: Iterator<Item = Amount>,

§

fn checked_sum(self) -> Option<Amount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would + T: Iterator<Item = Amount>,
§

fn checked_sum(self) -> Option<Amount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would happen it returns None.
§

impl<T> CheckedSum<SignedAmount> for T
where - T: Iterator<Item = SignedAmount>,

§

fn checked_sum(self) -> Option<SignedAmount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would + T: Iterator<Item = SignedAmount>,
§

fn checked_sum(self) -> Option<SignedAmount>

Calculate the sum over the iterator using checked arithmetic. If an over or underflow would happen it returns None.
§

impl<I> Fe32IterExt for I
where I: Iterator<Item = Fe32>,

§

fn fes_to_bytes(self) -> FesToBytes<Self>

Adapts the Fe32 iterator to output bytes instead. Read more
§

fn with_checksum<Ck>(self, hrp: &Hrp) -> Encoder<'_, Self, Ck>
where Ck: Checksum,

Adapts the Fe32 iterator to encode the field elements into a bech32 address.
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.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 717004edae..54033098a4 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 3aa459992e..502fd1ffe5 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_coin_select/struct.SelectionError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/struct.SelectionError.html index 888e52bff1..8858f44b2f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/struct.SelectionError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/struct.SelectionError.html @@ -1,4 +1,4 @@ -SelectionError in bdk_coin_select - Rust

Struct bdk_coin_select::SelectionError

source ·
pub struct SelectionError { /* private fields */ }

Trait Implementations§

source§

impl Clone for SelectionError

source§

fn clone(&self) -> SelectionError

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 SelectionError

source§

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

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

impl Display for SelectionError

source§

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

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

impl Error for SelectionError

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 +SelectionError in bdk_coin_select - Rust

Struct bdk_coin_select::SelectionError

source ·
pub struct SelectionError { /* private fields */ }

Trait Implementations§

source§

impl Clone for SelectionError

source§

fn clone(&self) -> SelectionError

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 SelectionError

source§

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

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

impl Display for SelectionError

source§

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

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

impl Error for SelectionError

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_electrum/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html index 868f8fed17..09c3960e57 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/index.html @@ -1,4 +1,4 @@ -bdk_electrum - Rust

Crate bdk_electrum

source ·
Expand description

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

+bdk_electrum - Rust

Crate bdk_electrum

source ·
Expand description

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

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

+bdk_chain.

Refer to example_electrum for a complete example.

-

Re-exports§

  • pub use bdk_chain;
  • pub use electrum_client;

Structs§

  • Wrapper around an [electrum_client::ElectrumApi] which includes an internal in-memory +

Re-exports§

Structs§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html index 67a8f827fd..3f8de38535 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_electrum/struct.BdkElectrumClient.html @@ -5,7 +5,7 @@ transaction cache to avoid re-fetching already downloaded transactions.

Fields§

§inner: E

The internal [electrum_client::ElectrumApi]

Implementations§

source§

impl<E: ElectrumApi> BdkElectrumClient<E>

source

pub fn new(client: E) -> Self

Creates a new bdk client from a [electrum_client::ElectrumApi]

-
source

pub fn populate_tx_cache<A>(&self, tx_graph: impl AsRef<TxGraph<A>>)

Inserts transactions into the transaction cache so that the client will not fetch these +

source

pub fn populate_tx_cache<A>(&self, tx_graph: impl AsRef<TxGraph<A>>)

Inserts transactions into the transaction cache so that the client will not fetch these transactions.

source

pub fn fetch_tx(&self, txid: Txid) -> Result<Arc<Transaction>, Error>

Fetch transaction of given txid.

If it hits the cache it will return the cached version and avoid making the request.

@@ -13,15 +13,15 @@ transactions.

This is a re-export of [ElectrumApi::transaction_broadcast].

source

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

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

+returns updates for bdk_chain data structures.

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

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

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

+and returns updates for bdk_chain data structures.

source

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

Return [FullScanResult] with [ConfirmationTimeHeightAnchor].

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

Return FullScanResult with ConfirmationTimeHeightAnchor.

This requires additional calls to the Electrum server.

Auto Trait Implementations§

§

impl<K> Freeze for ElectrumFullScanResult<K>

§

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

§

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

Struct bdk_electrum::ElectrumSyncResult

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

The result of BdkElectrumClient::sync.

-

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

+

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

Implementations§

source§

impl ElectrumSyncResult

source

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

Return [SyncResult] with [ConfirmationHeightAnchor].

+) -> SyncResult<ConfirmationHeightAnchor>

source

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

Return [SyncResult] with [ConfirmationTimeHeightAnchor].

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

Return SyncResult with ConfirmationTimeHeightAnchor.

This requires additional calls to the Electrum server.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.FileError.html index a5905ec09c..28bd785283 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§

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§

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/enum.IterError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.IterError.html index 38a18a3108..2c58c8c765 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.IterError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/enum.IterError.html @@ -4,7 +4,7 @@ }
Expand description

Error type for EntryIter.

Variants§

§

Io(Error)

Failure to read from the file.

§

Bincode(ErrorKind)

Failure to decode data from the file.

-

Trait Implementations§

source§

impl Debug for IterError

source§

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

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

impl Display for IterError

source§

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

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

impl Error for IterError

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 IterError

source§

fn from(value: 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 IterError

source§

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

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

impl Display for IterError

source§

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

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

impl Error for IterError

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 IterError

source§

fn from(value: 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_file_store/struct.AggregateChangesetsError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html index 1a6586014d..84c23d6e0b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.AggregateChangesetsError.html @@ -4,7 +4,7 @@ }
Expand description

Fields§

§changeset: Option<C>

The partially-aggregated changeset.

§iter_error: IterError

The error returned by EntryIter.

-

Trait Implementations§

source§

impl<C: Debug> Debug for AggregateChangesetsError<C>

source§

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

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

impl<C> Display for AggregateChangesetsError<C>

source§

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

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

impl<C: Debug> Error for AggregateChangesetsError<C>

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

§

impl<C> Freeze for AggregateChangesetsError<C>
where +

Trait Implementations§

source§

impl<C: Debug> Debug for AggregateChangesetsError<C>

source§

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

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

impl<C> Display for AggregateChangesetsError<C>

source§

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

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

impl<C: Debug> Error for AggregateChangesetsError<C>

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

§

impl<C> Freeze for AggregateChangesetsError<C>
where C: Freeze,

§

impl<C> !RefUnwindSafe for AggregateChangesetsError<C>

§

impl<C> Send for AggregateChangesetsError<C>
where C: Send,

§

impl<C> Sync for AggregateChangesetsError<C>
where C: Sync,

§

impl<C> Unpin for AggregateChangesetsError<C>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html index 15f0077bec..759f40e9e2 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 @@ -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 c2431ab8e2..54191096cd 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.

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.
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.

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/policy/enum.PolicyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/policy/enum.PolicyError.html index 8bac101f36..2852b2f42c 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/keys/enum.KeyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html index 1ad7a50661..5fbbfbdf9c 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.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

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.

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/keys/trait.IntoDescriptorKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.IntoDescriptorKey.html index 64ac3842ce..a70cff9637 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.IntoDescriptorKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.IntoDescriptorKey.html @@ -107,4 +107,4 @@ makes the compiler (correctly) fail.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for &str

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for PrivateKey

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for PublicKey

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for XOnlyPublicKey

source§

impl<Ctx: ScriptContext, T: DerivableKey<Ctx>> IntoDescriptorKey<Ctx> for (T, DerivationPath)

source§

impl<Ctx: ScriptContext, T: DerivableKey<Ctx>> IntoDescriptorKey<Ctx> for (T, KeySource, DerivationPath)

Implementors§

source§

impl<Ctx, K> IntoDescriptorKey<Ctx> for GeneratedKey<K, Ctx>
where Ctx: ScriptContext, K: IntoDescriptorKey<Ctx>,

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorKey<Ctx>

The “identity” conversion is used internally by some bdk_wallet::fragments

-
source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorPublicKey

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorSecretKey

\ No newline at end of file +
source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorPublicKey

source§

impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorSecretKey

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.LoadError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.LoadError.html index 3b1feafc51..8c82442327 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.LoadError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.LoadError.html @@ -9,7 +9,7 @@
§

MissingNetwork

Data loaded from persistence is missing network type.

§

MissingGenesis

Data loaded from persistence is missing genesis hash.

§

MissingDescriptor(KeychainKind)

Data loaded from persistence is missing descriptor.

-

Trait Implementations§

source§

impl Debug for LoadError

source§

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

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

impl Display for LoadError

source§

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

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

impl Error for LoadError

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 LoadError

source§

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

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

impl Display for LoadError

source§

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

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

impl Error for LoadError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewError.html index 3a5157fb19..3fdaceb404 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewError.html @@ -3,7 +3,7 @@ }
Expand description

The error type when constructing a fresh Wallet.

Methods new and new_with_genesis_hash may return this error.

Variants§

§

Descriptor(DescriptorError)

There was problem with the passed-in descriptor(s).

-

Trait Implementations§

source§

impl Debug for NewError

source§

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

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

impl Display for NewError

source§

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

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

impl Error for NewError

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 NewError

source§

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

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

impl Display for NewError

source§

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

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

impl Error for NewError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.CreateTxError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.CreateTxError.html index 3e699e9f1e..1f9164f91a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.CreateTxError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/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/wallet/export/struct.FullyNodedExport.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/export/struct.FullyNodedExport.html index f14f4a3e35..fc272c1e53 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/export/struct.FullyNodedExport.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/export/struct.FullyNodedExport.html @@ -21,7 +21,7 @@ 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 + __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/wallet/signer/enum.SignerContext.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerContext.html index 8b458f9081..5aa5c8c3c9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerContext.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerContext.html @@ -1,4 +1,4 @@ -SignerContext in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::SignerContext

source ·
pub enum SignerContext {
+SignerContext in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::SignerContext

source ·
pub enum SignerContext {
     Legacy,
     Segwitv0,
     Tap {
@@ -10,9 +10,9 @@
 
§

Segwitv0

Segwit v0 context (BIP 143)

§

Tap

Taproot context (BIP 340)

Fields

§is_internal_key: bool

Whether the signer can sign for the internal key or not

-

Trait Implementations§

source§

impl Clone for SignerContext

source§

fn clone(&self) -> SignerContext

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 SignerContext

source§

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

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

impl PartialEq for SignerContext

source§

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

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

Trait Implementations§

source§

impl Clone for SignerContext

source§

fn clone(&self) -> SignerContext

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 SignerContext

source§

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

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

impl PartialEq for SignerContext

source§

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

source§

impl Eq for SignerContext

source§

impl StructuralPartialEq for SignerContext

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Copy for SignerContext

source§

impl Eq for SignerContext

source§

impl StructuralPartialEq for SignerContext

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerError.html index 88a0633899..b88f505089 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerError.html @@ -1,5 +1,5 @@ -SignerError in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::SignerError

source ·
pub enum SignerError {
-
Show 16 variants MissingKey, +SignerError in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::SignerError

source ·
pub enum SignerError {
+
Show 15 variants MissingKey, InvalidKey, UserCanceled, InputIndexOutOfRange, @@ -10,9 +10,8 @@ MissingHdKeypath, NonStandardSighash, InvalidSighash, - SighashP2wpkh(P2wpkhError), SighashTaproot(TaprootError), - TxInputsIndexError(InputsIndexError), + Psbt(SignError), MiniscriptPsbt(MiniscriptPsbtError), External(String),
}
Expand description

Signing error

@@ -30,17 +29,16 @@ explicitly allowed them

To enable signing transactions with non-standard sighashes set SignOptions::allow_all_sighashes to true.

§

InvalidSighash

Invalid SIGHASH for the signing context in use

-
§

SighashP2wpkh(P2wpkhError)

Error while computing the hash to sign a P2WPKH input.

§

SighashTaproot(TaprootError)

Error while computing the hash to sign a Taproot input.

-
§

TxInputsIndexError(InputsIndexError)

Error while computing the hash, out of bounds access on the transaction inputs.

+
§

Psbt(SignError)

PSBT sign error.

§

MiniscriptPsbt(MiniscriptPsbtError)

Miniscript PSBT error

§

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

impl From<InputsIndexError> for SignerError

source§

fn from(v: InputsIndexError) -> Self

Converts to this type from the input type.
source§

impl From<P2wpkhError> for SignerError

source§

fn from(e: P2wpkhError) -> Self

Converts to this type from the input type.
source§

impl From<TaprootError> for SignerError

source§

fn from(e: TaprootError) -> 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 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.

+ T: ?Sized,
source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.TapLeavesOptions.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.TapLeavesOptions.html index 365780d37d..b1daff9cdf 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.TapLeavesOptions.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.TapLeavesOptions.html @@ -1,4 +1,4 @@ -TapLeavesOptions in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::TapLeavesOptions

source ·
pub enum TapLeavesOptions {
+TapLeavesOptions in bdk_wallet::wallet::signer - Rust

Enum bdk_wallet::wallet::signer::TapLeavesOptions

source ·
pub enum TapLeavesOptions {
     All,
     Include(Vec<TapLeafHash>),
     Exclude(Vec<TapLeafHash>),
@@ -9,9 +9,9 @@
 some of the specified leaves, if it doesn’t have the right key to sign them.

§

Exclude(Vec<TapLeafHash>)

The signer won’t sign the specified leaves.

§

None

The signer won’t sign any leaf.

-

Trait Implementations§

source§

impl Clone for TapLeavesOptions

source§

fn clone(&self) -> TapLeavesOptions

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 TapLeavesOptions

source§

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

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

impl Default for TapLeavesOptions

source§

fn default() -> TapLeavesOptions

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

impl PartialEq for TapLeavesOptions

source§

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

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

Trait Implementations§

source§

impl Clone for TapLeavesOptions

source§

fn clone(&self) -> TapLeavesOptions

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 TapLeavesOptions

source§

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

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

impl Default for TapLeavesOptions

source§

fn default() -> TapLeavesOptions

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

impl PartialEq for TapLeavesOptions

source§

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

source§

impl StructuralPartialEq for TapLeavesOptions

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Eq for TapLeavesOptions

source§

impl StructuralPartialEq for TapLeavesOptions

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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

Module bdk_wallet::wallet::signer

source ·
Expand description

Generalized signers

+bdk_wallet::wallet::signer - Rust

Module bdk_wallet::wallet::signer

source ·
Expand description

Generalized signers

This module provides the ability to add customized signers to a Wallet through the Wallet::add_signer function.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignOptions.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignOptions.html index 3a7f40999d..4755b0b368 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignOptions.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignOptions.html @@ -1,4 +1,4 @@ -SignOptions in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignOptions

source ·
pub struct SignOptions {
+SignOptions in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignOptions

source ·
pub struct SignOptions {
     pub trust_witness_utxo: bool,
     pub assume_height: Option<u32>,
     pub allow_all_sighashes: bool,
@@ -36,7 +36,7 @@ or not. This option is ignored if we’re signing a non-taproot PSBT.

§allow_grinding: bool

Whether we should grind ECDSA signature to ensure signing with low r or not. Defaults to true, i.e., we always grind ECDSA signature to sign with low r.

-

Trait Implementations§

source§

impl Clone for SignOptions

source§

fn clone(&self) -> SignOptions

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 SignOptions

source§

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

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

impl Default for SignOptions

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for SignOptions

source§

fn clone(&self) -> SignOptions

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 SignOptions

source§

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

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

impl Default for SignOptions

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerOrdering.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerOrdering.html index 0bd108f29e..4dcb3ce1c3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerOrdering.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerOrdering.html @@ -1,15 +1,15 @@ -SignerOrdering in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignerOrdering

source ·
pub struct SignerOrdering(pub usize);
Expand description

Defines the order in which signers are called

+SignerOrdering in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignerOrdering

source ·
pub struct SignerOrdering(pub usize);
Expand description

Defines the order in which signers are called

The default value is 100. Signers with an ordering above that will be called later, and they will thus see the partial signatures added to the transaction once they get to sign themselves.

-

Tuple Fields§

§0: usize

Trait Implementations§

source§

impl Clone for SignerOrdering

source§

fn clone(&self) -> SignerOrdering

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 SignerOrdering

source§

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

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

impl Default for SignerOrdering

source§

fn default() -> Self

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

impl Ord for SignerOrdering

source§

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

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

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

Tuple Fields§

§0: usize

Trait Implementations§

source§

impl Clone for SignerOrdering

source§

fn clone(&self) -> SignerOrdering

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 SignerOrdering

source§

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

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

impl Default for SignerOrdering

source§

fn default() -> Self

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

impl Ord for SignerOrdering

source§

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

source§

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

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

impl PartialEq for SignerOrdering

source§

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

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

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

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

impl PartialOrd for SignerOrdering

source§

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

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

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

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

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

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

impl PartialOrd for SignerOrdering

source§

fn partial_cmp(&self, other: &SignerOrdering) -> 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 Eq for SignerOrdering

source§

impl StructuralPartialEq for SignerOrdering

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Eq for SignerOrdering

source§

impl StructuralPartialEq for SignerOrdering

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html index c8c1abb326..2e590650b2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html @@ -1,24 +1,24 @@ -SignerWrapper in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::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>>

source§

fn sign_input( +SignerWrapper in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::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>>

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 @@ -33,8 +33,8 @@

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

source§

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

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T> TransactionSigner for T
where - T: InputSigner,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

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

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

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

impl<T> TransactionSigner for T
where + T: InputSigner,

source§

fn sign_transaction( &self, psbt: &mut Psbt, sign_options: &SignOptions, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignersContainer.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignersContainer.html index 9edfba6262..21d29ca044 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignersContainer.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignersContainer.html @@ -1,29 +1,29 @@ -SignersContainer in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignersContainer

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

Container for multiple signers

-

Implementations§

source§

impl SignersContainer

source

pub fn as_key_map(&self, secp: &Secp256k1<All>) -> KeyMap

Create a map of public keys to secret keys

-
source

pub fn build( +SignersContainer in bdk_wallet::wallet::signer - Rust

Struct bdk_wallet::wallet::signer::SignersContainer

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

Container for multiple signers

+

Implementations§

source§

impl SignersContainer

source

pub fn as_key_map(&self, secp: &Secp256k1<All>) -> KeyMap

Create a map of public keys to secret keys

+
source

pub fn build( keymap: KeyMap, descriptor: &Descriptor<DescriptorPublicKey>, secp: &Secp256k1<All> ) -> SignersContainer

Build a new signer container from a KeyMap

Also looks at the corresponding descriptor to determine the SignerContext to attach to the signers

-
source§

impl SignersContainer

source

pub fn new() -> Self

Default constructor

-
source

pub fn add_external( +

source§

impl SignersContainer

source

pub fn new() -> Self

Default constructor

+
source

pub fn add_external( &mut self, id: SignerId, ordering: SignerOrdering, signer: Arc<dyn TransactionSigner> ) -> Option<Arc<dyn TransactionSigner>>

Adds an external signer to the container for the specified id. Optionally returns the signer that was previously in the container, if any

-
source

pub fn remove( +

source

pub fn remove( &mut self, id: SignerId, ordering: SignerOrdering ) -> Option<Arc<dyn TransactionSigner>>

Removes a signer from the container and returns it

-
source

pub fn ids(&self) -> Vec<&SignerId>

Returns the list of identifiers of all the signers in the container

-
source

pub fn signers(&self) -> Vec<&Arc<dyn TransactionSigner>>

Returns the list of signers in the container, sorted by lowest to highest ordering

-
source

pub fn find(&self, id: SignerId) -> Option<&Arc<dyn TransactionSigner>>

Finds the signer with lowest ordering for a given id in the container.

-

Trait Implementations§

source§

impl Clone for SignersContainer

source§

fn clone(&self) -> SignersContainer

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 SignersContainer

source§

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

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

impl Default for SignersContainer

source§

fn default() -> SignersContainer

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

source

pub fn ids(&self) -> Vec<&SignerId>

Returns the list of identifiers of all the signers in the container

+
source

pub fn signers(&self) -> Vec<&Arc<dyn TransactionSigner>>

Returns the list of signers in the container, sorted by lowest to highest ordering

+
source

pub fn find(&self, id: SignerId) -> Option<&Arc<dyn TransactionSigner>>

Finds the signer with lowest ordering for a given id in the container.

+

Trait Implementations§

source§

impl Clone for SignersContainer

source§

fn clone(&self) -> SignersContainer

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 SignersContainer

source§

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

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

impl Default for SignersContainer

source§

fn default() -> SignersContainer

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.InputSigner.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.InputSigner.html index debaf0c59e..694621ea9b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.InputSigner.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.InputSigner.html @@ -1,4 +1,4 @@ -InputSigner in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::InputSigner

source ·
pub trait InputSigner: SignerCommon {
+InputSigner in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::InputSigner

source ·
pub trait InputSigner: SignerCommon {
     // Required method
     fn sign_input(
         &self,
@@ -11,11 +11,11 @@
 

This trait can be implemented to provide custom signers to the wallet. If the signer supports signing individual inputs, this trait should be implemented and BDK will provide automatically an implementation for TransactionSigner.

-

Required Methods§

Required Methods§

source

fn sign_input( &self, psbt: &mut Psbt, input_index: usize, sign_options: &SignOptions, secp: &Secp256k1<All> ) -> Result<(), SignerError>

Sign a single psbt input

-

Implementors§

source§

impl InputSigner for SignerWrapper<DescriptorMultiXKey<Xpriv>>

source§

impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

source§

impl InputSigner for SignerWrapper<PrivateKey>

\ No newline at end of file +

Implementors§

source§

impl InputSigner for SignerWrapper<DescriptorMultiXKey<Xpriv>>

source§

impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

source§

impl InputSigner for SignerWrapper<PrivateKey>

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.SignerCommon.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.SignerCommon.html index 20b90b3638..101394035c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.SignerCommon.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.SignerCommon.html @@ -1,15 +1,15 @@ -SignerCommon in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::SignerCommon

source ·
pub trait SignerCommon: Debug + Send + Sync {
+SignerCommon in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::SignerCommon

source ·
pub trait SignerCommon: Debug + Send + Sync {
     // Required method
     fn id(&self, secp: &Secp256k1<All>) -> SignerId;
 
     // Provided method
     fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey> { ... }
 }
Expand description

Common signer methods

-

Required Methods§

source

fn id(&self, secp: &Secp256k1<All>) -> SignerId

Return the SignerId for this signer

+

Required Methods§

source

fn id(&self, secp: &Secp256k1<All>) -> SignerId

Return the SignerId for this signer

The SignerId can be used to lookup a signer in the Wallet’s signers map or to compare two signers.

-

Provided Methods§

source

fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

Return the secret key for the signer

+

Provided Methods§

source

fn descriptor_secret_key(&self) -> Option<DescriptorSecretKey>

Return the secret key for the signer

This is used internally to reconstruct the original descriptor that may contain secrets. External signers that are meant to keep key isolated should just return None here (which is the default for this method, if not overridden).

-

Implementors§

source§

impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

source§

impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

source§

impl SignerCommon for SignerWrapper<PrivateKey>

\ No newline at end of file +

Implementors§

source§

impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

source§

impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

source§

impl SignerCommon for SignerWrapper<PrivateKey>

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.TransactionSigner.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.TransactionSigner.html index e6ef543545..63b1600200 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.TransactionSigner.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/trait.TransactionSigner.html @@ -1,4 +1,4 @@ -TransactionSigner in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::TransactionSigner

source ·
pub trait TransactionSigner: SignerCommon {
+TransactionSigner in bdk_wallet::wallet::signer - Rust

Trait bdk_wallet::wallet::signer::TransactionSigner

source ·
pub trait TransactionSigner: SignerCommon {
     // Required method
     fn sign_transaction(
         &self,
@@ -9,10 +9,10 @@
 }
Expand description

PSBT signer

This trait can be implemented when the signer can’t sign inputs individually, but signs the whole transaction at once.

-

Required Methods§

Required Methods§

source

fn sign_transaction( &self, psbt: &mut Psbt, sign_options: &SignOptions, secp: &Secp256k1<All> ) -> Result<(), SignerError>

Sign all the inputs of the psbt

-

Implementors§

\ No newline at end of file +

Implementors§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.AddressInfo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.AddressInfo.html index f4753129b0..4c6e4caa89 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.AddressInfo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/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/wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html index cce549c8b3..366d9ea143 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html @@ -8,7 +8,7 @@ [KeychainTxOutIndex].

§graph: TxGraph<ConfirmationTimeHeightAnchor>

Update for the wallet’s internal [TxGraph].

§chain: Option<CheckPoint>

Update for the wallet’s internal LocalChain.

-

Trait Implementations§

source§

impl Clone for Update

source§

fn clone(&self) -> Update

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Update

source§

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

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

impl Default for Update

source§

fn default() -> Update

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

impl From<FullScanResult<KeychainKind>> for Update

source§

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

Converts to this type from the input type.
source§

impl From<SyncResult> for Update

source§

fn from(value: SyncResult) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for Update

source§

fn clone(&self) -> Update

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for Update

source§

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

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

impl Default for Update

source§

fn default() -> Update

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

impl From<FullScanResult<KeychainKind>> for Update

source§

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

Converts to this type from the input type.
source§

impl From<SyncResult> for Update

source§

fn from(value: SyncResult) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html index 231d0ff230..6881a45847 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html @@ -2,7 +2,7 @@ UnknownUtxo(OutPoint), }
Expand description

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

Variants§

§

UnknownUtxo(OutPoint)

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

-

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.Keychain.html index 593f64f759..ac2e18d736 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_electrum/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html index be32deed0e..3ec31251e2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_electrum/type.ChangeSet.html @@ -1 +1 @@ -ChangeSet in example_electrum - Rust

Type Alias example_electrum::ChangeSet

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

Type Alias example_electrum::ChangeSet

source ·
pub(crate) type ChangeSet = (ChangeSet, ChangeSet<ConfirmationHeightAnchor, ChangeSet<Keychain>>);
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index b8ffa47938..be1f53f918 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,15 +1,15 @@ 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":"KKKSFSKGFFGFPPKFRFEEEFFEPPNNMNNNOOMNNNNNNENNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNONNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNOONNNNCONNNNNNNNNNNNNMNNNMNNONNNCCNENONNNNONNNNNNNNNNNNDNNNNNNONCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONNNNNNNNNNNNNNNNNNNNNNNNNOOOFRFKNNNMNNNNNNNNNNNNNNNNNNNNNNNOOMMOMNNNNNNNNMNNNNNNNNNNNFFSPIGPIFFNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOFGPFIFFPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNGFFPPFFFFNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeHeightAnchor","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Indexed","IndexedTxGraph","KeychainIndexed","SpkIterator","SpkTxOutIndex","TxGraph","Unconfirmed","Unconfirmed","all_spks","all_zeros","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","append","apply_changeset","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","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","chain_position","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","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","default","default","default","default","default","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","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","from_block_position","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","hash","height","index","index_of_spk","index_tx","index_txout","indexed_tx_graph","indexed_tx_graph","initial_changeset","insert_spk","into","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_empty","is_mature","is_on_coinbase","is_relevant","is_tx_relevant","is_used","keychain","local_chain","mark_used","miniscript","net_value","network","new","new_with_range","next","nth","outpoint","outpoints","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serde","serialize","serialize","serialize","serialize","serialize","serialize","spent_by","spk_at_index","spk_client","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","ChangeSet","IndexedTxGraph","Indexer","append","apply_block","apply_block_relevant","apply_changeset","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","graph","index","index_tx","index_txout","indexer","initial_changeset","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","is_tx_relevant","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Balance","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","Indexed","InsertDescriptorError","KeychainAlreadyAssigned","KeychainIndexed","KeychainTxOutIndex","NoSuchKeychain","add","all_unbounded_spk_iters","append","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_descriptor","immature","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","keychains_added","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","net_value","new","next_index","next_unused_spk","outpoints","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","serialize","spk_at_index","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","unused_keychain_spks","unused_spks","vzip","vzip","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","AlterCheckPointError","ApplyHeaderError","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","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","disconnect_from","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","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_iter","into_iter","is_block_in_chain","iter","iter_checkpoints","new","next","original_hash","prev","push","range","range","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","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","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","append","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","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txs","map_anchors","map_anchors","new","next","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","to_string","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_chain_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[298,"bdk_chain::ConfirmationTime"],[301,"bdk_chain::indexed_tx_graph"],[358,"bdk_chain::keychain"],[497,"bdk_chain::keychain::InsertDescriptorError"],[501,"bdk_chain::local_chain"],[643,"bdk_chain::spk_client"],[707,"bdk_chain::tx_graph"],[868,"bdk_chain::spk_txout_index"],[869,"bitcoin::blockdata::script::owned"],[870,"alloc::collections::btree::map"],[871,"core::clone"],[872,"core::cmp"],[873,"core::fmt"],[874,"bdk_chain::descriptor_ext"],[875,"bdk_chain::tx_data_traits"],[876,"bdk_chain::chain_data"],[877,"bdk_chain::changeset"],[878,"bitcoin_hashes::sha256"],[879,"bdk_chain::spk_iter"],[880,"core::option"],[881,"miniscript::descriptor::key"],[882,"miniscript::descriptor"],[883,"core::borrow"],[884,"core::result"],[885,"serde::de"],[886,"bitcoin::blockdata::block"],[887,"bdk_chain::keychain::txout_index"],[888,"bitcoin_hashes"],[889,"bdk_chain::chain_oracle"],[890,"core::hash"],[891,"core::slice::index"],[892,"bitcoin::blockdata::script::borrowed"],[893,"bitcoin::blockdata::transaction"],[894,"bitcoin_units::amount"],[895,"core::ops::range"],[896,"alloc::collections::btree::set"],[897,"core::iter::traits::double_ended"],[898,"serde::ser"],[899,"alloc::string"],[900,"core::iter::traits::exact_size"],[901,"core::any"],[902,"core::iter::traits::collect"],[903,"core::default"],[904,"alloc::vec"],[905,"core::iter::traits::iterator"],[906,"core::marker"],[907,"core::ops::function"],[908,"core::convert"],[909,"alloc::sync"],[910,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,51,0,0,0,0,0,0,0,21,22,1,8,9,10,11,12,11,12,14,16,1,8,8,8,8,0,1,21,22,10,11,12,23,8,8,24,16,1,21,22,10,11,12,23,8,24,16,16,23,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,21,21,22,10,11,12,23,8,11,12,9,9,21,11,12,12,1,10,11,12,16,24,31,22,10,11,12,8,16,31,8,21,22,10,11,12,23,8,16,1,21,22,10,11,12,23,8,8,8,8,16,1,21,22,22,10,10,10,11,12,23,8,8,24,16,16,16,16,47,10,11,12,8,8,8,8,8,8,51,21,22,10,11,12,8,10,10,8,1,1,1,0,16,1,1,1,21,22,10,11,12,23,8,24,16,24,51,21,22,23,14,16,23,23,1,1,1,0,0,1,0,1,16,24,24,24,24,23,1,1,21,22,10,11,12,23,8,1,1,1,0,22,10,11,12,8,16,23,1,0,14,14,8,1,21,22,10,11,12,23,8,24,16,8,8,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,0,1,23,1,1,1,21,22,10,11,12,23,8,24,16,22,1,1,1,21,22,10,11,12,23,8,24,16,111,112,111,0,73,0,0,44,72,72,73,72,72,72,72,72,72,72,44,72,44,44,44,72,44,44,44,72,44,72,44,44,44,72,44,72,73,73,44,73,72,72,72,72,72,72,44,44,73,72,44,44,72,44,72,44,72,44,72,44,0,0,0,81,0,0,81,0,0,0,79,80,43,80,80,80,81,43,82,79,80,81,43,82,79,80,81,43,82,79,80,81,43,82,79,79,80,43,79,43,79,81,43,82,79,80,81,81,43,82,82,79,79,80,81,43,82,79,80,79,80,80,80,80,80,80,80,81,43,82,79,43,80,80,80,80,80,43,43,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,43,79,80,80,81,43,82,79,81,82,79,79,79,79,80,81,43,82,79,80,81,43,82,79,80,80,80,80,81,43,82,79,80,80,79,80,80,80,81,43,82,79,113,113,114,114,0,0,91,0,0,0,0,91,0,0,87,87,87,87,92,94,92,87,88,93,90,91,94,92,87,88,93,90,91,92,87,88,93,90,91,92,87,88,93,90,91,87,92,87,88,93,90,91,92,92,87,88,88,93,93,90,90,91,91,94,92,87,88,93,90,91,92,87,87,87,92,87,87,92,87,87,92,92,93,87,92,87,94,92,87,88,93,90,91,94,92,87,92,87,92,94,93,92,92,92,87,87,92,87,88,93,90,91,88,93,90,91,94,92,87,88,93,90,91,90,94,92,87,88,93,90,91,94,92,87,88,93,90,91,93,94,92,87,88,93,90,91,0,0,0,0,95,115,98,116,95,115,98,116,95,95,98,95,98,95,115,116,95,115,98,116,95,98,98,115,116,95,95,98,98,95,95,115,98,116,116,95,95,95,95,98,95,95,98,95,115,98,116,95,115,98,116,95,95,115,98,116,95,115,98,116,0,0,0,103,103,0,0,0,0,75,75,78,104,78,78,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,104,105,103,78,75,105,108,108,109,109,75,104,105,78,75,104,105,78,104,105,75,78,104,78,75,75,104,105,103,78,75,75,75,75,104,105,103,103,78,108,109,75,104,105,103,78,75,75,75,75,75,75,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,78,78,104,75,75,78,75,108,109,75,104,105,78,75,104,105,78,103,75,75,75,108,109,75,104,105,103,78,75,75,108,109,75,104,105,103,78,75,104,105,75,75,104,78,78,78,108,109,75,104,105,103,78,75,108,109,75,104,105,103,78,75,75,75],"f":"``````````````````````````{{{d{{b{c}}}}}{{d{{h{cf}}}}}{jln}}{{}A`}{{{d{Ab}}}Ad}{{{d{Ad}}}Ad}{{{d{Af}}}Ad}{{{d{Ah}}}Ad}``{{{d{AjAl}}Al}An}{{{d{Aj{B`{ce}}}}{B`{ce}}}AnlAb}{{{d{Aj{b{c}}}}e}An{jln}{}}{{{d{A`}}}{{d{c}}}{}}{{{d{A`}}}{{d{Bb}}}}{{{d{A`}}}{{d{{Bf{Bd}}}}}}{{{d{A`}}}{{d{{Bh{Bd}}}}}}`{{{d{c}}}{{d{e}}}{}{}}0000000200{{{d{Ajc}}}{{d{Aje}}}{}{}}000000000``{{{d{{b{c}}}}}{{b{c}}}j}{{{d{{Bj{c}}}}}{{Bj{c}}}j}{{{d{Bl}}}Bl}>{{{d{Af}}}Af}{{{d{Ah}}}Ah}{{{d{{Bn{c}}}}}{{Bn{c}}}j}{{{d{A`}}}A`}{{{d{{C`{c}}}}}{{C`{c}}}j}{{{d{{B`{ce}}}}}{{B`{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}000000000{{{Bj{{d{c}}}}}{{Bj{c}}}j}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}Cbl}{{{d{Bl}}{d{Bl}}}Cb}{{{d{Ad}}{d{Ad}}}Cb}{{{d{Af}}{d{Af}}}Cb}{{{d{Ah}}{d{Ah}}}Cb}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}Cbl}{{{d{A`}}{d{A`}}}Cb}``{{{d{Ab}}}Cd}0{{{d{{Bj{c}}}}}{{Cf{Cd}}}Ab}{{{d{Af}}}Cd}{{{d{Ah}}}Cd}`{{}{{b{c}}}{}}{{}Ad}{{}Af}{{}Ah}{{}{{B`{ce}}}{}{}}{{{d{{C`{c}}}}}{{d{c}}}{{Cl{{Cj{Ch}}}}}}{{{d{Cn}}}A`}{c{{D`{Bl}}}Db}{c{{D`{Ad}}}Db}{c{{D`{Af}}}Db}{c{{D`{Ah}}}Db}{c{{D`{A`}}}Db}{c{{D`{{B`{eg}}}}}Db{lDd}{lDd}}{{{d{Cn}}}Df}{{}c{}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}DhDj}{{{d{Bl}}{d{Bl}}}Dh}{{{d{Ad}}{d{Ad}}}Dh}{{{d{Af}}{d{Af}}}Dh}{{{d{Ah}}{d{Ah}}}Dh}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}DhDj}{{{d{A`}}{d{A`}}}Dh}{{{d{{B`{ce}}}}{d{{B`{ce}}}}}DhDjDj}{{{d{{b{c}}}}{d{AjDl}}}Dnn}{{{d{{Bj{c}}}}{d{AjDl}}}Dnn}{{{d{Bl}}{d{AjDl}}}Dn}{{{d{Ad}}{d{AjDl}}}Dn}{{{d{Af}}{d{AjDl}}}Dn}{{{d{Ah}}{d{AjDl}}}Dn}{{{d{{Bn{c}}}}{d{AjDl}}}Dnn}{{{d{A`}}{d{AjDl}}}Dn}000{{{d{{B`{ce}}}}{d{AjDl}}}Dnnn}{cc{}}00{{{Bj{Ah}}}Bl}{{{Eb{CdE`}}}Ad}2{{{Eb{{d{Cd}}{d{E`}}}}}Ad}333{BbA`}44{Ed{{B`{ce}}}{}{}}{{{Eh{c{Ef{e}}}}}{{B`{ec}}}{}{}}6{{{Ef{c}}}{{B`{ce}}}{}{}}{{{d{Ej}}AdEl}En}{{{d{Ej}}AdEl}Ad}{{{d{Ej}}AdEl}Af}{{{d{Ej}}AdEl}Ah}{cA`{}}08{{{d{{Bf{Bd}}}}}{{D`{A`F`}}}}0{{{d{Fb}}}{{D`{A`c}}}{}}{{{d{{Ff{}{{Fd{c}}}}}}}{{D`{Adc}}}n}{{{d{{Bj{c}}}}{d{Aje}}}AnFhFj}{{{d{Bl}}{d{Ajc}}}AnFj}{{{d{Ad}}{d{Ajc}}}AnFj}{{{d{Af}}{d{Ajc}}}AnFj}{{{d{Ah}}{d{Ajc}}}AnFj}{{{d{A`}}{d{Ajc}}}AnFj}``{{{d{A`}}c}{{d{e}}}{{Fl{{Bf{Bd}}}}}{}}{{{d{{b{c}}}}{d{Fn}}}{{Cf{{d{c}}}}}{jln}}{{{d{Aj{b{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}e{jln}{}}``{{{d{{b{c}}}}}e{jln}{}}{{{d{Aj{b{c}}}}cf}Dh{jln}}{ce{}{}}0000000000{{{d{{Ff{}{{Fd{c}}}}}}AdAd}{{D`{{Cf{Dh}}c}}}n}{{{d{{Bj{c}}}}}Dh{}}{{{d{Bl}}}Dh}{{{d{{Bn{c}}}}Cd}DhAb}{{{d{Al}}}Dh}{{{d{{B`{ce}}}}}DhlAb}2`{{{d{{b{c}}}}{d{G`}}}Dh{jln}}0{{{d{{b{c}}}}{d{c}}}Dh{jln}}``{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}`{{{d{{b{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}`{c{{C`{c}}}{{Cl{{Cj{Ch}}}}}}{{ce}{{C`{c}}}{{Cl{{Cj{Ch}}}}}{{Gh{Cd}}}}{{{d{Aj{C`{c}}}}}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}{{{d{Aj{C`{c}}}}El}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}`{{{d{{b{c}}}}}{{d{{Gj{{Eb{cGb}}}}}}}{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}{{Cf{Cb}}}H`}{{{d{Bl}}{d{Bl}}}{{Cf{Cb}}}}{{{d{Ad}}{d{Ad}}}{{Cf{Cb}}}}{{{d{Af}}{d{Af}}}{{Cf{Cb}}}}{{{d{Ah}}{d{Ah}}}{{Cf{Cb}}}}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}{{Cf{Cb}}}H`}{{{d{A`}}{d{A`}}}{{Cf{Cb}}}}{{{d{Aj{b{c}}}}{d{G`}}}{{Gj{c}}}{jln}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}{{Cf{{d{c}}}}}{jln}}{{{d{{b{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}`{{{d{Bl}}c}D`Hd}{{{d{Ad}}c}D`Hd}{{{d{Af}}c}D`Hd}{{{d{Ah}}c}D`Hd}{{{d{A`}}c}D`Hd}{{{d{{B`{ce}}}}g}D`{lHf}{lHf}Hd}`{{{d{{b{c}}}}{d{c}}}{{Cf{{d{Fn}}}}}{jln}}`{{{d{AjAl}}}{{Cf{Al}}}}0{A`c{}}{{{d{c}}}e{}{}}000000000{A`Bb}{{{d{c}}}Hh{}}{c{{D`{e}}}{}{}}0000000000000000000`{{{d{{b{c}}}}Gb}{{Cf{{Eb{{d{c}}{d{Gd}}}}}}}{jln}}`{{{d{{b{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}Hj}}}{jln}}{{{d{{b{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}000000000{DfBl}{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{Fn}}}}}}}}j}}}{jln}{{Gh{c}}}}{ce{}{}}000000000```````{{{d{Aj{Eh{ce}}}}{Eh{ce}}}AnAbAl}{{{d{Aj{I`{ce}}}}EjCd}{{Eh{c}}}{EnAb}Ib}{{{d{Aj{I`{ce}}}}{d{Ej}}Cd}{{Eh{c}}}{EnAb}Ib}{{{d{Aj{Ib{}{{Id{c}}}}}}c}An{}}{{{d{Aj{I`{ce}}}}{Eh{c}}}AnAbIb}{{{d{Aj{I`{ce}}}}{If{c}}}{{Eh{c}}}AbIb}{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}{{{d{Aj{I`{ce}}}}i}{{Eh{c}}}AbIb{{Ih{}{{Gl{c}}}}}{{Ih{}{{Gl{{Eb{{d{G`}}g}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Eh{c}}}AbIb{{Ih{}{{Gl{{Eb{{d{G`}}Df}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Eh{c}}}AbIb{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{Ajc}}}{{d{Aje}}}{}{}}0{{{d{{Eh{ce}}}}}{{Eh{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}{{}{{I`{ce}}}{}Ij}{{}{{Eh{ce}}}{}Ij}{c{{D`{{Eh{eg}}}}}Db{lDd}Dd}{{{d{{Eh{ce}}}}{d{{Eh{ce}}}}}DhDjDj}{{{d{{I`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Eh{ce}}}}{d{AjDl}}}Dnnn}{cc{}}{{{Ef{c}}}{{Eh{e{Ef{c}}}}}{}{}}1{{{Il{c}}}{{Eh{ce}}}{}Ij}{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}``{{{d{Aj{Ib{}{{Id{c}}}}}}{d{G`}}}c{}}{{{d{Aj{Ib{}{{Id{c}}}}}}Gb{d{Gd}}}c{}}`{{{d{{Ib{}{{Id{c}}}}}}}c{}}{{{d{{I`{ce}}}}}{{Eh{c}}}AbIb}{{{d{Aj{I`{ce}}}}Hlc}{{Eh{c}}}AbIb}{{{d{Aj{I`{ce}}}}HlDf}{{Eh{c}}}AbIb}{{{d{Aj{I`{ce}}}}G`}{{Eh{c}}}AbIb}{{{d{Aj{I`{ce}}}}GbGd}{{Eh{c}}}AbIb}{ce{}{}}0{{{d{{Eh{ce}}}}}DhAbAl}{{{d{{Ib{}{{Id{c}}}}}}{d{G`}}}Dh{}}{c{{I`{ec}}}{}{}}{{{d{{Eh{ce}}}}g}D`{lHf}HfHd}{{{d{c}}}e{}{}}{c{{D`{e}}}{}{}}000{{{d{c}}}Hn{}}077``````````{{InIn}In}{{{d{{J`{c}}}}}{{h{c{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{Ef{c}}}}{Ef{c}}}Anl}{{{d{Aj{J`{c}}}}e}An{jln}{}}{{{d{Aj{J`{c}}}}{Ef{c}}}An{jln}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Ajc}}}{{d{Aje}}}{}{}}0000{{{d{{J`{c}}}}}{{J`{c}}}j}{{{d{{Jb{c}}}}}{{Jb{c}}}j}{{{d{{Ef{c}}}}}{{Ef{c}}}j}{{{d{{Jd{c}}}}}{{Jd{c}}}j}{{{d{In}}}In}{{{d{c}}{d{Aje}}}An{}{}}0000`{{}{{J`{c}}}{}}{{}{{Ef{c}}}{}}{{}In}{c{{D`{{Ef{e}}}}}Db{lDd}}{c{{D`{In}}}Db}{{{d{{Jb{c}}}}{d{{Jb{c}}}}}DhDj}{{{d{{Ef{c}}}}{d{{Ef{c}}}}}DhDj}{{{d{{Jd{c}}}}{d{{Jd{c}}}}}DhDj}{{{d{In}}{d{In}}}Dh}{{{d{{J`{c}}}}{d{AjDl}}}Dnn}{{{d{{Jb{c}}}}{d{AjDl}}}Dnn}0{{{d{{Ef{c}}}}{d{AjDl}}}Dnn}{{{d{{Jd{c}}}}{d{AjDl}}}Dnn}0{{{d{In}}{d{AjDl}}}Dn}0{cc{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{d{{Cj{Ch}}}}}}}{jln}}`{{{d{{J`{c}}}}{d{Fn}}}{{Cf{{d{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{J`{c}}}}Gb{d{Gd}}}e{jln}{}}{{{d{{J`{c}}}}}e{jln}{}}{{{d{{J`{c}}}}}{{d{{b{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}c{Cj{Ch}}}{{D`{{Ef{c}}{Jb{c}}}}}{jln}}{ce{}{}}0000{{{d{{Ef{c}}}}}Dhl}{{{d{{J`{c}}}}{d{G`}}}Dh{jln}}{{{d{{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{Gb}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Gn{}{{Gl{{Jh{cGb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{{Cj{Ch}}}}}}}}}}Hj}}}{jln}}``{{{d{{J`{c}}}}{d{c}}}{{Cf{Cd}}}{jln}}{{{d{{J`{c}}}}}{{h{cCd}}}{jln}}10{{{d{{J`{c}}}}}Cd{jln}}{{{d{Aj{J`{c}}}}{d{c}}Cd}An{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}{Cd{{J`{c}}}{}}{{{d{{J`{c}}}}{d{c}}}{{Cf{{Eb{CdDh}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{c}}}{{Cf{{Eb{{Jf{f}}{Ef{c}}}}}}}{jln}}{{{d{{J`{c}}}}}{{d{{Gj{{Jh{cGb}}}}}}}{jln}}1{{{d{Aj{J`{c}}}}{d{c}}Cd}{{Cf{{Eb{{Jj{{Jf{f}}}}{Ef{c}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{{h{cCd}}}}}{{Ef{c}}}{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Jl{}{{Gl{{Jh{c{d{Fn}}}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}{{{d{{Ef{c}}}}e}D`{lHf}Hd}{{{d{In}}c}D`Hd}{{{d{{J`{c}}}}cCd}{{Cf{{d{Fn}}}}}{jln}}{{{d{c}}}e{}{}}0000{{{d{c}}}Hh{}}00{{{d{In}}}Hb}`0{c{{D`{e}}}{}{}}000000000{{{d{{J`{c}}}}Gb}{{Cf{{Jh{c{d{Gd}}}}}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}Hj}}}{jln}}{{{d{{J`{c}}}}Hl}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}`{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}j}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{d{Fn}}}}}}}}j}}}{jln}}{ce{}{}}0000``````````````{{{d{AjJn}}{d{Ed}}}{{D`{AnK`}}}}{{{d{AjJn}}{d{Kb}}Cd}{{D`{EdKd}}}}{{{d{AjJn}}{d{Kb}}CdAd}{{D`{EdKf}}}}{{{d{AjJn}}Kh}{{D`{EdKd}}}}{{{d{Kh}}}Ad}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{Kh}}}Kh}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kj}}}Kj}{{{d{Kd}}}Kd}{{{d{Kf}}}Kf}{{{d{c}}{d{Aje}}}An{}{}}00000{{{d{AjJn}}Ad}{{D`{EdK`}}}}{{{d{Kh}}{d{Kh}}}Dh}{{{d{Jn}}{d{Jn}}}Dh}{{{d{K`}}{d{K`}}}Dh}{{{d{Kj}}{d{Kj}}}Dh}{{{d{Kd}}{d{Kd}}}Dh}{{{d{Kf}}{d{Kf}}}Dh}{{Khc}{{D`{KhKh}}}{{Ih{}{{Gl{Ad}}}}}}{{{d{Kh}}{d{AjDl}}}Dn}{{{d{Jn}}{d{AjDl}}}Dn}{{{d{K`}}{d{AjDl}}}Dn}0{{{d{Kj}}{d{AjDl}}}Dn}0{{{d{Kd}}{d{AjDl}}}Dn}0{{{d{Kf}}{d{AjDl}}}Dn}0{cc{}}000000{c{{D`{Kh{Cf{Kh}}}}}{{Ih{}{{Gl{Ad}}}}}}{{{h{CdE`}}}{{D`{JnK`}}}}{Ed{{D`{JnK`}}}}{E`{{Eb{JnEd}}}}{{{d{Kb}}Cd}Kh}{Kh{{D`{JnK`}}}}{{{d{Jn}}}E`}{{{d{Kh}}Cd}{{Cf{Kh}}}}{{{d{Jn}}Cd}{{Cf{Kh}}}}{{{d{Jn}}}{{D`{Adc}}}{}}{{{d{Kh}}}E`}{{{d{Kh}}}Cd}`{{{d{Jn}}}Ed}{{KhAd}Kh}{{{d{AjJn}}Ad}{{D`{EdKj}}}}{ce{}{}}0000000{Khc{}}{{{d{Jn}}AdAd}{{D`{{Cf{Dh}}c}}}{}}{{{d{Kh}}}Kl}{{{d{Jn}}}Kl}{AdKh}{{{d{AjKl}}}{{Cf{c}}}{}}`{{{d{Kh}}}{{Cf{Kh}}}}{{KhAd}{{D`{KhKh}}}}{{{d{Kh}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}}Kh}{{{d{c}}}e{}{}}00000{{{d{c}}}Hh{}}000{c{{D`{e}}}{}{}}000000`0000000{{{d{c}}}Hn{}}000000`???????````{{{d{c}}}{{d{e}}}{}{}}000{{{d{Ajc}}}{{d{Aje}}}{}{}}000{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}{Gl{Gb}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}{Gl{f}}}}}}{{{Ld{c}}cg}{{Ld{c}}}{lj}{{Jl{}{{Gl{{Jf{f}}}}}}L`}{{Ih{}{{Lb{e}}}}}}``{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}{Gl{Hl}}}}}}``{cc{}}000{KhKn}{Kh{{Ld{c}}}{lj}}{{Kh{d{{J`{c}}}}}{{Ld{c}}}{nlj}}``{{Knc}Kn{{Lf{{d{Gb}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Fn}}}}L`Lh}}{{{Ld{c}}e}{{Ld{c}}}{L`lj}{{Lf{cCd{d{Fn}}}}L`Lhj}}{{{Ld{c}}ce}{{Ld{c}}}{L`lj}{{Lf{Cd{d{Fn}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Hl}}}}L`Lh}}{ce{}{}}000``{{Kn{d{{J`{c}}}}e}Kn{jlnL`Lh}{{Gh{c}}}}{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}}}}}>{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}}}}}``{c{{D`{e}}}{}{}}0000000`{{{d{c}}}Hn{}}0006666`````````{{{d{{If{c}}}}}{{d{{Gj{{Eb{cHl}}}}}}}{}}{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{Cd}}}}}}}Ab}``{{{d{Aj{Il{c}}}}{Il{c}}}Anl}{{{d{Aj{If{c}}}}{Il{c}}}An{jl}}{{{d{Aj{If{c}}}}{If{c}}}{{Il{c}}}{jl}}{{{d{{If{c}}}}}{{d{{If{c}}}}}{}}{{{d{{If{c}}}}{d{e}}Adik}InAb{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{{If{c}}}}{d{G`}}}{{D`{HbLn}}}{}}`{c{{Cf{Hb}}}{}}{c{{Cf{Gf}}}{}}10{{{d{{If{c}}}}}{{If{c}}}j}{{{d{{M`{ce}}}}}{{M`{ce}}}jj}{{{d{{Mb{ce}}}}}{{Mb{ce}}}jj}{{{d{{Il{c}}}}}{{Il{c}}}j}{{{d{c}}{d{Aje}}}An{}{}}000{{{d{{M`{ce}}}}{d{{M`{ce}}}}}Cbll}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}Cbll}{{}{{If{c}}}{}}{{}{{Il{c}}}{}}{{{d{{M`{ce}}}}}{{d{g}}}{}{}{}}{c{{D`{{Il{e}}}}}Db{lDd}}{{{d{{If{c}}}}{d{G`}}}{{`{{Jl{}{{Gl{{Eb{ElHl}}}}}}}}}{}}{{{d{{If{c}}}}{d{{If{c}}}}}DhDj}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}DhDjDj}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}DhDjDj}{{{d{Ln}}{d{Ln}}}Dh}{{{d{{Il{c}}}}{d{{Il{c}}}}}DhDj}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{Eb{g{Bn{c}}}}}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{If{c}}}}{d{AjDl}}}Dnn}{{{d{{M`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Mb{ce}}}}{d{AjDl}}}Dnnn}{{{d{Ln}}{d{AjDl}}}Dn}0{{{d{{Il{c}}}}{d{AjDl}}}Dnn}{cc{}}000000{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{M`{{Md{G`}}c}}}}}}}}}{}}{{{d{{If{c}}}}{d{e}}AdHl}{{Cf{{Bj{{d{c}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}{d{e}}AdGb}{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}Hl}{{Cf{{Md{G`}}}}}{}}{{{d{{If{c}}}}Hl}{{Cf{{M`{{Md{G`}}c}}}}}{}}{{{d{{If{c}}}}Gb}{{Cf{{d{Gd}}}}}{}}{{{d{{If{c}}}}}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}Hlc}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}HlDf}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Mf{{Md{G`}}}}}}{{{d{Aj{If{c}}}}GbGd}{{Il{c}}}{jl}}{ce{}{}}00000000{{{d{{If{c}}}}}Dh{}}{{{d{{Il{c}}}}}Dhl}``{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{Mb{{Md{G`}}c}}}}}}}}}AbFf}{{{If{c}}g}{{If{e}}}{jl}{jl}{{Lf{c}{{Ll{e}}}}}}{{{Il{c}}g}{{Il{e}}}ll{{Lf{c}{{Ll{e}}}}}}{c{{If{e}}}{{Ih{}{{Gl{G`}}}}}{jl}}{{{d{Aj{Mh{cg}}}}}{{Cf{i}}}{}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{e}}}}}}}{}}{{{d{Aj{Mj{cg}}}}}{{Cf{i}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}{}}{{{d{{If{c}}}}Gb}{{d{{Ml{Hl}}}}}{}}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Il{c}}}}e}D`{lHf}Hd}{{{d{c}}}e{}{}}000{{{d{c}}}Hh{}}{{{d{{If{c}}}}{d{e}}Adik}{{D`{In}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{D`{{Eb{g{Bn{c}}}}}}}}}}}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{c{{D`{e}}}{}{}}000000{{{d{{If{c}}}}{d{e}}AdHl}{{D`{{Cf{{Bj{{d{c}}}}}}}}}AbFf}{{{d{{If{c}}}}{d{e}}AdGb}{{D`{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}}}AbFf}2222222{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{D`{{Mb{{Md{G`}}c}}}}}}}}}}}AbFf}``{{{d{{If{c}}}}Hl}{{Cf{{h{Cd{d{Gd}}}}}}}{}}{{{d{{If{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{Cd{d{{Ml{Hl}}}}}}}}}}}}}{}}`{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}``{{{d{c}}}Hn{}}000000{{{d{Aj{If{c}}}}Df}{{Il{c}}}{jl}}{ce{}{}}000000{{{d{{If{c}}}}ei}{{Mh{ci}}}{jl}{{Mf{{Md{G`}}}}}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{g}}}}}}}}{{{d{{If{c}}}}{d{G`}}g}{{Mj{cg}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}{{{d{{If{c}}}}Hlg}{{Mj{cg}}}{jl}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}","D":"BOj","p":[[5,"SpkTxOutIndex",0,868],[1,"reference"],[5,"ScriptBuf",869],[5,"BTreeMap",870],[10,"Clone",871],[10,"Ord",872],[10,"Debug",873],[5,"DescriptorId",0,874],[10,"Anchor",0,875],[5,"BlockId",0,876],[5,"ConfirmationHeightAnchor",0,876],[5,"ConfirmationTimeHeightAnchor",0,876],[0,"mut"],[10,"Append",0,875],[1,"unit"],[5,"CombinedChangeSet",0,877],[5,"Hash",878],[1,"u8"],[1,"slice"],[1,"array"],[6,"ChainPosition",0,876],[6,"ConfirmationTime",0,876],[5,"FullTxOut",0,876],[5,"SpkIterator",0,879],[6,"Ordering",872],[1,"u32"],[6,"Option",880],[6,"DescriptorPublicKey",881],[6,"Descriptor",882],[10,"Borrow",883],[10,"DescriptorExt",0,874],[6,"Result",884],[10,"Deserializer",885],[10,"Deserialize",885],[1,"u64"],[1,"bool"],[10,"PartialEq",872],[5,"Formatter",873],[8,"Result",873],[5,"BlockHash",886],[1,"tuple"],[8,"ChangeSet",501],[5,"ChangeSet",358,887],[5,"ChangeSet",301],[5,"Block",886],[1,"usize"],[10,"AnchorFromBlockPosition",0,875],[5,"FromSliceError",888],[1,"str"],[17,"Error"],[10,"ChainOracle",0,889],[10,"Hash",890],[10,"Hasher",890],[10,"SliceIndex",891],[5,"Script",892],[5,"Transaction",893],[5,"OutPoint",893],[5,"TxOut",893],[5,"SignedAmount",894],[10,"RangeBounds",895],[5,"BTreeSet",896],[17,"Item"],[10,"DoubleEndedIterator",897],[10,"PartialOrd",872],[5,"Amount",894],[10,"Serializer",898],[10,"Serialize",898],[5,"String",899],[10,"ExactSizeIterator",900],[5,"Txid",893],[5,"TypeId",901],[5,"IndexedTxGraph",301],[10,"Indexer",301],[17,"ChangeSet"],[5,"TxGraph",707],[10,"IntoIterator",902],[10,"Default",903],[5,"ChangeSet",707],[5,"Balance",358],[5,"KeychainTxOutIndex",358,887],[6,"InsertDescriptorError",358,887],[5,"NoSuchKeychain",358,887],[8,"Indexed",358],[8,"KeychainIndexed",358],[5,"Vec",904],[10,"Iterator",905],[5,"LocalChain",501],[5,"MissingGenesisError",501],[5,"Header",886],[5,"CannotConnectError",501],[6,"ApplyHeaderError",501],[5,"CheckPoint",501],[5,"AlterCheckPointError",501],[5,"CheckPointIter",501],[5,"SyncRequest",643],[10,"Send",906],[17,"IntoIter"],[5,"FullScanRequest",643],[10,"FnMut",907],[10,"Sync",906],[6,"Infallible",908],[17,"Output"],[6,"CalculateFeeError",707],[5,"TxNode",707],[5,"CanonicalTx",707],[5,"Arc",909],[10,"Into",908],[5,"TxAncestors",707],[5,"TxDescendants",707],[5,"HashSet",910],[15,"Confirmed",298],[15,"Unconfirmed",298],[15,"DescriptorAlreadyAssigned",497],[15,"KeychainAlreadyAssigned",497],[5,"SyncResult",643],[5,"FullScanResult",643]],"r":[[0,875],[1,875],[2,875],[3,879],[4,876],[6,889],[7,876],[8,877],[9,876],[10,876],[11,876],[14,874],[15,874],[17,876],[18,358],[19,301],[20,358],[21,879],[22,868],[23,707],[359,887],[360,887],[363,887],[366,887],[367,887]],"b":[[39,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[40,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[131,"impl-UpperHex-for-DescriptorId"],[132,"impl-Debug-for-DescriptorId"],[133,"impl-LowerHex-for-DescriptorId"],[134,"impl-Display-for-DescriptorId"],[140,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[142,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[149,"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[150,"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[152,"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[328,"impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E"],[330,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[371,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[372,"impl-KeychainTxOutIndex%3CK%3E"],[404,"impl-Display-for-InsertDescriptorError%3CK%3E"],[405,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[407,"impl-Display-for-NoSuchKeychain%3CK%3E"],[408,"impl-Debug-for-NoSuchKeychain%3CK%3E"],[409,"impl-Debug-for-Balance"],[410,"impl-Display-for-Balance"],[552,"impl-Debug-for-MissingGenesisError"],[553,"impl-Display-for-MissingGenesisError"],[554,"impl-Display-for-AlterCheckPointError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Debug-for-CannotConnectError"],[557,"impl-Display-for-CannotConnectError"],[558,"impl-Display-for-ApplyHeaderError"],[559,"impl-Debug-for-ApplyHeaderError"],[773,"impl-Display-for-CalculateFeeError"],[774,"impl-Debug-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcBTgATAAIAGAAAABwAAAAeAAIAJAACACgAFwBCABMAVwAGAGMAAQBmAAQAbQAFAHQAFACMAAEAjwAAAJMAAACWAAEAmQAAAJsABAChAAIApQAFAK0AAACvAAEAswAAAL8AAADFAAAAyQAAAM4AAADTAAEA2AAGAOIABgDuAAoA+gAUABQBCQAhAQkAMgEAADgBAAA8AQsASQEAAEsBAABaAQAAXQEJAHEBAAB0AQAAdgETAIsBEACkAQIArwEAAMgBAQDLAQcA1gEJAOMBBADtAQQABQIZACACBQAnAgkAQQIAAE8CAgBVAgAAXAIQAG4CDQB9AgYAiAIHALMCBwC8AgcA0gIAANUCAADYAg0A6AIRAPsCBAADAwUAIgMBACUDAAAsAwEALwMHADoDBgBDAwYAUwMGAFsDBgA="}],\ -["bdk_coin_select",{"t":"FFGGFFPIPFGPPPFGFPPSPPPPPFNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNNNONONNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNOOOONNNNONOOOOONNNNONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOON","n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":[[0,"bdk_coin_select"],[235,"bdk_coin_select::bnb"],[236,"core::cmp"],[237,"bdk_coin_select::coin_selector"],[238,"core::iter::traits::iterator"],[239,"core::option"],[240,"core::convert"],[241,"core::result"],[242,"core::fmt"],[243,"core::time"],[244,"bitcoin::blockdata::transaction"],[245,"core::hash"],[246,"alloc::vec"],[247,"core::marker"],[248,"alloc::string"],[249,"core::any"]],"i":[0,0,0,0,0,0,41,0,22,0,0,18,18,22,0,0,0,41,41,0,18,18,11,11,11,0,2,6,7,2,16,2,7,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,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,7,7,12,12,6,15,16,6,17,17,18,18,7,11,11,12,2,41,2,34,22,22,22,15,16,6,17,18,7,11,12,16,11,15,41,2,34,22,15,16,6,17,18,7,11,12,2,34,6,15,6,16,16,16,16,16,2,15,6,34,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,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,6,6,15,41,2,34,22,15,16,6,17,18,7,11,12,12,15,12,41],"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{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}{AlBl}222222222{{{f{{A`{Cn}}}}{f{Cn}}Cb}B`}{{{f{Af}}{f{bc}}}BfD`}`{ce{}{}}00000000000{{{d{c}}{f{{Db{c}}}}}{{Dd{c}}}j}1{{{f{l}}}h}`{{{f{l}}Al}h}{{{f{B`}}}Cd}````{{l{Df{{Aj{Al{f{An}}}}}}c}{{d{c}}}j}{{DhCbh}An}{{{f{{Df{An}}}}{f{B`}}}l}{{{f{b{Dd{c}}}}}{{Bj{e}}}{jDjDl}{}}`{{{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}}}Dh}{{{f{l}}}Al}{{{f{l}}}C`}{{{f{l}}}{{`{{Ad{}{{Ab{Al}}}}}}}}1{{{f{l}}}Cb}````{{{f{c}}}e{}{}}0000000{{{f{c}}}Dn{}}00{c{{Cf{e}}}{}{}}00000000000000000000000{{{f{c}}}E`{}}0000000000095`{ce{}{}}00000000000```{{{f{Eb}}}h}","D":"Hh","p":[[0,"mut"],[5,"Bnb",0,235],[1,"reference"],[1,"bool"],[10,"Ord",236],[5,"CoinSelector",0,237],[5,"Selection",0,237],[1,"slice"],[17,"Item"],[10,"Iterator",238],[6,"ExcessStrategyKind",0,237],[5,"ExcessStrategy",0,237],[1,"tuple"],[1,"usize"],[5,"WeightedValue",0,237],[5,"CoinSelectorOpt",0,237],[5,"SelectionError",0,237],[6,"SelectionConstraint",0,237],[1,"unit"],[6,"Ordering",236],[6,"Option",239],[6,"BnbLimit",0,235],[10,"Into",240],[1,"i64"],[1,"u32"],[1,"f32"],[6,"Result",241],[5,"Formatter",242],[8,"Result",242],[5,"Duration",243],[5,"TxOut",244],[10,"Hasher",245],[8,"DecideStrategy",0,235],[5,"BnbIter",0,235],[5,"Vec",246],[1,"u64"],[10,"Copy",247],[10,"Display",242],[5,"String",248],[5,"TypeId",249],[6,"BranchStrategy",0,235]],"r":[[0,235],[1,235],[2,235],[3,235],[4,237],[5,237],[7,235],[9,237],[10,237],[14,237],[15,237],[16,237],[25,237],[76,235]],"b":[[95,"impl-Debug-for-SelectionError"],[96,"impl-Display-for-SelectionError"],[97,"impl-Debug-for-SelectionConstraint"],[98,"impl-Display-for-SelectionConstraint"],[100,"impl-Display-for-ExcessStrategyKind"],[101,"impl-Debug-for-ExcessStrategyKind"],[107,"impl-From%3CDuration%3E-for-BnbLimit"],[108,"impl-From%3Cusize%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKcAFwAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAEAFwACwBsAAEAdwABAIcAAQCKAAEAkgANAKEAAACjAAAApgAAAKoAMADcAAwA6gABAA=="}],\ +["bdk_chain",{"t":"KKKSFSKGFFGFPPKFRFEEEFFEPPNNMNNNOOMNNNNNNENNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNONNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNOONNNNCONNNNNNNNNNNNNMNNNMNNONNNCCNENONNNNONNNNNNNNNNNNDNNNNNNONCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONNNNNNNNNNNNNNNNNNNNNNNNNOOOFRFKNNNMNNNNNNNNNNNNNNNNNNNNNNNOOMMOMNNNNNNNNMNNNNNNNNNNNFFSPIGPIFFNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNOOOOFGPFIFFPFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNGFFPPFFFFNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","Append","BIP32_MAX_INDEX","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","CombinedChangeSet","ConfirmationHeightAnchor","ConfirmationTime","ConfirmationTimeHeightAnchor","Confirmed","Confirmed","DescriptorExt","DescriptorId","Error","FullTxOut","Indexed","IndexedTxGraph","KeychainIndexed","SpkIterator","SpkTxOutIndex","TxGraph","Unconfirmed","Unconfirmed","all_spks","all_zeros","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","anchor_block","append","append","apply_changeset","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","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","chain_position","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","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","confirmation_height","confirmation_height","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","default","default","default","default","default","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","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","from_block_position","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","hash","height","index","index_of_spk","index_tx","index_txout","indexed_tx_graph","indexed_tx_graph","initial_changeset","insert_spk","into","into","into","into","into","into","into","into","into","into","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_empty","is_mature","is_on_coinbase","is_relevant","is_tx_relevant","is_used","keychain","local_chain","mark_used","miniscript","net_value","network","new","new_with_range","next","nth","outpoint","outpoints","outputs_in_range","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","scan","scan_txout","sent_and_received","serde","serialize","serialize","serialize","serialize","serialize","serialize","spent_by","spk_at_index","spk_client","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","unmark_used","unused_spks","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","ChangeSet","IndexedTxGraph","Indexer","append","apply_block","apply_block_relevant","apply_changeset","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","graph","index","index_tx","index_txout","indexer","initial_changeset","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","is_tx_relevant","new","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Balance","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","Indexed","InsertDescriptorError","KeychainAlreadyAssigned","KeychainIndexed","KeychainTxOutIndex","NoSuchKeychain","add","all_unbounded_spk_iters","append","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","confirmed","default","default","default","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_descriptor","immature","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","keychains_added","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","net_value","new","next_index","next_unused_spk","outpoints","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","serialize","spk_at_index","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","total","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","unused_keychain_spks","unused_spks","vzip","vzip","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","AlterCheckPointError","ApplyHeaderError","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","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","disconnect_from","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","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_iter","into_iter","is_block_in_chain","iter","iter_checkpoints","new","next","original_hash","prev","push","range","range","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","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","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","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","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","append","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","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_chain_txs","map_anchors","map_anchors","new","next","next","outspends","partial_cmp","partial_cmp","serialize","to_owned","to_owned","to_owned","to_owned","to_string","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_chain_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[298,"bdk_chain::ConfirmationTime"],[301,"bdk_chain::indexed_tx_graph"],[358,"bdk_chain::keychain"],[497,"bdk_chain::keychain::InsertDescriptorError"],[501,"bdk_chain::local_chain"],[643,"bdk_chain::spk_client"],[707,"bdk_chain::tx_graph"],[868,"bdk_chain::spk_txout_index"],[869,"bitcoin::blockdata::script::owned"],[870,"alloc::collections::btree::map"],[871,"core::clone"],[872,"core::cmp"],[873,"core::fmt"],[874,"bdk_chain::descriptor_ext"],[875,"bdk_chain::tx_data_traits"],[876,"bdk_chain::chain_data"],[877,"bdk_chain::changeset"],[878,"bitcoin_hashes::sha256"],[879,"bdk_chain::spk_iter"],[880,"core::option"],[881,"miniscript::descriptor::key"],[882,"miniscript::descriptor"],[883,"core::borrow"],[884,"core::result"],[885,"serde::de"],[886,"bitcoin::blockdata::block"],[887,"bdk_chain::keychain::txout_index"],[888,"bitcoin_hashes"],[889,"bdk_chain::chain_oracle"],[890,"core::hash"],[891,"core::slice::index"],[892,"bitcoin::blockdata::script::borrowed"],[893,"bitcoin::blockdata::transaction"],[894,"bitcoin_units::amount"],[895,"core::ops::range"],[896,"alloc::collections::btree::set"],[897,"core::iter::traits::double_ended"],[898,"serde::ser"],[899,"alloc::string"],[900,"core::iter::traits::exact_size"],[901,"core::any"],[902,"core::iter::traits::collect"],[903,"core::default"],[904,"alloc::vec"],[905,"core::iter::traits::iterator"],[906,"core::marker"],[907,"core::ops::function"],[908,"core::convert"],[909,"alloc::sync"],[910,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,51,0,0,0,0,0,0,0,21,22,1,8,9,10,11,12,11,12,14,16,1,8,8,8,8,0,1,21,22,10,11,12,23,8,8,24,16,1,21,22,10,11,12,23,8,24,16,16,23,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,21,21,22,10,11,12,23,8,11,12,9,9,21,11,12,12,1,10,11,12,16,24,31,22,10,11,12,8,16,31,8,21,22,10,11,12,23,8,16,1,21,22,10,11,12,23,8,8,8,8,16,1,21,22,22,10,10,10,11,12,23,8,8,24,16,16,16,16,47,10,11,12,8,8,8,8,8,8,51,21,22,10,11,12,8,10,10,8,1,1,1,0,16,1,1,1,21,22,10,11,12,23,8,24,16,24,51,21,22,23,14,16,23,23,1,1,1,0,0,1,0,1,16,24,24,24,24,23,1,1,21,22,10,11,12,23,8,1,1,1,0,22,10,11,12,8,16,23,1,0,14,14,8,1,21,22,10,11,12,23,8,24,16,8,8,1,21,22,10,11,12,23,8,24,16,1,21,22,10,11,12,23,8,24,16,0,1,23,1,1,1,21,22,10,11,12,23,8,24,16,22,1,1,1,21,22,10,11,12,23,8,24,16,111,112,111,0,73,0,0,43,72,72,73,72,72,72,72,72,72,72,43,72,43,43,43,72,43,43,43,72,43,72,43,43,43,72,43,72,73,73,43,73,72,72,72,72,72,72,43,43,73,72,43,43,72,43,72,43,72,43,72,43,0,0,0,81,0,0,81,0,0,0,79,80,42,80,80,80,81,42,82,79,80,81,42,82,79,80,81,42,82,79,80,81,42,82,79,79,80,42,79,42,79,81,42,82,79,80,81,81,42,82,82,79,79,80,81,42,82,79,80,79,80,80,80,80,80,80,80,81,42,82,79,42,80,80,80,80,80,42,42,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,42,79,80,80,81,42,82,79,81,82,79,79,79,79,80,81,42,82,79,80,81,42,82,79,80,80,80,80,81,42,82,79,80,80,79,80,80,80,81,42,82,79,113,113,114,114,0,0,91,0,0,0,0,91,0,0,87,87,87,87,92,94,92,87,88,93,90,91,94,92,87,88,93,90,91,92,87,88,93,90,91,92,87,88,93,90,91,87,92,87,88,93,90,91,92,92,87,88,88,93,93,90,90,91,91,94,92,87,88,93,90,91,92,87,87,87,92,87,87,92,87,87,92,92,93,87,92,87,94,92,87,88,93,90,91,94,92,87,92,87,92,94,93,92,92,92,87,87,92,87,88,93,90,91,88,93,90,91,94,92,87,88,93,90,91,90,94,92,87,88,93,90,91,94,92,87,88,93,90,91,93,94,92,87,88,93,90,91,0,0,0,0,95,115,98,116,95,115,98,116,95,95,98,95,98,95,115,116,95,115,98,116,95,98,98,115,116,95,95,98,98,95,95,115,98,116,116,95,95,95,95,98,95,95,98,95,115,98,116,95,115,98,116,95,95,115,98,116,95,115,98,116,0,0,0,103,103,0,0,0,0,75,75,78,104,78,78,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,104,105,103,78,75,105,108,108,109,109,75,104,105,78,75,104,105,78,104,105,75,78,104,78,75,75,104,105,103,78,75,75,75,75,104,105,103,103,78,108,109,75,104,105,103,78,75,75,75,75,75,75,75,75,75,75,75,108,109,75,104,105,103,78,108,109,75,78,78,104,75,75,78,75,108,109,75,104,105,78,75,104,105,78,103,75,75,75,108,109,75,104,105,103,78,75,75,108,109,75,104,105,103,78,75,104,105,75,75,104,78,78,78,108,109,75,104,105,103,78,75,108,109,75,104,105,103,78,75,75,75],"f":"``````````````````````````{{{d{{b{c}}}}}{{d{{h{cf}}}}}{jln}}{{}A`}{{{d{Ab}}}Ad}{{{d{Ad}}}Ad}{{{d{Af}}}Ad}{{{d{Ah}}}Ad}``{{{d{AjAl}}Al}An}{{{d{Aj{B`{ce}}}}{B`{ce}}}AnlAb}{{{d{Aj{b{c}}}}e}An{jln}{}}{{{d{A`}}}{{d{c}}}{}}{{{d{A`}}}{{d{Bb}}}}{{{d{A`}}}{{d{{Bf{Bd}}}}}}{{{d{A`}}}{{d{{Bh{Bd}}}}}}`{{{d{c}}}{{d{e}}}{}{}}0000000200{{{d{Ajc}}}{{d{Aje}}}{}{}}000000000``{{{d{{b{c}}}}}{{b{c}}}j}{{{d{{Bj{c}}}}}{{Bj{c}}}j}{{{d{Bl}}}Bl}>{{{d{Af}}}Af}{{{d{Ah}}}Ah}{{{d{{Bn{c}}}}}{{Bn{c}}}j}{{{d{A`}}}A`}{{{d{{C`{c}}}}}{{C`{c}}}j}{{{d{{B`{ce}}}}}{{B`{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}000000000{{{Bj{{d{c}}}}}{{Bj{c}}}j}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}Cbl}{{{d{Bl}}{d{Bl}}}Cb}{{{d{Ad}}{d{Ad}}}Cb}{{{d{Af}}{d{Af}}}Cb}{{{d{Ah}}{d{Ah}}}Cb}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}Cbl}{{{d{A`}}{d{A`}}}Cb}``{{{d{Ab}}}Cd}0{{{d{{Bj{c}}}}}{{Cf{Cd}}}Ab}{{{d{Af}}}Cd}{{{d{Ah}}}Cd}`{{}{{b{c}}}{}}{{}Ad}{{}Af}{{}Ah}{{}{{B`{ce}}}{}{}}{{{d{{C`{c}}}}}{{d{c}}}{{Cl{{Cj{Ch}}}}}}{{{d{Cn}}}A`}{c{{D`{Bl}}}Db}{c{{D`{Ad}}}Db}{c{{D`{Af}}}Db}{c{{D`{Ah}}}Db}{c{{D`{A`}}}Db}{c{{D`{{B`{eg}}}}}Db{lDd}{lDd}}{{{d{Cn}}}Df}{{}c{}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}DhDj}{{{d{Bl}}{d{Bl}}}Dh}{{{d{Ad}}{d{Ad}}}Dh}{{{d{Af}}{d{Af}}}Dh}{{{d{Ah}}{d{Ah}}}Dh}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}DhDj}{{{d{A`}}{d{A`}}}Dh}{{{d{{B`{ce}}}}{d{{B`{ce}}}}}DhDjDj}{{{d{{b{c}}}}{d{AjDl}}}Dnn}{{{d{{Bj{c}}}}{d{AjDl}}}Dnn}{{{d{Bl}}{d{AjDl}}}Dn}{{{d{Ad}}{d{AjDl}}}Dn}{{{d{Af}}{d{AjDl}}}Dn}{{{d{Ah}}{d{AjDl}}}Dn}{{{d{{Bn{c}}}}{d{AjDl}}}Dnn}{{{d{A`}}{d{AjDl}}}Dn}000{{{d{{B`{ce}}}}{d{AjDl}}}Dnnn}{cc{}}00{{{Bj{Ah}}}Bl}{{{Eb{CdE`}}}Ad}{{{Eb{{d{Cd}}{d{E`}}}}}Ad}33333{BbA`}4{{{Ef{c{Ed{e}}}}}{{B`{ec}}}{}{}}{Eh{{B`{ce}}}{}{}}6{{{Ed{c}}}{{B`{ce}}}{}{}}{{{d{Ej}}AdEl}En}{{{d{Ej}}AdEl}Ad}{{{d{Ej}}AdEl}Af}{{{d{Ej}}AdEl}Ah}{cA`{}}08{{{d{{Bf{Bd}}}}}{{D`{A`F`}}}}0{{{d{Fb}}}{{D`{A`c}}}{}}{{{d{{Ff{}{{Fd{c}}}}}}}{{D`{Adc}}}n}{{{d{{Bj{c}}}}{d{Aje}}}AnFhFj}{{{d{Bl}}{d{Ajc}}}AnFj}{{{d{Ad}}{d{Ajc}}}AnFj}{{{d{Af}}{d{Ajc}}}AnFj}{{{d{Ah}}{d{Ajc}}}AnFj}{{{d{A`}}{d{Ajc}}}AnFj}``{{{d{A`}}c}{{d{e}}}{{Fl{{Bf{Bd}}}}}{}}{{{d{{b{c}}}}{d{Fn}}}{{Cf{{d{c}}}}}{jln}}{{{d{Aj{b{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}e{jln}{}}``{{{d{{b{c}}}}}e{jln}{}}{{{d{Aj{b{c}}}}cf}Dh{jln}}{ce{}{}}0000000000{{{d{{Ff{}{{Fd{c}}}}}}AdAd}{{D`{{Cf{Dh}}c}}}n}{{{d{{Bj{c}}}}}Dh{}}{{{d{Bl}}}Dh}{{{d{{Bn{c}}}}Cd}DhAb}{{{d{Al}}}Dh}{{{d{{B`{ce}}}}}DhlAb}2`{{{d{{b{c}}}}{d{G`}}}Dh{jln}}0{{{d{{b{c}}}}{d{c}}}Dh{jln}}``{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}`{{{d{{b{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}`{c{{C`{c}}}{{Cl{{Cj{Ch}}}}}}{{ce}{{C`{c}}}{{Cl{{Cj{Ch}}}}}{{Gh{Cd}}}}{{{d{Aj{C`{c}}}}}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}{{{d{Aj{C`{c}}}}El}{{Cf{e}}}{{Cl{{Cj{Ch}}}}}{}}`{{{d{{b{c}}}}}{{d{{Gj{{Eb{cGb}}}}}}}{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{Bj{c}}}}{d{{Bj{c}}}}}{{Cf{Cb}}}H`}{{{d{Bl}}{d{Bl}}}{{Cf{Cb}}}}{{{d{Ad}}{d{Ad}}}{{Cf{Cb}}}}{{{d{Af}}{d{Af}}}{{Cf{Cb}}}}{{{d{Ah}}{d{Ah}}}{{Cf{Cb}}}}{{{d{{Bn{c}}}}{d{{Bn{c}}}}}{{Cf{Cb}}}H`}{{{d{A`}}{d{A`}}}{{Cf{Cb}}}}{{{d{Aj{b{c}}}}{d{G`}}}{{Gj{c}}}{jln}}{{{d{Aj{b{c}}}}Gb{d{Gd}}}{{Cf{{d{c}}}}}{jln}}{{{d{{b{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}`{{{d{Bl}}c}D`Hd}{{{d{Ad}}c}D`Hd}{{{d{Af}}c}D`Hd}{{{d{Ah}}c}D`Hd}{{{d{A`}}c}D`Hd}{{{d{{B`{ce}}}}g}D`{lHf}{lHf}Hd}`{{{d{{b{c}}}}{d{c}}}{{Cf{{d{Fn}}}}}{jln}}`{{{d{AjAl}}}{{Cf{Al}}}}0{A`c{}}{{{d{c}}}e{}{}}000000000{A`Bb}{{{d{c}}}Hh{}}{c{{D`{e}}}{}{}}0000000000000000000`{{{d{{b{c}}}}Gb}{{Cf{{Eb{{d{c}}{d{Gd}}}}}}}{jln}}`{{{d{{b{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}Hj}}}{jln}}{{{d{{b{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{{d{c}}Gb{d{Gd}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}000000000{DfBl}{{{d{Aj{b{c}}}}{d{c}}}Dh{jln}}{{{d{{b{c}}}}e}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{Fn}}}}}}}}j}}}{jln}{{Gh{c}}}}{ce{}{}}000000000```````{{{d{Aj{Ef{ce}}}}{Ef{ce}}}AnAbAl}{{{d{Aj{I`{ce}}}}EjCd}{{Ef{c}}}{EnAb}Ib}{{{d{Aj{I`{ce}}}}{d{Ej}}Cd}{{Ef{c}}}{EnAb}Ib}{{{d{Aj{Ib{}{{Id{c}}}}}}c}An{}}{{{d{Aj{I`{ce}}}}{Ef{c}}}AnAbIb}{{{d{Aj{I`{ce}}}}{If{c}}}{{Ef{c}}}AbIb}{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}{{{d{Aj{I`{ce}}}}i}{{Ef{c}}}AbIb{{Ih{}{{Gl{c}}}}}{{Ih{}{{Gl{{Eb{{d{G`}}g}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Ef{c}}}AbIb{{Ih{}{{Gl{{Eb{{d{G`}}Df}}}}}}}}{{{d{Aj{I`{ce}}}}g}{{Ef{c}}}AbIb{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{Ajc}}}{{d{Aje}}}{}{}}0{{{d{{Ef{ce}}}}}{{Ef{ce}}}jj}{{{d{c}}{d{Aje}}}An{}{}}{{}{{I`{ce}}}{}Ij}{{}{{Ef{ce}}}{}Ij}{c{{D`{{Ef{eg}}}}}Db{lDd}Dd}{{{d{{Ef{ce}}}}{d{{Ef{ce}}}}}DhDjDj}{{{d{{I`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Ef{ce}}}}{d{AjDl}}}Dnnn}{cc{}}0{{{Ed{c}}}{{Ef{e{Ed{c}}}}}{}{}}{{{Il{c}}}{{Ef{ce}}}{}Ij}{{{d{{I`{ce}}}}}{{d{{If{c}}}}}{}{}}``{{{d{Aj{Ib{}{{Id{c}}}}}}{d{G`}}}c{}}{{{d{Aj{Ib{}{{Id{c}}}}}}Gb{d{Gd}}}c{}}`{{{d{{Ib{}{{Id{c}}}}}}}c{}}{{{d{{I`{ce}}}}}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}Hlc}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}HlDf}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}G`}{{Ef{c}}}AbIb}{{{d{Aj{I`{ce}}}}GbGd}{{Ef{c}}}AbIb}{ce{}{}}0{{{d{{Ef{ce}}}}}DhAbAl}{{{d{{Ib{}{{Id{c}}}}}}{d{G`}}}Dh{}}{c{{I`{ec}}}{}{}}{{{d{{Ef{ce}}}}g}D`{lHf}HfHd}{{{d{c}}}e{}{}}{c{{D`{e}}}{}{}}000{{{d{c}}}Hn{}}077``````````{{InIn}In}{{{d{{J`{c}}}}}{{h{c{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{Ed{c}}}}{Ed{c}}}Anl}{{{d{Aj{J`{c}}}}{Ed{c}}}An{jln}}{{{d{Aj{J`{c}}}}e}An{jln}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{Ajc}}}{{d{Aje}}}{}{}}0000{{{d{{J`{c}}}}}{{J`{c}}}j}{{{d{{Jb{c}}}}}{{Jb{c}}}j}{{{d{{Ed{c}}}}}{{Ed{c}}}j}{{{d{{Jd{c}}}}}{{Jd{c}}}j}{{{d{In}}}In}{{{d{c}}{d{Aje}}}An{}{}}0000`{{}{{J`{c}}}{}}{{}{{Ed{c}}}{}}{{}In}{c{{D`{{Ed{e}}}}}Db{lDd}}{c{{D`{In}}}Db}{{{d{{Jb{c}}}}{d{{Jb{c}}}}}DhDj}{{{d{{Ed{c}}}}{d{{Ed{c}}}}}DhDj}{{{d{{Jd{c}}}}{d{{Jd{c}}}}}DhDj}{{{d{In}}{d{In}}}Dh}{{{d{{J`{c}}}}{d{AjDl}}}Dnn}{{{d{{Jb{c}}}}{d{AjDl}}}Dnn}0{{{d{{Ed{c}}}}{d{AjDl}}}Dnn}{{{d{{Jd{c}}}}{d{AjDl}}}Dnn}0{{{d{In}}{d{AjDl}}}Dn}0{cc{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{d{{Cj{Ch}}}}}}}{jln}}`{{{d{{J`{c}}}}{d{Fn}}}{{Cf{{d{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{G`}}}e{jln}{}}{{{d{Aj{J`{c}}}}Gb{d{Gd}}}e{jln}{}}{{{d{{J`{c}}}}}e{jln}{}}{{{d{{J`{c}}}}}{{d{{b{{Eb{cCd}}}}}}}{jln}}{{{d{Aj{J`{c}}}}c{Cj{Ch}}}{{D`{{Ed{c}}{Jb{c}}}}}{jln}}{ce{}{}}0000{{{d{{Ed{c}}}}}Dhl}{{{d{{J`{c}}}}{d{G`}}}Dh{jln}}{{{d{{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{Gb}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Gn{}{{Gl{{Jh{cGb}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Eb{{d{c}}{d{{Cj{Ch}}}}}}}}}}Hj}}}{jln}}``{{{d{{J`{c}}}}{d{c}}}{{Cf{Cd}}}{jln}}{{{d{{J`{c}}}}}{{h{cCd}}}{jln}}10{{{d{{J`{c}}}}}Cd{jln}}{{{d{Aj{J`{c}}}}{d{c}}Cd}An{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}{{{d{{J`{c}}}}{d{G`}}e}Gf{jln}{{Gh{c}}}}{Cd{{J`{c}}}{}}{{{d{{J`{c}}}}{d{c}}}{{Cf{{Eb{CdDh}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{c}}}{{Cf{{Eb{{Jf{f}}{Ed{c}}}}}}}{jln}}{{{d{{J`{c}}}}}{{d{{Gj{{Jh{cGb}}}}}}}{jln}}1{{{d{Aj{J`{c}}}}{d{c}}Cd}{{Cf{{Eb{{Jj{{Jf{f}}}}{Ed{c}}}}}}}{jln}}{{{d{Aj{J`{c}}}}{d{{h{cCd}}}}}{{Ed{c}}}{jln}}{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}}}}{jln}}{{{d{{J`{c}}}}e}{{`{{Jl{}{{Gl{{Jh{c{d{Fn}}}}}}}}}}}{jln}{{Gh{c}}}}{{{d{{J`{c}}}}{d{G`}}e}{{Eb{HbHb}}}{jln}{{Gh{c}}}}{{{d{{Ed{c}}}}e}D`{lHf}Hd}{{{d{In}}c}D`Hd}{{{d{{J`{c}}}}cCd}{{Cf{{d{Fn}}}}}{jln}}{{{d{c}}}e{}{}}0000{{{d{c}}}Hh{}}00{{{d{In}}}Hb}`0{c{{D`{e}}}{}{}}000000000{{{d{{J`{c}}}}Gb}{{Cf{{Jh{c{d{Gd}}}}}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}Hj}}}{jln}}{{{d{{J`{c}}}}Hl}{{`{{Gn{}{{Gl{{Jh{c{Eb{Gb{d{Gd}}}}}}}}}}}}}{jln}}{{{d{c}}}Hn{}}0000{{{d{{J`{c}}}}{d{c}}}{{Cf{{C`{{Cj{Ch}}}}}}}{jln}}{{{d{Aj{J`{c}}}}cCd}Dh{jln}}`{{{d{{J`{c}}}}{d{c}}}{{`{{Gn{}{{Gl{{Jf{{d{Fn}}}}}}}}j}}}{jln}}{{{d{{J`{c}}}}}{{`{{Gn{}{{Gl{{Jh{c{d{Fn}}}}}}}}j}}}{jln}}{ce{}{}}0000``````````````{{{d{AjJn}}{d{Eh}}}{{D`{AnK`}}}}{{{d{AjJn}}{d{Kb}}Cd}{{D`{EhKd}}}}{{{d{AjJn}}{d{Kb}}CdAd}{{D`{EhKf}}}}{{{d{AjJn}}Kh}{{D`{EhKd}}}}{{{d{Kh}}}Ad}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{Kh}}}Kh}{{{d{Jn}}}Jn}{{{d{K`}}}K`}{{{d{Kj}}}Kj}{{{d{Kd}}}Kd}{{{d{Kf}}}Kf}{{{d{c}}{d{Aje}}}An{}{}}00000{{{d{AjJn}}Ad}{{D`{EhK`}}}}{{{d{Kh}}{d{Kh}}}Dh}{{{d{Jn}}{d{Jn}}}Dh}{{{d{K`}}{d{K`}}}Dh}{{{d{Kj}}{d{Kj}}}Dh}{{{d{Kd}}{d{Kd}}}Dh}{{{d{Kf}}{d{Kf}}}Dh}{{Khc}{{D`{KhKh}}}{{Ih{}{{Gl{Ad}}}}}}{{{d{Kh}}{d{AjDl}}}Dn}{{{d{Jn}}{d{AjDl}}}Dn}{{{d{K`}}{d{AjDl}}}Dn}0{{{d{Kj}}{d{AjDl}}}Dn}0{{{d{Kd}}{d{AjDl}}}Dn}0{{{d{Kf}}{d{AjDl}}}Dn}0{cc{}}000000{c{{D`{Kh{Cf{Kh}}}}}{{Ih{}{{Gl{Ad}}}}}}{{{h{CdE`}}}{{D`{JnK`}}}}{Eh{{D`{JnK`}}}}{E`{{Eb{JnEh}}}}{{{d{Kb}}Cd}Kh}{Kh{{D`{JnK`}}}}{{{d{Jn}}}E`}{{{d{Kh}}Cd}{{Cf{Kh}}}}{{{d{Jn}}Cd}{{Cf{Kh}}}}{{{d{Jn}}}{{D`{Adc}}}{}}{{{d{Kh}}}E`}{{{d{Kh}}}Cd}`{{{d{Jn}}}Eh}{{KhAd}Kh}{{{d{AjJn}}Ad}{{D`{EhKj}}}}{ce{}{}}0000000{Khc{}}{{{d{Jn}}AdAd}{{D`{{Cf{Dh}}c}}}{}}{{{d{Kh}}}Kl}{{{d{Jn}}}Kl}{AdKh}{{{d{AjKl}}}{{Cf{c}}}{}}`{{{d{Kh}}}{{Cf{Kh}}}}{{KhAd}{{D`{KhKh}}}}{{{d{Kh}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}c}{{`{{Jl{}{{Gl{Kh}}}}}}}{{Gh{Cd}}}}{{{d{Jn}}}Kh}{{{d{c}}}e{}{}}00000{{{d{c}}}Hh{}}000{c{{D`{e}}}{}{}}000000`0000000{{{d{c}}}Hn{}}000000`???????````{{{d{c}}}{{d{e}}}{}{}}000{{{d{Ajc}}}{{d{Aje}}}{}{}}000{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}{Gl{Gb}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}{Gl{f}}}}}}{{{Ld{c}}cg}{{Ld{c}}}{lj}{{Jl{}{{Gl{{Jf{f}}}}}}L`}{{Ih{}{{Lb{e}}}}}}``{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}{Gl{Hl}}}}}}``{cc{}}000{KhKn}{Kh{{Ld{c}}}{lj}}{{Kh{d{{J`{c}}}}}{{Ld{c}}}{nlj}}``{{Knc}Kn{{Lf{{d{Gb}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Fn}}}}L`Lh}}{{{Ld{c}}e}{{Ld{c}}}{L`lj}{{Lf{cCd{d{Fn}}}}L`Lhj}}{{{Ld{c}}ce}{{Ld{c}}}{L`lj}{{Lf{Cd{d{Fn}}}}L`Lh}}{{Knc}Kn{{Lf{{d{Hl}}}}L`Lh}}{ce{}{}}000``{{Kn{d{{J`{c}}}}e}Kn{jlnL`Lh}{{Gh{c}}}}{{Kne}Kn{{Hj{}{{Gl{Gb}}}}L`}{{Ih{}{{Lb{c}}}}}}{{Kne}Kn{{Hj{}{{Gl{f}}}}L`}{{Ih{}{{Lb{c}}}}}}>{{Kne}Kn{{Hj{}{{Gl{Hl}}}}L`}{{Ih{}{{Lb{c}}}}}}``{c{{D`{e}}}{}{}}0000000`{{{d{c}}}Hn{}}0006666`````````{{{d{{If{c}}}}}{{d{{Gj{{Eb{cHl}}}}}}}{}}{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{Cd}}}}}}}Ab}``{{{d{Aj{Il{c}}}}{Il{c}}}Anl}{{{d{Aj{If{c}}}}{Il{c}}}An{jl}}{{{d{Aj{If{c}}}}{If{c}}}{{Il{c}}}{jl}}{{{d{{If{c}}}}}{{d{{If{c}}}}}{}}{{{d{{If{c}}}}{d{e}}Adik}InAb{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Ih{}{{Gl{{Eb{G`Df}}}}}}}}{{{d{c}}}{{d{e}}}{}{}}000000{{{d{Ajc}}}{{d{Aje}}}{}{}}000000{{{d{{If{c}}}}{d{G`}}}{{D`{HbLn}}}{}}`{c{{Cf{Hb}}}{}}{c{{Cf{Gf}}}{}}01{{{d{{If{c}}}}}{{If{c}}}j}{{{d{{M`{ce}}}}}{{M`{ce}}}jj}{{{d{{Mb{ce}}}}}{{Mb{ce}}}jj}{{{d{{Il{c}}}}}{{Il{c}}}j}{{{d{c}}{d{Aje}}}An{}{}}000{{{d{{M`{ce}}}}{d{{M`{ce}}}}}Cbll}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}Cbll}{{}{{If{c}}}{}}{{}{{Il{c}}}{}}{{{d{{M`{ce}}}}}{{d{g}}}{}{}{}}{c{{D`{{Il{e}}}}}Db{lDd}}{{{d{{If{c}}}}{d{G`}}}{{`{{Jl{}{{Gl{{Eb{ElHl}}}}}}}}}{}}{{{d{{If{c}}}}{d{{If{c}}}}}DhDj}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}DhDjDj}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}DhDjDj}{{{d{Ln}}{d{Ln}}}Dh}{{{d{{Il{c}}}}{d{{Il{c}}}}}DhDj}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{Eb{g{Bn{c}}}}}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}j{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}{{{d{{If{c}}}}{d{AjDl}}}Dnn}{{{d{{M`{ce}}}}{d{AjDl}}}Dnnn}{{{d{{Mb{ce}}}}{d{AjDl}}}Dnnn}{{{d{Ln}}{d{AjDl}}}Dn}0{{{d{{Il{c}}}}{d{AjDl}}}Dnn}{cc{}}000000{{{d{{If{c}}}}}{{`{{Jl{}{{Gl{{M`{{Md{G`}}c}}}}}}}}}{}}{{{d{{If{c}}}}{d{e}}AdHl}{{Cf{{Bj{{d{c}}}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}{d{e}}AdGb}{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}Ab{{Ff{}{{Fd{Lj}}}}}}{{{d{{If{c}}}}Hl}{{Cf{{Md{G`}}}}}{}}{{{d{{If{c}}}}Hl}{{Cf{{M`{{Md{G`}}c}}}}}{}}{{{d{{If{c}}}}Gb}{{Cf{{d{Gd}}}}}{}}{{{d{{If{c}}}}}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}Hlc}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}HlDf}{{Il{c}}}{jl}}{{{d{Aj{If{c}}}}e}{{Il{c}}}{jl}{{Mf{{Md{G`}}}}}}{{{d{Aj{If{c}}}}GbGd}{{Il{c}}}{jl}}{ce{}{}}00000000{{{d{{If{c}}}}}Dh{}}{{{d{{Il{c}}}}}Dhl}``{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{Mb{{Md{G`}}c}}}}}}}}}AbFf}{{{If{c}}g}{{If{e}}}{jl}{jl}{{Lf{c}{{Ll{e}}}}}}{{{Il{c}}g}{{Il{e}}}ll{{Lf{c}{{Ll{e}}}}}}{c{{If{e}}}{{Ih{}{{Gl{G`}}}}}{jl}}{{{d{Aj{Mh{cg}}}}}{{Cf{i}}}{}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{e}}}}}}}{}}{{{d{Aj{Mj{cg}}}}}{{Cf{i}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}{}}{{{d{{If{c}}}}Gb}{{d{{Ml{Hl}}}}}{}}{{{d{{M`{ce}}}}{d{{M`{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Mb{ce}}}}{d{{Mb{ce}}}}}{{Cf{Cb}}}H`H`}{{{d{{Il{c}}}}e}D`{lHf}Hd}{{{d{c}}}e{}{}}000{{{d{c}}}Hh{}}{{{d{{If{c}}}}{d{e}}Adik}{{D`{In}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}{{Lf{{d{g}}{d{Fn}}}{{Ll{Dh}}}}}}{{{d{{If{c}}}}{d{e}}Adi}{{`{{Jl{}{{Gl{{D`{{Eb{g{Bn{c}}}}}}}}}}}}}AbFfj{{Ih{}{{Gl{{Eb{gGb}}}}}}}}0{c{{D`{e}}}{}{}}000000{{{d{{If{c}}}}{d{e}}AdHl}{{D`{{Cf{{Bj{{d{c}}}}}}}}}AbFf}{{{d{{If{c}}}}{d{e}}AdGb}{{D`{{Cf{{Eb{{Bj{{d{c}}}}Hl}}}}}}}AbFf}2222222{{{d{{If{c}}}}{d{e}}Ad}{{`{{Jl{}{{Gl{{D`{{Mb{{Md{G`}}c}}}}}}}}}}}AbFf}``{{{d{{If{c}}}}Hl}{{Cf{{h{Cd{d{Gd}}}}}}}{}}{{{d{{If{c}}}}Hl}{{`{{Gn{}{{Gl{{Eb{Cd{d{{Ml{Hl}}}}}}}}}}}}}{}}`{{{d{{Il{c}}}}}{{`{{Jl{}{{Gl{{Eb{Gb{d{Gd}}}}}}}}}}}{}}``{{{d{c}}}Hn{}}000000{{{d{Aj{If{c}}}}Df}{{Il{c}}}{jl}}{ce{}{}}000000{{{d{{If{c}}}}ei}{{Mh{ci}}}{jl}{{Mf{{Md{G`}}}}}{}{{Lf{El{Md{G`}}}{{Ll{{Cf{g}}}}}}}}{{{d{{If{c}}}}{d{G`}}g}{{Mj{cg}}}{}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}{{{d{{If{c}}}}Hlg}{{Mj{cg}}}{jl}{}{{Lf{ElHl}{{Ll{{Cf{e}}}}}}}}","D":"BOj","p":[[5,"SpkTxOutIndex",0,868],[1,"reference"],[5,"ScriptBuf",869],[5,"BTreeMap",870],[10,"Clone",871],[10,"Ord",872],[10,"Debug",873],[5,"DescriptorId",0,874],[10,"Anchor",0,875],[5,"BlockId",0,876],[5,"ConfirmationHeightAnchor",0,876],[5,"ConfirmationTimeHeightAnchor",0,876],[0,"mut"],[10,"Append",0,875],[1,"unit"],[5,"CombinedChangeSet",0,877],[5,"Hash",878],[1,"u8"],[1,"slice"],[1,"array"],[6,"ChainPosition",0,876],[6,"ConfirmationTime",0,876],[5,"FullTxOut",0,876],[5,"SpkIterator",0,879],[6,"Ordering",872],[1,"u32"],[6,"Option",880],[6,"DescriptorPublicKey",881],[6,"Descriptor",882],[10,"Borrow",883],[10,"DescriptorExt",0,874],[6,"Result",884],[10,"Deserializer",885],[10,"Deserialize",885],[1,"u64"],[1,"bool"],[10,"PartialEq",872],[5,"Formatter",873],[8,"Result",873],[5,"BlockHash",886],[1,"tuple"],[5,"ChangeSet",358,887],[5,"ChangeSet",301],[8,"ChangeSet",501],[5,"Block",886],[1,"usize"],[10,"AnchorFromBlockPosition",0,875],[5,"FromSliceError",888],[1,"str"],[17,"Error"],[10,"ChainOracle",0,889],[10,"Hash",890],[10,"Hasher",890],[10,"SliceIndex",891],[5,"Script",892],[5,"Transaction",893],[5,"OutPoint",893],[5,"TxOut",893],[5,"SignedAmount",894],[10,"RangeBounds",895],[5,"BTreeSet",896],[17,"Item"],[10,"DoubleEndedIterator",897],[10,"PartialOrd",872],[5,"Amount",894],[10,"Serializer",898],[10,"Serialize",898],[5,"String",899],[10,"ExactSizeIterator",900],[5,"Txid",893],[5,"TypeId",901],[5,"IndexedTxGraph",301],[10,"Indexer",301],[17,"ChangeSet"],[5,"TxGraph",707],[10,"IntoIterator",902],[10,"Default",903],[5,"ChangeSet",707],[5,"Balance",358],[5,"KeychainTxOutIndex",358,887],[6,"InsertDescriptorError",358,887],[5,"NoSuchKeychain",358,887],[8,"Indexed",358],[8,"KeychainIndexed",358],[5,"Vec",904],[10,"Iterator",905],[5,"LocalChain",501],[5,"MissingGenesisError",501],[5,"Header",886],[5,"CannotConnectError",501],[6,"ApplyHeaderError",501],[5,"CheckPoint",501],[5,"AlterCheckPointError",501],[5,"CheckPointIter",501],[5,"SyncRequest",643],[10,"Send",906],[17,"IntoIter"],[5,"FullScanRequest",643],[10,"FnMut",907],[10,"Sync",906],[6,"Infallible",908],[17,"Output"],[6,"CalculateFeeError",707],[5,"TxNode",707],[5,"CanonicalTx",707],[5,"Arc",909],[10,"Into",908],[5,"TxAncestors",707],[5,"TxDescendants",707],[5,"HashSet",910],[15,"Confirmed",298],[15,"Unconfirmed",298],[15,"DescriptorAlreadyAssigned",497],[15,"KeychainAlreadyAssigned",497],[5,"SyncResult",643],[5,"FullScanResult",643]],"r":[[0,875],[1,875],[2,875],[3,879],[4,876],[6,889],[7,876],[8,877],[9,876],[10,876],[11,876],[14,874],[15,874],[17,876],[18,358],[19,301],[20,358],[21,879],[22,868],[23,707],[359,887],[360,887],[363,887],[366,887],[367,887]],"b":[[39,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[40,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[131,"impl-UpperHex-for-DescriptorId"],[132,"impl-Display-for-DescriptorId"],[133,"impl-Debug-for-DescriptorId"],[134,"impl-LowerHex-for-DescriptorId"],[140,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[141,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[149,"impl-From%3CChangeSet%3CA,+ChangeSet%3CK%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[150,"impl-From%3CBTreeMap%3Cu32,+Option%3CBlockHash%3E%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[152,"impl-From%3CChangeSet%3CK%3E%3E-for-CombinedChangeSet%3CK,+A%3E"],[329,"impl-From%3CChangeSet%3CK%3E%3E-for-ChangeSet%3CA,+ChangeSet%3CK%3E%3E"],[330,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[371,"impl-KeychainTxOutIndex%3CK%3E"],[372,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[404,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[405,"impl-Display-for-InsertDescriptorError%3CK%3E"],[407,"impl-Debug-for-NoSuchKeychain%3CK%3E"],[408,"impl-Display-for-NoSuchKeychain%3CK%3E"],[409,"impl-Display-for-Balance"],[410,"impl-Debug-for-Balance"],[552,"impl-Display-for-MissingGenesisError"],[553,"impl-Debug-for-MissingGenesisError"],[554,"impl-Display-for-AlterCheckPointError"],[555,"impl-Debug-for-AlterCheckPointError"],[556,"impl-Display-for-CannotConnectError"],[557,"impl-Debug-for-CannotConnectError"],[558,"impl-Debug-for-ApplyHeaderError"],[559,"impl-Display-for-ApplyHeaderError"],[773,"impl-Debug-for-CalculateFeeError"],[774,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcBSwATAAIAGAAAABwAAAAeAAIAJAACACgAFwBCABMAVwAGAGMAAQBmAAQAbQAFAHQAFACMAAIAlAAAAJYAAQCZAAAAmwAEAKEAAgClAAUArQAAAK8AAQCzAAAAvwAAAMUAAADJAAAAzgAAANMAAQDYAAYA4gAGAO4ACgD6ABQAFAEJACEBCQAyAQAAOAEAADwBCwBKAQEAWgEAAF0BCQBxAQAAdQEUAIsBEACkAQIArwEAAMgBAQDLAQcA1gEJAOMBBADtAQQABQIZACACBQAnAgkAQQIAAE8CAgBVAgAAXAIQAG4CDQB9AgYAiAIHALMCBwC8AgcA0gIAANUCAADYAg0A6AIRAPsCBAADAwUAIgMBACUDAAAsAwEALwMHADoDBgBDAwYAUwMGAFsDBgA="}],\ +["bdk_coin_select",{"t":"FFGGFFPIPFGPPPFGFPPSPPPPPFNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNHNNNONONNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNOOOONNNNONOOOOONNNNONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNOOON","n":["Bnb","BnbIter","BnbLimit","BranchStrategy","CoinSelector","CoinSelectorOpt","Continue","DecideStrategy","Duration","ExcessStrategy","ExcessStrategyKind","MinAbsoluteFee","MinDrainValue","Rounds","Selection","SelectionConstraint","SelectionError","SkipBoth","SkipInclusion","TXIN_BASE_WEIGHT","TargetFee","TargetValue","ToDrain","ToFee","ToRecipient","WeightedValue","advertise_new_score","all_selected","apply_selection","backtrack","base_weight","best_score","best_strategy","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","candidate","candidates","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_select_bnb","current_excess","current_weight","deselect","drain_value","drain_waste","drain_weight","effective_target","effective_value","eq","eq","excess","excess_strategies","fee","feerate","finish","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","fund_outputs","hash","input_count","into","into","into","into","into","into","into","into","into","into","into","into","into_iter","into_iter","is_empty","is_segwit","is_selected","long_term_feerate","long_term_feerate","max_extra_target","min_absolute_fee","min_drain_value","new","new","new","next","opts","partial_cmp","pool","pool_pos","recipient_value","rem_abs","rem_eff","select","select_all","select_until_finished","selected","selected","selected_absolute_value","selected_count","selected_effective_value","selected_indexes","selected_waste","selected_weight","selection","spend_drain_weight","target_feerate","target_value","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unselected","unselected_indexes","value","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","waste","weight","weight","will_continue"],"q":[[0,"bdk_coin_select"],[235,"bdk_coin_select::bnb"],[236,"core::cmp"],[237,"bdk_coin_select::coin_selector"],[238,"core::iter::traits::iterator"],[239,"core::option"],[240,"core::convert"],[241,"core::result"],[242,"core::fmt"],[243,"core::time"],[244,"bitcoin::blockdata::transaction"],[245,"core::hash"],[246,"alloc::vec"],[247,"core::marker"],[248,"alloc::string"],[249,"core::any"]],"i":[0,0,0,0,0,0,41,0,22,0,0,18,18,22,0,0,0,41,41,0,18,18,11,11,11,0,2,6,7,2,16,2,7,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,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,7,7,12,12,6,15,16,6,17,17,18,18,7,11,11,12,2,41,2,34,22,22,22,15,16,6,17,18,7,11,12,16,11,15,41,2,34,22,15,16,6,17,18,7,11,12,2,34,6,15,6,16,16,16,16,16,2,15,6,34,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,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,41,2,34,22,15,16,6,17,18,7,11,12,6,6,15,41,2,34,22,15,16,6,17,18,7,11,12,12,15,12,41],"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{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}1{ClBl}22222222{{{f{{A`{Cn}}}}{f{Cn}}Cb}B`}{{{f{Af}}{f{bc}}}BfD`}`{ce{}{}}00000000000{{{d{c}}{f{{Db{c}}}}}{{Dd{c}}}j}1{{{f{l}}}h}`{{{f{l}}Al}h}{{{f{B`}}}Cd}````{{l{Df{{Aj{Al{f{An}}}}}}c}{{d{c}}}j}{{DhCbh}An}{{{f{{Df{An}}}}{f{B`}}}l}{{{f{b{Dd{c}}}}}{{Bj{e}}}{jDjDl}{}}`{{{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}}}Dh}{{{f{l}}}Al}{{{f{l}}}C`}{{{f{l}}}{{`{{Ad{}{{Ab{Al}}}}}}}}1{{{f{l}}}Cb}````{{{f{c}}}e{}{}}0000000{{{f{c}}}Dn{}}00{c{{Cf{e}}}{}{}}00000000000000000000000{{{f{c}}}E`{}}0000000000095`{ce{}{}}00000000000```{{{f{Eb}}}h}","D":"Hh","p":[[0,"mut"],[5,"Bnb",0,235],[1,"reference"],[1,"bool"],[10,"Ord",236],[5,"CoinSelector",0,237],[5,"Selection",0,237],[1,"slice"],[17,"Item"],[10,"Iterator",238],[6,"ExcessStrategyKind",0,237],[5,"ExcessStrategy",0,237],[1,"tuple"],[1,"usize"],[5,"WeightedValue",0,237],[5,"CoinSelectorOpt",0,237],[5,"SelectionError",0,237],[6,"SelectionConstraint",0,237],[1,"unit"],[6,"Ordering",236],[6,"Option",239],[6,"BnbLimit",0,235],[10,"Into",240],[1,"i64"],[1,"u32"],[1,"f32"],[6,"Result",241],[5,"Formatter",242],[8,"Result",242],[5,"Duration",243],[5,"TxOut",244],[10,"Hasher",245],[8,"DecideStrategy",0,235],[5,"BnbIter",0,235],[5,"Vec",246],[1,"u64"],[10,"Copy",247],[10,"Display",242],[5,"String",248],[5,"TypeId",249],[6,"BranchStrategy",0,235]],"r":[[0,235],[1,235],[2,235],[3,235],[4,237],[5,237],[7,235],[9,237],[10,237],[14,237],[15,237],[16,237],[25,237],[76,235]],"b":[[95,"impl-Display-for-SelectionError"],[96,"impl-Debug-for-SelectionError"],[97,"impl-Debug-for-SelectionConstraint"],[98,"impl-Display-for-SelectionConstraint"],[100,"impl-Display-for-ExcessStrategyKind"],[101,"impl-Debug-for-ExcessStrategyKind"],[107,"impl-From%3Cusize%3E-for-BnbLimit"],[109,"impl-From%3CDuration%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKcAGAAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAEAFwACwBsAAAAbgAAAHcAAQCHAAEAigABAJIADQChAAAAowAAAKYAAACqADAA3AAMAOoAAQA="}],\ ["bdk_electrum",{"t":"FFFENNNNNNENNNNNNONNNNNNNNNNNNNNNNNNNNNNN","n":["BdkElectrumClient","ElectrumFullScanResult","ElectrumSyncResult","bdk_chain","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","electrum_client","fetch_tx","fmt","from","from","from","full_scan","inner","into","into","into","new","populate_tx_cache","sync","transaction_broadcast","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with_confirmation_height_anchor","with_confirmation_height_anchor","with_confirmation_time_height_anchor","with_confirmation_time_height_anchor"],"q":[[0,"bdk_electrum"],[41,"bdk_electrum::bdk_electrum_client"],[42,"bitcoin::blockdata::transaction"],[43,"alloc::sync"],[44,"electrum_client::types"],[45,"core::result"],[46,"electrum_client::api"],[47,"core::fmt"],[48,"bdk_chain::spk_client"],[49,"core::cmp"],[50,"core::clone"],[51,"bdk_chain::tx_graph"],[52,"core::convert"],[53,"core::any"],[54,"bdk_chain::chain_data"]],"i":[0,0,0,0,16,23,3,16,23,3,0,3,3,16,23,3,3,3,16,23,3,3,3,3,3,16,23,3,16,23,3,16,23,3,16,23,3,16,23,16,23],"f":"````{{{b{c}}}{{b{e}}}{}{}}00{{{b{dc}}}{{b{de}}}{}{}}00`{{{b{{f{c}}}}h}{{A`{{l{j}}n}}}Ab}{{{b{{f{c}}}}{b{dAd}}}AfAh}{cc{}}00{{{b{{f{c}}}}{Aj{e}}AlAlAn}{{A`{{B`{e}}n}}}Ab{BbBd}}`{ce{}{}}00{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}}}{}{}}00000{{{b{c}}}C`{}}00666{{{B`{c}}}{{Cd{cCb}}}{}}{Bn{{Cf{Cb}}}}{{{B`{c}}{b{{f{e}}}}}{{A`{{Cd{cCh}}n}}}{}Ab}{{Bn{b{{f{c}}}}}{{A`{{Cf{Ch}}n}}}Ab}","D":"Bj","p":[[1,"reference"],[0,"mut"],[5,"BdkElectrumClient",0,41],[5,"Txid",42],[5,"Transaction",42],[5,"Arc",43],[6,"Error",44],[6,"Result",45],[10,"ElectrumApi",46],[5,"Formatter",47],[8,"Result",47],[10,"Debug",47],[5,"FullScanRequest",48],[1,"usize"],[1,"bool"],[5,"ElectrumFullScanResult",0,41],[10,"Ord",49],[10,"Clone",50],[1,"unit"],[5,"TxGraph",51],[10,"AsRef",52],[5,"SyncRequest",48],[5,"ElectrumSyncResult",0,41],[5,"TypeId",53],[5,"ConfirmationHeightAnchor",54],[5,"FullScanResult",48],[5,"SyncResult",48],[5,"ConfirmationTimeHeightAnchor",54]],"r":[[0,41],[1,41],[2,41]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABQAAwAEAAcADQAAABoACwA="}],\ ["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":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOO","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_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","expected","got"],"q":[[0,"bdk_file_store"],[73,"bdk_file_store::FileError"],[75,"bdk_file_store::store"],[76,"core::option"],[77,"core::result"],[78,"bdk_chain::tx_data_traits"],[79,"serde::ser"],[80,"serde::de"],[81,"core::marker"],[82,"std::io::error"],[83,"std::path"],[84,"core::convert"],[85,"bdk_file_store::entry_iter"],[86,"core::fmt"],[87,"std::fs"],[88,"alloc::string"],[89,"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,2,5,19,19,2,2,20,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,28,28],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}BlBn}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}111{AjB`}{ce{}{}}00000{{{f{b{d{c}}}}}{{Bf{c}}}{nA`AbAdAf}}`{{C`{f{bCb}}}{{Bf{c}}}{}}{{{f{b{Bf{c}}}}}{{h{e}}}Ab{}}=={{{f{c}}}Cd{}}00{c{{l{e}}}{}{}}000000000{{{f{c}}}Cf{}}000066666``","D":"Ch","p":[[0,"mut"],[5,"Store",0,75],[1,"reference"],[6,"Option",76],[5,"AggregateChangesetsError",0,75],[6,"Result",77],[10,"Append",78],[10,"Serialize",79],[10,"DeserializeOwned",80],[10,"Send",81],[10,"Sync",81],[1,"unit"],[5,"Error",82],[1,"u8"],[1,"slice"],[6,"FileError",0],[5,"Path",83],[10,"AsRef",84],[5,"EntryIter",0,85],[6,"IterError",0,85],[5,"Formatter",86],[8,"Result",86],[10,"Debug",86],[1,"u64"],[5,"File",87],[5,"String",88],[5,"TypeId",89],[15,"InvalidMagicBytes",73]],"r":[[0,75],[2,85],[7,85],[8,75]],"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-Display-for-FileError"],[30,"impl-Debug-for-FileError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8ABwAMAAkAGAAHACIAAAAmAAAALAAAAC8AAQAzABgA"}],\ +["bdk_file_store",{"t":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNOO","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_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","expected","got"],"q":[[0,"bdk_file_store"],[73,"bdk_file_store::FileError"],[75,"bdk_file_store::store"],[76,"core::option"],[77,"core::result"],[78,"bdk_chain::tx_data_traits"],[79,"serde::ser"],[80,"serde::de"],[81,"core::marker"],[82,"std::io::error"],[83,"std::path"],[84,"core::convert"],[85,"bdk_file_store::entry_iter"],[86,"core::fmt"],[87,"std::fs"],[88,"alloc::string"],[89,"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,2,5,19,19,2,2,20,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,28,28],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{{j{c}}}}{f{bBj}}}BlBn}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}111{AjB`}{ce{}{}}00000{{{f{b{d{c}}}}}{{Bf{c}}}{nA`AbAdAf}}`{{C`{f{bCb}}}{{Bf{c}}}{}}{{{f{b{Bf{c}}}}}{{h{e}}}Ab{}}=={{{f{c}}}Cd{}}00{c{{l{e}}}{}{}}000000000{{{f{c}}}Cf{}}000066666``","D":"Ch","p":[[0,"mut"],[5,"Store",0,75],[1,"reference"],[6,"Option",76],[5,"AggregateChangesetsError",0,75],[6,"Result",77],[10,"Append",78],[10,"Serialize",79],[10,"DeserializeOwned",80],[10,"Send",81],[10,"Sync",81],[1,"unit"],[5,"Error",82],[1,"u8"],[1,"slice"],[6,"FileError",0],[5,"Path",83],[10,"AsRef",84],[5,"EntryIter",0,85],[6,"IterError",0,85],[5,"Formatter",86],[8,"Result",86],[10,"Debug",86],[1,"u64"],[5,"File",87],[5,"String",88],[5,"TypeId",89],[15,"InvalidMagicBytes",73]],"r":[[0,75],[2,85],[7,85],[8,75]],"b":[[24,"impl-Display-for-IterError"],[25,"impl-Debug-for-IterError"],[27,"impl-Display-for-AggregateChangesetsError%3CC%3E"],[28,"impl-Debug-for-AggregateChangesetsError%3CC%3E"],[29,"impl-Debug-for-FileError"],[30,"impl-Display-for-FileError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8ABwAMAAkAGAAHACIAAAAmAAAALAAAAC8AAQAzABgA"}],\ ["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_sqlite",{"t":"GPPFNNNNNNNNNNNNNENNNNNNNNNNOO","n":["Error","Network","Sqlite","Store","borrow","borrow","borrow_mut","borrow_mut","fmt","fmt","fmt","from","from","into","into","new","read","rusqlite","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write","expected","given"],"q":[[0,"bdk_sqlite"],[28,"bdk_sqlite::Error"],[30,"bdk_sqlite::store"],[31,"core::fmt"],[32,"rusqlite"],[33,"rusqlite::error"],[34,"core::result"],[35,"core::cmp"],[36,"serde::de"],[37,"serde::ser"],[38,"core::marker"],[39,"bdk_chain::tx_data_traits"],[40,"bdk_chain::changeset"],[41,"core::option"],[42,"alloc::string"],[43,"core::any"]],"i":[0,6,6,0,3,6,3,6,3,6,6,3,6,3,6,3,3,0,6,3,6,3,6,3,6,3,6,3,20,20],"f":"````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{{b{{f{ce}}}}{b{dh}}}j{}{}}{{{b{l}}{b{dh}}}j}0{cc{}}0{ce{}{}}0{n{{Ab{{f{ce}}A`}}}{AdAfAhAj}{AlAfAhAj}}{{{b{d{f{ce}}}}}{{Ab{{B`{{An{ce}}}}l}}}{AdAfAhAj}{AlAfAhAj}}`{{{b{c}}}Bb{}}{c{{Ab{e}}}{}{}}000{{{b{c}}}Bd{}}055{{{b{d{f{ce}}}}{b{{An{ce}}}}}{{Ab{Bfl}}}{AdAfAhAj}{AlAfAhAj}}``","D":"Ah","p":[[1,"reference"],[0,"mut"],[5,"Store",0,30],[5,"Formatter",31],[8,"Result",31],[6,"Error",0],[5,"Connection",32],[6,"Error",33],[6,"Result",34],[10,"Ord",35],[10,"Deserialize",36],[10,"Serialize",37],[10,"Send",38],[10,"Anchor",39],[5,"CombinedChangeSet",40],[6,"Option",41],[5,"String",42],[5,"TypeId",43],[1,"unit"],[15,"Network",28]],"r":[[3,30]],"b":[[9,"impl-Debug-for-Error"],[10,"impl-Display-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABIAAwAFAAYAEgAJAB0AAQA="}],\ ["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,"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":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPPGKGPPPPPPGGPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNNHOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPPGPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","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","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","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_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","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","ConfirmationHeightCannotBeGreaterThanTip","Descriptor","Descriptor","Descriptor","InsertTxError","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load_from_changeset","local_chain","mark_used","network","network","new","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","tip_height","tx_height","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","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","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Segwitv0","SighashP2wpkh","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","TxInputsIndexError","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","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","Bip69Lexicographic","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","eq","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","partial_cmp","policy_path","set_recipients","sighash","sort_tx","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"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[352,"bdk_wallet::descriptor::checksum"],[354,"bdk_wallet::descriptor::error"],[386,"bdk_wallet::descriptor::policy"],[533,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[536,"bdk_wallet::descriptor::policy::Satisfaction"],[547,"bdk_wallet::descriptor::policy::SatisfiableItem"],[557,"bdk_wallet::descriptor::template"],[693,"bdk_wallet::keys"],[994,"bdk_wallet::psbt"],[998,"bdk_wallet::wallet"],[1213,"bdk_wallet::wallet::ApplyBlockError"],[1215,"bdk_wallet::wallet::InsertTxError"],[1217,"bdk_wallet::wallet::NewOrLoadError"],[1223,"bdk_wallet::wallet::coin_selection"],[1315,"bdk_wallet::wallet::coin_selection::Error"],[1317,"bdk_wallet::wallet::coin_selection::Excess"],[1322,"bdk_wallet::wallet::error"],[1393,"bdk_wallet::wallet::error::CreateTxError"],[1399,"bdk_wallet::wallet::export"],[1422,"bdk_wallet::wallet::signer"],[1603,"bdk_wallet::wallet::signer::SignerContext"],[1604,"bdk_wallet::wallet::tx_builder"],[1721,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1723,"bdk_wallet::types"],[1724,"core::cmp"],[1725,"core::result"],[1726,"serde::de"],[1727,"core::fmt"],[1728,"core::hash"],[1729,"bitcoin::blockdata::transaction"],[1730,"core::option"],[1731,"serde::ser"],[1732,"core::any"],[1733,"miniscript::descriptor"],[1734,"bitcoin::network"],[1735,"bitcoin::address"],[1736,"miniscript"],[1737,"miniscript::miniscript"],[1738,"miniscript::miniscript::decode"],[1739,"miniscript::miniscript::context"],[1740,"miniscript::iter::tree"],[1741,"miniscript::descriptor::key"],[1742,"alloc::vec"],[1743,"miniscript::miniscript::satisfy"],[1744,"miniscript::plan"],[1745,"bitcoin_hashes::sha256"],[1746,"miniscript::miniscript::hash256"],[1747,"bitcoin_hashes::ripemd160"],[1748,"bitcoin_hashes::hash160"],[1749,"core::clone"],[1750,"secp256k1"],[1751,"bitcoin::crypto::key"],[1752,"secp256k1::context"],[1753,"bdk_chain::descriptor_ext"],[1754,"miniscript::blanket_traits"],[1755,"bitcoin::blockdata::script::owned"],[1756,"miniscript::miniscript::analyzable"],[1757,"secp256k1::context::alloc_only"],[1758,"bitcoin::blockdata::script::borrowed"],[1759,"core::ops::range"],[1760,"core::ops::function"],[1761,"miniscript::descriptor::bare"],[1762,"miniscript::descriptor::segwitv0"],[1763,"miniscript::descriptor::sh"],[1764,"miniscript::descriptor::tr"],[1765,"miniscript::miniscript::types"],[1766,"miniscript::miniscript::types::extra_props"],[1767,"miniscript::expression"],[1768,"miniscript::miniscript::iter"],[1769,"miniscript::policy::semantic"],[1770,"miniscript::policy"],[1771,"bitcoin_units::weight"],[1772,"alloc::collections::btree::map"],[1773,"alloc::string"],[1774,"hex_conservative::error"],[1775,"base58ck::error"],[1776,"bitcoin::bip32"],[1777,"miniscript::descriptor::sortedmulti"],[1778,"core::str::traits"],[1779,"core::convert"],[1780,"core::default"],[1781,"rand_core"],[1782,"bitcoin_units::amount"],[1783,"bitcoin_units::fee_rate"],[1784,"bdk_chain::keychain"],[1785,"alloc::sync"],[1786,"core::iter::traits::iterator"],[1787,"bitcoin::blockdata::block"],[1788,"bdk_chain::local_chain"],[1789,"bdk_chain::chain_data"],[1790,"core::iter::traits::collect"],[1791,"bdk_chain::tx_graph"],[1792,"bitcoin::psbt"],[1793,"bdk_chain::spk_client"],[1794,"bitcoin::psbt::map::input"],[1795,"bdk_wallet::wallet::utils"],[1796,"core::iter::traits::double_ended"],[1797,"bdk_chain::keychain::txout_index"],[1798,"bitcoin::psbt::error"],[1799,"core::marker"],[1800,"bitcoin::crypto::sighash"],[1801,"bitcoin::blockdata::script::push_bytes::primitive"],[1802,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,252,252,252,94,253,24,0,0,0,0,0,0,31,0,0,33,0,0,35,94,253,24,0,0,0,94,253,24,35,31,0,94,253,24,94,253,24,94,253,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,121,115,115,0,122,0,0,121,120,0,121,121,115,115,115,121,122,71,115,122,122,0,0,0,71,71,120,121,121,0,0,121,121,121,120,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,71,120,121,122,73,123,71,73,123,123,120,121,122,73,123,115,120,121,122,73,123,115,115,71,120,121,122,122,73,73,123,115,71,73,120,123,121,73,120,121,122,73,123,115,71,121,122,123,73,123,73,73,120,121,122,73,123,123,120,121,122,73,123,71,115,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,120,121,122,73,123,115,71,254,254,254,255,256,257,256,257,256,257,256,257,256,257,258,259,260,261,262,263,263,262,264,265,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,124,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,125,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,118,0,0,0,0,158,158,0,0,147,0,0,0,0,118,118,118,33,0,0,30,118,118,103,35,158,151,0,151,0,0,30,35,103,0,0,0,0,30,0,147,103,35,0,266,35,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,142,33,33,33,33,33,33,33,33,33,143,30,144,142,35,103,145,146,147,143,30,144,142,35,103,145,146,147,142,35,145,147,144,144,143,35,35,142,30,142,35,103,145,146,147,148,30,144,118,118,142,142,35,35,103,103,145,146,147,142,151,151,151,143,148,30,144,118,118,118,142,35,35,103,145,146,147,148,148,35,103,142,35,35,158,161,161,158,158,161,151,35,142,35,145,147,151,143,148,30,144,118,142,35,103,145,146,147,35,127,133,143,143,148,35,103,133,151,143,143,35,103,151,151,35,266,30,35,103,266,30,266,30,35,35,142,145,146,142,0,35,33,142,142,0,142,33,142,35,145,146,33,148,142,35,145,147,33,142,142,142,142,35,33,142,0,143,30,144,142,35,103,145,146,147,103,118,142,35,103,33,33,142,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,0,168,168,168,0,0,0,203,0,202,199,200,201,0,0,0,201,201,201,200,200,200,0,0,203,0,0,171,172,195,172,172,172,172,172,172,172,171,172,185,195,199,200,201,202,203,171,172,185,195,199,200,201,202,203,172,172,172,172,172,215,185,172,171,185,171,185,0,171,171,185,195,172,172,172,171,171,195,0,0,172,171,171,172,185,195,195,199,199,200,200,201,201,202,202,203,203,171,172,185,185,185,195,199,200,201,202,203,172,172,172,172,172,185,171,195,215,172,172,172,171,172,185,195,199,200,201,202,203,212,172,195,172,185,172,172,172,172,172,172,172,172,215,172,172,172,172,172,172,172,172,172,172,172,172,172,171,172,0,172,172,172,172,172,171,185,171,195,199,200,201,202,203,171,172,171,171,171,172,185,195,199,200,201,202,203,171,172,185,195,199,200,201,202,203,0,172,171,172,185,195,199,200,201,202,203,172,172,171,171,172,185,195,199,200,201,202,203,0,267,267,268,268,269,270,269,270,271,271,226,226,0,227,0,0,0,0,0,226,0,227,0,226,227,225,221,222,223,226,227,225,221,222,223,221,222,223,221,222,223,224,221,222,223,0,221,222,223,225,225,226,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,225,223,225,225,221,222,223,226,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,272,272,273,274,274,273,274,0,208,228,0,208,208,192,208,192,208,208,0,208,208,208,208,208,228,208,208,208,208,208,192,192,208,192,228,208,208,228,208,192,228,208,192,228,228,228,228,208,208,192,192,228,208,208,208,208,208,208,192,228,208,192,228,228,208,192,228,208,192,228,208,192,228,208,192,228,208,192,275,275,276,276,277,278,0,0,279,230,230,230,230,230,230,230,230,230,230,230,230,279,230,230,230,230,230,230,230,235,231,235,198,231,235,198,0,198,198,198,232,198,198,198,198,198,198,198,235,231,232,198,198,0,0,0,0,0,0,0,0,232,0,0,198,198,70,197,197,70,197,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,70,231,232,233,173,70,197,235,231,232,233,173,70,197,235,231,173,173,70,197,235,233,236,233,233,233,231,232,173,235,70,231,198,198,232,233,173,70,197,235,231,231,231,198,198,198,198,232,233,173,70,197,235,231,236,233,233,233,70,231,198,232,233,173,70,197,235,233,70,231,173,70,243,233,233,233,174,233,197,70,197,231,232,233,173,70,197,235,198,197,197,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,280,0,0,249,248,248,0,246,246,246,248,249,0,0,247,249,191,191,191,191,191,191,191,191,191,191,247,246,249,248,191,247,246,249,248,191,191,249,248,191,249,248,249,248,191,191,249,248,191,191,191,191,191,249,248,191,191,191,191,191,247,247,246,246,249,248,191,247,246,249,248,249,248,191,191,247,246,249,248,191,191,191,191,191,249,248,191,191,191,249,249,191,249,248,247,246,191,247,246,249,248,191,247,246,249,248,191,247,246,249,248,191,191,191,247,246,249,248,281,281],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::``````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}AhGn}{c{{Af{{Cn{eg}}}}}AhGnDb}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{{{Jb{c}}}{{C`{c}}}Ch}{cc{}}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}555{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}GnDb}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}1{{{d{{C`{c}}}}}{{Af{LhCf}}}Ch}{{}{{d{Bn}}}}00{{{Cn{cLj}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Ll{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Cf}}}Mb}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MdCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Mf{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMh}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mj}00{{{d{{Cn{ce}}}}{d{{M`{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Ml{}}0{{{d{{C`{Df}}}}{d{{M`{DfLn}}}}}Ml}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Mn{g}}}}}ChCh{}{{N`{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MlId}}}}{{{d{Bn}}}{{Af{{Nb{f}}Id}}}}``````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{CfId}{NdId}{NfId}{cc{}}{NhId}{NjId}{NlId}{NnId}>{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Ib}}}Ib}{{{d{Of}}}Of}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Of}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Of}}{d{Of}}}Aj}{{{d{Nf}}{d{Nf}}}Aj}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Of}}{d{jAl}}}An}{{{d{Nf}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}0{AjOd}11{ObIb}222{{{d{Ib}}{d{{M`{Ml{Dn{Kd}}}}}}}{{Af{OfNf}}}}{{{d{O`}}{d{jc}}}AbB`}{{{d{Of}}{d{jc}}}AbB`}{{{d{Ob}}}Ml}`{ce{}{}}000000{{{d{Ob}}}Aj}{{{d{Od}}}Aj}{{{d{Of}}}Aj}`{{{d{Of}}{d{Of}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Od}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Of}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OhCb}{{Af{OjId}}}}{{{Ol{c}}Cb}{{Af{OjId}}}{{On{Fl}}}}{{{A@`{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@b{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@d{c}}Cb}{{Af{OjId}}}{{On{A@f}}}}{{{A@h{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@l{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@n{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AA`{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAb{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAd{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAf{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{{{AAh{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAj}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAl{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAn{ce}}}}}{{AAn{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AB`}}}AB`}{{{d{{AAl{ce}}}}}{{AAl{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ln}}}Ln}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{ABf}}}ABf}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{ABb}}{d{ABb}}}Ad}{{{d{ABf}}{d{ABf}}}Ad}`{{}AB`}{{{d{{AAn{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAl{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ln}}{d{Ln}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{ABf}}{d{ABf}}}Aj}{{{d{{ABh{c}}}}{d{jAl}}}An{ABjDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AB`}}{d{jAl}}}An}{{{d{Nl}}{d{jAl}}}An}0{{{d{{AAl{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ln}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABf}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAl{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{cc{}}{ABl{{ABn{c}}}Db}{AC`{{ABn{c}}}Db}2222{NjNl}3{CfNl}44{DjDf}5555{{DfAAj}{{ABh{c}}}Db}{{LnAAj}{{ABh{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ln}}}}{{{d{Kb}}}{{Af{{AAl{ce}}Cf}}}{ACbCh}Db}{{{d{Df}}}{{Bd{ACd}}}}{{{d{Df}}}{{Dn{ACd}}}}{c{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{{}{{Af{{AAn{ADbc}}e}}}Db{}}{{{d{jc}}}{{Af{{AAn{ADbe}}g}}}{ADdADf}Db{}}{{c{d{je}}}{{Af{{AAn{{ACl{}{{ACf{g}}{ACh{c}}{ACj{i}}}}k}}i}}}{}{ADdADf}{{ACn{{h{f}}}}AD`}ABjDb}{{ce}{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{c{{Af{{AAn{ADbe}}g}}}{}Db{}}{{{d{{ABn{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAl{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{ABb}}{d{jc}}}AbB`}{{{d{ABf}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfADh}{On{{Af{{ABh{c}}Nl}}}Db}{{A@j{Bd{ADj}}ACd}{{Af{{ABh{c}}Nl}}}Db}{{{AAn{ec}}}{{Af{{ABh{c}}Nl}}}Db{{On{c}}}}{{{AAn{ec}}{Bd{ADj}}ACd}{{Af{{ABh{c}}Nl}}}Db{{A@j{c}}}}{{{ABh{c}}}{{Af{{ABh{c}}Nl}}}Db}{Df{{Af{{ABh{c}}Nl}}}Db}{Ln{{Af{{ABh{c}}Nl}}}Db}{A@j{{Af{{ABn{c}}Nl}}}Db}{{{ABn{c}}}{{Af{{ABn{c}}Nl}}}Db}{{{AAn{ec}}}{{Af{{ABn{c}}Nl}}}Db{{A@j{c}}}}{{{AAn{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ln{{Dn{Ln}}}}{{{ABn{c}}Cb}{{Bd{AC`}}}Db}{{{ABn{c}}Cb{d{{Gd{e}}}}}ABlDbMb}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ln}}}Aj}212133{{{d{{AAl{ce}}}}}KdChDb}``{{{d{{AAl{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAj}{{{d{Df}}}ADl}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}44{{{d{AAj}}{d{AAj}}}AAj}5{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAl{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABh{c}}AAj}{{ABh{c}}}Db}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}{{Bd{Ad}}}{MdCh}{MdDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{ABb}}{d{ABb}}}{{Bd{Ad}}}}{{{d{ABf}}{d{ABf}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}{{{d{{AAl{ce}}}}}{{d{{h{c}}}}}ChDb}{{{d{{AAl{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAl{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}{{{d{{AAl{ce}}}}}KdChDb}{{{d{Df}}c}AfBh}{{}Mj}{{{d{{AAl{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAj}{{{d{c}}}e{}{}}00000000{{{d{Ln}}{d{{Gd{c}}}}}{{Af{DfADn}}}Mb}{{{d{c}}}Ml{}}000{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{AAl{ce}}}}{d{jk}}}{{Af{{AAl{ge}}{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{AE`}}}{{Bd{AEb}}}}{{{d{AE`}}}{{Bd{AEd}}}}{{{d{AE`}}Kd}{{Bd{Bj}}}}```````````````````````{{AEfAEf}AEf}{{{d{jAEh}}bAEj{AEn{AEl}}}Ab}`{{{d{AEh}}}{{M`{b{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}}}{{{d{jAEh}}{d{AFf}}Dh}{{Af{AbAFh}}}}{{{d{jAEh}}{d{AFf}}DhAFj}{{Af{AbAFl}}}}{{{d{jAEh}}c}Ab{{AG`{}{{AF`{{Ij{{d{AFn}}H`}}}}}}}}{{{d{jAEh}}c}{{Af{AbAFh}}}{{AGd{AGb}}}}{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{AEh}}}AEf}{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{{d{jAEh}}AGj}{{Af{{AGn{AGl}}AH`}}}}{{{d{jAEh}}}{{AGn{AGl}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEbAHb}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEdAHb}}}}{{{d{jAEh}}{d{AFn}}}Ab}``{{{d{AEh}}}AHd}{{{d{AEf}}}AEf}{{{d{AGb}}}AGb}{{{d{c}}{d{je}}}Ab{}{}}0``{{}AEf}{{}AGb}{{{d{AHf}}}{{d{c}}}{}}{{{d{AEh}}b}{{Bd{Dh}}}}{{{d{AEh}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{AEh}}b}Ml}{c{{Af{AEf}}}Ah}{{{d{AEf}}{d{AEf}}}Aj}{{{d{AHf}}{d{AHf}}}Aj}``{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}{{{d{AEf}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AEh}}{d{jAl}}}An}{{{d{AGb}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{{{d{AIb}}{d{jAl}}}An}0{{{d{AId}}{d{jAl}}}An}0{{{d{AIf}}{d{jAl}}}An}0{cc{}}00{{{AIh{b}}}AGb}{AIjAGb}222222{{{d{AEh}}b}{{d{Kl}}}}{{{d{AEh}}l{Bd{AIl}}Aj}{{Af{AInAJ`}}}}{{{d{AEh}}b}{{AEn{Hl}}}}{{{d{AEh}}AGj}{{Bd{{AJb{{AEn{AFn}}AGf}}}}}}{{{d{AEh}}Bb}{{Bd{l}}}}````{{{d{jAEh}}AFj}{{Af{AjAJd}}}}{{{d{jAEh}}AFnAJf}{{Af{AjAId}}}}{{{d{jAEh}}BbBj}Ab}{ce{}{}}00000000{{{d{AJh}}{d{If}}}Aj}{{{d{AEh}}{d{If}}}Aj}`{{{d{AEh}}}{{`{{AFd{}{{AF`{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{AEh}}}AJj}{{{d{AEh}}}{{`{{AFd{}{{AF`{l}}}}}}}}0{{{d{AEh}}b}{{`{{AJl{}{{AF`{AHf}}}}}}}}{AJn{{Af{AEhAI`}}}}{{{d{AEh}}}{{d{AK`}}}}{{{d{jAEh}}bDh}Aj}{{{d{AEh}}}Cb}`{{ccCb}{{Af{AEhAHn}}}Kj}{{cc{Bd{AJn}}Cb}{{Af{AEhAIb}}}Kj}{{cc{Bd{AJn}}CbAKb}{{Af{AEhAIb}}}Kj}{{ccCbAKb}{{Af{AEhAHn}}}Kj}{{{d{AEh}}b}Dh}{{{d{jAEh}}b}AHf}{{{d{AEh}}bDh}AHf}{{{d{AEh}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{AEh}}b}{{d{Kl}}}}{{{d{jAEh}}bDh}{{`{{AFd{}{{AF`{AHf}}}}}}}}4{{{d{AEh}}}{{d{{Gd{I`}}}}}}{{{d{AEh}}{d{AFn}}}{{Ij{AEbAEb}}}}{{{d{AEf}}c}AfBh}{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}`{{{d{AEh}}}{{d{{AKd{b}}}}}}{{{d{AEh}}}{{Bd{{d{AJn}}}}}}{{{d{AEh}}}{{AKf{b}}}}{{{d{AEh}}}AKh}{{{d{jAEh}}}{{Bd{AJn}}}}{{{d{c}}}e{}{}}0{{{d{c}}}Ml{}}000000{{{d{AEf}}}AEb}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AJb{{AEn{AFn}}AGf}}}}}}}}}}`1{c{{Af{e}}}{}{}}00000000000000000`{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{c}}}Bl{}}00000000{{{d{AEh}}b}{{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}{{{d{jAEh}}bDh}Aj}`{ce{}{}}00000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MlId}}}Kj}```````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKj}}}AKj}{{{d{AKl}}}AKl}{{{d{AKn}}}AKn}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AL`}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKn}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{H`AEd{d{If}}}ALf}{{}AKj}{{}AKl}{{}AKn}``{{{d{ALd}}{d{jAl}}}An}0{{{d{ALf}}{d{jAl}}}An}{{{d{ALb}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{{{d{AKn}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{ALb}}}H`}{H`AKn}`1{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666`````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALh}}}ALh}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALh}}{d{jAl}}}An}0{{{d{AJ`}}{d{jAl}}}An}0{{{d{AH`}}{d{jAl}}}An}0>{IdAJ`}{ALjAJ`}{ALdAJ`}{NfAJ`}{ALhAJ`}{cc{}}0{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Ml{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444``````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALl}}}{{Bd{Ml}}}}{{{d{ALl}}}Ml}{c{{Af{ALl}}}Ah}{{{d{AEh}}{d{Bn}}Aj}{{Af{ALl{d{Bn}}}}}}{{{d{ALl}}{d{jAl}}}An}0<{{{d{Bn}}}{{Af{ALlc}}}{}}<``{{{d{ALl}}c}AfBh};::9=`````````````````````````````````````{{{d{jHl}}ALnAEj{AEn{AEl}}}{{Bd{{AEn{AEl}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALn}}}ALn}{{{d{AM`}}}AM`}{{{d{{AMb{c}}}}}{{AMb{c}}}{G`AMdABjG`}}{{{d{AEj}}}AEj}{{{d{Hl}}}Hl}{{{d{AHj}}}AHj}{{{d{AMf}}}AMf}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALn}}{d{ALn}}}Ad}{{{d{AEj}}{d{AEj}}}Ad}{{}AEj}{{}Hl}{{}AHj}{{}AMf}{{{d{{AMb{c}}}}}{{d{e}}}{AMdABjG`}{}}{{{d{AMh}}}{{Bd{Ln}}}}{{{d{{AMb{{AMj{AC`}}}}}}}{{Bd{Ln}}}}{{{d{{AMb{AMl}}}}}{{Bd{Ln}}}}{{{d{{AMb{{AMn{AC`}}}}}}}{{Bd{Ln}}}}{{{d{ALn}}{d{ALn}}}Aj}{{{d{AM`}}{d{AM`}}}Aj}{{{d{AEj}}{d{AEj}}}Aj}{{{d{AMf}}{d{AMf}}}Aj}{{{d{Hl}}ALn}{{Bd{{d{{AEn{AEl}}}}}}}}{{{d{ALn}}{d{jAl}}}An}{{{d{AHl}}{d{jAl}}}An}0{{{d{AM`}}{d{jAl}}}An}{{{d{{AMb{c}}}}{d{jAl}}}An{ABjAMdABjG`}}{{{d{AEj}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHj}}{d{jAl}}}An}{{{d{AMf}}{d{jAl}}}An}{FhALn}{ADlALn}{cc{}}0{AN`AHl}{ANbAHl}{ANdAHl}333333{{{d{ALn}}{d{jc}}}AbB`}{{{d{AMh}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{{AMj{AC`}}}}}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{AMl}}}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{{AMn{AC`}}}}}}{d{{Gd{I`}}}}}ALn}{{{d{Hl}}}{{Dn{{d{ALn}}}}}}{ce{}{}}0000000{{cAM`}{{AMb{c}}}{AMdABjG`}}{{}Hl}{{{d{ALn}}{d{ALn}}}{{Bd{Ad}}}}{{{d{AEj}}{d{AEj}}}{{Bd{Ad}}}}{{{d{jHl}}ALnAEj}{{Bd{{AEn{AEl}}}}}}{{{d{ANf}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{{AMj{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{{AMn{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{AMl}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{AEl}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{c}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEn{AEl}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Ml{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGn{c}}}}{d{e}}}{{d{j{AGn{c}}}}}{}{{ANj{ANh}}}}{{{d{j{AGn{c}}}}BbAInKd}{{Af{{d{j{AGn{c}}}}ANl}}}{}}{{{d{j{AGn{c}}}}BbAInKdBf}{{Af{{d{j{AGn{c}}}}ANl}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}HbAEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{Af{{d{j{AGn{c}}}}ANn}}}{}}{{{d{j{AGn{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGn{c}}}}ANn}}}{}}{{{d{j{AGn{c}}}}Aj}{{d{j{AGn{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGn{c}}}}AO`}{{d{j{AGn{c}}}}}{}}{{{d{{AGn{c}}}}}{{AGn{c}}}G`}{{{d{AOb}}}AOb}{{{d{AO`}}}AO`}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AOb}}{d{AOb}}}Ad}{{{d{AO`}}{d{AO`}}}Ad}{{{AGn{c}}e}{{AGn{e}}}{}AL`}{{{d{j{AGn{c}}}}Dh}{{d{j{AGn{c}}}}}{}}{{}AOb}{{}AO`}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Hb}{{d{j{AGn{c}}}}}{}}11{{{d{j{AGn{c}}}}Bf}{{d{j{AGn{c}}}}}{}}{{{d{AOb}}{d{AOb}}}Aj}{{{d{AO`}}{d{AO`}}}Aj}{{{d{j{AGn{c}}}}AEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AEd}{{d{j{AGn{c}}}}}{}}{{{AGn{c}}}{{Af{AHhAJ`}}}AL`}{{{AGn{c}}{d{je}}}{{Af{AHhAJ`}}}AL`ADf}{{{d{{AGn{c}}}}{d{jAl}}}AnABj}{{{d{ANn}}{d{jAl}}}An}0{{{d{ANl}}{d{jAl}}}An}0{{{d{AOb}}{d{jAl}}}An}{{{d{AO`}}{d{jAl}}}An}{cc{}}0000{{{d{AOb}}{d{jc}}}AbB`}{{{d{AO`}}{d{jc}}}AbB`}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{ce{}{}}00001{{{d{j{AGn{c}}}}AOd}{{d{j{AGn{c}}}}}{}}22{{{d{j{AGn{c}}}}AOb}{{d{j{AGn{c}}}}}{}}{{{d{AOb}}{d{AOb}}}{{Bd{Ad}}}}{{{d{AO`}}{d{AO`}}}{{Bd{Ad}}}}{{{d{j{AGn{c}}}}{M`{Ml{Dn{Kd}}}}b}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}{Dn{{Ij{HbAEb}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AIl}{{d{j{AGn{c}}}}}{}}{{AOb{d{jAFn}}}Ab}{{AOb{d{jAFn}}{d{jc}}}AbADf}{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGn{c}}}}{Dn{Bb}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AOf}{{d{j{AGn{c}}}}}{}}?????``","D":"FGl","p":[[6,"KeychainKind",0,1723],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1723],[5,"WeightedUtxo",0,1723],[6,"Utxo",0,1723],[1,"unit"],[6,"Ordering",1724],[6,"Result",1725],[10,"Deserializer",1726],[1,"bool"],[5,"Formatter",1727],[8,"Result",1727],[10,"Hasher",1728],[5,"OutPoint",1729],[6,"Option",1730],[5,"Sequence",1729],[10,"Serializer",1731],[5,"TxOut",1729],[5,"TypeId",1732],[1,"str"],[6,"Descriptor",100,1733],[6,"Network",1734],[5,"Address",1735],[6,"Error",1736],[10,"MiniscriptKey",1736],[10,"ToPublicKey",1736],[6,"ScriptContextEnum",693],[5,"Miniscript",100,1737],[6,"Terminal",1738],[10,"ScriptContext",693,1739],[6,"Tree",1740],[6,"DescriptorPublicKey",693,1741],[1,"u32"],[5,"DefiniteDescriptorKey",1741],[6,"ConversionError",1741],[5,"Vec",1742],[6,"Placeholder",1743],[5,"Satisfaction",1743],[10,"AssetProvider",1744],[17,"Key"],[6,"ScriptContextError",1739],[17,"Sha256"],[5,"Hash",1745],[17,"Hash256"],[5,"Hash",1746],[17,"Ripemd160"],[5,"Hash",1747],[17,"Hash160"],[5,"Hash",1748],[10,"ParseableKey",1738],[6,"Legacy",100,1739],[6,"Segwitv0",100,1739],[10,"Clone",1749],[10,"Ord",1724],[5,"Secp256k1",1750],[5,"PublicKey",1751],[10,"Verification",1752],[6,"DescriptorType",1733],[5,"DescriptorId",1753],[10,"FromStrKey",1754],[1,"u64"],[5,"ScriptBuf",1755],[10,"PartialEq",1724],[5,"ExtParams",1756],[6,"AnalysisError",1756],[10,"ExtractPolicy",100],[5,"SignersContainer",1422],[6,"BuildSatisfaction",386],[6,"All",1757],[5,"Policy",386],[6,"Error",354],[5,"Script",1758],[5,"Range",1759],[1,"tuple"],[5,"Error",1727],[17,"Output"],[10,"FnMut",1760],[5,"Pkh",1761],[5,"Wsh",1762],[5,"Bare",1761],[5,"Sh",1763],[5,"Wpkh",1762],[5,"Tr",1764],[5,"Type",1765],[5,"ExtData",1766],[5,"Tree",1767],[1,"usize"],[10,"Satisfier",1743],[10,"Hash",1728],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",693,1733],[5,"Iter",1768],[5,"PkIter",1768],[6,"Policy",1769],[6,"LiftError",1770],[5,"Weight",1771],[6,"BareCtx",1739],[6,"TapTree",1764],[6,"DescriptorSecretKey",693,1741],[5,"BTreeMap",1772],[10,"Signing",1752],[10,"PartialOrd",1724],[5,"Plan",1744],[5,"TxIn",1729],[6,"SigType",1739],[5,"String",1773],[6,"TranslateErr",1736],[10,"Translator",1736],[1,"array"],[6,"HexToBytesError",1774],[6,"PolicyError",386],[6,"Error",1775],[6,"Error",1776],[6,"KeyError",693],[6,"ParsePublicKeyError",1751],[6,"PkOrF",386],[6,"SatisfiableItem",386],[6,"Satisfaction",386],[5,"Condition",386],[10,"DescriptorTemplate",557],[8,"DescriptorTemplateOut",557],[5,"P2Pkh",557],[10,"IntoDescriptorKey",693],[5,"P2Wpkh_P2Sh",557],[5,"P2Wpkh",557],[5,"P2TR",557],[6,"Tap",1739],[5,"Bip44",557],[10,"DerivableKey",693],[5,"Bip44Public",557],[5,"Bip49",557],[5,"Bip49Public",557],[5,"Bip84",557],[5,"Bip84Public",557],[5,"Bip86",557],[5,"Bip86Public",557],[8,"ValidNetworks",693],[5,"SortedMultiVec",693,1777],[5,"GeneratedKey",693],[5,"PrivateKeyGenerateOptions",693],[5,"SinglePub",693,1741],[5,"SinglePriv",693,1741],[6,"SinglePubKey",693,1741],[6,"DescriptorKey",693],[10,"Debug",1727],[5,"Xpub",1776],[6,"ExtendedKey",693],[5,"Xpriv",1776],[10,"FromStr",1778],[5,"DerivationPath",1776],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",693],[10,"AsMut",1779],[10,"Default",1780],[10,"GeneratableDefaultOptions",693],[10,"CryptoRng",1781],[10,"RngCore",1781],[5,"Assets",1744],[8,"KeySource",1776],[5,"Fingerprint",1776],[5,"DescriptorKeyParseError",1741],[10,"PsbtUtils",994],[5,"Amount",1782],[5,"FeeRate",1783],[5,"Balance",998,1784],[5,"Wallet",998],[5,"SignerOrdering",1422],[10,"TransactionSigner",1422],[5,"Arc",1785],[17,"Item"],[8,"Indexed",1784],[10,"Iterator",1786],[5,"Block",1787],[5,"CannotConnectError",1788],[5,"BlockId",1789],[6,"ApplyHeaderError",1788],[5,"Transaction",1729],[10,"IntoIterator",1790],[5,"Update",998],[10,"Into",1779],[5,"ConfirmationTimeHeightAnchor",1789],[5,"TxGraph",1791],[5,"Txid",1729],[8,"DefaultCoinSelectionAlgorithm",1223],[5,"TxBuilder",1604],[6,"BuildFeeBumpError",1322],[6,"CalculateFeeError",1791],[5,"CheckPointIter",1788],[5,"AddressInfo",998],[5,"Psbt",1792],[5,"SignOptions",1422],[6,"SignerError",1422],[6,"NewError",998],[6,"LoadError",998],[6,"NewOrLoadError",998],[6,"InsertTxError",998],[6,"ApplyBlockError",998],[5,"FullScanResult",1793],[5,"SyncResult",1793],[5,"PsbtSighashType",1794],[5,"Input",1794],[6,"CreateTxError",1322],[5,"CanonicalTx",1791],[5,"AlterCheckPointError",1788],[6,"ConfirmationTime",1789],[10,"IsDust",998,1795],[5,"CheckPoint",1788],[10,"DoubleEndedIterator",1796],[8,"ChangeSet",998],[5,"LocalChain",1788],[5,"BlockHash",1787],[5,"KeychainTxOutIndex",1797],[5,"FullScanRequest",1793],[5,"SyncRequest",1793],[5,"LargestFirstCoinSelection",1223],[5,"OldestFirstCoinSelection",1223],[5,"BranchAndBoundCoinSelection",1223],[10,"CoinSelectionAlgorithm",1223],[5,"CoinSelectionResult",1223],[6,"Error",1223],[6,"Excess",1223],[6,"MiniscriptPsbtError",1322],[6,"Error",1798],[5,"FullyNodedExport",1399],[6,"SignerId",1422],[6,"SignerContext",1422],[5,"SignerWrapper",1422],[10,"Sized",1799],[6,"TapLeavesOptions",1422],[10,"SignerCommon",1422],[5,"DescriptorMultiXKey",1741],[5,"PrivateKey",1751],[5,"DescriptorXKey",1741],[5,"InputsIndexError",1729],[6,"TaprootError",1800],[6,"P2wpkhError",1800],[10,"InputSigner",1422],[5,"PushBytes",1801],[10,"AsRef",1779],[6,"AddForeignUtxoError",1604],[6,"AddUtxoError",1604],[6,"ChangeSpendPolicy",1604],[6,"TxOrdering",1604],[6,"LockTime",1802],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",533],[15,"Complete",536],[15,"Partial",536],[15,"PartialComplete",536],[15,"Sha256Preimage",547],[15,"Hash256Preimage",547],[15,"Ripemd160Preimage",547],[15,"Hash160Preimage",547],[15,"Thresh",547],[15,"Multisig",547],[15,"AbsoluteTimelock",547],[15,"RelativeTimelock",547],[10,"ExtScriptContext",693],[15,"UnexpectedConnectedToHash",1213],[15,"ConfirmationHeightCannotBeGreaterThanTip",1215],[15,"LoadedGenesisDoesNotMatch",1217],[15,"LoadedNetworkDoesNotMatch",1217],[15,"LoadedDescriptorDoesNotMatch",1217],[15,"InsufficientFunds",1315],[15,"Change",1317],[15,"NoChange",1317],[15,"RbfSequenceCsv",1393],[15,"LockTime",1393],[15,"FeeTooLow",1393],[15,"FeeRateTooLow",1393],[8,"WalletExport",1399],[15,"Tap",1603],[15,"InvalidTxid",1721]],"r":[[2,100],[4,1723],[6,1723],[7,1422],[8,1604],[9,1723],[10,998],[11,1723],[70,998],[71,100],[104,1733],[106,1741],[113,1739],[114,1737],[119,386],[120,1739],[121,1739],[155,352],[696,1741],[697,1741],[712,1733],[722,1739],[727,1741],[728,1741],[729,1741],[730,1777],[1000,1784],[1008,1795]],"b":[[193,"impl-Descriptor%3CDescriptorPublicKey%3E"],[194,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[213,"impl-Debug-for-Descriptor%3CPk%3E"],[214,"impl-Display-for-Descriptor%3CPk%3E"],[217,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[218,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[221,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[226,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[227,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[370,"impl-Debug-for-Error"],[371,"impl-Display-for-Error"],[372,"impl-From%3CError%3E-for-Error"],[373,"impl-From%3CHexToBytesError%3E-for-Error"],[374,"impl-From%3CPolicyError%3E-for-Error"],[376,"impl-From%3CError%3E-for-Error"],[377,"impl-From%3CError%3E-for-Error"],[378,"impl-From%3CKeyError%3E-for-Error"],[379,"impl-From%3CParsePublicKeyError%3E-for-Error"],[461,"impl-Debug-for-PolicyError"],[462,"impl-Display-for-PolicyError"],[811,"impl-Display-for-KeyError"],[812,"impl-Debug-for-KeyError"],[813,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[814,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[815,"impl-Debug-for-DescriptorPublicKey"],[816,"impl-Display-for-DescriptorPublicKey"],[817,"impl-Debug-for-DescriptorSecretKey"],[818,"impl-Display-for-DescriptorSecretKey"],[824,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[825,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[830,"impl-From%3CError%3E-for-KeyError"],[832,"impl-From%3CError%3E-for-KeyError"],[874,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[875,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1075,"impl-Debug-for-Balance"],[1076,"impl-Display-for-Balance"],[1079,"impl-Display-for-AddressInfo"],[1080,"impl-Debug-for-AddressInfo"],[1081,"impl-Display-for-NewError"],[1082,"impl-Debug-for-NewError"],[1083,"impl-Display-for-LoadError"],[1084,"impl-Debug-for-LoadError"],[1085,"impl-Display-for-NewOrLoadError"],[1086,"impl-Debug-for-NewOrLoadError"],[1087,"impl-Display-for-InsertTxError"],[1088,"impl-Debug-for-InsertTxError"],[1089,"impl-Display-for-ApplyBlockError"],[1090,"impl-Debug-for-ApplyBlockError"],[1094,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1095,"impl-From%3CSyncResult%3E-for-Update"],[1264,"impl-Debug-for-Error"],[1265,"impl-Display-for-Error"],[1360,"impl-Debug-for-MiniscriptPsbtError"],[1361,"impl-Display-for-MiniscriptPsbtError"],[1362,"impl-Display-for-CreateTxError"],[1363,"impl-Debug-for-CreateTxError"],[1364,"impl-Display-for-BuildFeeBumpError"],[1365,"impl-Debug-for-BuildFeeBumpError"],[1367,"impl-From%3CError%3E-for-CreateTxError"],[1368,"impl-From%3CError%3E-for-CreateTxError"],[1369,"impl-From%3CError%3E-for-CreateTxError"],[1370,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1371,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1409,"impl-Display-for-FullyNodedExport"],[1410,"impl-Debug-for-FullyNodedExport"],[1503,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1504,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1505,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1512,"impl-Debug-for-SignerError"],[1513,"impl-Display-for-SignerError"],[1520,"impl-From%3CHash%3E-for-SignerId"],[1521,"impl-From%3CFingerprint%3E-for-SignerId"],[1524,"impl-From%3CInputsIndexError%3E-for-SignerError"],[1525,"impl-From%3CTaprootError%3E-for-SignerError"],[1526,"impl-From%3CP2wpkhError%3E-for-SignerError"],[1535,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1536,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1537,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1553,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1554,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1555,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1663,"impl-Debug-for-AddUtxoError"],[1664,"impl-Display-for-AddUtxoError"],[1665,"impl-Display-for-AddForeignUtxoError"],[1666,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAMEAAwEPAR8DeAN5BQ==","e":"OzAAAAEAAH0DfwADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB4AAAAjAABAI8AAACRAAcAnAAAAJ4AAQChAAAApAABAKcAAQCrAAEArgABALEAAQC0AAsAxQADAMoAAwDTAAEA1gAIAOAABADqAAAA9wADAAIBAAAIAQEADAEBABMBAQApAQMALgEBADwBAQA/AQEAQwEFAE4BBwBXAQMAXAEDAHEBBgB5AQMAfgEEAKYBGQDCAQ4A0wEAANYBAADbAQEA6gEAAO0BBADzASIAPAIXAFUCCwB5AjwA5AIXAAYDFQAdAwEAIAMAACIDFQA5AwEAPwMAAEEDAABEAwAASwMBAFgDAwBoAwAAawMEAHEDAQCBAwEAhgMAAJADAACVAwMAngMAAKIDCACsAwMAswMvAP4DAAAGBAAACAQRACIEAwAoBAIALgQCADQEDwBHBAEAfwQAAIcECACUBBEAqAQIALQECADVBBEA6AQCAOwEAgDxBAYACAUbAEkFDQBYBQQAYgUPAHwFAQCABQAAggUBAIUFAACJBQUAuQUPAMoFFADgBQYA6AUKAPUFAgD+BQAAAAYCAA4GAQASBgIAFgYAABoGBwAkBh8AXQYJAGgGBwByBgEAeQYBAH8GBgCLBgEAmAYBAJ8GEwC1BgQA"}],\ +["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,"P2wpkhError",166],[6,"Error",160],[6,"TaprootError",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%3CP2wpkhError%3E-for-SigningError"],[71,"impl-From%3CError%3E-for-SigningError"],[72,"impl-From%3CTaprootError%3E-for-SigningError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAGkAEAABAAEABAABAA4AAgAUACIAOwAHAEcAAgBOAAAAUQAAAFwAAQBfAAAAYgAAAGQAAABoAAAAawAAAG0AKQCaAAEA"}],\ +["bdk_wallet",{"t":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPPGKGPPPPPPGGPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNNHOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPPGPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["External","Foreign","HdKeyPaths","Internal","KeychainKind","Local","LocalOutput","SignOptions","TxBuilder","Utxo","Wallet","WeightedUtxo","as_byte","as_ref","bitcoin","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","confirmation_time","derivation_index","descriptor","descriptor","deserialize","deserialize","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fragment","from","from","from","from","hash","hash","into","into","into","into","is_spent","keychain","keys","miniscript","outpoint","outpoint","partial_cmp","psbt","satisfaction_weight","sequence","serialize","serialize","signer","template","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txout","txout","type_id","type_id","type_id","type_id","utxo","version","vzip","vzip","vzip","vzip","wallet","outpoint","psbt_input","sequence","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","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","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","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_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","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeSet","ConfirmationHeightCannotBeGreaterThanTip","Descriptor","Descriptor","Descriptor","InsertTxError","IsDust","LoadError","LoadedDescriptorDoesNotMatch","LoadedGenesisDoesNotMatch","LoadedNetworkDoesNotMatch","MissingDescriptor","MissingGenesis","MissingNetwork","NewError","NewOrLoadError","UnexpectedConnectedToHash","Update","Wallet","add","add_signer","address","all_unbounded_spk_iters","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_ref","balance","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","checkpoints","clone","clone","clone_into","clone_into","coin_selection","confirmed","default","default","deref","derivation_index","derivation_of_spk","descriptor_checksum","deserialize","eq","eq","error","export","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","get_descriptor_for_keychain","get_psbt_input","get_signers","get_tx","get_utxo","graph","immature","index","indexed_tx_graph","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","is_dust","is_mine","keychain","keychains","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load_from_changeset","local_chain","mark_used","network","network","new","new_or_load","new_or_load_with_genesis_hash","new_with_genesis_hash","next_derivation_index","next_unused_address","peek_address","policies","public_descriptor","reveal_addresses_to","reveal_next_address","secp_ctx","sent_and_received","serialize","sign","signer","spk_index","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","connected_to_hash","expected_hash","tip_height","tx_height","expected","expected","got","got","got","keychain","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","BuildFeeBumpError","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","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","eq","eq","eq","eq","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","Bip69Lexicographic","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","eq","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","partial_cmp","policy_path","set_recipients","sighash","sort_tx","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"],"q":[[0,"bdk_wallet"],[97,"bdk_wallet::Utxo"],[100,"bdk_wallet::descriptor"],[352,"bdk_wallet::descriptor::checksum"],[354,"bdk_wallet::descriptor::error"],[386,"bdk_wallet::descriptor::policy"],[533,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[536,"bdk_wallet::descriptor::policy::Satisfaction"],[547,"bdk_wallet::descriptor::policy::SatisfiableItem"],[557,"bdk_wallet::descriptor::template"],[693,"bdk_wallet::keys"],[994,"bdk_wallet::psbt"],[998,"bdk_wallet::wallet"],[1213,"bdk_wallet::wallet::ApplyBlockError"],[1215,"bdk_wallet::wallet::InsertTxError"],[1217,"bdk_wallet::wallet::NewOrLoadError"],[1223,"bdk_wallet::wallet::coin_selection"],[1315,"bdk_wallet::wallet::coin_selection::Error"],[1317,"bdk_wallet::wallet::coin_selection::Excess"],[1322,"bdk_wallet::wallet::error"],[1393,"bdk_wallet::wallet::error::CreateTxError"],[1399,"bdk_wallet::wallet::export"],[1422,"bdk_wallet::wallet::signer"],[1599,"bdk_wallet::wallet::signer::SignerContext"],[1600,"bdk_wallet::wallet::tx_builder"],[1717,"bdk_wallet::wallet::tx_builder::AddForeignUtxoError"],[1719,"bdk_wallet::types"],[1720,"core::cmp"],[1721,"core::result"],[1722,"serde::de"],[1723,"core::fmt"],[1724,"core::hash"],[1725,"bitcoin::blockdata::transaction"],[1726,"core::option"],[1727,"serde::ser"],[1728,"core::any"],[1729,"miniscript::descriptor"],[1730,"bitcoin::network"],[1731,"bitcoin::address"],[1732,"miniscript"],[1733,"miniscript::miniscript"],[1734,"miniscript::miniscript::decode"],[1735,"miniscript::miniscript::context"],[1736,"miniscript::iter::tree"],[1737,"miniscript::descriptor::key"],[1738,"alloc::vec"],[1739,"miniscript::miniscript::satisfy"],[1740,"miniscript::plan"],[1741,"bitcoin_hashes::sha256"],[1742,"miniscript::miniscript::hash256"],[1743,"bitcoin_hashes::ripemd160"],[1744,"bitcoin_hashes::hash160"],[1745,"core::clone"],[1746,"secp256k1"],[1747,"bitcoin::crypto::key"],[1748,"secp256k1::context"],[1749,"bdk_chain::descriptor_ext"],[1750,"miniscript::blanket_traits"],[1751,"bitcoin::blockdata::script::owned"],[1752,"miniscript::miniscript::analyzable"],[1753,"secp256k1::context::alloc_only"],[1754,"bitcoin::blockdata::script::borrowed"],[1755,"core::ops::range"],[1756,"core::ops::function"],[1757,"miniscript::descriptor::segwitv0"],[1758,"miniscript::descriptor::tr"],[1759,"miniscript::descriptor::bare"],[1760,"miniscript::descriptor::sh"],[1761,"miniscript::miniscript::types"],[1762,"miniscript::miniscript::types::extra_props"],[1763,"miniscript::expression"],[1764,"miniscript::miniscript::iter"],[1765,"miniscript::policy::semantic"],[1766,"miniscript::policy"],[1767,"bitcoin_units::weight"],[1768,"alloc::collections::btree::map"],[1769,"alloc::string"],[1770,"hex_conservative::error"],[1771,"bitcoin::bip32"],[1772,"base58ck::error"],[1773,"miniscript::descriptor::sortedmulti"],[1774,"core::str::traits"],[1775,"core::convert"],[1776,"core::default"],[1777,"rand_core"],[1778,"bitcoin_units::amount"],[1779,"bitcoin_units::fee_rate"],[1780,"bdk_chain::keychain"],[1781,"alloc::sync"],[1782,"core::iter::traits::iterator"],[1783,"bitcoin::blockdata::block"],[1784,"bdk_chain::local_chain"],[1785,"bdk_chain::chain_data"],[1786,"core::iter::traits::collect"],[1787,"bdk_chain::tx_graph"],[1788,"bitcoin::psbt"],[1789,"bdk_chain::spk_client"],[1790,"bitcoin::psbt::map::input"],[1791,"bdk_wallet::wallet::utils"],[1792,"core::iter::traits::double_ended"],[1793,"bdk_chain::keychain::txout_index"],[1794,"bitcoin::psbt::error"],[1795,"core::marker"],[1796,"bitcoin::blockdata::script::push_bytes::primitive"],[1797,"bitcoin::blockdata::locktime::absolute"]],"i":[1,8,0,1,0,8,0,0,0,0,0,0,1,1,0,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,7,8,1,6,6,0,0,1,6,1,6,7,8,1,6,7,8,0,1,6,7,8,1,6,1,6,7,8,6,6,0,0,8,6,1,0,7,8,1,6,0,0,1,6,7,8,1,6,7,8,1,6,7,8,8,6,1,6,7,8,7,0,1,6,7,8,0,249,249,249,94,250,24,0,0,0,0,0,0,31,0,0,33,0,0,35,94,250,24,0,0,0,94,250,24,35,31,0,94,250,24,94,250,24,94,250,24,35,24,54,55,31,31,24,24,54,55,31,24,54,55,31,31,31,31,0,33,54,55,33,55,33,33,54,55,33,54,55,33,33,54,55,33,54,55,33,54,55,0,24,54,55,31,24,54,55,31,24,54,55,31,31,24,24,24,24,24,24,31,24,31,24,54,55,31,0,24,31,31,69,24,31,24,24,24,54,55,31,31,24,31,24,24,24,24,24,24,24,54,55,31,31,31,24,31,31,31,24,31,31,31,24,24,31,31,24,24,54,55,31,24,54,55,31,31,24,93,94,24,24,31,31,31,24,31,31,33,54,55,31,24,31,24,33,54,55,24,24,24,24,24,24,24,24,24,24,24,24,24,24,31,33,31,24,31,31,24,54,55,31,33,54,55,24,24,0,31,24,31,24,31,31,24,24,31,24,31,33,54,55,31,0,24,54,55,31,24,31,24,33,33,24,31,24,54,55,31,24,54,55,31,31,24,54,55,31,24,24,54,55,31,31,0,0,74,74,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,121,117,117,0,122,0,0,121,120,0,121,121,117,117,117,121,122,71,117,122,122,0,0,0,71,71,120,121,121,0,0,121,121,121,120,120,121,122,73,123,117,71,120,121,122,73,123,117,71,120,121,122,73,123,71,120,121,122,73,123,71,73,123,123,120,121,122,73,123,117,120,121,122,73,123,117,117,71,120,121,122,122,73,73,123,117,71,73,120,123,121,73,120,121,122,73,123,117,71,121,122,123,73,123,73,73,120,121,122,73,123,123,120,121,122,73,123,71,117,120,121,122,73,123,117,71,120,121,122,73,123,117,71,120,121,122,73,123,117,71,120,121,122,73,123,117,71,251,251,251,252,253,254,253,254,253,254,253,254,253,254,255,256,257,258,259,260,260,259,261,262,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,124,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,125,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,126,128,129,130,132,134,135,136,137,138,139,140,118,0,0,0,0,158,158,0,0,147,0,0,0,0,118,118,118,33,0,0,30,118,118,103,35,158,151,0,151,0,0,30,35,103,0,0,0,0,30,0,147,103,35,0,263,35,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,142,33,33,33,33,33,33,33,33,33,143,30,144,142,35,103,145,146,147,143,30,144,142,35,103,145,146,147,142,35,145,147,144,144,143,35,35,142,30,142,35,103,145,146,147,148,30,144,118,118,142,142,35,35,103,103,145,146,147,142,151,151,151,143,148,30,144,118,118,118,142,35,35,103,145,146,147,148,148,35,103,142,35,35,158,161,161,158,158,161,151,35,142,35,145,147,151,143,148,30,144,118,142,35,103,145,146,147,35,127,133,143,143,148,35,103,133,151,143,143,35,103,151,151,35,263,30,35,103,263,30,263,30,35,35,142,145,146,142,0,35,33,142,142,0,142,33,142,35,145,146,33,148,142,35,145,147,33,142,142,142,142,35,33,142,0,143,30,144,142,35,103,145,146,147,103,118,142,35,103,33,33,142,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,151,143,148,30,144,118,142,35,103,145,146,147,0,168,168,168,0,0,0,203,0,202,199,200,201,0,0,0,201,201,201,200,200,200,0,0,203,0,0,171,172,195,172,172,172,172,172,172,172,171,172,185,195,199,200,201,202,203,171,172,185,195,199,200,201,202,203,172,172,172,172,172,215,185,172,171,185,171,185,0,171,171,185,195,172,172,172,171,171,195,0,0,172,171,171,172,185,195,195,199,199,200,200,201,201,202,202,203,203,171,172,185,185,185,195,199,200,201,202,203,172,172,172,172,172,185,171,195,215,172,172,172,171,172,185,195,199,200,201,202,203,212,172,195,172,185,172,172,172,172,172,172,172,172,215,172,172,172,172,172,172,172,172,172,172,172,172,172,171,172,0,172,172,172,172,172,171,185,171,195,199,200,201,202,203,171,172,171,171,171,172,185,195,199,200,201,202,203,171,172,185,195,199,200,201,202,203,0,172,171,172,185,195,199,200,201,202,203,172,172,171,171,172,185,195,199,200,201,202,203,0,264,264,265,265,266,267,266,267,268,268,226,226,0,227,0,0,0,0,0,226,0,227,0,226,227,225,221,222,223,226,227,225,221,222,223,221,222,223,221,222,223,224,221,222,223,0,221,222,223,225,225,226,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,225,223,225,225,221,222,223,226,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,226,227,225,221,222,223,269,269,270,271,271,270,271,0,208,228,0,208,208,192,208,192,208,208,0,208,208,208,208,208,228,208,208,208,208,208,192,192,208,192,228,208,208,228,208,192,228,208,192,228,228,228,228,208,208,192,192,228,208,208,208,208,208,208,192,228,208,192,228,228,208,192,228,208,192,228,208,192,228,208,192,228,208,192,272,272,273,273,274,275,0,0,276,230,230,230,230,230,230,230,230,230,230,230,230,276,230,230,230,230,230,230,230,235,231,235,198,231,235,198,0,198,198,198,232,198,198,198,198,198,198,198,235,231,198,232,198,0,0,0,0,0,0,0,0,232,0,0,198,70,197,197,70,197,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,70,231,232,233,173,70,197,235,231,232,233,173,70,197,235,231,173,173,70,197,235,233,236,233,233,233,231,232,173,235,70,231,198,198,232,233,173,70,197,235,231,231,231,198,232,233,173,70,197,235,231,236,233,233,233,70,231,198,232,233,173,70,197,235,233,70,231,173,70,240,233,233,233,174,233,197,70,197,231,232,233,173,70,197,235,198,197,197,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,231,198,232,233,173,70,197,235,277,0,0,246,245,245,0,243,243,243,245,246,0,0,244,246,191,191,191,191,191,191,191,191,191,191,244,243,246,245,191,244,243,246,245,191,191,246,245,191,246,245,246,245,191,191,246,245,191,191,191,191,191,246,245,191,191,191,191,191,244,244,243,243,246,245,191,244,243,246,245,246,245,191,191,244,243,246,245,191,191,191,191,191,246,245,191,191,191,246,246,191,246,245,244,243,191,244,243,246,245,191,244,243,246,245,191,244,243,246,245,191,191,191,244,243,246,245,278,278],"f":"````````````{{{d{b}}}f}{{{d{b}}}{{d{{h{f}}}}}}`{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000`{{{d{b}}}b}{{{d{l}}}l}{{{d{n}}}n}{{{d{A`}}}A`}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{b}}{d{b}}}Ad}````{c{{Af{b}}}Ah}{c{{Af{l}}}Ah}{{{d{b}}{d{b}}}Aj}{{{d{l}}{d{l}}}Aj}{{{d{n}}{d{n}}}Aj}{{{d{A`}}{d{A`}}}Aj}{{{d{b}}{d{jAl}}}An}{{{d{l}}{d{jAl}}}An}{{{d{n}}{d{jAl}}}An}{{{d{A`}}{d{jAl}}}An}`{cc{}}000{{{d{b}}{d{jc}}}AbB`}{{{d{l}}{d{jc}}}AbB`}{ce{}{}}000````{{{d{A`}}}Bb}`{{{d{b}}{d{b}}}{{Bd{Ad}}}}``{{{d{A`}}}{{Bd{Bf}}}}{{{d{b}}c}AfBh}{{{d{l}}c}AfBh}``{{{d{c}}}e{}{}}000{c{{Af{e}}}{}{}}0000000{{{d{A`}}}{{d{Bj}}}}`{{{d{c}}}Bl{}}000`{{}{{d{Bn}}}}::::``````````````````````````````````````````{{{d{{C`{c}}}}Cb}{{Af{CdCf}}}{ChCj}}{{}Cl}0{{{d{{Cn{ce}}}}}{{d{{D`{ce}}}}}ChDb}{{{d{{d{{Cn{ce}}}}}}}{{Dd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{c}}}{{d{e}}}{}{}}000{{{d{jc}}}{{d{je}}}{}{}}000{{{d{{Cn{ce}}}}}{{Dn{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}0`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{Cn{cFn}}}}}{{Af{AbEh}}}Ch}2022102102{{{d{c}}}{{Af{AbEh}}}Ch}00{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{D`{cFl}}}}}{{Af{AbEh}}}Ch}{{{d{{D`{cFn}}}}}{{Af{AbEh}}}Ch}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}00`{{{d{{C`{c}}}}}{{C`{c}}}{G`Ch}}{{{d{Fl}}}Fl}{{{d{Fn}}}Fn}{{{d{{Cn{ce}}}}}{{Cn{ce}}}{G`Ch}{G`Db}}{{{d{c}}{d{je}}}Ab{}{}}000{{{d{{C`{c}}}}{d{{C`{c}}}}}Ad{GbCh}}{{{d{Fl}}{d{Fl}}}Ad}{{{d{Fn}}{d{Fn}}}Ad}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AdChDb}{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{Df}}}}Dh}{{Af{{C`{Dj}}Dl}}}}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{c}}}}}GjCh}{{{d{{C`{Df}}}}}Gl}{c{{Af{{C`{e}}}}}AhGn}{c{{Af{{Cn{eg}}}}}AhGnDb}{{{d{{C`{Df}}}}}H`}{{{d{{Cn{ce}}}}}Hb{CjCh}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}Aj{HdCh}}{{{d{Fl}}{d{Fl}}}Aj}{{{d{Fn}}{d{Fn}}}Aj}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}AjChDb}`{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}`{{{d{{Cn{ce}}}}{d{Hf}}}{{Af{AbHh}}}ChDb}{{{d{Hj}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{C`{Df}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}}{{{d{{Cn{Dfc}}}}{d{Hl}}Hn{d{{Gd{I`}}}}}{{Af{{Bd{Ib}}Id}}}Db}{{{d{{C`{Df}}}}{d{{Gd{c}}}}{d{If}}{Ih{Dh}}}{{Af{{Bd{{Ij{Dh{C`{Gf}}}}}}Dl}}}Gh}{{{d{{C`{c}}}}{d{jAl}}}{{Af{AbIl}}}Ch}0{{{d{Fl}}{d{jAl}}}{{Af{AbIl}}}}{{{d{Fn}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{Cn{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{{C`{c}}}}e}AjCh{{J`{{d{c}}}{{In{Aj}}}}}}{{{d{{Cn{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{cc{}}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jd{c}}}{{C`{c}}}Ch}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}666{{{D`{ce}}}{{Af{{Cn{ce}}Cf}}}ChDb}{{{D`{ce}}JnK`}{{Cn{ce}}}ChDb}{{{d{Bn}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Bn}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{Bn}}{d{Hf}}}{{Af{{Cn{ce}}Cf}}}GnDb}1{{{d{Kb}}}{{Af{{C`{c}}Cf}}}Gn}{{{d{Kb}}}{{Af{{Cn{ce}}Cf}}}GnDb}{{{d{{Cn{ce}}}}Kd}{{Bd{{d{{Cn{ce}}}}}}}ChDb}{{{d{{Cn{ce}}}}Kd}{{Bd{c}}}ChDb}{{{d{{C`{c}}}}e}{{Af{{Ij{{Dn{{Dn{f}}}}Hb}}Cf}}}{ChCj}{{Kf{c}}}}0{{{d{{Cn{ce}}}}}AjChDb}0{{{d{{C`{Df}}}}}Aj}{{{d{{C`{c}}}}{d{je}}}Ab{KhCh}B`}{{{d{Fl}}{d{jc}}}AbB`}{{{d{Fn}}{d{jc}}}AbB`}{{{d{{Cn{ce}}}}{d{jg}}}AbChDbB`}{ce{}{}}000{{{Cn{ce}}}{{D`{ce}}}ChDb}{{{C`{Df}}}{{Af{{Dn{{C`{Df}}}}Cf}}}}{{Kj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{Kl{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}99:{{{d{{Cn{ce}}}}}{{L`{ce}}}ChDb}{{{d{{Cn{ce}}}}}{{Lb{ce}}}ChDb}{{{d{{C`{c}}}}}{{Af{{Ld{c}}Cf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{{d{{Cn{ce}}}}}{{Af{AbLf}}}ChDb}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{Cn{cFl}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{cFn}}}}}{{Bd{Kd}}}Ch}{{{d{{Cn{ce}}}}}{{Af{KdCf}}}ChDb}{{{d{{C`{c}}}}}{{Af{KdCf}}}Ch}1{{{d{{C`{c}}}}}{{Af{LhCf}}}Ch}{{}{{d{Bn}}}}00{{{Cn{cLj}}}{{Af{{C`{c}}Cf}}}Ch}{c{{C`{c}}}Ch}{c{{Af{{C`{c}}Cf}}}Ch}{{{Cn{cFl}}}{{Af{{C`{c}}Cf}}}Ch}{{Kd{Dn{c}}}{{Af{{C`{c}}Cf}}}Ch}{{{Jb{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}4{{{Cn{cFn}}}{{Af{{C`{c}}Cf}}}Ch}3{{c{Bd{{Ll{c}}}}}{{Af{{C`{c}}Cf}}}Ch}614`{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{If}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{Gd{c}}}}{d{Bn}}}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Cf}}}Mb}1{{{d{If}}{d{Hf}}}{{Af{{Cn{c}}Cf}}}Db}{{{d{{C`{c}}}}{d{{C`{c}}}}}{{Bd{Ad}}}{MdCh}}{{{d{Fl}}{d{Fl}}}{{Bd{Ad}}}}{{{d{Fn}}{d{Fn}}}{{Bd{Ad}}}}{{{d{{Cn{ce}}}}{d{{Cn{ce}}}}}{{Bd{Ad}}}ChDb}{{{d{c}}}KdCh}00{{{C`{Dj}}{d{c}}}{{Af{Mf{C`{Dj}}}}}{{Ed{Dj}}}}0`{{{d{{Cn{ce}}}}}AjChDb}{{{d{{C`{c}}}}}{{Af{AbCf}}}Ch}{{{d{{Cn{ce}}}}}{{Af{AbHh}}}ChDb}{{{d{{C`{c}}}}{d{jMh}}e}{{Af{AbCf}}}{ChCj}{{Kf{c}}}}{{{d{{Cn{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}0{{{d{{C`{c}}}}}{{Af{HbCf}}}{ChCj}}{{{d{{C`{c}}}}}Hb{ChCj}}{{{d{{Cn{ce}}}}}KdChDb}{{{d{{C`{c}}}}e}AfChBh}{{{d{{Cn{ce}}}}g}AfChDbBh}{{}Mj}00{{{d{{Cn{ce}}}}{d{{M`{Fhc}}}}}{{Cn{ce}}}ChDb}`{{{d{c}}}e{}{}}000{{{d{c}}}Ml{}}0{{{d{{C`{Df}}}}{d{{M`{DfLn}}}}}Ml}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{C`{c}}}}{d{ji}}}{{Af{{Mn{g}}}}}ChCh{}{{N`{ceg}}}}{{{d{{Cn{ce}}}}{d{jk}}}{{Af{{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}0000000`{{{d{c}}}Bl{}}000={ce{}{}}000{{{d{{Cn{ce}}}}}AjChDb}{{{d{Bn}}}{{Af{MlId}}}}{{{d{Bn}}}{{Af{{Nb{f}}Id}}}}``````````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{Id}}{d{jAl}}}An}0{cc{}}{NdId}{NfId}{NhId}{NjId}{CfId}{NlId}{NnId}>{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0{{{d{c}}}Bl{}}{ce{}{}}```````````````````````````````````>>>>>>>======={{{d{O`}}}O`}{{{d{Ob}}}Ob}{{{d{Od}}}Od}{{{d{Ib}}}Ib}{{{d{Of}}}Of}{{{d{Hn}}}Hn}{{{d{c}}{d{je}}}Ab{}{}}00000``{{}Of}{{{d{O`}}{d{O`}}}Aj}{{{d{Ob}}{d{Ob}}}Aj}{{{d{Od}}{d{Od}}}Aj}{{{d{Ib}}{d{Ib}}}Aj}{{{d{Of}}{d{Of}}}Aj}{{{d{Nj}}{d{Nj}}}Aj}{{{d{O`}}{d{jAl}}}An}{{{d{Ob}}{d{jAl}}}An}{{{d{Od}}{d{jAl}}}An}{{{d{Ib}}{d{jAl}}}An}{{{d{Of}}{d{jAl}}}An}{{{d{Nj}}{d{jAl}}}An}0{{{d{Hn}}{d{jAl}}}An}{cc{}}00{AjOd}{ObIb}2222{{{d{Ib}}{d{{M`{Ml{Dn{Kd}}}}}}}{{Af{OfNj}}}}{{{d{O`}}{d{jc}}}AbB`}{{{d{Of}}{d{jc}}}AbB`}{{{d{Ob}}}Ml}`{ce{}{}}000000{{{d{Ob}}}Aj}{{{d{Od}}}Aj}{{{d{Of}}}Aj}`{{{d{Of}}{d{Of}}}{{Bd{Ad}}}}{{{d{Ib}}}Aj}`{{{d{O`}}c}AfBh}{{{d{Ob}}c}AfBh}{{{d{Od}}c}AfBh}{{{d{Ib}}c}AfBh}{{{d{Of}}c}AfBh}`{{{d{c}}}e{}{}}00000{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}0000000000000{{{d{c}}}Bl{}}000000>>>>>>>``````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{OhCb}{{Af{OjId}}}}{{{Ol{c}}Cb}{{Af{OjId}}}{{On{Fl}}}}{{{A@`{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@b{c}}Cb}{{Af{OjId}}}{{On{Fn}}}}{{{A@d{c}}Cb}{{Af{OjId}}}{{On{A@f}}}}{{{A@h{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@l{c}}Cb}{{Af{OjId}}}{{A@j{Fl}}}}{{{A@n{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AA`{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAb{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAd{c}}Cb}{{Af{OjId}}}{{A@j{Fn}}}}{{{AAf{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{{{AAh{c}}Cb}{{Af{OjId}}}{{A@j{A@f}}}}{cc{}}00000000000{ce{}{}}00000000000{{Oj{d{{Gd{I`}}}}Cb}{{Af{{Ij{KlKn}}Id}}}}{{c{d{{Gd{I`}}}}Cb}{{Af{{Ij{{C`{Df}}{M`{DfLn}}}}Id}}}{}}00000000000{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000444444444444```````````````````````````````````````````{{}AAj}{{}Cl}{{DfDh}{{Af{DjDl}}}}{{{d{c}}}{{d{e}}}{}{}}00000000000{{{d{jc}}}{{d{je}}}{}{}}00000000000{{{d{{AAl{ce}}}}{d{g}}}{{Eb{{E`{c}}}}}{CjCh}Db{{Ed{c}}}}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}00000{{{d{c}}}{{Af{AbEh}}}Ch}{{{d{{D`{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbEh}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{d{{h{{Dn{f}}}}}}}{{Af{AbEh}}}}{{{d{{AAn{ce}}}}}{{AAn{ce}}}G`Db}{{{d{Cl}}}Cl}{{{d{AB`}}}AB`}{{{d{{AAl{ce}}}}}{{AAl{ce}}}{G`Ch}{G`Db}}{{{d{Df}}}Df}{{{d{Ln}}}Ln}{{{d{ABb}}}ABb}{{{d{ABd}}}ABd}{{{d{ABf}}}ABf}{{{d{c}}{d{je}}}Ab{}{}}00000000{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Ad{GbCh}{GbDb}}{{{d{Df}}{d{Df}}}Ad}{{{d{ABb}}{d{ABb}}}Ad}{{{d{ABf}}{d{ABf}}}Ad}`{{}AB`}{{{d{{AAn{ce}}}}}{{d{g}}}{}Db{}}{{DfDh}{{Af{DjDl}}}}{c{{Af{Df}}}Ah}{{{d{{AAl{ce}}}}}Hb{CjCh}Db}{{{d{Cl}}{d{Cl}}}Aj}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}Aj{HdCh}{HdDb}}{{{d{Df}}{d{Df}}}Aj}{{{d{Ln}}{d{Ln}}}Aj}{{{d{ABb}}{d{ABb}}}Aj}{{{d{ABd}}{d{ABd}}}Aj}{{{d{ABf}}{d{ABf}}}Aj}{{{d{{ABh{c}}}}{d{jAl}}}An{ABjDb}}{{{d{Cl}}{d{jAl}}}An}{{{d{AB`}}{d{jAl}}}An}{{{d{Nl}}{d{jAl}}}An}0{{{d{{AAl{ce}}}}{d{jAl}}}{{Af{AbIl}}}ChDb}0{{{d{Df}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{Ln}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{ABb}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABd}}{d{jAl}}}{{Af{AbIl}}}}{{{d{ABf}}{d{jAl}}}{{Af{AbIl}}}}{{{d{{AAl{ce}}}}g}AjChDb{{J`{{d{c}}}{{In{Aj}}}}}}{cc{}}{ABl{{ABn{c}}}Db}{AC`{{ABn{c}}}Db}2222{NhNl}3{CfNl}4{DjDf}55555{{DfAAj}{{ABh{c}}}Db}{{LnAAj}{{ABh{c}}}Db}{{{d{Bn}}}{{Af{Df}}}}{{{d{Bn}}}{{Af{Ln}}}}{{{d{Kb}}}{{Af{{AAl{ce}}Cf}}}{ACbCh}Db}{{{d{Df}}}{{Bd{ACd}}}}{{{d{Df}}}{{Dn{ACd}}}}{c{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{{}{{Af{{AAn{ADbc}}e}}}Db{}}{{{d{jc}}}{{Af{{AAn{ADbe}}g}}}{ADdADf}Db{}}{{c{d{je}}}{{Af{{AAn{{ACl{}{{ACf{g}}{ACh{c}}{ACj{i}}}}k}}i}}}{}{ADdADf}{{ACn{{h{f}}}}AD`}ABjDb}{{ce}{{Af{{AAn{{ACl{}{{ACf{e}}{ACh{c}}{ACj{g}}}}i}}g}}}{}{{ACn{{h{f}}}}AD`}ABjDb}{c{{Af{{AAn{ADbe}}g}}}{}Db{}}{{{d{{ABn{c}}}}}AjDb}{{{d{Df}}}Aj}{{{d{{AAl{ce}}}}{d{jg}}}Ab{KhCh}{KhDb}B`}{{{d{Df}}{d{jc}}}AbB`}{{{d{ABb}}{d{jc}}}AbB`}{{{d{ABf}}{d{jc}}}AbB`}{ce{}{}}00000000000{DfADh}{On{{Af{{ABh{c}}Nl}}}Db}{{A@j{Bd{ADj}}ACd}{{Af{{ABh{c}}Nl}}}Db}{{{AAn{ec}}{Bd{ADj}}ACd}{{Af{{ABh{c}}Nl}}}Db{{A@j{c}}}}{{{AAn{ec}}}{{Af{{ABh{c}}Nl}}}Db{{On{c}}}}{{{ABh{c}}}{{Af{{ABh{c}}Nl}}}Db}{Df{{Af{{ABh{c}}Nl}}}Db}{Ln{{Af{{ABh{c}}Nl}}}Db}{A@j{{Af{{ABn{c}}Nl}}}Db}{{{ABn{c}}}{{Af{{ABn{c}}Nl}}}Db}{{{AAn{ec}}}{{Af{{ABn{c}}Nl}}}Db{{A@j{c}}}}{{{AAn{ce}}}c{}Db}{Df{{Dn{Df}}}}{Ln{{Dn{Ln}}}}{{{ABn{c}}Cb}{{Bd{AC`}}}Db}{{{ABn{c}}Cb{d{{Gd{e}}}}}ABlDbMb}{{{d{Df}}}Aj}{{}Aj}{{{d{Cl}}}Aj}2{{{d{Ln}}}Aj}212133{{{d{{AAl{ce}}}}}KdChDb}``{{{d{{AAl{ce}}}}}{{Af{{Ld{c}}Cf}}}ChDb}{{}AAj}{{{d{Df}}}ADl}{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Bd{Kd}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}44{{{d{AAj}}{d{AAj}}}AAj}5{{}{{d{Bn}}}}{{Kd{Dn{c}}}{{Af{{AAl{ce}}Cf}}}ChDb}{{{d{Df}}}Kd}``{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}{{{ABh{c}}AAj}{{ABh{c}}}Db}{{{d{{AAl{ce}}}}{d{{AAl{ce}}}}}{{Bd{Ad}}}{MdCh}{MdDb}}{{{d{Df}}{d{Df}}}{{Bd{Ad}}}}{{{d{ABb}}{d{ABb}}}{{Bd{Ad}}}}{{{d{ABf}}{d{ABf}}}{{Bd{Ad}}}}{{{d{c}}}KdCh}{{{d{{AAl{ce}}}}}{{d{{h{c}}}}}ChDb}{{{d{{AAl{ce}}}}}{{Af{AbCf}}}ChDb}{{{d{{AAl{ce}}}}g}{{Af{{Dn{{Dn{f}}}}Cf}}}{CjCh}Db{{Kf{c}}}}{{{d{{AAl{ce}}}}}KdChDb}{{{d{Df}}c}AfBh}{{}Mj}{{{d{{AAl{ce}}}}}{{D`{ce}}}{CjCh}Db}{{}AAj}{{{d{c}}}e{}{}}00000000{{{d{Ln}}{d{{Gd{c}}}}}{{Af{DfADn}}}Mb}{{{d{c}}}Ml{}}000{{{d{{Cn{c{Db{}{{Ef{e}}}}}}}}}{{Af{AbCf}}}Ch{{Fj{}{{Ej{El}}{En{F`}}{Fb{Fd}}{Ff{Fh}}}}ChChChCh}}0{{{d{{AAl{ce}}}}{d{jk}}}{{Af{{AAl{ge}}{Mn{i}}}}}ChDbCh{}{{N`{cgi}}}}{c{{Af{e}}}{}{}}00000000000000000000000{{{d{c}}}Bl{}}00000000000{ce{}{}}00000000000`{{{d{AE`}}}{{Bd{AEb}}}}{{{d{AE`}}}{{Bd{AEd}}}}{{{d{AE`}}Kd}{{Bd{Bj}}}}```````````````````````{{AEfAEf}AEf}{{{d{jAEh}}bAEj{AEn{AEl}}}Ab}`{{{d{AEh}}}{{M`{b{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}}}{{{d{jAEh}}{d{AFf}}Dh}{{Af{AbAFh}}}}{{{d{jAEh}}{d{AFf}}DhAFj}{{Af{AbAFl}}}}{{{d{jAEh}}c}Ab{{AG`{}{{AF`{{Ij{{d{AFn}}H`}}}}}}}}{{{d{jAEh}}c}{{Af{AbAFh}}}{{AGd{AGb}}}}{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{AEh}}}AEf}{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{{d{jAEh}}AGj}{{Af{{AGn{AGl}}AH`}}}}{{{d{jAEh}}}{{AGn{AGl}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEbAHb}}}}{{{d{AEh}}{d{AFn}}}{{Af{AEdAHb}}}}{{{d{jAEh}}{d{AFn}}}Ab}``{{{d{AEh}}}AHd}{{{d{AEf}}}AEf}{{{d{AGb}}}AGb}{{{d{c}}{d{je}}}Ab{}{}}0``{{}AEf}{{}AGb}{{{d{AHf}}}{{d{c}}}{}}{{{d{AEh}}b}{{Bd{Dh}}}}{{{d{AEh}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{AEh}}b}Ml}{c{{Af{AEf}}}Ah}{{{d{AEf}}{d{AEf}}}Aj}{{{d{AHf}}{d{AHf}}}Aj}``{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}{{{d{AEf}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AEh}}{d{jAl}}}An}{{{d{AGb}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{{{d{AIb}}{d{jAl}}}An}0{{{d{AId}}{d{jAl}}}An}0{{{d{AIf}}{d{jAl}}}An}0{cc{}}0{{{AIh{b}}}AGb}1{AIjAGb}222222{{{d{AEh}}b}{{d{Kl}}}}{{{d{AEh}}l{Bd{AIl}}Aj}{{Af{AInAJ`}}}}{{{d{AEh}}b}{{AEn{Hl}}}}{{{d{AEh}}AGj}{{Bd{{AJb{{AEn{AFn}}AGf}}}}}}{{{d{AEh}}Bb}{{Bd{l}}}}````{{{d{jAEh}}AFj}{{Af{AjAJd}}}}{{{d{jAEh}}AFnAJf}{{Af{AjAId}}}}{{{d{jAEh}}BbBj}Ab}{ce{}{}}00000000{{{d{AJh}}{d{If}}}Aj}{{{d{AEh}}{d{If}}}Aj}`{{{d{AEh}}}{{`{{AFd{}{{AF`{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{AEh}}}AJj}{{{d{AEh}}}{{`{{AFd{}{{AF`{l}}}}}}}}0{{{d{AEh}}b}{{`{{AJl{}{{AF`{AHf}}}}}}}}{AJn{{Af{AEhAI`}}}}{{{d{AEh}}}{{d{AK`}}}}{{{d{jAEh}}bDh}Aj}{{{d{AEh}}}Cb}`{{ccCb}{{Af{AEhAHn}}}Kj}{{cc{Bd{AJn}}Cb}{{Af{AEhAIb}}}Kj}{{cc{Bd{AJn}}CbAKb}{{Af{AEhAIb}}}Kj}{{ccCbAKb}{{Af{AEhAHn}}}Kj}{{{d{AEh}}b}Dh}{{{d{jAEh}}b}AHf}{{{d{AEh}}bDh}AHf}{{{d{AEh}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{AEh}}b}{{d{Kl}}}}{{{d{jAEh}}bDh}{{`{{AFd{}{{AF`{AHf}}}}}}}}4{{{d{AEh}}}{{d{{Gd{I`}}}}}}{{{d{AEh}}{d{AFn}}}{{Ij{AEbAEb}}}}{{{d{AEf}}c}AfBh}{{{d{AEh}}{d{jAHh}}AHj}{{Af{AjAHl}}}}`{{{d{AEh}}}{{d{{AKd{b}}}}}}{{{d{AEh}}}{{Bd{{d{AJn}}}}}}{{{d{AEh}}}{{AKf{b}}}}{{{d{AEh}}}AKh}{{{d{jAEh}}}{{Bd{AJn}}}}{{{d{c}}}e{}{}}0{{{d{c}}}Ml{}}000000{{{d{AEf}}}AEb}{{{d{AEh}}}{{`{{AFd{}{{AF`{{AJb{{AEn{AFn}}AGf}}}}}}}}}}`1{c{{Af{e}}}{}{}}00000000000000000`{{{d{AEh}}}{{d{{AGh{AGf}}}}}}{{{d{c}}}Bl{}}00000000{{{d{AEh}}b}{{`{{AFd{}{{AF`{{AFb{Hb}}}}}}G`}}}}{{{d{jAEh}}bDh}Aj}`{ce{}{}}00000000{{c{Bd{c}}Cb{d{{Gd{I`}}}}}{{Af{MlId}}}Kj}```````````````````````{{{d{c}}}{{d{e}}}{}{}}00000{{{d{jc}}}{{d{je}}}{}{}}00000{{{d{AKj}}}AKj}{{{d{AKl}}}AKl}{{{d{AKn}}}AKn}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AL`}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKl}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{{d{AKn}}{Dn{n}}{Dn{n}}AEdH`{d{If}}}{{Af{ALbALd}}}}{{H`AEd{d{If}}}ALf}{{}AKj}{{}AKl}{{}AKn}``{{{d{ALd}}{d{jAl}}}An}0{{{d{ALf}}{d{jAl}}}An}{{{d{ALb}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{{{d{AKl}}{d{jAl}}}An}{{{d{AKn}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{ALb}}}H`}{H`AKn}`1{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}{c{{Af{e}}}{}{}}00000000000{{{d{c}}}Bl{}}00000666666`````````````````````````````````````{{{d{c}}}{{d{e}}}{}{}}00{{{d{jc}}}{{d{je}}}{}{}}00{{{d{ALh}}}ALh}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALh}}{d{jAl}}}An}0{{{d{AJ`}}{d{jAl}}}An}0{{{d{AH`}}{d{jAl}}}An}0>{ALdAJ`}?{NjAJ`}{ALjAJ`}{IdAJ`}{ALhAJ`}{cc{}}{ce{}{}}00{{{d{c}}}e{}{}}{{{d{c}}}Ml{}}00{c{{Af{e}}}{}{}}00000{{{d{c}}}Bl{}}00444``````````{{{d{c}}}{{d{e}}}{}{}}{{{d{jc}}}{{d{je}}}{}{}}{{{d{ALl}}}{{Bd{Ml}}}}{{{d{ALl}}}Ml}{c{{Af{ALl}}}Ah}{{{d{AEh}}{d{Bn}}Aj}{{Af{ALl{d{Bn}}}}}}{{{d{ALl}}{d{jAl}}}An}0<{{{d{Bn}}}{{Af{ALlc}}}{}}<``{{{d{ALl}}c}AfBh};::9=````````````````````````````````````{{{d{jHl}}ALnAEj{AEn{AEl}}}{{Bd{{AEn{AEl}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALn}}}ALn}{{{d{AM`}}}AM`}{{{d{{AMb{c}}}}}{{AMb{c}}}{G`AMdABjG`}}{{{d{AEj}}}AEj}{{{d{Hl}}}Hl}{{{d{AHj}}}AHj}{{{d{AMf}}}AMf}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALn}}{d{ALn}}}Ad}{{{d{AEj}}{d{AEj}}}Ad}{{}AEj}{{}Hl}{{}AHj}{{}AMf}{{{d{{AMb{c}}}}}{{d{e}}}{AMdABjG`}{}}{{{d{AMh}}}{{Bd{Ln}}}}{{{d{{AMb{{AMj{AC`}}}}}}}{{Bd{Ln}}}}{{{d{{AMb{{AMl{AC`}}}}}}}{{Bd{Ln}}}}{{{d{{AMb{AMn}}}}}{{Bd{Ln}}}}{{{d{ALn}}{d{ALn}}}Aj}{{{d{AM`}}{d{AM`}}}Aj}{{{d{AEj}}{d{AEj}}}Aj}{{{d{AMf}}{d{AMf}}}Aj}{{{d{Hl}}ALn}{{Bd{{d{{AEn{AEl}}}}}}}}{{{d{ALn}}{d{jAl}}}An}{{{d{AHl}}{d{jAl}}}An}0{{{d{AM`}}{d{jAl}}}An}{{{d{{AMb{c}}}}{d{jAl}}}An{ABjAMdABjG`}}{{{d{AEj}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHj}}{d{jAl}}}An}{{{d{AMf}}{d{jAl}}}An}{ADlALn}{cc{}}{FhALn}1111111{{{d{ALn}}{d{jc}}}AbB`}{{{d{AMh}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{AMn}}}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{{AMl{AC`}}}}}}{d{{Gd{I`}}}}}ALn}{{{d{{AMb{{AMj{AC`}}}}}}{d{{Gd{I`}}}}}ALn}{{{d{Hl}}}{{Dn{{d{ALn}}}}}}{ce{}{}}0000000{{cAM`}{{AMb{c}}}{AMdABjG`}}{{}Hl}{{{d{ALn}}{d{ALn}}}{{Bd{Ad}}}}{{{d{AEj}}{d{AEj}}}{{Bd{Ad}}}}{{{d{jHl}}ALnAEj}{{Bd{{AEn{AEl}}}}}}{{{d{AN`}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{{AMl{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{AMn}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{{AMb{{AMj{AC`}}}}}}{d{jAHh}}Kd{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{AEl}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}}{{{d{c}}{d{jAHh}}{d{AHj}}{d{{Gd{I`}}}}}{{Af{AbAHl}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEn{AEl}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Ml{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGn{c}}}}{d{e}}}{{d{j{AGn{c}}}}}{}{{ANd{ANb}}}}{{{d{j{AGn{c}}}}BbAInKd}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}BbAInKdBf}{{Af{{d{j{AGn{c}}}}ANf}}}{}}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}HbAEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Bb}{{Af{{d{j{AGn{c}}}}ANh}}}{}}{{{d{j{AGn{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGn{c}}}}ANh}}}{}}{{{d{j{AGn{c}}}}Aj}{{d{j{AGn{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGn{c}}}}ANj}{{d{j{AGn{c}}}}}{}}{{{d{{AGn{c}}}}}{{AGn{c}}}G`}{{{d{ANl}}}ANl}{{{d{ANj}}}ANj}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ANl}}{d{ANl}}}Ad}{{{d{ANj}}{d{ANj}}}Ad}{{{AGn{c}}e}{{AGn{e}}}{}AL`}{{{d{j{AGn{c}}}}Dh}{{d{j{AGn{c}}}}}{}}{{}ANl}{{}ANj}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}Hb}{{d{j{AGn{c}}}}}{}}11{{{d{j{AGn{c}}}}Bf}{{d{j{AGn{c}}}}}{}}{{{d{ANl}}{d{ANl}}}Aj}{{{d{ANj}}{d{ANj}}}Aj}{{{d{j{AGn{c}}}}AEb}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AEd}{{d{j{AGn{c}}}}}{}}{{{AGn{c}}}{{Af{AHhAJ`}}}AL`}{{{AGn{c}}{d{je}}}{{Af{AHhAJ`}}}AL`ADf}{{{d{{AGn{c}}}}{d{jAl}}}AnABj}{{{d{ANh}}{d{jAl}}}An}0{{{d{ANf}}{d{jAl}}}An}0{{{d{ANl}}{d{jAl}}}An}{{{d{ANj}}{d{jAl}}}An}{cc{}}0000{{{d{ANl}}{d{jc}}}AbB`}{{{d{ANj}}{d{jc}}}AbB`}{{{d{j{AGn{c}}}}}{{d{j{AGn{c}}}}}{}}{ce{}{}}00001{{{d{j{AGn{c}}}}ANn}{{d{j{AGn{c}}}}}{}}22{{{d{j{AGn{c}}}}ANl}{{d{j{AGn{c}}}}}{}}{{{d{ANl}}{d{ANl}}}{{Bd{Ad}}}}{{{d{ANj}}{d{ANj}}}{{Bd{Ad}}}}{{{d{j{AGn{c}}}}{M`{Ml{Dn{Kd}}}}b}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}{Dn{{Ij{HbAEb}}}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AIl}{{d{j{AGn{c}}}}}{}}{{ANl{d{jAFn}}}Ab}{{ANl{d{jAFn}}{d{jc}}}AbADf}{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGn{c}}}}{Dn{Bb}}}{{d{j{AGn{c}}}}}{}}{{{d{j{AGn{c}}}}AO`}{{d{j{AGn{c}}}}}{}}?????``","D":"FGj","p":[[6,"KeychainKind",0,1719],[1,"reference"],[1,"u8"],[1,"slice"],[0,"mut"],[5,"LocalOutput",0,1719],[5,"WeightedUtxo",0,1719],[6,"Utxo",0,1719],[1,"unit"],[6,"Ordering",1720],[6,"Result",1721],[10,"Deserializer",1722],[1,"bool"],[5,"Formatter",1723],[8,"Result",1723],[10,"Hasher",1724],[5,"OutPoint",1725],[6,"Option",1726],[5,"Sequence",1725],[10,"Serializer",1727],[5,"TxOut",1725],[5,"TypeId",1728],[1,"str"],[6,"Descriptor",100,1729],[6,"Network",1730],[5,"Address",1731],[6,"Error",1732],[10,"MiniscriptKey",1732],[10,"ToPublicKey",1732],[6,"ScriptContextEnum",693],[5,"Miniscript",100,1733],[6,"Terminal",1734],[10,"ScriptContext",693,1735],[6,"Tree",1736],[6,"DescriptorPublicKey",693,1737],[1,"u32"],[5,"DefiniteDescriptorKey",1737],[6,"ConversionError",1737],[5,"Vec",1738],[6,"Placeholder",1739],[5,"Satisfaction",1739],[10,"AssetProvider",1740],[17,"Key"],[6,"ScriptContextError",1735],[17,"Sha256"],[5,"Hash",1741],[17,"Hash256"],[5,"Hash",1742],[17,"Ripemd160"],[5,"Hash",1743],[17,"Hash160"],[5,"Hash",1744],[10,"ParseableKey",1734],[6,"Legacy",100,1735],[6,"Segwitv0",100,1735],[10,"Clone",1745],[10,"Ord",1720],[5,"Secp256k1",1746],[5,"PublicKey",1747],[10,"Verification",1748],[6,"DescriptorType",1729],[5,"DescriptorId",1749],[10,"FromStrKey",1750],[1,"u64"],[5,"ScriptBuf",1751],[10,"PartialEq",1720],[5,"ExtParams",1752],[6,"AnalysisError",1752],[10,"ExtractPolicy",100],[5,"SignersContainer",1422],[6,"BuildSatisfaction",386],[6,"All",1753],[5,"Policy",386],[6,"Error",354],[5,"Script",1754],[5,"Range",1755],[1,"tuple"],[5,"Error",1723],[17,"Output"],[10,"FnMut",1756],[5,"Wpkh",1757],[5,"Tr",1758],[5,"Pkh",1759],[5,"Wsh",1757],[5,"Bare",1759],[5,"Sh",1760],[5,"Type",1761],[5,"ExtData",1762],[5,"Tree",1763],[1,"usize"],[10,"Satisfier",1739],[10,"Hash",1724],[10,"IntoWalletDescriptor",100],[8,"ExtendedDescriptor",100],[8,"KeyMap",693,1729],[5,"Iter",1764],[5,"PkIter",1764],[6,"Policy",1765],[6,"LiftError",1766],[5,"Weight",1767],[6,"BareCtx",1735],[6,"TapTree",1758],[6,"DescriptorSecretKey",693,1737],[5,"BTreeMap",1768],[10,"Signing",1748],[10,"PartialOrd",1720],[5,"Plan",1740],[5,"TxIn",1725],[6,"SigType",1735],[5,"String",1769],[6,"TranslateErr",1732],[10,"Translator",1732],[1,"array"],[6,"ParsePublicKeyError",1747],[6,"HexToBytesError",1770],[6,"Error",1771],[6,"PolicyError",386],[6,"KeyError",693],[6,"Error",1772],[6,"PkOrF",386],[6,"SatisfiableItem",386],[6,"Satisfaction",386],[5,"Condition",386],[10,"DescriptorTemplate",557],[8,"DescriptorTemplateOut",557],[5,"P2Pkh",557],[10,"IntoDescriptorKey",693],[5,"P2Wpkh_P2Sh",557],[5,"P2Wpkh",557],[5,"P2TR",557],[6,"Tap",1735],[5,"Bip44",557],[10,"DerivableKey",693],[5,"Bip44Public",557],[5,"Bip49",557],[5,"Bip49Public",557],[5,"Bip84",557],[5,"Bip84Public",557],[5,"Bip86",557],[5,"Bip86Public",557],[8,"ValidNetworks",693],[5,"SortedMultiVec",693,1773],[5,"GeneratedKey",693],[5,"PrivateKeyGenerateOptions",693],[5,"SinglePub",693,1737],[5,"SinglePriv",693,1737],[6,"SinglePubKey",693,1737],[6,"DescriptorKey",693],[10,"Debug",1723],[5,"Xpub",1771],[6,"ExtendedKey",693],[5,"Xpriv",1771],[10,"FromStr",1774],[5,"DerivationPath",1771],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",693],[10,"AsMut",1775],[10,"Default",1776],[10,"GeneratableDefaultOptions",693],[10,"CryptoRng",1777],[10,"RngCore",1777],[5,"Assets",1740],[8,"KeySource",1771],[5,"Fingerprint",1771],[5,"DescriptorKeyParseError",1737],[10,"PsbtUtils",994],[5,"Amount",1778],[5,"FeeRate",1779],[5,"Balance",998,1780],[5,"Wallet",998],[5,"SignerOrdering",1422],[10,"TransactionSigner",1422],[5,"Arc",1781],[17,"Item"],[8,"Indexed",1780],[10,"Iterator",1782],[5,"Block",1783],[5,"CannotConnectError",1784],[5,"BlockId",1785],[6,"ApplyHeaderError",1784],[5,"Transaction",1725],[10,"IntoIterator",1786],[5,"Update",998],[10,"Into",1775],[5,"ConfirmationTimeHeightAnchor",1785],[5,"TxGraph",1787],[5,"Txid",1725],[8,"DefaultCoinSelectionAlgorithm",1223],[5,"TxBuilder",1600],[6,"BuildFeeBumpError",1322],[6,"CalculateFeeError",1787],[5,"CheckPointIter",1784],[5,"AddressInfo",998],[5,"Psbt",1788],[5,"SignOptions",1422],[6,"SignerError",1422],[6,"NewError",998],[6,"LoadError",998],[6,"NewOrLoadError",998],[6,"InsertTxError",998],[6,"ApplyBlockError",998],[5,"FullScanResult",1789],[5,"SyncResult",1789],[5,"PsbtSighashType",1790],[5,"Input",1790],[6,"CreateTxError",1322],[5,"CanonicalTx",1787],[5,"AlterCheckPointError",1784],[6,"ConfirmationTime",1785],[10,"IsDust",998,1791],[5,"CheckPoint",1784],[10,"DoubleEndedIterator",1792],[8,"ChangeSet",998],[5,"LocalChain",1784],[5,"BlockHash",1783],[5,"KeychainTxOutIndex",1793],[5,"FullScanRequest",1789],[5,"SyncRequest",1789],[5,"LargestFirstCoinSelection",1223],[5,"OldestFirstCoinSelection",1223],[5,"BranchAndBoundCoinSelection",1223],[10,"CoinSelectionAlgorithm",1223],[5,"CoinSelectionResult",1223],[6,"Error",1223],[6,"Excess",1223],[6,"MiniscriptPsbtError",1322],[6,"Error",1794],[5,"FullyNodedExport",1399],[6,"SignerId",1422],[6,"SignerContext",1422],[5,"SignerWrapper",1422],[10,"Sized",1795],[6,"TapLeavesOptions",1422],[10,"SignerCommon",1422],[5,"DescriptorXKey",1737],[5,"DescriptorMultiXKey",1737],[5,"PrivateKey",1747],[10,"InputSigner",1422],[5,"PushBytes",1796],[10,"AsRef",1775],[6,"AddForeignUtxoError",1600],[6,"AddUtxoError",1600],[6,"ChangeSpendPolicy",1600],[6,"TxOrdering",1600],[6,"LockTime",1797],[1,"i32"],[15,"Foreign",97],[8,"DerivedDescriptor",100],[15,"PsbtTimelocks",533],[15,"Complete",536],[15,"Partial",536],[15,"PartialComplete",536],[15,"Sha256Preimage",547],[15,"Hash256Preimage",547],[15,"Ripemd160Preimage",547],[15,"Hash160Preimage",547],[15,"Thresh",547],[15,"Multisig",547],[15,"AbsoluteTimelock",547],[15,"RelativeTimelock",547],[10,"ExtScriptContext",693],[15,"UnexpectedConnectedToHash",1213],[15,"ConfirmationHeightCannotBeGreaterThanTip",1215],[15,"LoadedGenesisDoesNotMatch",1217],[15,"LoadedNetworkDoesNotMatch",1217],[15,"LoadedDescriptorDoesNotMatch",1217],[15,"InsufficientFunds",1315],[15,"Change",1317],[15,"NoChange",1317],[15,"RbfSequenceCsv",1393],[15,"LockTime",1393],[15,"FeeTooLow",1393],[15,"FeeRateTooLow",1393],[8,"WalletExport",1399],[15,"Tap",1599],[15,"InvalidTxid",1717]],"r":[[2,100],[4,1719],[6,1719],[7,1422],[8,1600],[9,1719],[10,998],[11,1719],[70,998],[71,100],[104,1729],[106,1737],[113,1735],[114,1733],[119,386],[120,1735],[121,1735],[155,352],[696,1737],[697,1737],[712,1729],[722,1735],[727,1737],[728,1737],[729,1737],[730,1773],[1000,1780],[1008,1791]],"b":[[193,"impl-Descriptor%3CDescriptorPublicKey%3E"],[194,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[213,"impl-Debug-for-Descriptor%3CPk%3E"],[214,"impl-Display-for-Descriptor%3CPk%3E"],[217,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[218,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[222,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[223,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[226,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[227,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[370,"impl-Display-for-Error"],[371,"impl-Debug-for-Error"],[373,"impl-From%3CParsePublicKeyError%3E-for-Error"],[374,"impl-From%3CHexToBytesError%3E-for-Error"],[375,"impl-From%3CError%3E-for-Error"],[376,"impl-From%3CPolicyError%3E-for-Error"],[377,"impl-From%3CError%3E-for-Error"],[378,"impl-From%3CKeyError%3E-for-Error"],[379,"impl-From%3CError%3E-for-Error"],[461,"impl-Display-for-PolicyError"],[462,"impl-Debug-for-PolicyError"],[811,"impl-Display-for-KeyError"],[812,"impl-Debug-for-KeyError"],[813,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[814,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[815,"impl-Display-for-DescriptorPublicKey"],[816,"impl-Debug-for-DescriptorPublicKey"],[817,"impl-Debug-for-DescriptorSecretKey"],[818,"impl-Display-for-DescriptorSecretKey"],[824,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[825,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[830,"impl-From%3CError%3E-for-KeyError"],[832,"impl-From%3CError%3E-for-KeyError"],[874,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[875,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1075,"impl-Display-for-Balance"],[1076,"impl-Debug-for-Balance"],[1079,"impl-Debug-for-AddressInfo"],[1080,"impl-Display-for-AddressInfo"],[1081,"impl-Display-for-NewError"],[1082,"impl-Debug-for-NewError"],[1083,"impl-Display-for-LoadError"],[1084,"impl-Debug-for-LoadError"],[1085,"impl-Display-for-NewOrLoadError"],[1086,"impl-Debug-for-NewOrLoadError"],[1087,"impl-Debug-for-InsertTxError"],[1088,"impl-Display-for-InsertTxError"],[1089,"impl-Debug-for-ApplyBlockError"],[1090,"impl-Display-for-ApplyBlockError"],[1093,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1095,"impl-From%3CSyncResult%3E-for-Update"],[1264,"impl-Display-for-Error"],[1265,"impl-Debug-for-Error"],[1360,"impl-Debug-for-MiniscriptPsbtError"],[1361,"impl-Display-for-MiniscriptPsbtError"],[1362,"impl-Display-for-CreateTxError"],[1363,"impl-Debug-for-CreateTxError"],[1364,"impl-Debug-for-BuildFeeBumpError"],[1365,"impl-Display-for-BuildFeeBumpError"],[1367,"impl-From%3CError%3E-for-CreateTxError"],[1369,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1370,"impl-From%3CError%3E-for-CreateTxError"],[1371,"impl-From%3CError%3E-for-CreateTxError"],[1372,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1409,"impl-Display-for-FullyNodedExport"],[1410,"impl-Debug-for-FullyNodedExport"],[1502,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1503,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1504,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1511,"impl-Debug-for-SignerError"],[1512,"impl-Display-for-SignerError"],[1519,"impl-From%3CFingerprint%3E-for-SignerId"],[1521,"impl-From%3CHash%3E-for-SignerId"],[1531,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1532,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1533,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1549,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1550,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1551,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1659,"impl-Display-for-AddUtxoError"],[1660,"impl-Debug-for-AddUtxoError"],[1661,"impl-Debug-for-AddForeignUtxoError"],[1662,"impl-Display-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAMEAAwEPAR8DeAN5BQ==","e":"OzAAAAEAAHoDgAADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB4AAAAjAABAI8AAACRAAcAnAAAAJ4AAQChAAAApAABAKcAAQCrAAEArgABALEAAQC0AAsAxQADAMoAAwDTAAEA1gAHAN8ABQDqAAAA9wADAAIBAAAIAQEADAEBABMBAQApAQMALgEBADwBAQA/AQEAQwEFAE4BBwBXAQMAXAEDAHEBAwB2AQYAfgEEAKYBGQDCAQ4A1AEBANsBAQDqAQAA7QEEAPMBIgA8AhcAVQILAHkCPADkAhcABgMVAB0DAQAgAwAAIgMVADkDAQA/AwAAQQMAAEMDAABLAwEAWAMDAGgDAABrAwQAcQMBAIEDAQCGAwAAkAMAAJUDAwCeAwAAogMIAKwDAwCzAy8A/gMAAAYEAAAIBBEAIgQDACgEAgAuBAIANAQPAEYEAABIBAAAfwQAAIcECACUBBEAqAQIALQECADVBBEA6AQCAOwEAgDxBAYACAUbAEkFDQBYBQAAWgUDAGIFDwB8BQEAgAUAAIIFAQCFBQAAiQUFALgFDwDJBRQA3wUGAOcFCQDyBQAA+gUAAPwFAgAKBgEADgYCABIGAAAWBgcAIAYfAFkGCQBkBgcAbgYBAHUGAQB7BgYAhwYBAJQGAQCbBhMAsQYEAA=="}],\ ["example_bitcoind_rpc_polling",{"t":"PSISSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","ChangeSet","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[70,"example_bitcoind_rpc_polling::RpcCommands"],[72,"clap::builder::command"],[73,"core::sync::atomic"],[74,"core::time"],[75,"core::fmt"],[76,"clap::parser::matches::arg_matches"],[77,"clap::error"],[78,"core::result"],[79,"anyhow"],[80,"bitcoincore_rpc::client"],[81,"alloc::sync"],[82,"core::any"]],"i":[10,0,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"```````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",72],[5,"AtomicBool",73],[1,"reference"],[5,"Duration",74],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",75],[8,"Result",75],[5,"ArgMatches",76],[5,"Error",77],[6,"Result",78],[1,"str"],[8,"Result",79],[5,"Client",80],[5,"Arc",81],[5,"TypeId",82],[15,"Sync",70],[15,"Live",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADcACgAAAAEAAwAAAAUAAgAKAAIADwAPACAAAgAmAAQALgABADMADwBEAAQA"}],\ ["example_cli",{"t":"PGFPPPGGFPPFPGIIPPPPPPPIPPPGEONNNNNNNNENNNNNNNNNNNNNNNNOOENNNNNNNNNNNOOHOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNHNNNOOOOHONNNNNNNNNNOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","CoinSelectionAlgo","Commands","CreateTxChange","External","Index","Init","Internal","Keychain","KeychainChangeSet","KeychainTxGraph","LargestFirst","List","List","New","NewestFirst","Next","OldestFirst","PlannedUtxo","Send","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","bdk_file_store","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","cp_limit","create_tx","db","db_path","default","descriptor","deserialize","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","handle_commands","has_subcommand","has_subcommand","has_subcommand","index","index","index","index_changeset","init","init_changeset","into","into","into","into","into","into","into","into","into_app","into_app_for_update","keymap","network","partial_cmp","planned_utxos","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","address","chain_specific","coin_select","txout_cmd","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[176,"example_cli::AddressCmd"],[177,"example_cli::Commands"],[183,"example_cli::TxOutCmd"],[187,"clap::builder::command"],[188,"core::clone"],[189,"clap::derive"],[190,"core::cmp"],[191,"miniscript::descriptor::key"],[192,"alloc::collections::btree::map"],[193,"bitcoin::address"],[194,"bitcoin::blockdata::transaction"],[195,"core::option"],[196,"anyhow"],[197,"bdk_chain::tx_data_traits"],[198,"bdk_chain::chain_oracle"],[199,"core::result"],[200,"serde::de"],[201,"core::fmt"],[202,"clap::parser::matches::arg_matches"],[203,"clap::error"],[204,"std::sync::mutex"],[205,"bdk_file_store::store"],[206,"bitcoin::network"],[207,"core::default"],[208,"serde::ser"],[209,"core::convert"],[210,"core::marker"],[211,"core::ops::function"],[212,"bdk_tmp_plan"],[213,"alloc::vec"],[214,"alloc::string"],[215,"core::any"]],"i":[4,0,0,4,8,4,0,0,0,11,9,0,11,0,0,0,8,9,10,9,8,9,8,0,4,8,4,0,0,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,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{}{}}0{{{d{{h{ce}}}}{d{fCl}}}Cn{D`l}{D`n}}{{{d{A`}}{d{fCl}}}Cn}0{{{d{Ab}}{d{fCl}}}Cn}{{{d{Ad}}{d{fCl}}}Cn}{{{d{Af}}{d{fCl}}}Cn}0{cc{}}0000000{{{d{Db}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{Db}}}{{Cf{{h{ce}}Df}}}ln}{{{d{Db}}}{{Cf{AbDf}}}}{{{d{Db}}}{{Cf{AdDf}}}}{{{d{fDb}}}{{Cf{{Dd{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{{h{ce}}Df}}}ln}{{{d{fDb}}}{{Cf{AbDf}}}}{{{d{fDb}}}{{Cf{AdDf}}}}{{{d{Dh}}}{{Cf{A`c}}}{}}{{{d{{Dj{{Al{c}}}}}}{d{{Dj{{Dl{e}}}}}}{d{{Dj{g}}}}{d{{Bb{AnB`}}}}Dnk{h{mi}}}{{C`{Ah}}}Cb{E`EbEdEf{Ej{{Eh{c}}}}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",187],[1,"reference"],[0,"mut"],[6,"Commands",0],[10,"Clone",188],[10,"Subcommand",189],[10,"Args",189],[6,"CoinSelectionAlgo",0],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"Keychain",0],[1,"unit"],[6,"Ordering",190],[8,"KeychainTxGraph",0],[6,"DescriptorPublicKey",191],[6,"DescriptorSecretKey",191],[5,"BTreeMap",192],[5,"Address",193],[1,"u64"],[5,"Transaction",194],[5,"CreateTxChange",0],[6,"Option",195],[1,"tuple"],[8,"Result",196],[10,"Anchor",197],[10,"ChainOracle",198],[6,"Result",199],[10,"Deserializer",200],[1,"bool"],[5,"Formatter",201],[8,"Result",201],[10,"Debug",201],[5,"ArgMatches",202],[5,"Args",0],[5,"Error",203],[1,"str"],[5,"Mutex",204],[5,"Store",205],[6,"Network",206],[10,"Default",207],[10,"Append",197],[10,"DeserializeOwned",200],[10,"Serialize",208],[8,"KeychainChangeSet",0],[10,"From",209],[10,"Send",210],[10,"Sync",210],[17,"Output"],[10,"FnOnce",211],[1,"u8"],[1,"slice"],[5,"Init",0],[5,"Assets",212],[8,"PlannedUtxo",0],[5,"Vec",213],[10,"CanDerive",212],[10,"Serializer",208],[5,"String",214],[5,"TypeId",215],[15,"List",176],[15,"Address",177],[15,"Send",177],[15,"TxOut",177],[15,"List",183]],"r":[],"b":[[81,"impl-Debug-for-CoinSelectionAlgo"],[82,"impl-Display-for-CoinSelectionAlgo"],[85,"impl-Debug-for-Keychain"],[86,"impl-Display-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA0AYAAMAG4AAABwAAAAewABAH4AMgCyAAAAtAACAA=="}],\ ["example_electrum",{"t":"ISSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[71,"example_electrum::ElectrumCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"electrum_client::client"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"````````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",80],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",81],[5,"Client",82],[8,"Result",83],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkABQAQAA0AHwADACYABgAwABcASQADAA=="}],\ diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js index 15f8a350cb..28a6d898d4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nExternal keychain, used for deriving recipient addresses.\nA UTXO owned by another wallet.\nInternal keychain, used for deriving change addresses.\nTypes of keychains\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nAn unspent transaction output (UTXO).\nA Utxo with its satisfaction_weight.\nReturn KeychainKind as a byte\nThe confirmation time for transaction containing this utxo\nThe derivation index for the script pubkey in the wallet\nDescriptors\nMacro to write full descriptors with code\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this UTXO is spent or not\nType of keychain\nKey formats\nGet the location of the UTXO\nReference to a transaction output\nAdditional functions on the rust-bitcoin Psbt structure.\nThe weight of the witness data and scriptSig expressed in …\nGet the sequence number if an explicit sequence number has …\nGet the TxOut of the UTXO\nTransaction output\nThe UTXO\nGet the version of BDK at runtime\nWallet\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nCompute the checksum bytes of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nThe changes made to a wallet by applying an Update.\nThe error variant that occurs when the caller attempts to …\nThere was problem with the passed-in descriptor(s).\nThere was a problem with the passed-in descriptor(s).\nThere is a problem with the passed-in descriptor.\nAn error that may occur when inserting a transaction into …\nTrait to check if a value is below the dust limit. We are …\nThe error type when loading a Wallet from a ChangeSet.\nThe loaded desccriptor does not match what was provided.\nThe loaded genesis hash does not match what was provided.\nThe loaded network type does not match what was provided.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nThe error type when constructing a fresh Wallet.\nError type for when we try load a Wallet from persistence …\nOccurs when the connected_to hash does not match the hash …\nAn update to Wallet.\nA Bitcoin wallet\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nChanges to the LocalChain.\nUpdate for the wallet’s internal LocalChain.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nConfirmed and immediately spendable balance\nThe derivation index of this wallet. It will return None …\nFinds how the wallet derived the script pubkey spk.\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nFinalize a PSBT, i.e., for each input determine if …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the descriptor used to create addresses for a …\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to IndexedTxGraph.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nType of keychain\nIterator over all keychains in this wallet\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad Wallet from the given previously persisted ChangeSet.\nGet a reference to the inner LocalChain.\nMarks an address used of the given keychain at index.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nInitialize an empty Wallet.\nEither loads Wallet from the given ChangeSet or …\nEither loads Wallet from a ChangeSet or initializes it if …\nInitialize an empty Wallet with a custom genesis hash.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nPeek an address of the given keychain at index without …\nReturn the spending policies for the wallet’s descriptor\nReturn the “public” version of the wallet’s …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nSign a transaction with all the wallet’s signers, in the …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that are yet to be …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nTransaction builder\nGet a reference to the inner TxGraph.\nGet an unbounded script pubkey iterator for the given …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nDeterministically generate a unique name given the …\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe internal chain’s tip height.\nThe introduced transaction’s confirmation height.\nThe expected genesis block hash.\nThe expected network type.\nThe block hash loaded from persistence.\nThe network type loaded from persistence.\nThe descriptor loaded from persistence.\nThe keychain of the descriptor not matching\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a P2WPKH input.\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nError while computing the hash, out of bounds access on …\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nBIP69 / Lexicographic\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid") \ No newline at end of file +searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nExternal keychain, used for deriving recipient addresses.\nA UTXO owned by another wallet.\nInternal keychain, used for deriving change addresses.\nTypes of keychains\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nAn unspent transaction output (UTXO).\nA Utxo with its satisfaction_weight.\nReturn KeychainKind as a byte\nThe confirmation time for transaction containing this utxo\nThe derivation index for the script pubkey in the wallet\nDescriptors\nMacro to write full descriptors with code\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nWhether this UTXO is spent or not\nType of keychain\nKey formats\nGet the location of the UTXO\nReference to a transaction output\nAdditional functions on the rust-bitcoin Psbt structure.\nThe weight of the witness data and scriptSig expressed in …\nGet the sequence number if an explicit sequence number has …\nGet the TxOut of the UTXO\nTransaction output\nThe UTXO\nGet the version of BDK at runtime\nWallet\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nCompute the checksum bytes of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nThe changes made to a wallet by applying an Update.\nThe error variant that occurs when the caller attempts to …\nThere was problem with the passed-in descriptor(s).\nThere was a problem with the passed-in descriptor(s).\nThere is a problem with the passed-in descriptor.\nAn error that may occur when inserting a transaction into …\nTrait to check if a value is below the dust limit. We are …\nThe error type when loading a Wallet from a ChangeSet.\nThe loaded desccriptor does not match what was provided.\nThe loaded genesis hash does not match what was provided.\nThe loaded network type does not match what was provided.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nThe error type when constructing a fresh Wallet.\nError type for when we try load a Wallet from persistence …\nOccurs when the connected_to hash does not match the hash …\nAn update to Wallet.\nA Bitcoin wallet\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nChanges to the LocalChain.\nUpdate for the wallet’s internal LocalChain.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nConfirmed and immediately spendable balance\nThe derivation index of this wallet. It will return None …\nFinds how the wallet derived the script pubkey spk.\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nFinalize a PSBT, i.e., for each input determine if …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the descriptor used to create addresses for a …\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to IndexedTxGraph.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nType of keychain\nIterator over all keychains in this wallet\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad Wallet from the given previously persisted ChangeSet.\nGet a reference to the inner LocalChain.\nMarks an address used of the given keychain at index.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nInitialize an empty Wallet.\nEither loads Wallet from the given ChangeSet or …\nEither loads Wallet from a ChangeSet or initializes it if …\nInitialize an empty Wallet with a custom genesis hash.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nPeek an address of the given keychain at index without …\nReturn the spending policies for the wallet’s descriptor\nReturn the “public” version of the wallet’s …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nSign a transaction with all the wallet’s signers, in the …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that are yet to be …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nTransaction builder\nGet a reference to the inner TxGraph.\nGet an unbounded script pubkey iterator for the given …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nDeterministically generate a unique name given the …\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe internal chain’s tip height.\nThe introduced transaction’s confirmation height.\nThe expected genesis block hash.\nThe expected network type.\nThe block hash loaded from persistence.\nThe network type loaded from persistence.\nThe descriptor loaded from persistence.\nThe keychain of the descriptor not matching\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nBIP69 / Lexicographic\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/signer.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/signer.rs.html index 697a101110..01de27b7c5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/signer.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/signer.rs.html @@ -1027,178 +1027,6 @@ 1027 1028 1029 -1030 -1031 -1032 -1033 -1034 -1035 -1036 -1037 -1038 -1039 -1040 -1041 -1042 -1043 -1044 -1045 -1046 -1047 -1048 -1049 -1050 -1051 -1052 -1053 -1054 -1055 -1056 -1057 -1058 -1059 -1060 -1061 -1062 -1063 -1064 -1065 -1066 -1067 -1068 -1069 -1070 -1071 -1072 -1073 -1074 -1075 -1076 -1077 -1078 -1079 -1080 -1081 -1082 -1083 -1084 -1085 -1086 -1087 -1088 -1089 -1090 -1091 -1092 -1093 -1094 -1095 -1096 -1097 -1098 -1099 -1100 -1101 -1102 -1103 -1104 -1105 -1106 -1107 -1108 -1109 -1110 -1111 -1112 -1113 -1114 -1115 -1116 -1117 -1118 -1119 -1120 -1121 -1122 -1123 -1124 -1125 -1126 -1127 -1128 -1129 -1130 -1131 -1132 -1133 -1134 -1135 -1136 -1137 -1138 -1139 -1140 -1141 -1142 -1143 -1144 -1145 -1146 -1147 -1148 -1149 -1150 -1151 -1152 -1153 -1154 -1155 -1156 -1157 -1158 -1159 -1160 -1161 -1162 -1163 -1164 -1165 -1166 -1167 -1168 -1169 -1170 -1171 -1172 -1173 -1174 -1175 -1176 -1177 -1178 -1179 -1180 -1181 -1182 -1183 -1184 -1185 -1186 -1187 -1188 -1189 -1190 -1191 -1192 -1193 -1194 -1195 -1196 -1197 -1198 -1199 -1200 -1201
// Bitcoin Dev Kit
 // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
 //
@@ -1292,7 +1120,7 @@
 use bitcoin::hashes::hash160;
 use bitcoin::secp256k1::Message;
 use bitcoin::sighash::{EcdsaSighashType, TapSighash, TapSighashType};
-use bitcoin::{ecdsa, psbt, sighash, taproot, transaction};
+use bitcoin::{ecdsa, psbt, sighash, taproot};
 use bitcoin::{key::TapTweak, key::XOnlyPublicKey, secp256k1};
 use bitcoin::{PrivateKey, Psbt, PublicKey};
 
@@ -1300,7 +1128,7 @@
     Descriptor, DescriptorMultiXKey, DescriptorPublicKey, DescriptorSecretKey, DescriptorXKey,
     InnerXKey, KeyMap, SinglePriv, SinglePubKey,
 };
-use miniscript::{Legacy, Segwitv0, SigType, Tap, ToPublicKey};
+use miniscript::{SigType, ToPublicKey};
 
 use super::utils::SecpCtx;
 use crate::descriptor::{DescriptorMeta, XKeyUtils};
@@ -1360,12 +1188,10 @@
     NonStandardSighash,
     /// Invalid SIGHASH for the signing context in use
     InvalidSighash,
-    /// Error while computing the hash to sign a P2WPKH input.
-    SighashP2wpkh(sighash::P2wpkhError),
     /// Error while computing the hash to sign a Taproot input.
     SighashTaproot(sighash::TaprootError),
-    /// Error while computing the hash, out of bounds access on the transaction inputs.
-    TxInputsIndexError(transaction::InputsIndexError),
+    /// PSBT sign error.
+    Psbt(psbt::SignError),
     /// Miniscript PSBT error
     MiniscriptPsbt(MiniscriptPsbtError),
     /// To be used only by external libraries implementing [`InputSigner`] or
@@ -1374,24 +1200,6 @@
     External(String),
 }
 
-impl From<transaction::InputsIndexError> for SignerError {
-    fn from(v: transaction::InputsIndexError) -> Self {
-        Self::TxInputsIndexError(v)
-    }
-}
-
-impl From<sighash::P2wpkhError> for SignerError {
-    fn from(e: sighash::P2wpkhError) -> Self {
-        Self::SighashP2wpkh(e)
-    }
-}
-
-impl From<sighash::TaprootError> for SignerError {
-    fn from(e: sighash::TaprootError) -> Self {
-        Self::SighashTaproot(e)
-    }
-}
-
 impl fmt::Display for SignerError {
     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
         match self {
@@ -1406,9 +1214,8 @@
             Self::MissingHdKeypath => write!(f, "Missing fingerprint and derivation path"),
             Self::NonStandardSighash => write!(f, "The psbt contains a non standard sighash"),
             Self::InvalidSighash => write!(f, "Invalid SIGHASH for the signing context in use"),
-            Self::SighashP2wpkh(err) => write!(f, "Error while computing the hash to sign a P2WPKH input: {}", err),
             Self::SighashTaproot(err) => write!(f, "Error while computing the hash to sign a Taproot input: {}", err),
-            Self::TxInputsIndexError(err) => write!(f, "Error while computing the hash, out of bounds access on the transaction inputs: {}", err),
+            Self::Psbt(err) => write!(f, "Error computing the sighash: {}", err),
             Self::MiniscriptPsbt(err) => write!(f, "Miniscript PSBT error: {}", err),
             Self::External(err) => write!(f, "{}", err),
         }
@@ -1673,92 +1480,87 @@
         }
 
         let pubkey = PublicKey::from_private_key(secp, self);
-        let x_only_pubkey = XOnlyPublicKey::from(pubkey.inner);
-
-        if let SignerContext::Tap { is_internal_key } = self.ctx {
-            if let Some(psbt_internal_key) = psbt.inputs[input_index].tap_internal_key {
-                if is_internal_key
-                    && psbt.inputs[input_index].tap_key_sig.is_none()
-                    && sign_options.sign_with_tap_internal_key
-                    && x_only_pubkey == psbt_internal_key
-                {
-                    let (hash, hash_ty) = Tap::sighash(psbt, input_index, None)?;
-                    sign_psbt_schnorr(
-                        &self.inner,
-                        x_only_pubkey,
-                        None,
-                        &mut psbt.inputs[input_index],
-                        hash,
-                        hash_ty,
-                        secp,
-                    );
+
+        match self.ctx {
+            SignerContext::Tap { is_internal_key } => {
+                let x_only_pubkey = XOnlyPublicKey::from(pubkey.inner);
+
+                if let Some(psbt_internal_key) = psbt.inputs[input_index].tap_internal_key {
+                    if is_internal_key
+                        && psbt.inputs[input_index].tap_key_sig.is_none()
+                        && sign_options.sign_with_tap_internal_key
+                        && x_only_pubkey == psbt_internal_key
+                    {
+                        let (sighash, sighash_type) = compute_tap_sighash(psbt, input_index, None)?;
+                        sign_psbt_schnorr(
+                            &self.inner,
+                            x_only_pubkey,
+                            None,
+                            &mut psbt.inputs[input_index],
+                            sighash,
+                            sighash_type,
+                            secp,
+                        );
+                    }
                 }
-            }
 
-            if let Some((leaf_hashes, _)) =
-                psbt.inputs[input_index].tap_key_origins.get(&x_only_pubkey)
-            {
-                let leaf_hashes = leaf_hashes
-                    .iter()
-                    .filter(|lh| {
-                        // Removing the leaves we shouldn't sign for
-                        let should_sign = match &sign_options.tap_leaves_options {
-                            TapLeavesOptions::All => true,
-                            TapLeavesOptions::Include(v) => v.contains(lh),
-                            TapLeavesOptions::Exclude(v) => !v.contains(lh),
-                            TapLeavesOptions::None => false,
-                        };
-                        // Filtering out the leaves without our key
-                        should_sign
-                            && !psbt.inputs[input_index]
-                                .tap_script_sigs
-                                .contains_key(&(x_only_pubkey, **lh))
-                    })
-                    .cloned()
-                    .collect::<Vec<_>>();
-                for lh in leaf_hashes {
-                    let (hash, hash_ty) = Tap::sighash(psbt, input_index, Some(lh))?;
-                    sign_psbt_schnorr(
-                        &self.inner,
-                        x_only_pubkey,
-                        Some(lh),
-                        &mut psbt.inputs[input_index],
-                        hash,
-                        hash_ty,
-                        secp,
-                    );
+                if let Some((leaf_hashes, _)) =
+                    psbt.inputs[input_index].tap_key_origins.get(&x_only_pubkey)
+                {
+                    let leaf_hashes = leaf_hashes
+                        .iter()
+                        .filter(|lh| {
+                            // Removing the leaves we shouldn't sign for
+                            let should_sign = match &sign_options.tap_leaves_options {
+                                TapLeavesOptions::All => true,
+                                TapLeavesOptions::Include(v) => v.contains(lh),
+                                TapLeavesOptions::Exclude(v) => !v.contains(lh),
+                                TapLeavesOptions::None => false,
+                            };
+                            // Filtering out the leaves without our key
+                            should_sign
+                                && !psbt.inputs[input_index]
+                                    .tap_script_sigs
+                                    .contains_key(&(x_only_pubkey, **lh))
+                        })
+                        .cloned()
+                        .collect::<Vec<_>>();
+                    for lh in leaf_hashes {
+                        let (sighash, sighash_type) =
+                            compute_tap_sighash(psbt, input_index, Some(lh))?;
+                        sign_psbt_schnorr(
+                            &self.inner,
+                            x_only_pubkey,
+                            Some(lh),
+                            &mut psbt.inputs[input_index],
+                            sighash,
+                            sighash_type,
+                            secp,
+                        );
+                    }
                 }
             }
+            SignerContext::Segwitv0 | SignerContext::Legacy => {
+                if psbt.inputs[input_index].partial_sigs.contains_key(&pubkey) {
+                    return Ok(());
+                }
 
-            return Ok(());
-        }
-
-        if psbt.inputs[input_index].partial_sigs.contains_key(&pubkey) {
-            return Ok(());
-        }
-
-        let (hash, hash_ty) = match self.ctx {
-            SignerContext::Segwitv0 => {
-                let (h, t) = Segwitv0::sighash(psbt, input_index, ())?;
-                let h = h.to_raw_hash();
-                (h, t)
-            }
-            SignerContext::Legacy => {
-                let (h, t) = Legacy::sighash(psbt, input_index, ())?;
-                let h = h.to_raw_hash();
-                (h, t)
+                let mut sighasher = sighash::SighashCache::new(psbt.unsigned_tx.clone());
+                let (msg, sighash_type) = psbt
+                    .sighash_ecdsa(input_index, &mut sighasher)
+                    .map_err(SignerError::Psbt)?;
+
+                sign_psbt_ecdsa(
+                    &self.inner,
+                    pubkey,
+                    &mut psbt.inputs[input_index],
+                    &msg,
+                    sighash_type,
+                    secp,
+                    sign_options.allow_grinding,
+                );
             }
-            _ => return Ok(()), // handled above
-        };
-        sign_psbt_ecdsa(
-            &self.inner,
-            pubkey,
-            &mut psbt.inputs[input_index],
-            hash,
-            hash_ty,
-            secp,
-            sign_options.allow_grinding,
-        );
+        }
 
         Ok(())
     }
@@ -1768,12 +1570,11 @@
     secret_key: &secp256k1::SecretKey,
     pubkey: PublicKey,
     psbt_input: &mut psbt::Input,
-    hash: impl bitcoin::hashes::Hash<Bytes = [u8; 32]>,
+    msg: &Message,
     sighash_type: EcdsaSighashType,
     secp: &SecpCtx,
     allow_grinding: bool,
 ) {
-    let msg = &Message::from_digest(hash.to_byte_array());
     let signature = if allow_grinding {
         secp.sign_ecdsa_low_r(msg, secret_key)
     } else {
@@ -1795,7 +1596,7 @@
     pubkey: XOnlyPublicKey,
     leaf_hash: Option<taproot::TapLeafHash>,
     psbt_input: &mut psbt::Input,
-    hash: TapSighash,
+    sighash: TapSighash,
     sighash_type: TapSighashType,
     secp: &SecpCtx,
 ) {
@@ -1807,7 +1608,7 @@
         Some(_) => keypair, // no tweak for script spend
     };
 
-    let msg = &Message::from(hash);
+    let msg = &Message::from(sighash);
     let signature = secp.sign_schnorr_no_aux_rand(msg, &keypair);
     secp.verify_schnorr(&signature, msg, &XOnlyPublicKey::from_keypair(&keypair).0)
         .expect("invalid or corrupted schnorr signature");
@@ -2054,198 +1855,53 @@
     }
 }
 
-pub(crate) trait ComputeSighash {
-    type Extra;
-    type Sighash;
-    type SighashType;
-
-    fn sighash(
-        psbt: &Psbt,
-        input_index: usize,
-        extra: Self::Extra,
-    ) -> Result<(Self::Sighash, Self::SighashType), SignerError>;
-}
-
-impl ComputeSighash for Legacy {
-    type Extra = ();
-    type Sighash = sighash::LegacySighash;
-    type SighashType = EcdsaSighashType;
-
-    fn sighash(
-        psbt: &Psbt,
-        input_index: usize,
-        _extra: (),
-    ) -> Result<(Self::Sighash, Self::SighashType), SignerError> {
-        if input_index >= psbt.inputs.len() || input_index >= psbt.unsigned_tx.input.len() {
-            return Err(SignerError::InputIndexOutOfRange);
-        }
-
-        let psbt_input = &psbt.inputs[input_index];
-        let tx_input = &psbt.unsigned_tx.input[input_index];
-
-        let sighash = psbt_input
-            .sighash_type
-            .unwrap_or_else(|| EcdsaSighashType::All.into())
-            .ecdsa_hash_ty()
-            .map_err(|_| SignerError::InvalidSighash)?;
-        let script = match psbt_input.redeem_script {
-            Some(ref redeem_script) => redeem_script.clone(),
-            None => {
-                let non_witness_utxo = psbt_input
-                    .non_witness_utxo
-                    .as_ref()
-                    .ok_or(SignerError::MissingNonWitnessUtxo)?;
-                let prev_out = non_witness_utxo
-                    .output
-                    .get(tx_input.previous_output.vout as usize)
-                    .ok_or(SignerError::InvalidNonWitnessUtxo)?;
-
-                prev_out.script_pubkey.clone()
-            }
-        };
-
-        Ok((
-            sighash::SighashCache::new(&psbt.unsigned_tx).legacy_signature_hash(
-                input_index,
-                &script,
-                sighash.to_u32(),
-            )?,
-            sighash,
-        ))
-    }
-}
-
-impl ComputeSighash for Segwitv0 {
-    type Extra = ();
-    type Sighash = sighash::SegwitV0Sighash;
-    type SighashType = EcdsaSighashType;
-
-    fn sighash(
-        psbt: &Psbt,
-        input_index: usize,
-        _extra: (),
-    ) -> Result<(Self::Sighash, Self::SighashType), SignerError> {
-        if input_index >= psbt.inputs.len() || input_index >= psbt.unsigned_tx.input.len() {
-            return Err(SignerError::InputIndexOutOfRange);
-        }
-
-        let psbt_input = &psbt.inputs[input_index];
-        let tx_input = &psbt.unsigned_tx.input[input_index];
-
-        let sighash_type = psbt_input
-            .sighash_type
-            .unwrap_or_else(|| EcdsaSighashType::All.into())
-            .ecdsa_hash_ty()
-            .map_err(|_| SignerError::InvalidSighash)?;
-
-        // Always try first with the non-witness utxo
-        let utxo = if let Some(prev_tx) = &psbt_input.non_witness_utxo {
-            // Check the provided prev-tx
-            if prev_tx.compute_txid() != tx_input.previous_output.txid {
-                return Err(SignerError::InvalidNonWitnessUtxo);
-            }
-
-            // The output should be present, if it's missing the `non_witness_utxo` is invalid
-            prev_tx
-                .output
-                .get(tx_input.previous_output.vout as usize)
-                .ok_or(SignerError::InvalidNonWitnessUtxo)?
-        } else if let Some(witness_utxo) = &psbt_input.witness_utxo {
-            // Fallback to the witness_utxo. If we aren't allowed to use it, signing should fail
-            // before we get to this point
-            witness_utxo
-        } else {
-            // Nothing has been provided
-            return Err(SignerError::MissingNonWitnessUtxo);
-        };
-        let value = utxo.value;
-
-        let mut sighasher = sighash::SighashCache::new(&psbt.unsigned_tx);
-
-        let sighash = match psbt_input.witness_script {
-            Some(ref witness_script) => {
-                sighasher.p2wsh_signature_hash(input_index, witness_script, value, sighash_type)?
-            }
-            None => {
-                if utxo.script_pubkey.is_p2wpkh() {
-                    sighasher.p2wpkh_signature_hash(
-                        input_index,
-                        &utxo.script_pubkey,
-                        value,
-                        sighash_type,
-                    )?
-                } else if psbt_input
-                    .redeem_script
-                    .as_ref()
-                    .map(|s| s.is_p2wpkh())
-                    .unwrap_or(false)
-                {
-                    let script_pubkey = psbt_input.redeem_script.as_ref().unwrap();
-                    sighasher.p2wpkh_signature_hash(
-                        input_index,
-                        script_pubkey,
-                        value,
-                        sighash_type,
-                    )?
-                } else {
-                    return Err(SignerError::MissingWitnessScript);
-                }
-            }
-        };
-        Ok((sighash, sighash_type))
+/// Computes the taproot sighash.
+fn compute_tap_sighash(
+    psbt: &Psbt,
+    input_index: usize,
+    extra: Option<taproot::TapLeafHash>,
+) -> Result<(sighash::TapSighash, TapSighashType), SignerError> {
+    if input_index >= psbt.inputs.len() || input_index >= psbt.unsigned_tx.input.len() {
+        return Err(SignerError::InputIndexOutOfRange);
     }
-}
 
-impl ComputeSighash for Tap {
-    type Extra = Option<taproot::TapLeafHash>;
-    type Sighash = TapSighash;
-    type SighashType = TapSighashType;
-
-    fn sighash(
-        psbt: &Psbt,
-        input_index: usize,
-        extra: Self::Extra,
-    ) -> Result<(Self::Sighash, TapSighashType), SignerError> {
-        if input_index >= psbt.inputs.len() || input_index >= psbt.unsigned_tx.input.len() {
-            return Err(SignerError::InputIndexOutOfRange);
-        }
-
-        let psbt_input = &psbt.inputs[input_index];
-
-        let sighash_type = psbt_input
-            .sighash_type
-            .unwrap_or_else(|| TapSighashType::Default.into())
-            .taproot_hash_ty()
-            .map_err(|_| SignerError::InvalidSighash)?;
-        let witness_utxos = (0..psbt.inputs.len())
-            .map(|i| psbt.get_utxo_for(i))
-            .collect::<Vec<_>>();
-        let mut all_witness_utxos = vec![];
-
-        let mut cache = sighash::SighashCache::new(&psbt.unsigned_tx);
-        let is_anyone_can_pay = psbt::PsbtSighashType::from(sighash_type).to_u32() & 0x80 != 0;
-        let prevouts = if is_anyone_can_pay {
-            sighash::Prevouts::One(
-                input_index,
-                witness_utxos[input_index]
-                    .as_ref()
-                    .ok_or(SignerError::MissingWitnessUtxo)?,
-            )
-        } else if witness_utxos.iter().all(Option::is_some) {
-            all_witness_utxos.extend(witness_utxos.iter().filter_map(|x| x.as_ref()));
-            sighash::Prevouts::All(&all_witness_utxos)
-        } else {
-            return Err(SignerError::MissingWitnessUtxo);
-        };
+    let psbt_input = &psbt.inputs[input_index];
+
+    let sighash_type = psbt_input
+        .sighash_type
+        .unwrap_or_else(|| TapSighashType::Default.into())
+        .taproot_hash_ty()
+        .map_err(|_| SignerError::InvalidSighash)?;
+    let witness_utxos = (0..psbt.inputs.len())
+        .map(|i| psbt.get_utxo_for(i))
+        .collect::<Vec<_>>();
+    let mut all_witness_utxos = vec![];
+
+    let mut cache = sighash::SighashCache::new(&psbt.unsigned_tx);
+    let is_anyone_can_pay = psbt::PsbtSighashType::from(sighash_type).to_u32() & 0x80 != 0;
+    let prevouts = if is_anyone_can_pay {
+        sighash::Prevouts::One(
+            input_index,
+            witness_utxos[input_index]
+                .as_ref()
+                .ok_or(SignerError::MissingWitnessUtxo)?,
+        )
+    } else if witness_utxos.iter().all(Option::is_some) {
+        all_witness_utxos.extend(witness_utxos.iter().filter_map(|x| x.as_ref()));
+        sighash::Prevouts::All(&all_witness_utxos)
+    } else {
+        return Err(SignerError::MissingWitnessUtxo);
+    };
 
-        // Assume no OP_CODESEPARATOR
-        let extra = extra.map(|leaf_hash| (leaf_hash, 0xFFFFFFFF));
+    // Assume no OP_CODESEPARATOR
+    let extra = extra.map(|leaf_hash| (leaf_hash, 0xFFFFFFFF));
 
-        Ok((
-            cache.taproot_signature_hash(input_index, &prevouts, None, extra, sighash_type)?,
-            sighash_type,
-        ))
-    }
+    Ok((
+        cache
+            .taproot_signature_hash(input_index, &prevouts, None, extra, sighash_type)
+            .map_err(SignerError::SighashTaproot)?,
+        sighash_type,
+    ))
 }
 
 impl PartialOrd for SignersContainerKey {
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 c1fe70d8f5..17f923702d 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<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<KeyError> for Error"],["impl From<Error> for CreateTxError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<bool> for Satisfaction"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Error> for CreateTxError"],["impl From<Fingerprint> for SignerId"],["impl From<FullScanResult<KeychainKind>> for Update"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<InputsIndexError> for SignerError"],["impl From<P2wpkhError> for SignerError"],["impl From<ParsePublicKeyError> for Error"],["impl From<SyncResult> for Update"],["impl From<TaprootError> for SignerError"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"]],
+"bdk_wallet":[["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<KeyError> for Error"],["impl From<Error> for CreateTxError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<bool> for Satisfaction"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Error> for CreateTxError"],["impl From<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>"]],
 "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/bdk_wallet/wallet/export/struct.FullyNodedExport.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/export/struct.FullyNodedExport.js
index a9a888e826..a4792f7391 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/export/struct.FullyNodedExport.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/export/struct.FullyNodedExport.js
@@ -1,3 +1,3 @@
 (function() {var type_impls = {
-"bdk_wallet":[["
source§

impl Debug for FullyNodedExport

source§

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

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::wallet::export::WalletExport"],["
source§

impl<'de> Deserialize<'de> for FullyNodedExport

source§

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

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::wallet::export::WalletExport"],["
source§

impl Display for FullyNodedExport

source§

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

Formats the value using the given formatter. Read more
","Display","bdk_wallet::wallet::export::WalletExport"],["
source§

impl FromStr for FullyNodedExport

§

type Err = Error

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

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

Parses a string s to return a value of this type. Read more
","FromStr","bdk_wallet::wallet::export::WalletExport"],["
source§

impl FullyNodedExport

source

pub fn export_wallet(\n wallet: &Wallet,\n label: &str,\n include_blockheight: bool\n) -> Result<Self, &'static str>

Export a wallet

\n

This function returns an error if it determines that the wallet’s descriptor(s) are not\nsupported by Bitcoin Core or don’t follow the standard derivation paths defined by BIP44\nand others.

\n

If include_blockheight is true, this function will look into the wallet’s database\nfor the oldest transaction it knows and use that as the earliest block to rescan.

\n

If the database is empty or include_blockheight is false, the blockheight field\nreturned will be 0.

\n
source

pub fn descriptor(&self) -> String

Return the external descriptor

\n
source

pub fn change_descriptor(&self) -> Option<String>

Return the internal descriptor, if present

\n
",0,"bdk_wallet::wallet::export::WalletExport"],["
source§

impl Serialize for FullyNodedExport

source§

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

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::wallet::export::WalletExport"]] +"bdk_wallet":[["
source§

impl Debug for FullyNodedExport

source§

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

Formats the value using the given formatter. Read more
","Debug","bdk_wallet::wallet::export::WalletExport"],["
source§

impl<'de> Deserialize<'de> for FullyNodedExport

source§

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

Deserialize this value from the given Serde deserializer. Read more
","Deserialize<'de>","bdk_wallet::wallet::export::WalletExport"],["
source§

impl Display for FullyNodedExport

source§

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

Formats the value using the given formatter. Read more
","Display","bdk_wallet::wallet::export::WalletExport"],["
source§

impl FromStr for FullyNodedExport

§

type Err = Error

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

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

Parses a string s to return a value of this type. Read more
","FromStr","bdk_wallet::wallet::export::WalletExport"],["
source§

impl FullyNodedExport

source

pub fn export_wallet(\n wallet: &Wallet,\n label: &str,\n include_blockheight: bool\n) -> Result<Self, &'static str>

Export a wallet

\n

This function returns an error if it determines that the wallet’s descriptor(s) are not\nsupported by Bitcoin Core or don’t follow the standard derivation paths defined by BIP44\nand others.

\n

If include_blockheight is true, this function will look into the wallet’s database\nfor the oldest transaction it knows and use that as the earliest block to rescan.

\n

If the database is empty or include_blockheight is false, the blockheight field\nreturned will be 0.

\n
source

pub fn descriptor(&self) -> String

Return the external descriptor

\n
source

pub fn change_descriptor(&self) -> Option<String>

Return the internal descriptor, if present

\n
",0,"bdk_wallet::wallet::export::WalletExport"],["
source§

impl Serialize for FullyNodedExport

source§

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

Serialize this value into the given Serde serializer. Read more
","Serialize","bdk_wallet::wallet::export::WalletExport"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file