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 9d464413ab..b9c800d826 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 c5eee17261..ba0114e42e 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 f7e7d743c4..e5f1ff6f92 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 3c718cf7e7..8e54a0c4f4 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 @@

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.MissingGenesisError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html index 866dea2d57..2ba7ebf4d7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.MissingGenesisError.html @@ -1,5 +1,5 @@ MissingGenesisError in bdk_chain::local_chain - Rust

Struct bdk_chain::local_chain::MissingGenesisError

source ·
pub struct MissingGenesisError;
Expand description

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

-

Trait Implementations§

source§

impl Clone for MissingGenesisError

source§

fn clone(&self) -> MissingGenesisError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for MissingGenesisError

source§

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

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

impl Display for MissingGenesisError

source§

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

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

impl Error for MissingGenesisError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for MissingGenesisError

source§

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

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

Trait Implementations§

source§

impl Clone for MissingGenesisError

source§

fn clone(&self) -> MissingGenesisError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for MissingGenesisError

source§

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

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

impl Display for MissingGenesisError

source§

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

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

impl Error for MissingGenesisError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl PartialEq for MissingGenesisError

source§

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

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

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

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

impl StructuralPartialEq for MissingGenesisError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CombinedChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CombinedChangeSet.html index 40def7567f..69a360c048 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 c23089e7c4..210c26af2a 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,15 +6,15 @@

Tuple Fields§

§0: Hash

Implementations§

source§

impl DescriptorId

source

pub fn from_raw_hash(inner: Hash) -> DescriptorId

Creates this wrapper type from the inner hash type.

source

pub fn to_raw_hash(self) -> Hash

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

source

pub fn as_raw_hash(&self) -> &Hash

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

-

Trait Implementations§

source§

impl AsRef<[u8]> for DescriptorId

source§

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

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

impl AsRef<[u8; 32]> for DescriptorId

source§

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

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

impl Borrow<[u8]> for DescriptorId

source§

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

Immutably borrows from an owned value. Read more
source§

impl Clone for DescriptorId

source§

fn clone(&self) -> DescriptorId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DescriptorId

source§

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

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

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

source§

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

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

impl Display for DescriptorId

source§

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

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

impl From<DescriptorId> for Hash

source§

fn from(hashtype: DescriptorId) -> Hash

Converts to this type from the input type.
source§

impl From<Hash> for DescriptorId

source§

fn from(inner: Hash) -> DescriptorId

Converts to this type from the input type.
source§

impl FromStr for DescriptorId

§

type Err = HexToArrayError

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

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

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

impl Hash for DescriptorId

§

type Engine = <Hash as Hash>::Engine

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

Trait Implementations§

source§

impl AsRef<[u8]> for DescriptorId

source§

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

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

impl AsRef<[u8; 32]> for DescriptorId

source§

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

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

impl Borrow<[u8]> for DescriptorId

source§

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

Immutably borrows from an owned value. Read more
source§

impl Clone for DescriptorId

source§

fn clone(&self) -> DescriptorId

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for DescriptorId

source§

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

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

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

source§

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

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

impl Display for DescriptorId

source§

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

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

impl From<DescriptorId> for Hash

source§

fn from(hashtype: DescriptorId) -> Hash

Converts to this type from the input type.
source§

impl From<Hash> for DescriptorId

source§

fn from(inner: Hash) -> DescriptorId

Converts to this type from the input type.
source§

impl FromStr for DescriptorId

§

type Err = HexToArrayError

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

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

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

impl Hash for DescriptorId

source§

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

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

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

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

impl Hash for DescriptorId

§

type Engine = <Hash as Hash>::Engine

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

type Bytes = <Hash as Hash>::Bytes

The byte array that represents the hash internally.
source§

const LEN: usize = 32usize

Length of the hash, in bytes.
source§

const DISPLAY_BACKWARD: bool = false

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

fn engine() -> Self::Engine

Constructs a new engine.
source§

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

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

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

Copies a byte slice into a hash object.
source§

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

Constructs a hash from the underlying byte array.
source§

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.
source§

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

Returns a reference to the underlying byte array.
source§

fn all_zeros() -> Self

Returns an all zero hash. Read more
§

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

Hashes some bytes.
§

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

source§

fn engine() -> Self::Engine

Constructs a new engine.
source§

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

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

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

Copies a byte slice into a hash object.
source§

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

Constructs a hash from the underlying byte array.
source§

fn to_byte_array(self) -> Self::Bytes

Returns the underlying byte array.
source§

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

Returns a reference to the underlying byte array.
source§

fn all_zeros() -> Self

Returns an all zero hash. Read more
§

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

Hashes some bytes.
§

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

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

impl Hash for DescriptorId

source§

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

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

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

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

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

§

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

The returned type after indexing.
source§

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

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

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

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

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

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

§

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

The returned type after indexing.
source§

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

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

impl LowerHex for DescriptorId

source§

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

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

impl Ord for DescriptorId

source§

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

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

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

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

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

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

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

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

impl PartialEq for DescriptorId

source§

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

This method tests for self and other values to be equal, and is used @@ -25,8 +25,8 @@ &self, s: S ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where - S: Serializer,
Do serde serialization.
§

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

Do serde deserialization.
source§

impl Serialize for DescriptorId

source§

fn serialize<S: Serializer>(&self, s: S) -> Result<S::Ok, S::Error>

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

impl UpperHex for DescriptorId

source§

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

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

impl Copy for DescriptorId

source§

impl Eq for DescriptorId

source§

impl StructuralPartialEq for DescriptorId

Auto Trait Implementations§

§

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

§

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.TxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html index a578b2837b..24beb02cc6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxGraph.html @@ -276,7 +276,7 @@
§Error
trust_predicate: impl FnMut(&OI, &Script) -> bool ) -> Balance

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

This is the infallible version of try_balance.

-

Trait Implementations§

source§

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

source§

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

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

impl<A> AsRef<TxGraph<A>> for TxGraph<A>

source§

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

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

impl<A: Clone> Clone for TxGraph<A>

source§

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

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug> Debug for TxGraph<A>

source§

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

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

impl<A> Default for TxGraph<A>

source§

fn default() -> Self

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

impl<A: PartialEq> PartialEq for TxGraph<A>

source§

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

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

Trait Implementations§

source§

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

source§

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

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

impl<A> AsRef<TxGraph<A>> for TxGraph<A>

source§

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

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

impl<A: Clone> Clone for TxGraph<A>

source§

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

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

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

Performs copy-assignment from source. Read more
source§

impl<A: Debug> Debug for TxGraph<A>

source§

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

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

impl<A> Default for TxGraph<A>

source§

fn default() -> Self

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

impl<A: PartialEq> PartialEq for TxGraph<A>

source§

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

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

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

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

impl<A> StructuralPartialEq for TxGraph<A>

Auto Trait Implementations§

§

impl<A> Freeze for TxGraph<A>

§

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

§

impl<A> Send for TxGraph<A>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.BnbLimit.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_coin_select/enum.BnbLimit.html index 772e048ae5..6f84ac3e06 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 54033098a4..717004edae 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 502fd1ffe5..3aa459992e 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 8858f44b2f..888e52bff1 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_esplora/trait.EsploraExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html index d92a311c41..ef6f96d2d4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html @@ -1,4 +1,4 @@ -EsploraExt in bdk_esplora - Rust

Trait bdk_esplora::EsploraExt

source ·
pub trait EsploraExt {
+EsploraExt in bdk_esplora - Rust

Trait bdk_esplora::EsploraExt

source ·
pub trait EsploraExt {
     // Required methods
     fn full_scan<K: Ord + Clone>(
         &self,
@@ -13,7 +13,7 @@
     ) -> Result<SyncResult, Error>;
 }
Expand description

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

Refer to crate-level documentation for more.

-

Required Methods§

Required Methods§

source

fn full_scan<K: Ord + Clone>( &self, request: FullScanRequest<K>, stop_gap: usize, @@ -36,7 +36,7 @@

§Note
BTCPay Server, and Sparrow.

A stop_gap of 0 will be treated as a stop_gap of 1.

-
source

fn sync( +

source

fn sync( &self, request: SyncRequest, parallel_requests: usize @@ -48,12 +48,12 @@

§Note

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

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraExt for BlockingClient

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl EsploraExt for BlockingClient

source§

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

source§

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

source§

fn sync( &self, request: SyncRequest, parallel_requests: usize diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/type.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/type.Error.html index ef36d38dd5..a747392a67 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/type.Error.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/type.Error.html @@ -1,2 +1,2 @@ -Error in bdk_esplora - Rust

Type Alias bdk_esplora::Error

source ·
pub type Error = Box<Error>;
Expand description

[esplora_client::Error]

+Error in bdk_esplora - Rust

Type Alias bdk_esplora::Error

source ·
pub type Error = Box<Error>;
Expand description

[esplora_client::Error]

Aliased Type§

struct Error(/* private fields */);
\ No newline at end of file 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 2c58c8c765..38a18a3108 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 84c23d6e0b..1a6586014d 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_sqlite/enum.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/enum.Error.html index 86727d4294..32c2fe81fd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/enum.Error.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_sqlite/enum.Error.html @@ -7,7 +7,7 @@ }
Expand description

Error that occurs while reading or writing change sets with the SQLite database.

Variants§

§

Network

Invalid network, cannot change the one already stored in the database.

Fields

§expected: Network
§given: Network
§

Sqlite(Error)

SQLite error.

-

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

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

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_tmp_plan/enum.SigningError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html index 86474994ea..c3a4667dfd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_tmp_plan/enum.SigningError.html @@ -2,7 +2,7 @@ SigHashP2wpkh(P2wpkhError), SigHashTaproot(TaprootError), DerivationError(Error), -}

Variants§

§

SigHashP2wpkh(P2wpkhError)

§

SigHashTaproot(TaprootError)

§

DerivationError(Error)

Trait Implementations§

source§

impl Clone for SigningError

source§

fn clone(&self) -> SigningError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SigningError

source§

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

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

impl Display for SigningError

source§

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

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

impl Error for SigningError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Error> for SigningError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<P2wpkhError> for SigningError

source§

fn from(v: P2wpkhError) -> Self

Converts to this type from the input type.
source§

impl From<TaprootError> for SigningError

source§

fn from(v: TaprootError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

SigHashP2wpkh(P2wpkhError)

§

SigHashTaproot(TaprootError)

§

DerivationError(Error)

Trait Implementations§

source§

impl Clone for SigningError

source§

fn clone(&self) -> SigningError

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for SigningError

source§

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

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

impl Display for SigningError

source§

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

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

impl Error for SigningError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Error> for SigningError

source§

fn from(e: Error) -> Self

Converts to this type from the input type.
source§

impl From<P2wpkhError> for SigningError

source§

fn from(v: P2wpkhError) -> Self

Converts to this type from the input type.
source§

impl From<TaprootError> for SigningError

source§

fn from(v: TaprootError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html index 6fb42daec0..15f0077bec 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 @@
§Errors
F: 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: 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: 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/enum.DescriptorPublicKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html index fa0ce7b5da..d046385a0d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.DescriptorPublicKey.html @@ -52,7 +52,7 @@
§Errors
) -> Result<DescriptorPublicKey, <DescriptorPublicKey as FromStr>::Err>

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

impl Hash for DescriptorPublicKey

§

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

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

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

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

impl IntoAssets for DescriptorPublicKey

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl MiniscriptKey for DescriptorPublicKey

§

type Sha256 = Hash

The associated [bitcoin::hashes::sha256::Hash] for this [MiniscriptKey], used in the + Self: Sized,

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

impl IntoAssets for DescriptorPublicKey

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl MiniscriptKey for DescriptorPublicKey

§

type Sha256 = Hash

The associated [bitcoin::hashes::sha256::Hash] for this [MiniscriptKey], used in the sha256 fragment.
§

type Hash256 = Hash

The associated [miniscript::hash256::Hash] for this [MiniscriptKey], used in the hash256 fragment.
§

type Ripemd160 = Hash

The associated [bitcoin::hashes::ripemd160::Hash] for this [MiniscriptKey] type, used in the ripemd160 fragment.
§

type Hash160 = Hash

The associated [bitcoin::hashes::hash160::Hash] for this [MiniscriptKey] type, used in diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Legacy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Legacy.html index f296525bec..45513d6ff1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Legacy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Legacy.html @@ -82,8 +82,8 @@ Pk: MiniscriptKey,

Check top level consensus rules.
§

impl Eq for Legacy

§

impl StructuralPartialEq for Legacy

Auto Trait Implementations§

§

impl Freeze for Legacy

§

impl RefUnwindSafe for Legacy

§

impl Send for Legacy

§

impl Sync for Legacy

§

impl Unpin for Legacy

§

impl UnwindSafe for Legacy

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<Ctx> ExtScriptContext for Ctx
where - Ctx: ScriptContext + 'static,

source§

fn as_enum() -> ScriptContextEnum

source§

fn is_legacy() -> bool

Returns whether the script context is Legacy
source§

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0
source§

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1
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<Ctx> ExtScriptContext for Ctx
where + Ctx: ScriptContext + 'static,

source§

fn as_enum() -> ScriptContextEnum

source§

fn is_legacy() -> bool

Returns whether the script context is Legacy
source§

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0
source§

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1
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/descriptor/enum.Segwitv0.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Segwitv0.html index 5e8b714fac..4f02256169 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Segwitv0.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Segwitv0.html @@ -79,8 +79,8 @@ Pk: MiniscriptKey,

Check top level consensus rules.
§

impl Eq for Segwitv0

§

impl StructuralPartialEq for Segwitv0

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<Ctx> ExtScriptContext for Ctx
where - Ctx: ScriptContext + 'static,

source§

fn as_enum() -> ScriptContextEnum

source§

fn is_legacy() -> bool

Returns whether the script context is Legacy
source§

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0
source§

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1
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<Ctx> ExtScriptContext for Ctx
where + Ctx: ScriptContext + 'static,

source§

fn as_enum() -> ScriptContextEnum

source§

fn is_legacy() -> bool

Returns whether the script context is Legacy
source§

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0
source§

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1
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/descriptor/error/enum.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/error/enum.Error.html index 46b5c7fb21..c2431ab8e2 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§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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 43d71a502e..8bac101f36 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/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html index b08c21566e..83d163d6f5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html @@ -57,30 +57,28 @@

§Persistence
use bdk_wallet::{bitcoin::Network, KeychainKind, wallet::{ChangeSet, Wallet}};
 
-fn main() {
-    // Open or create a new file store for wallet data.
-    let mut db =
-        bdk_file_store::Store::<ChangeSet>::open_or_create_new(b"magic_bytes", "/tmp/my_wallet.db")
-            .expect("create store");
+// Open or create a new file store for wallet data.
+let mut db =
+    bdk_file_store::Store::<ChangeSet>::open_or_create_new(b"magic_bytes", "/tmp/my_wallet.db")
+        .expect("create store");
 
-    // Create a wallet with initial wallet data read from the file store.
-    let descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/0/*)";
-    let change_descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/1/*)";
-    let changeset = db.aggregate_changesets().expect("changeset loaded");
-    let mut wallet =
-        Wallet::new_or_load(descriptor, change_descriptor, changeset, Network::Testnet)
-            .expect("create or load wallet");
+// Create a wallet with initial wallet data read from the file store.
+let descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/0/*)";
+let change_descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/1/*)";
+let changeset = db.aggregate_changesets().expect("changeset loaded");
+let mut wallet =
+    Wallet::new_or_load(descriptor, change_descriptor, changeset, Network::Testnet)
+        .expect("create or load wallet");
 
-    // Get a new address to receive bitcoin.
-    let receive_address = wallet.reveal_next_address(KeychainKind::External);
-    // Persist staged wallet data changes to the file store.
-    let staged_changeset = wallet.take_staged();
-    if let Some(changeset) = staged_changeset {
-        db.append_changeset(&changeset)
-            .expect("must commit changes to database");
-    }
-    println!("Your new receive address is: {}", receive_address.address);
-}
+// Get a new address to receive bitcoin. +let receive_address = wallet.reveal_next_address(KeychainKind::External); +// Persist staged wallet data changes to the file store. +let staged_changeset = wallet.take_staged(); +if let Some(changeset) = staged_changeset { + db.append_changeset(&changeset) + .expect("must commit changes to database"); +} +println!("Your new receive address is: {}", receive_address.address);

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorKey.html index e85af60660..eb10b74bd5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorKey.html @@ -1,11 +1,11 @@ -DescriptorKey in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::DescriptorKey

source ·
pub enum DescriptorKey<Ctx: ScriptContext> {
+DescriptorKey in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::DescriptorKey

source ·
pub enum DescriptorKey<Ctx: ScriptContext> {
     // some variants omitted
 }
Expand description

Container for public or secret keys

-

Implementations§

source§

impl<Ctx: ScriptContext> DescriptorKey<Ctx>

source

pub fn from_public(public: DescriptorPublicKey, networks: ValidNetworks) -> Self

Create an instance given a public key and a set of valid networks

-
source

pub fn from_secret(secret: DescriptorSecretKey, networks: ValidNetworks) -> Self

Create an instance given a secret key and a set of valid networks

-
source

pub fn override_valid_networks(self, networks: ValidNetworks) -> Self

Override the computed set of valid networks

-

Trait Implementations§

source§

impl<Ctx: Debug + ScriptContext> Debug for DescriptorKey<Ctx>

source§

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

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

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

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

-
source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

Auto Trait Implementations§

§

impl<Ctx> Freeze for DescriptorKey<Ctx>

§

impl<Ctx> RefUnwindSafe for DescriptorKey<Ctx>
where +

Implementations§

source§

impl<Ctx: ScriptContext> DescriptorKey<Ctx>

source

pub fn from_public(public: DescriptorPublicKey, networks: ValidNetworks) -> Self

Create an instance given a public key and a set of valid networks

+
source

pub fn from_secret(secret: DescriptorSecretKey, networks: ValidNetworks) -> Self

Create an instance given a secret key and a set of valid networks

+
source

pub fn override_valid_networks(self, networks: ValidNetworks) -> Self

Override the computed set of valid networks

+

Trait Implementations§

source§

impl<Ctx: Debug + ScriptContext> Debug for DescriptorKey<Ctx>

source§

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

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

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

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

+
source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

Auto Trait Implementations§

§

impl<Ctx> Freeze for DescriptorKey<Ctx>

§

impl<Ctx> RefUnwindSafe for DescriptorKey<Ctx>
where Ctx: RefUnwindSafe,

§

impl<Ctx> Send for DescriptorKey<Ctx>
where Ctx: Send,

§

impl<Ctx> Sync for DescriptorKey<Ctx>
where Ctx: Sync,

§

impl<Ctx> Unpin for DescriptorKey<Ctx>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html index 6bfda325fd..b6e1d7c3b2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorPublicKey.html @@ -52,7 +52,7 @@
§Errors
) -> Result<DescriptorPublicKey, <DescriptorPublicKey as FromStr>::Err>

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

impl Hash for DescriptorPublicKey

§

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

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

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

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

impl IntoAssets for DescriptorPublicKey

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl MiniscriptKey for DescriptorPublicKey

§

type Sha256 = Hash

The associated [bitcoin::hashes::sha256::Hash] for this [MiniscriptKey], used in the + Self: Sized,
Feeds a slice of this type into the given Hasher. Read more
§

impl IntoAssets for DescriptorPublicKey

§

fn into_assets(self) -> Assets

Convert self into a Assets struct
source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl MiniscriptKey for DescriptorPublicKey

§

type Sha256 = Hash

The associated [bitcoin::hashes::sha256::Hash] for this [MiniscriptKey], used in the sha256 fragment.
§

type Hash256 = Hash

The associated [miniscript::hash256::Hash] for this [MiniscriptKey], used in the hash256 fragment.
§

type Ripemd160 = Hash

The associated [bitcoin::hashes::ripemd160::Hash] for this [MiniscriptKey] type, used in the ripemd160 fragment.
§

type Hash160 = Hash

The associated [bitcoin::hashes::hash160::Hash] for this [MiniscriptKey] type, used in diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorSecretKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorSecretKey.html index afb4e9b8db..598766547f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorSecretKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.DescriptorSecretKey.html @@ -23,7 +23,7 @@ path.

Trait Implementations§

§

impl Clone for DescriptorSecretKey

§

fn clone(&self) -> DescriptorSecretKey

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

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

Performs copy-assignment from source. Read more
§

impl Debug for DescriptorSecretKey

§

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

Formats the value using the given formatter. Read more
§

impl Display for DescriptorSecretKey

§

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

Formats the value using the given formatter. Read more
§

impl FromStr for DescriptorSecretKey

§

type Err = DescriptorKeyParseError

The associated error which can be returned from parsing.
§

fn from_str( s: &str -) -> Result<DescriptorSecretKey, <DescriptorSecretKey as FromStr>::Err>

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

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl PartialEq for DescriptorSecretKey

§

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

This method tests for self and other values to be equal, and is used +) -> Result<DescriptorSecretKey, <DescriptorSecretKey as FromStr>::Err>
Parses a string s to return a value of this type. Read more
source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext
§

impl PartialEq for DescriptorSecretKey

§

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

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

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

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

impl Eq for DescriptorSecretKey

§

impl StructuralPartialEq for DescriptorSecretKey

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.ExtendedKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html index 6e9aad882f..4dc408b9dc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ExtendedKey.html @@ -1,4 +1,4 @@ -ExtendedKey in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::ExtendedKey

source ·
pub enum ExtendedKey<Ctx: ScriptContext = Legacy> {
+ExtendedKey in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::ExtendedKey

source ·
pub enum ExtendedKey<Ctx: ScriptContext = Legacy> {
     Private((Xpriv, PhantomData<Ctx>)),
     Public((Xpub, PhantomData<Ctx>)),
 }
Expand description

Enum for extended keys that can be either xprv or xpub

@@ -7,22 +7,22 @@

Defaults to the Legacy context.

Variants§

§

Private((Xpriv, PhantomData<Ctx>))

A private extended key, aka an xprv

§

Public((Xpub, PhantomData<Ctx>))

A public extended key, aka an xpub

-

Implementations§

source§

impl<Ctx: ScriptContext> ExtendedKey<Ctx>

source

pub fn has_secret(&self) -> bool

Return whether or not the key contains the private data

-
source

pub fn into_xprv(self, network: Network) -> Option<Xpriv>

Transform the ExtendedKey into an Xpriv for the +

Implementations§

source§

impl<Ctx: ScriptContext> ExtendedKey<Ctx>

source

pub fn has_secret(&self) -> bool

Return whether or not the key contains the private data

+
source

pub fn into_xprv(self, network: Network) -> Option<Xpriv>

Transform the ExtendedKey into an Xpriv for the given [Network], if the key contains the private data

-
source

pub fn into_xpub<C: Signing>( +

source

pub fn into_xpub<C: Signing>( self, network: Network, secp: &Secp256k1<C> ) -> Xpub

Transform the ExtendedKey into an Xpub for the given [Network]

-

Trait Implementations§

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>

Identity conversion

-
source§

fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>

Consume self and turn it into an ExtendedKey
source§

fn into_descriptor_key( +

Trait Implementations§

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>

Identity conversion

+
source§

fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>

Consume self and turn it into an ExtendedKey
source§

fn into_descriptor_key( self, origin: Option<KeySource>, derivation_path: DerivationPath ) -> Result<DescriptorKey<Ctx>, KeyError>

Consume self and turn it into a DescriptorKey by adding the extra metadata, such as -key origin and derivation path
source§

impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>

source§

fn from(xprv: Xpriv) -> Self

Converts to this type from the input type.
source§

impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>

source§

fn from(xpub: Xpub) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<Ctx> Freeze for ExtendedKey<Ctx>

§

impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
where +key origin and derivation path

source§

impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>

source§

fn from(xprv: Xpriv) -> Self

Converts to this type from the input type.
source§

impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>

source§

fn from(xpub: Xpub) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<Ctx> Freeze for ExtendedKey<Ctx>

§

impl<Ctx> RefUnwindSafe for ExtendedKey<Ctx>
where Ctx: RefUnwindSafe,

§

impl<Ctx> Send for ExtendedKey<Ctx>
where Ctx: Send,

§

impl<Ctx> Sync for ExtendedKey<Ctx>
where Ctx: Sync,

§

impl<Ctx> Unpin for ExtendedKey<Ctx>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.KeyError.html index d4787f644c..1ad7a50661 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 @@ -1,4 +1,4 @@ -KeyError in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::KeyError

source ·
pub enum KeyError {
+KeyError in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::KeyError

source ·
pub enum KeyError {
     InvalidScriptContext,
     InvalidNetwork,
     InvalidChecksum,
@@ -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/enum.ScriptContextEnum.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ScriptContextEnum.html index 05356abfa7..44a688a401 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ScriptContextEnum.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/enum.ScriptContextEnum.html @@ -1,4 +1,4 @@ -ScriptContextEnum in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::ScriptContextEnum

source ·
pub enum ScriptContextEnum {
+ScriptContextEnum in bdk_wallet::keys - Rust

Enum bdk_wallet::keys::ScriptContextEnum

source ·
pub enum ScriptContextEnum {
     Legacy,
     Segwitv0,
     Tap,
@@ -6,12 +6,12 @@
 

Variants§

§

Legacy

Legacy scripts

§

Segwitv0

Segwitv0 scripts

§

Tap

Taproot scripts

-

Implementations§

source§

impl ScriptContextEnum

source

pub fn is_legacy(&self) -> bool

Returns whether the script context is ScriptContextEnum::Legacy

-
source

pub fn is_segwit_v0(&self) -> bool

Returns whether the script context is ScriptContextEnum::Segwitv0

-
source

pub fn is_taproot(&self) -> bool

Returns whether the script context is ScriptContextEnum::Tap

-

Trait Implementations§

source§

impl Clone for ScriptContextEnum

source§

fn clone(&self) -> ScriptContextEnum

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 ScriptContextEnum

source§

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

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

impl PartialEq for ScriptContextEnum

source§

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

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

Implementations§

source§

impl ScriptContextEnum

source

pub fn is_legacy(&self) -> bool

Returns whether the script context is ScriptContextEnum::Legacy

+
source

pub fn is_segwit_v0(&self) -> bool

Returns whether the script context is ScriptContextEnum::Segwitv0

+
source

pub fn is_taproot(&self) -> bool

Returns whether the script context is ScriptContextEnum::Tap

+

Trait Implementations§

source§

impl Clone for ScriptContextEnum

source§

fn clone(&self) -> ScriptContextEnum

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 ScriptContextEnum

source§

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

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

impl PartialEq for ScriptContextEnum

source§

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

source§

impl Eq for ScriptContextEnum

source§

impl StructuralPartialEq for ScriptContextEnum

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 ScriptContextEnum

source§

impl Eq for ScriptContextEnum

source§

impl StructuralPartialEq for ScriptContextEnum

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/fn.any_network.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.any_network.html index e192f6d87d..77f03324cf 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.any_network.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.any_network.html @@ -1,2 +1,2 @@ -any_network in bdk_wallet::keys - Rust

Function bdk_wallet::keys::any_network

source ·
pub fn any_network() -> ValidNetworks
Expand description

Create a set containing mainnet, testnet, signet, and regtest

+any_network in bdk_wallet::keys - Rust

Function bdk_wallet::keys::any_network

source ·
pub fn any_network() -> ValidNetworks
Expand description

Create a set containing mainnet, testnet, signet, and regtest

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.mainnet_network.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.mainnet_network.html index 06b6d4c5eb..9ad3615d49 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.mainnet_network.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.mainnet_network.html @@ -1,2 +1,2 @@ -mainnet_network in bdk_wallet::keys - Rust

Function bdk_wallet::keys::mainnet_network

source ·
pub fn mainnet_network() -> ValidNetworks
Expand description

Create a set only containing mainnet

+mainnet_network in bdk_wallet::keys - Rust

Function bdk_wallet::keys::mainnet_network

source ·
pub fn mainnet_network() -> ValidNetworks
Expand description

Create a set only containing mainnet

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.merge_networks.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.merge_networks.html index 774894c522..fb889c9f21 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.merge_networks.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.merge_networks.html @@ -1,2 +1,2 @@ -merge_networks in bdk_wallet::keys - Rust

Function bdk_wallet::keys::merge_networks

source ·
pub fn merge_networks(a: &ValidNetworks, b: &ValidNetworks) -> ValidNetworks
Expand description

Compute the intersection of two sets

+merge_networks in bdk_wallet::keys - Rust

Function bdk_wallet::keys::merge_networks

source ·
pub fn merge_networks(a: &ValidNetworks, b: &ValidNetworks) -> ValidNetworks
Expand description

Compute the intersection of two sets

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.test_networks.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.test_networks.html index 0973484ec0..fc05ca1509 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.test_networks.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/fn.test_networks.html @@ -1,2 +1,2 @@ -test_networks in bdk_wallet::keys - Rust

Function bdk_wallet::keys::test_networks

source ·
pub fn test_networks() -> ValidNetworks
Expand description

Create a set containing testnet and regtest

+test_networks in bdk_wallet::keys - Rust

Function bdk_wallet::keys::test_networks

source ·
pub fn test_networks() -> ValidNetworks
Expand description

Create a set containing testnet and regtest

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/index.html index 73b57f23bd..6fb3240128 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/index.html @@ -1,4 +1,4 @@ -bdk_wallet::keys - Rust

Module bdk_wallet::keys

source ·
Expand description

Key formats

+bdk_wallet::keys - Rust

Module bdk_wallet::keys

source ·
Expand description

Key formats

Structs§

Enums§

Traits§

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

Auto Trait Implementations§

§

impl<K, Ctx> Freeze for GeneratedKey<K, Ctx>
where + K: IntoDescriptorKey<Ctx>,

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

Auto Trait Implementations§

§

impl<K, Ctx> Freeze for GeneratedKey<K, Ctx>
where K: Freeze,

§

impl<K, Ctx> RefUnwindSafe for GeneratedKey<K, Ctx>

§

impl<K, Ctx> Send for GeneratedKey<K, Ctx>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html index 7fdd8a4578..befb16e539 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/struct.PrivateKeyGenerateOptions.html @@ -1,9 +1,9 @@ -PrivateKeyGenerateOptions in bdk_wallet::keys - Rust

Struct bdk_wallet::keys::PrivateKeyGenerateOptions

source ·
pub struct PrivateKeyGenerateOptions {
+PrivateKeyGenerateOptions in bdk_wallet::keys - Rust

Struct bdk_wallet::keys::PrivateKeyGenerateOptions

source ·
pub struct PrivateKeyGenerateOptions {
     pub compressed: bool,
 }
Expand description

Options for generating a [PrivateKey]

Defaults to creating compressed keys, which save on-chain bytes and fees

Fields§

§compressed: bool

Whether the generated key should be “compressed” or not

-

Trait Implementations§

source§

impl Clone for PrivateKeyGenerateOptions

source§

fn clone(&self) -> PrivateKeyGenerateOptions

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 PrivateKeyGenerateOptions

source§

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

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

impl Default for PrivateKeyGenerateOptions

source§

fn default() -> Self

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

impl Copy for PrivateKeyGenerateOptions

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for PrivateKeyGenerateOptions

source§

fn clone(&self) -> PrivateKeyGenerateOptions

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 PrivateKeyGenerateOptions

source§

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

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

impl Default for PrivateKeyGenerateOptions

source§

fn default() -> Self

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

impl Copy for PrivateKeyGenerateOptions

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.DerivableKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.DerivableKey.html index e5891209ea..44f701039f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.DerivableKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.DerivableKey.html @@ -1,4 +1,4 @@ -DerivableKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::DerivableKey

source ·
pub trait DerivableKey<Ctx: ScriptContext = Legacy>: Sized {
+DerivableKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::DerivableKey

source ·
pub trait DerivableKey<Ctx: ScriptContext = Legacy>: Sized {
     // Required method
     fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>;
 
@@ -86,14 +86,14 @@ 

§Examples

Ok(descriptor_key.override_valid_networks(any_network())) } }
-

Required Methods§

source

fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>

Consume self and turn it into an ExtendedKey

-

Provided Methods§

Required Methods§

source

fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>

Consume self and turn it into an ExtendedKey

+

Provided Methods§

source

fn into_descriptor_key( self, origin: Option<KeySource>, derivation_path: DerivationPath ) -> Result<DescriptorKey<Ctx>, KeyError>

Consume self and turn it into a DescriptorKey by adding the extra metadata, such as key origin and derivation path

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for Xpriv

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for Xpub

Implementors§

source§

impl<Ctx, K> DerivableKey<Ctx> for GeneratedKey<K, Ctx>
where +

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for Xpriv

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for Xpub

Implementors§

source§

impl<Ctx, K> DerivableKey<Ctx> for GeneratedKey<K, Ctx>
where Ctx: ScriptContext, - K: DerivableKey<Ctx>,

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>

Identity conversion

+ K: DerivableKey<Ctx>,

source§

impl<Ctx: ScriptContext> DerivableKey<Ctx> for ExtendedKey<Ctx>

Identity conversion

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.ExtScriptContext.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.ExtScriptContext.html index 5a6413a081..a28d1e328b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.ExtScriptContext.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.ExtScriptContext.html @@ -1,4 +1,4 @@ -ExtScriptContext in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::ExtScriptContext

source ·
pub trait ExtScriptContext: ScriptContext {
+ExtScriptContext in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::ExtScriptContext

source ·
pub trait ExtScriptContext: ScriptContext {
     // Required method
     fn as_enum() -> ScriptContextEnum;
 
@@ -7,8 +7,8 @@
     fn is_segwit_v0() -> bool { ... }
     fn is_taproot() -> bool { ... }
 }
Expand description

Trait that adds extra useful methods to ScriptContexts

-

Required Methods§

Provided Methods§

source

fn is_legacy() -> bool

Returns whether the script context is Legacy

-
source

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0

-
source

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1

-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Ctx: ScriptContext + 'static> ExtScriptContext for Ctx

\ No newline at end of file +

Required Methods§

Provided Methods§

source

fn is_legacy() -> bool

Returns whether the script context is Legacy

+
source

fn is_segwit_v0() -> bool

Returns whether the script context is Segwitv0

+
source

fn is_taproot() -> bool

Returns whether the script context is Tap, aka Taproot or Segwit V1

+

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Ctx: ScriptContext + 'static> ExtScriptContext for Ctx

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableDefaultOptions.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableDefaultOptions.html index d2d16f8508..a12d1282e2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableDefaultOptions.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableDefaultOptions.html @@ -1,4 +1,4 @@ -GeneratableDefaultOptions in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::GeneratableDefaultOptions

source ·
pub trait GeneratableDefaultOptions<Ctx>: GeneratableKey<Ctx>
where +GeneratableDefaultOptions in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::GeneratableDefaultOptions

source ·
pub trait GeneratableDefaultOptions<Ctx>: GeneratableKey<Ctx>
where Ctx: ScriptContext, <Self as GeneratableKey<Ctx>>::Options: Default,
{ // Provided methods @@ -6,13 +6,21 @@ entropy: Self::Entropy ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> { ... } fn generate_default() -> Result<GeneratedKey<Self, Ctx>, Self::Error> { ... } + fn generate_default_with_aux_rand( + rng: &mut (impl CryptoRng + RngCore) + ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> { ... } }
Expand description

Trait that allows generating a key with the default options

This trait is automatically implemented if the GeneratableKey::Options implements Default.

-

Provided Methods§

Provided Methods§

source

fn generate_with_entropy_default( entropy: Self::Entropy ) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key with the default options and a given entropy

-
source

fn generate_default() -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key with the default options and a random entropy

-

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Ctx, K> GeneratableDefaultOptions<Ctx> for K
where +

source

fn generate_default() -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key with the default options and a random entropy

+

Uses the thread-local random number generator.

+
source

fn generate_default_with_aux_rand( + rng: &mut (impl CryptoRng + RngCore) +) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key with the default options and a random entropy

+

Uses a provided random number generator (rng).

+

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<Ctx, K> GeneratableDefaultOptions<Ctx> for K
where Ctx: ScriptContext, K: GeneratableKey<Ctx>, <K as GeneratableKey<Ctx>>::Options: Default,

Automatic implementation of GeneratableDefaultOptions for GeneratableKeys where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableKey.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableKey.html index 7110824ef7..38004fde09 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableKey.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/trait.GeneratableKey.html @@ -1,4 +1,4 @@ -GeneratableKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::GeneratableKey

source ·
pub trait GeneratableKey<Ctx: ScriptContext>: Sized {
+GeneratableKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::GeneratableKey

source ·
pub trait GeneratableKey<Ctx: ScriptContext>: Sized {
     type Entropy: AsMut<[u8]> + Default;
     type Options;
     type Error: Debug;
@@ -9,30 +9,40 @@
         entropy: Self::Entropy
     ) -> Result<GeneratedKey<Self, Ctx>, Self::Error>;
 
-    // Provided method
+    // Provided methods
     fn generate(
         options: Self::Options
     ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> { ... }
+    fn generate_with_aux_rand(
+        options: Self::Options,
+        rng: &mut (impl CryptoRng + RngCore)
+    ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> { ... }
 }
Expand description

Trait for keys that can be generated

The same rules about ScriptContext and ValidNetworks from IntoDescriptorKey apply.

This trait is particularly useful when combined with DerivableKey: if Self implements it, the returned GeneratedKey will also implement it. The same is true for IntoDescriptorKey: the generated keys can be directly used in descriptors if Self is also IntoDescriptorKey.

-

Required Associated Types§

source

type Entropy: AsMut<[u8]> + Default

Type specifying the amount of entropy required e.g. [u8;32]

-
source

type Options

Extra options required by the generate_with_entropy

-
source

type Error: Debug

Returned error in case of failure

-

Required Methods§

Required Associated Types§

source

type Entropy: AsMut<[u8]> + Default

Type specifying the amount of entropy required e.g. [u8;32]

+
source

type Options

Extra options required by the generate_with_entropy

+
source

type Error: Debug

Returned error in case of failure

+

Required Methods§

source

fn generate_with_entropy( options: Self::Options, entropy: Self::Entropy ) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key given the extra options and the entropy

-

Provided Methods§

Provided Methods§

source

fn generate( options: Self::Options -) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key given the options with a random entropy

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

§

type Entropy = [u8; 32]

§

type Options = PrivateKeyGenerateOptions

§

type Error = Error

source§

fn generate_with_entropy( +) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key given the options with random entropy.

+

Uses the thread-local random number generator.

+
source

fn generate_with_aux_rand( + options: Self::Options, + rng: &mut (impl CryptoRng + RngCore) +) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Generate a key given the options with random entropy.

+

Uses a provided random number generator (rng).

+

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

§

type Entropy = [u8; 32]

§

type Options = PrivateKeyGenerateOptions

§

type Error = Error

source§

fn generate_with_entropy( options: Self::Options, entropy: Self::Entropy -) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

source§

impl<Ctx: ScriptContext> GeneratableKey<Ctx> for Xpriv

§

type Entropy = [u8; 32]

§

type Options = ()

§

type Error = Error

source§

fn generate_with_entropy( +) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

source§

impl<Ctx: ScriptContext> GeneratableKey<Ctx> for Xpriv

§

type Entropy = [u8; 32]

§

type Options = ()

§

type Error = Error

source§

fn generate_with_entropy( _: Self::Options, entropy: Self::Entropy ) -> Result<GeneratedKey<Self, Ctx>, Self::Error>

Implementors§

\ No newline at end of file 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 c1af88c61c..64ac3842ce 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 @@ -1,4 +1,4 @@ -IntoDescriptorKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::IntoDescriptorKey

source ·
pub trait IntoDescriptorKey<Ctx: ScriptContext>: Sized {
+IntoDescriptorKey in bdk_wallet::keys - Rust

Trait bdk_wallet::keys::IntoDescriptorKey

source ·
pub trait IntoDescriptorKey<Ctx: ScriptContext>: Sized {
     // Required method
     fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>;
 }
Expand description

Trait for objects that can be turned into a public or secret DescriptorKey

@@ -103,8 +103,8 @@

§Examples

let (descriptor, _, _) = bdk_wallet::descriptor!(pkh(key))?; // ^^^^^ changing this to `wpkh` would make it compile
-

Required Methods§

source

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

-

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

source§

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

source§

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Implementors§

source§

impl<Ctx, K> IntoDescriptorKey<Ctx> for GeneratedKey<K, Ctx>
where +

Required Methods§

source

fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>

Turn the key into a DescriptorKey within the requested ScriptContext

+

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 + 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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/type.ValidNetworks.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/type.ValidNetworks.html index 9ab0a6a4af..571760f4a9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/type.ValidNetworks.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/keys/type.ValidNetworks.html @@ -1,2 +1,2 @@ -ValidNetworks in bdk_wallet::keys - Rust

Type Alias bdk_wallet::keys::ValidNetworks

source ·
pub type ValidNetworks = HashSet<Network>;
Expand description

Set of valid networks for a key

+ValidNetworks in bdk_wallet::keys - Rust

Type Alias bdk_wallet::keys::ValidNetworks

source ·
pub type ValidNetworks = HashSet<Network>;
Expand description

Set of valid networks for a key

Aliased Type§

struct ValidNetworks { /* private fields */ }
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Error.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Error.html index 0408ce4e64..ce71f733ec 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Error.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Error.html @@ -1,4 +1,4 @@ -Error in bdk_wallet::wallet::coin_selection - Rust

Enum bdk_wallet::wallet::coin_selection::Error

source ·
pub enum Error {
+Error in bdk_wallet::wallet::coin_selection - Rust

Enum bdk_wallet::wallet::coin_selection::Error

source ·
pub enum Error {
     InsufficientFunds {
         needed: u64,
         available: u64,
@@ -13,7 +13,7 @@
 the desired outputs plus fee, if there is not such combination this error is thrown

§

BnBTotalTriesExceeded

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

-

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Error> for CreateTxError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for Error

source§

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

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

impl Display for Error

source§

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

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

impl Error for Error

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl From<Error> for CreateTxError

source§

fn from(err: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl UnwindSafe for Error

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/coin_selection/enum.Excess.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Excess.html index e4b6ea33ea..f3f48f4d26 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Excess.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/enum.Excess.html @@ -1,4 +1,4 @@ -Excess in bdk_wallet::wallet::coin_selection - Rust

Enum bdk_wallet::wallet::coin_selection::Excess

source ·
pub enum Excess {
+Excess in bdk_wallet::wallet::coin_selection - Rust

Enum bdk_wallet::wallet::coin_selection::Excess

source ·
pub enum Excess {
     NoChange {
         dust_threshold: u64,
         remaining_amount: u64,
@@ -16,7 +16,7 @@
 
§

Change

It’s possible to create spendable output from excess using the current drain output

Fields

§amount: u64

Effective amount available to create change after deducting the change output fee

§fee: u64

The deducted change output fee

-

Trait Implementations§

source§

impl Debug for Excess

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Excess

§

impl RefUnwindSafe for Excess

§

impl Send for Excess

§

impl Sync for Excess

§

impl Unpin for Excess

§

impl UnwindSafe for Excess

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for Excess

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Excess

§

impl RefUnwindSafe for Excess

§

impl Send for Excess

§

impl Sync for Excess

§

impl Unpin for Excess

§

impl UnwindSafe for Excess

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/coin_selection/fn.decide_change.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/fn.decide_change.html index e433ddd9a6..5bc7d6d523 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/fn.decide_change.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/fn.decide_change.html @@ -1,4 +1,4 @@ -decide_change in bdk_wallet::wallet::coin_selection - Rust

Function bdk_wallet::wallet::coin_selection::decide_change

source ·
pub fn decide_change(
+decide_change in bdk_wallet::wallet::coin_selection - Rust

Function bdk_wallet::wallet::coin_selection::decide_change

source ·
pub fn decide_change(
     remaining_amount: u64,
     fee_rate: FeeRate,
     drain_script: &Script
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html
index 201b3ef630..721bb37f40 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.html
@@ -1,14 +1,14 @@
-BranchAndBoundCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct BranchAndBoundCoinSelection { /* private fields */ }
Expand description

Branch and bound coin selection

+BranchAndBoundCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct BranchAndBoundCoinSelection { /* private fields */ }
Expand description

Branch and bound coin selection

Code adapted from Bitcoin Core’s implementation and from Mark Erhardt Master’s Thesis: http://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf

-

Implementations§

source§

impl BranchAndBoundCoinSelection

source

pub fn new(size_of_change: u64) -> Self

Create new instance with target size for change output

-

Trait Implementations§

source§

impl Clone for BranchAndBoundCoinSelection

source§

fn clone(&self) -> BranchAndBoundCoinSelection

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 CoinSelectionAlgorithm for BranchAndBoundCoinSelection

Implementations§

source§

impl BranchAndBoundCoinSelection

source

pub fn new(size_of_change: u64) -> Self

Create new instance with target size for change output

+

Trait Implementations§

source§

impl Clone for BranchAndBoundCoinSelection

source§

fn clone(&self) -> BranchAndBoundCoinSelection

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 CoinSelectionAlgorithm for BranchAndBoundCoinSelection

source§

fn coin_select( &self, required_utxos: Vec<WeightedUtxo>, optional_utxos: Vec<WeightedUtxo>, fee_rate: FeeRate, target_amount: u64, drain_script: &Script -) -> Result<CoinSelectionResult, Error>

Perform the coin selection Read more
source§

impl Debug for BranchAndBoundCoinSelection

source§

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

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

impl Default for BranchAndBoundCoinSelection

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T

Perform the coin selection Read more
source§

impl Debug for BranchAndBoundCoinSelection

source§

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

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

impl Default for BranchAndBoundCoinSelection

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/coin_selection/struct.CoinSelectionResult.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.CoinSelectionResult.html index d088dd4331..4abcc5ec95 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.CoinSelectionResult.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.CoinSelectionResult.html @@ -1,4 +1,4 @@ -CoinSelectionResult in bdk_wallet::wallet::coin_selection - Rust
pub struct CoinSelectionResult {
+CoinSelectionResult in bdk_wallet::wallet::coin_selection - Rust
pub struct CoinSelectionResult {
     pub selected: Vec<Utxo>,
     pub fee_amount: u64,
     pub excess: Excess,
@@ -6,9 +6,9 @@
 

Fields§

§selected: Vec<Utxo>

List of outputs selected for use as inputs

§fee_amount: u64

Total fee amount for the selected utxos in satoshis

§excess: Excess

Remaining amount after deducing fees and outgoing outputs

-

Implementations§

source§

impl CoinSelectionResult

source

pub fn selected_amount(&self) -> u64

The total value of the inputs selected.

-
source

pub fn local_selected_amount(&self) -> u64

The total value of the inputs selected from the local wallet.

-

Trait Implementations§

source§

impl Debug for CoinSelectionResult

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Implementations§

source§

impl CoinSelectionResult

source

pub fn selected_amount(&self) -> u64

The total value of the inputs selected.

+
source

pub fn local_selected_amount(&self) -> u64

The total value of the inputs selected from the local wallet.

+

Trait Implementations§

source§

impl Debug for CoinSelectionResult

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html index accd3d12d8..34162f06dd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.LargestFirstCoinSelection.html @@ -1,14 +1,14 @@ -LargestFirstCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct LargestFirstCoinSelection;
Expand description

Simple and dumb coin selection

+LargestFirstCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct LargestFirstCoinSelection;
Expand description

Simple and dumb coin selection

This coin selection algorithm sorts the available UTXOs by value and then picks them starting from the largest ones until the required amount is reached.

-

Trait Implementations§

source§

impl Clone for LargestFirstCoinSelection

source§

fn clone(&self) -> LargestFirstCoinSelection

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 CoinSelectionAlgorithm for LargestFirstCoinSelection

Trait Implementations§

source§

impl Clone for LargestFirstCoinSelection

source§

fn clone(&self) -> LargestFirstCoinSelection

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 CoinSelectionAlgorithm for LargestFirstCoinSelection

source§

fn coin_select( &self, required_utxos: Vec<WeightedUtxo>, optional_utxos: Vec<WeightedUtxo>, fee_rate: FeeRate, target_amount: u64, drain_script: &Script -) -> Result<CoinSelectionResult, Error>

Perform the coin selection Read more
source§

impl Debug for LargestFirstCoinSelection

source§

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

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

impl Default for LargestFirstCoinSelection

source§

fn default() -> LargestFirstCoinSelection

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

impl Copy for LargestFirstCoinSelection

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T

Perform the coin selection Read more
source§

impl Debug for LargestFirstCoinSelection

source§

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

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

impl Default for LargestFirstCoinSelection

source§

fn default() -> LargestFirstCoinSelection

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

impl Copy for LargestFirstCoinSelection

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/coin_selection/struct.OldestFirstCoinSelection.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.OldestFirstCoinSelection.html index c856390a75..350a88542e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.OldestFirstCoinSelection.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/struct.OldestFirstCoinSelection.html @@ -1,14 +1,14 @@ -OldestFirstCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct OldestFirstCoinSelection;
Expand description

OldestFirstCoinSelection always picks the utxo with the smallest blockheight to add to the selected coins next

+OldestFirstCoinSelection in bdk_wallet::wallet::coin_selection - Rust
pub struct OldestFirstCoinSelection;
Expand description

OldestFirstCoinSelection always picks the utxo with the smallest blockheight to add to the selected coins next

This coin selection algorithm sorts the available UTXOs by blockheight and then picks them starting from the oldest ones until the required amount is reached.

-

Trait Implementations§

source§

impl Clone for OldestFirstCoinSelection

source§

fn clone(&self) -> OldestFirstCoinSelection

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 CoinSelectionAlgorithm for OldestFirstCoinSelection

Trait Implementations§

source§

impl Clone for OldestFirstCoinSelection

source§

fn clone(&self) -> OldestFirstCoinSelection

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 CoinSelectionAlgorithm for OldestFirstCoinSelection

source§

fn coin_select( &self, required_utxos: Vec<WeightedUtxo>, optional_utxos: Vec<WeightedUtxo>, fee_rate: FeeRate, target_amount: u64, drain_script: &Script -) -> Result<CoinSelectionResult, Error>

Perform the coin selection Read more
source§

impl Debug for OldestFirstCoinSelection

source§

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

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

impl Default for OldestFirstCoinSelection

source§

fn default() -> OldestFirstCoinSelection

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

impl Copy for OldestFirstCoinSelection

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T

Perform the coin selection Read more
source§

impl Debug for OldestFirstCoinSelection

source§

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

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

impl Default for OldestFirstCoinSelection

source§

fn default() -> OldestFirstCoinSelection

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

impl Copy for OldestFirstCoinSelection

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/coin_selection/trait.CoinSelectionAlgorithm.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/trait.CoinSelectionAlgorithm.html index e260bc0847..13b07f0b92 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/trait.CoinSelectionAlgorithm.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/trait.CoinSelectionAlgorithm.html @@ -1,4 +1,4 @@ -CoinSelectionAlgorithm in bdk_wallet::wallet::coin_selection - Rust
pub trait CoinSelectionAlgorithm: Debug {
+CoinSelectionAlgorithm in bdk_wallet::wallet::coin_selection - Rust
pub trait CoinSelectionAlgorithm: Debug {
     // Required method
     fn coin_select(
         &self,
@@ -12,7 +12,7 @@
 

This trait can be implemented to make the Wallet use a customized coin selection algorithm when it creates transactions.

For an example see this module’s documentation.

-

Required Methods§

Required Methods§

source

fn coin_select( &self, required_utxos: Vec<WeightedUtxo>, optional_utxos: Vec<WeightedUtxo>, @@ -32,4 +32,4 @@ accumulated from added outputs and transaction’s header.
  • drain_script: the script to use in case of change
  • -

    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/coin_selection/type.DefaultCoinSelectionAlgorithm.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html index d3dcb32599..3c2adab102 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/coin_selection/type.DefaultCoinSelectionAlgorithm.html @@ -1,3 +1,3 @@ -DefaultCoinSelectionAlgorithm in bdk_wallet::wallet::coin_selection - Rust
    pub type DefaultCoinSelectionAlgorithm = BranchAndBoundCoinSelection;
    Expand description

    Default coin selection algorithm used by TxBuilder if not +DefaultCoinSelectionAlgorithm in bdk_wallet::wallet::coin_selection - Rust

    pub type DefaultCoinSelectionAlgorithm = BranchAndBoundCoinSelection;
    Expand description

    Default coin selection algorithm used by TxBuilder if not overridden

    Aliased Type§

    struct DefaultCoinSelectionAlgorithm { /* private fields */ }
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html index d6b099efe4..928b0fe47a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.ApplyBlockError.html @@ -1,4 +1,4 @@ -ApplyBlockError in bdk_wallet::wallet - Rust

    Enum bdk_wallet::wallet::ApplyBlockError

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

    Enum bdk_wallet::wallet::ApplyBlockError

    source ·
    pub enum ApplyBlockError {
         CannotConnect(CannotConnectError),
         UnexpectedConnectedToHash {
             connected_to_hash: BlockHash,
    @@ -9,7 +9,7 @@
     
    §

    UnexpectedConnectedToHash

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

    Fields

    §connected_to_hash: BlockHash

    Block hash of connected_to.

    §expected_hash: BlockHash

    Expected block hash of connected_to, as derived from block.

    -

    Trait Implementations§

    source§

    impl Debug for ApplyBlockError

    source§

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

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

    impl Display for ApplyBlockError

    source§

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

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

    impl Error for ApplyBlockError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for ApplyBlockError

    source§

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

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

    impl Display for ApplyBlockError

    source§

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

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

    impl Error for ApplyBlockError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.InsertTxError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.InsertTxError.html index 941c5d28ed..bf9f8642f0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.InsertTxError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.InsertTxError.html @@ -1,4 +1,4 @@ -InsertTxError in bdk_wallet::wallet - Rust

    Enum bdk_wallet::wallet::InsertTxError

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

    Enum bdk_wallet::wallet::InsertTxError

    source ·
    pub enum InsertTxError {
         ConfirmationHeightCannotBeGreaterThanTip {
             tip_height: u32,
             tx_height: u32,
    @@ -8,7 +8,7 @@
     confirmation height that is greater than the internal chain tip.

    Fields

    §tip_height: u32

    The internal chain’s tip height.

    §tx_height: u32

    The introduced transaction’s confirmation height.

    -

    Trait Implementations§

    source§

    impl Debug for InsertTxError

    source§

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

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

    impl Display for InsertTxError

    source§

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

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

    impl Error for InsertTxError

    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 InsertTxError

    source§

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

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

    impl Display for InsertTxError

    source§

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

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

    impl Error for InsertTxError

    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.LoadError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.LoadError.html index 5b78826396..3b1feafc51 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 @@ -1,4 +1,4 @@ -LoadError in bdk_wallet::wallet - Rust

    Enum bdk_wallet::wallet::LoadError

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

    Enum bdk_wallet::wallet::LoadError

    source ·
    pub enum LoadError {
         Descriptor(DescriptorError),
         MissingNetwork,
         MissingGenesis,
    @@ -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 45e5d67c3f..3a5157fb19 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 @@ -1,9 +1,9 @@ -NewError in bdk_wallet::wallet - Rust

    Enum bdk_wallet::wallet::NewError

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

    Enum bdk_wallet::wallet::NewError

    source ·
    pub enum NewError {
         Descriptor(DescriptorError),
     }
    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/enum.NewOrLoadError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewOrLoadError.html index d93742ca33..d32b8a88b4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewOrLoadError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/enum.NewOrLoadError.html @@ -1,4 +1,4 @@ -NewOrLoadError in bdk_wallet::wallet - Rust

    Enum bdk_wallet::wallet::NewOrLoadError

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

    Enum bdk_wallet::wallet::NewOrLoadError

    source ·
    pub enum NewOrLoadError {
         Descriptor(DescriptorError),
         LoadedGenesisDoesNotMatch {
             expected: BlockHash,
    @@ -24,7 +24,7 @@
     
    §

    LoadedDescriptorDoesNotMatch

    The loaded desccriptor does not match what was provided.

    Fields

    §got: Option<ExtendedDescriptor>

    The descriptor loaded from persistence.

    §keychain: KeychainKind

    The keychain of the descriptor not matching

    -

    Trait Implementations§

    source§

    impl Debug for NewOrLoadError

    source§

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

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

    impl Display for NewOrLoadError

    source§

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

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

    impl Error for NewOrLoadError

    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 NewOrLoadError

    source§

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

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

    impl Display for NewOrLoadError

    source§

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

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

    impl Error for NewOrLoadError

    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.BuildFeeBumpError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.BuildFeeBumpError.html index 96861cd32c..8b1db41358 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.BuildFeeBumpError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.BuildFeeBumpError.html @@ -10,7 +10,7 @@
    §

    TransactionConfirmed(Txid)

    Happens when trying to bump a transaction that is already confirmed

    §

    IrreplaceableTransaction(Txid)

    Trying to replace a tx that has a sequence >= 0xFFFFFFFE

    §

    FeeRateUnavailable

    Node doesn’t have data to estimate a fee rate

    -

    Trait Implementations§

    source§

    impl Debug for BuildFeeBumpError

    source§

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

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

    impl Display for BuildFeeBumpError

    source§

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

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

    impl Error for BuildFeeBumpError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for BuildFeeBumpError

    source§

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

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

    impl Display for BuildFeeBumpError

    source§

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

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

    impl Error for BuildFeeBumpError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.CreateTxError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.CreateTxError.html index 3e903d0c59..3e699e9f1e 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 @@
    §

    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/error/enum.MiniscriptPsbtError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html index 35501dd927..41160c80c5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/error/enum.MiniscriptPsbtError.html @@ -6,7 +6,7 @@

    Variants§

    §

    Conversion(ConversionError)

    Descriptor key conversion error

    §

    UtxoUpdate(UtxoUpdateError)

    Return error type for PsbtExt::update_input_with_descriptor

    §

    OutputUpdate(OutputUpdateError)

    Return error type for PsbtExt::update_output_with_descriptor

    -

    Trait Implementations§

    source§

    impl Clone for MiniscriptPsbtError

    source§

    fn clone(&self) -> MiniscriptPsbtError

    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 MiniscriptPsbtError

    source§

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

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

    impl Display for MiniscriptPsbtError

    source§

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

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

    impl Error for MiniscriptPsbtError

    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<MiniscriptPsbtError> for CreateTxError

    source§

    fn from(err: MiniscriptPsbtError) -> 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 MiniscriptPsbtError

    source§

    fn clone(&self) -> MiniscriptPsbtError

    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 MiniscriptPsbtError

    source§

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

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

    impl Display for MiniscriptPsbtError

    source§

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

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

    impl Error for MiniscriptPsbtError

    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<MiniscriptPsbtError> for CreateTxError

    source§

    fn from(err: MiniscriptPsbtError) -> 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/fn.wallet_name_from_descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html index a1c401f850..ecf7a26ab7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/fn.wallet_name_from_descriptor.html @@ -1,4 +1,4 @@ -wallet_name_from_descriptor in bdk_wallet::wallet - Rust

    Function bdk_wallet::wallet::wallet_name_from_descriptor

    source ·
    pub fn wallet_name_from_descriptor<T>(
    +wallet_name_from_descriptor in bdk_wallet::wallet - Rust

    Function bdk_wallet::wallet::wallet_name_from_descriptor

    source ·
    pub fn wallet_name_from_descriptor<T>(
         descriptor: T,
         change_descriptor: Option<T>,
         network: Network,
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
    index d659dc4a69..2d42cf3a50 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/index.html
    @@ -1,4 +1,4 @@
    -bdk_wallet::wallet - Rust

    Module bdk_wallet::wallet

    source ·
    Expand description

    Wallet

    +bdk_wallet::wallet - Rust

    Module bdk_wallet::wallet

    source ·
    Expand description

    Wallet

    This module defines the Wallet.

    Modules§

    Structs§

    • A derived address and the index it was found at. For convenience this automatically derefs to Address
    • Balance, differentiated into various categories.
    • An update to Wallet.
    • A Bitcoin wallet

    Enums§

    Traits§

    • Trait to check if a value is below the dust limit. 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 c7d65fc8dc..88a0633899 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 @@ -37,7 +37,7 @@
      §

      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
    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 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.SignerId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerId.html index 07f85e51fd..5143c21755 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerId.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/enum.SignerId.html @@ -7,7 +7,7 @@

    Variants§

    §

    PkHash(Hash)

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

    §

    Fingerprint(Fingerprint)

    The fingerprint of a BIP32 extended key

    §

    Dummy(u64)

    Dummy identifier

    -

    Trait Implementations§

    source§

    impl Clone for SignerId

    source§

    fn clone(&self) -> SignerId

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SignerId

    source§

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

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

    impl From<Fingerprint> for SignerId

    source§

    fn from(fing: Fingerprint) -> SignerId

    Converts to this type from the input type.
    source§

    impl From<Hash> for SignerId

    source§

    fn from(hash: Hash) -> SignerId

    Converts to this type from the input type.
    source§

    impl Hash for SignerId

    source§

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

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

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

    Trait Implementations§

    source§

    impl Clone for SignerId

    source§

    fn clone(&self) -> SignerId

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for SignerId

    source§

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

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

    impl From<Fingerprint> for SignerId

    source§

    fn from(fing: Fingerprint) -> SignerId

    Converts to this type from the input type.
    source§

    impl From<Hash> for SignerId

    source§

    fn from(hash: Hash) -> SignerId

    Converts to this type from the input type.
    source§

    impl Hash for SignerId

    source§

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

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

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

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

    impl Ord for SignerId

    source§

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

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

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

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

    fn min(self, other: Self) -> Self
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/signer/struct.SignerWrapper.html index 0bf4b6e7f7..c8c1abb326 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 @@ -6,19 +6,19 @@ input_index: usize, sign_options: &SignOptions, secp: &Secp256k1<All> -) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

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

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

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

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<PrivateKey>

    source§

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

    Sign a single psbt input
    source§

    impl InputSigner for SignerWrapper<PrivateKey>

    source§

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

    Sign a single psbt input
    source§

    impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<PrivateKey>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more

    Auto Trait Implementations§

    §

    impl<S> Freeze for SignerWrapper<S>
    where +) -> Result<(), SignerError>

    Sign a single psbt input
    source§

    impl SignerCommon for SignerWrapper<DescriptorMultiXKey<Xpriv>>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<DescriptorXKey<Xpriv>>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more
    source§

    impl SignerCommon for SignerWrapper<PrivateKey>

    source§

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

    Return the SignerId for this signer Read more
    source§

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

    Return the secret key for the signer Read more

    Auto Trait Implementations§

    §

    impl<S> Freeze for SignerWrapper<S>
    where S: Freeze,

    §

    impl<S> RefUnwindSafe for SignerWrapper<S>
    where S: RefUnwindSafe,

    §

    impl<S> Send for SignerWrapper<S>
    where S: Send,

    §

    impl<S> Sync for SignerWrapper<S>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.AddressInfo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.AddressInfo.html index 789b6d446c..f4753129b0 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 @@ -1,4 +1,4 @@ -AddressInfo in bdk_wallet::wallet - Rust

    Struct bdk_wallet::wallet::AddressInfo

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

    Struct bdk_wallet::wallet::AddressInfo

    source ·
    pub struct AddressInfo {
         pub index: u32,
         pub address: Address,
         pub keychain: KeychainKind,
    @@ -68,9 +68,9 @@ 
    §Returns
    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 +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 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/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Update.html index b8851b6093..cce549c8b3 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 @@ -1,4 +1,4 @@ -Update in bdk_wallet::wallet - Rust

    Struct bdk_wallet::wallet::Update

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

    Struct bdk_wallet::wallet::Update

    source ·
    pub struct Update {
         pub last_active_indices: BTreeMap<KeychainKind, u32>,
         pub graph: TxGraph<ConfirmationTimeHeightAnchor>,
         pub chain: Option<CheckPoint>,
    @@ -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§

    §

    impl Freeze for Update

    §

    impl RefUnwindSafe for Update

    §

    impl Send for Update

    §

    impl Sync for Update

    §

    impl Unpin for Update

    §

    impl UnwindSafe for Update

    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§

    §

    impl Freeze for Update

    §

    impl RefUnwindSafe for Update

    §

    impl Send for Update

    §

    impl Sync for Update

    §

    impl Unpin for Update

    §

    impl UnwindSafe for Update

    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/struct.Wallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html index e45f128f2a..9db6d954d2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/struct.Wallet.html @@ -1,4 +1,4 @@ -Wallet in bdk_wallet::wallet - Rust

    Struct bdk_wallet::wallet::Wallet

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

    A Bitcoin wallet

    +Wallet in bdk_wallet::wallet - Rust

    Struct bdk_wallet::wallet::Wallet

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

    A Bitcoin wallet

    The Wallet acts as a way of coherently interfacing with output descriptors and related transactions. Its main components are:

      @@ -8,12 +8,12 @@

      The user is responsible for loading and writing wallet changes which are represented as ChangeSets (see take_staged). Also see individual functions and example for instructions on when Wallet state needs to be persisted.

      -

    Implementations§

    source§

    impl Wallet

    Implementations§

    source§

    impl Wallet

    source

    pub fn new<E: IntoWalletDescriptor>( descriptor: E, change_descriptor: E, network: Network ) -> Result<Self, NewError>

    Initialize an empty Wallet.

    -
    source

    pub fn new_with_genesis_hash<E: IntoWalletDescriptor>( +

    source

    pub fn new_with_genesis_hash<E: IntoWalletDescriptor>( descriptor: E, change_descriptor: E, network: Network, @@ -21,7 +21,7 @@ ) -> Result<Self, NewError>

    Initialize an empty Wallet with a custom genesis hash.

    This is like Wallet::new with an additional genesis_hash parameter. This is useful for syncing from alternative networks.

    -
    source

    pub fn load_from_changeset(changeset: ChangeSet) -> Result<Self, LoadError>

    Load Wallet from the given previously persisted ChangeSet.

    +
    source

    pub fn load_from_changeset(changeset: ChangeSet) -> Result<Self, LoadError>

    Load Wallet from the given previously persisted ChangeSet.

    Note that the descriptor secret keys are not persisted to the db; this means that after calling this method the Wallet won’t know the secret keys, and as such, won’t be able to sign transactions.

    @@ -47,7 +47,7 @@ .for_each(|s| wallet.add_signer(KeychainKind::Internal, SignerOrdering::default(), s.clone()));

    Alternatively, you can call Wallet::new_or_load, which will add the private keys of the passed-in descriptors to the Wallet.

    -
    source

    pub fn new_or_load<E: IntoWalletDescriptor>( +

    source

    pub fn new_or_load<E: IntoWalletDescriptor>( descriptor: E, change_descriptor: E, changeset: Option<ChangeSet>, @@ -64,7 +64,7 @@ let internal_descriptor = "wpkh(tprv8ZgxMBicQKsPdy6LMhUtFHAgpocR8GC6QmwMSFpZs7h6Eziw3SpThFfczTDh5rW2krkqffa11UpX3XkeTTB2FvzZKWXqPY54Y6Rq4AQ5R8L/84'/1'/0'/1/*)"; let mut wallet = Wallet::new_or_load(external_descriptor, internal_descriptor, changeset, Testnet)?;

    -
    source

    pub fn new_or_load_with_genesis_hash<E: IntoWalletDescriptor>( +

    source

    pub fn new_or_load_with_genesis_hash<E: IntoWalletDescriptor>( descriptor: E, change_descriptor: E, changeset: Option<ChangeSet>, @@ -75,16 +75,16 @@

    This method will fail if the loaded ChangeSet has different parameters to those provided. This is like Wallet::new_or_load with an additional genesis_hash parameter. This is useful for syncing from alternative networks.

    -

    source

    pub fn network(&self) -> Network

    Get the Bitcoin network the wallet is using.

    -
    source

    pub fn keychains( +

    source

    pub fn network(&self) -> Network

    Get the Bitcoin network the wallet is using.

    +
    source

    pub fn keychains( &self ) -> impl Iterator<Item = (&KeychainKind, &ExtendedDescriptor)>

    Iterator over all keychains in this wallet

    -
    source

    pub fn peek_address(&self, keychain: KeychainKind, index: u32) -> AddressInfo

    Peek an address of the given keychain at index without revealing it.

    +
    source

    pub fn peek_address(&self, keychain: KeychainKind, index: u32) -> AddressInfo

    Peek an address of the given keychain at index without revealing it.

    For non-wildcard descriptors this returns the same address at every provided index.

    §Panics

    This panics when the caller requests for an address of derivation index greater than the BIP32 max index.

    -
    source

    pub fn reveal_next_address(&mut self, keychain: KeychainKind) -> AddressInfo

    Attempt to reveal the next address of the given keychain.

    +
    source

    pub fn reveal_next_address(&mut self, keychain: KeychainKind) -> AddressInfo

    Attempt to reveal the next address of the given keychain.

    This will increment the keychain’s derivation index. If the keychain’s descriptor doesn’t contain a wildcard or every address is already revealed up to the maximum derivation index defined in BIP32, @@ -102,7 +102,7 @@

    §Panics
    // Now it's safe to show the user their next address! println!("Next address: {}", next_address.address);
    -
    source

    pub fn reveal_addresses_to( +

    source

    pub fn reveal_addresses_to( &mut self, keychain: KeychainKind, index: u32 @@ -113,35 +113,35 @@

    §Panics
    no new addresses are returned.

    WARNING: To avoid address reuse you must persist the changes resulting from one or more calls to this method before closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn next_unused_address(&mut self, keychain: KeychainKind) -> AddressInfo

    Get the next unused address for the given keychain, i.e. the address with the lowest +

    source

    pub fn next_unused_address(&mut self, keychain: KeychainKind) -> AddressInfo

    Get the next unused address for the given keychain, i.e. the address with the lowest derivation index that hasn’t been used.

    This will attempt to derive and reveal a new address if no newly revealed addresses are available. See also reveal_next_address.

    WARNING: To avoid address reuse you must persist the changes resulting from one or more calls to this method before closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn mark_used(&mut self, keychain: KeychainKind, index: u32) -> bool

    Marks an address used of the given keychain at index.

    +
    source

    pub fn mark_used(&mut self, keychain: KeychainKind, index: u32) -> bool

    Marks an address used of the given keychain at index.

    Returns whether the given index was present and then removed from the unused set.

    -
    source

    pub fn unmark_used(&mut self, keychain: KeychainKind, index: u32) -> bool

    Undoes the effect of mark_used and returns whether the index was inserted +

    source

    pub fn unmark_used(&mut self, keychain: KeychainKind, index: u32) -> bool

    Undoes the effect of mark_used and returns whether the index was inserted back into the unused set.

    Since this is only a superficial marker, it will have no effect if the address at the given index was actually used, i.e. the wallet has previously indexed a tx output for the derived spk.

    -
    source

    pub fn list_unused_addresses( +

    source

    pub fn list_unused_addresses( &self, keychain: KeychainKind ) -> impl DoubleEndedIterator<Item = AddressInfo> + '_

    List addresses that are revealed but unused.

    Note if the returned iterator is empty you can reveal more addresses by using reveal_next_address or reveal_addresses_to.

    -
    source

    pub fn is_mine(&self, script: &Script) -> bool

    Return whether or not a script is part of this wallet (either internal or external)

    -
    source

    pub fn derivation_of_spk(&self, spk: &Script) -> Option<(KeychainKind, u32)>

    Finds how the wallet derived the script pubkey spk.

    +
    source

    pub fn is_mine(&self, script: &Script) -> bool

    Return whether or not a script is part of this wallet (either internal or external)

    +
    source

    pub fn derivation_of_spk(&self, spk: &Script) -> Option<(KeychainKind, u32)>

    Finds how the wallet derived the script pubkey spk.

    Will only return Some(_) if the wallet has given out the spk.

    -
    source

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

    Return the list of unspent outputs of this wallet

    -
    source

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

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

    +
    source

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

    Return the list of unspent outputs of this wallet

    +
    source

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

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

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

    -
    source

    pub fn checkpoints(&self) -> CheckPointIter

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

    -
    source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    -
    source

    pub fn all_unbounded_spk_iters( +

    source

    pub fn checkpoints(&self) -> CheckPointIter

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

    +
    source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    +
    source

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

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

    This is intended to be used when doing a full scan of your addresses (e.g. after restoring @@ -149,14 +149,14 @@

    §Panics
    electrum server) which will go through each address until it reaches a stop gap.

    Note carefully that iterators go over all script pubkeys on the keychains (not what script pubkeys the wallet is storing internally).

    -
    source

    pub fn unbounded_spk_iter( +

    source

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

    Get an unbounded script pubkey iterator for the given keychain.

    See all_unbounded_spk_iters for more documentation

    -
    source

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

    Returns the utxo owned by this wallet corresponding to outpoint if it exists in the +

    source

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

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

    -
    source

    pub fn insert_txout(&mut self, outpoint: OutPoint, txout: TxOut)

    Inserts a [TxOut] at [OutPoint] into the wallet’s transaction graph.

    +
    source

    pub fn insert_txout(&mut self, outpoint: OutPoint, txout: TxOut)

    Inserts a [TxOut] at [OutPoint] into the wallet’s transaction graph.

    This is used for providing a previous output’s value so that we can use calculate_fee or calculate_fee_rate on a given transaction. Outputs inserted with this method will not be returned in list_unspent or list_output.

    @@ -165,7 +165,7 @@
    §Panics

    You must persist the changes resulting from one or more calls to this method if you need the inserted TxOut data to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn calculate_fee( +

    source

    pub fn calculate_fee( &self, tx: &Transaction ) -> Result<Amount, CalculateFeeError>

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

    @@ -178,7 +178,7 @@
    §Examples
    let tx = &psbt.clone().extract_tx().expect("tx");
     let fee = wallet.calculate_fee(tx).expect("fee");
    -
    source

    pub fn calculate_fee_rate( +

    source

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

    Calculate the [FeeRate] for a given transaction.

    @@ -191,7 +191,7 @@
    §Examples
    let tx = &psbt.clone().extract_tx().expect("tx");
     let fee_rate = wallet.calculate_fee_rate(tx).expect("fee rate");
    -
    source

    pub fn sent_and_received(&self, tx: &Transaction) -> (Amount, Amount)

    Compute the tx’s sent and received [Amount]s.

    +
    source

    pub fn sent_and_received(&self, tx: &Transaction) -> (Amount, Amount)

    Compute the tx’s sent and received [Amount]s.

    This method returns a tuple (sent, received). Sent is the sum of the txin amounts that spend from previous txouts tracked by this wallet. Received is the summation of this tx’s outputs that send to script pubkeys tracked by this wallet.

    @@ -201,7 +201,7 @@
    §Examples
    let tx = &psbt.clone().extract_tx().expect("tx");
     let (sent, received) = wallet.sent_and_received(tx);
    -
    source

    pub fn get_tx( +

    source

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

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

    @@ -242,7 +242,7 @@
    §Examples
    last_seen, ), }
    -
    source

    pub fn insert_checkpoint( +

    source

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

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

    @@ -251,7 +251,7 @@
    §Examples

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the inserted checkpoint data to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn insert_tx( +

    source

    pub fn insert_tx( &mut self, tx: Transaction, position: ConfirmationTime @@ -267,19 +267,19 @@

    §Examples
    local view of the best chain’s history.

    You must persist the changes resulting from one or more calls to this method if you need the inserted tx to be reloaded after closing the wallet.

    -
    source

    pub fn transactions( +

    source

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

    Iterate over the transactions in the wallet.

    -
    source

    pub fn balance(&self) -> Balance

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

    source

    pub fn balance(&self) -> Balance

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

    -
    source

    pub fn add_signer( +

    source

    pub fn add_signer( &mut self, keychain: KeychainKind, ordering: SignerOrdering, signer: Arc<dyn TransactionSigner> )

    Add an external signer

    See the signer module for an example.

    -
    source

    pub fn get_signers(&self, keychain: KeychainKind) -> Arc<SignersContainer>

    Get the signers

    +
    source

    pub fn get_signers(&self, keychain: KeychainKind) -> Arc<SignersContainer>

    Get the signers

    §Example
    let descriptor = "wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/0/*)";
     let change_descriptor = "wpkh(tprv8ZgxMBicQKsPe73PBRSmNbTfbcsZnwWhz5eVmhHpi31HW29Z7mc9B4cWGRQzopNUzZUT391DeDJxL2PefNunWyLgqCKRMDkU1s2s8bAfoSk/84'/1'/0'/1/*)";
    @@ -290,7 +290,7 @@ 
    §Example
    } Ok::<(), Box<dyn std::error::Error>>(())
    -
    source

    pub fn build_tx(&mut self) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm>

    Start building a transaction.

    +
    source

    pub fn build_tx(&mut self) -> TxBuilder<'_, DefaultCoinSelectionAlgorithm>

    Start building a transaction.

    This returns a blank TxBuilder from which you can specify the parameters for the transaction.

    §Example
    let psbt = {
    @@ -301,7 +301,7 @@ 
    §Example
    }; // sign and broadcast ...
    -
    source

    pub fn build_fee_bump( +

    source

    pub fn build_fee_bump( &mut self, txid: Txid ) -> Result<TxBuilder<'_, DefaultCoinSelectionAlgorithm>, BuildFeeBumpError>

    Bump the fee of a transaction previously created with this wallet.

    @@ -329,7 +329,7 @@
    §Example
    let _ = wallet.sign(&mut psbt, SignOptions::default())?; let fee_bumped_tx = psbt.extract_tx(); // broadcast fee_bumped_tx to replace original
    -
    source

    pub fn sign( +

    source

    pub fn sign( &self, psbt: &mut Psbt, sign_options: SignOptions @@ -347,14 +347,14 @@

    §Example
    }; let finalized = wallet.sign(&mut psbt, SignOptions::default())?; assert!(finalized, "we should have signed all the inputs"); -
    source

    pub fn policies( +

    source

    pub fn policies( &self, keychain: KeychainKind ) -> Result<Option<Policy>, DescriptorError>

    Return the spending policies for the wallet’s descriptor

    -
    source

    pub fn public_descriptor(&self, keychain: KeychainKind) -> &ExtendedDescriptor

    Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has +

    source

    pub fn public_descriptor(&self, keychain: KeychainKind) -> &ExtendedDescriptor

    Return the “public” version of the wallet’s descriptor, meaning a new descriptor that has the same structure but with every secret key removed

    This can be used to build a watch-only version of a wallet

    -
    source

    pub fn finalize_psbt( +

    source

    pub fn finalize_psbt( &self, psbt: &mut Psbt, sign_options: SignOptions @@ -365,25 +365,25 @@

    §Example
    for further information.

    Returns true if the PSBT could be finalized, and false otherwise.

    The SignOptions can be used to tweak the behavior of the finalizer.

    -
    source

    pub fn secp_ctx(&self) -> &Secp256k1<All>

    Return the secp256k1 context used for all signing operations

    -
    source

    pub fn get_descriptor_for_keychain( +

    source

    pub fn secp_ctx(&self) -> &Secp256k1<All>

    Return the secp256k1 context used for all signing operations

    +
    source

    pub fn get_descriptor_for_keychain( &self, keychain: KeychainKind ) -> &ExtendedDescriptor

    Returns the descriptor used to create addresses for a particular keychain.

    -
    source

    pub fn derivation_index(&self, keychain: KeychainKind) -> Option<u32>

    The derivation index of this wallet. It will return None if it has not derived any addresses. +

    source

    pub fn derivation_index(&self, keychain: KeychainKind) -> Option<u32>

    The derivation index of this wallet. It will return None if it has not derived any addresses. Otherwise, it will return the index of the highest address it has derived.

    -
    source

    pub fn next_derivation_index(&self, keychain: KeychainKind) -> u32

    The index of the next address that you would get if you were to ask the wallet for a new address

    -
    source

    pub fn cancel_tx(&mut self, tx: &Transaction)

    Informs the wallet that you no longer intend to broadcast a tx that was built from it.

    +
    source

    pub fn next_derivation_index(&self, keychain: KeychainKind) -> u32

    The index of the next address that you would get if you were to ask the wallet for a new address

    +
    source

    pub fn cancel_tx(&mut self, tx: &Transaction)

    Informs the wallet that you no longer intend to broadcast a tx that was built from it.

    This frees up the change address used when creating the tx for use in future transactions.

    -
    source

    pub fn get_psbt_input( +

    source

    pub fn get_psbt_input( &self, utxo: LocalOutput, sighash_type: Option<PsbtSighashType>, only_witness_utxo: bool ) -> Result<Input, CreateTxError>

    get the corresponding PSBT Input for a LocalUtxo

    -
    source

    pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

    Return the checksum of the public descriptor associated to keychain

    +
    source

    pub fn descriptor_checksum(&self, keychain: KeychainKind) -> String

    Return the checksum of the public descriptor associated to keychain

    Internally calls Self::get_descriptor_for_keychain to fetch the right descriptor

    -
    source

    pub fn apply_update( +

    source

    pub fn apply_update( &mut self, update: impl Into<Update> ) -> Result<(), CannotConnectError>

    Applies an update to the wallet and stages the changes (but does not persist them).

    @@ -391,12 +391,12 @@
    §Example
    transactions related to your wallet into it.

    After applying updates you should persist the staged wallet changes. For an example of how to persist staged wallet changes see Wallet::reveal_next_address. `

    -
    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that are yet to be committed (if any).

    -
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    -
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

    Get a reference to the inner [TxGraph].

    -
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    -
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    -
    source

    pub fn apply_block( +

    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that are yet to be committed (if any).

    +
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    +
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationTimeHeightAnchor>

    Get a reference to the inner [TxGraph].

    +
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    +
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    source

    pub fn apply_block( &mut self, block: &Block, height: u32 @@ -404,7 +404,7 @@

    §Example
    prev_blockhash of the block’s header.

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

    -
    source

    pub fn apply_block_connected_to( +

    source

    pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, @@ -417,7 +417,7 @@

    §Example

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the inserted block data to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source

    pub fn apply_unconfirmed_txs<'t>( +

    source

    pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

    Apply relevant unconfirmed transactions to the wallet.

    @@ -429,18 +429,18 @@
    §Example

    WARNING: You must persist the changes resulting from one or more calls to this method if you need the applied unconfirmed transactions to be reloaded after closing the wallet. See Wallet::reveal_next_address.

    -
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    -
    source

    pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

    +
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    +
    source

    pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

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

    -
    source

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

    Create a [`FullScanRequest] for this wallet.

    +
    source

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

    Create a [`FullScanRequest] for this wallet.

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

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

    -

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet

    source§

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

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

    impl Debug for Wallet

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Wallet

    §

    impl !RefUnwindSafe for Wallet

    §

    impl Send for Wallet

    §

    impl Sync for Wallet

    §

    impl Unpin for Wallet

    §

    impl !UnwindSafe for Wallet

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationTimeHeightAnchor>> for Wallet

    source§

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

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

    impl Debug for Wallet

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl Freeze for Wallet

    §

    impl !RefUnwindSafe for Wallet

    §

    impl Send for Wallet

    §

    impl Sync for Wallet

    §

    impl Unpin for Wallet

    §

    impl !UnwindSafe for Wallet

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/trait.IsDust.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/trait.IsDust.html index e3302c3b12..01848e294b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/trait.IsDust.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/trait.IsDust.html @@ -1,8 +1,8 @@ -IsDust in bdk_wallet::wallet - Rust

    Trait bdk_wallet::wallet::IsDust

    source ·
    pub trait IsDust {
    +IsDust in bdk_wallet::wallet - Rust

    Trait bdk_wallet::wallet::IsDust

    source ·
    pub trait IsDust {
         // Required method
         fn is_dust(&self, script: &Script) -> bool;
     }
    Expand description

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

    -

    Required Methods§

    source

    fn is_dust(&self, script: &Script) -> bool

    Check whether or not a value is below dust limit

    -

    Implementations on Foreign Types§

    source§

    impl IsDust for u64

    source§

    fn is_dust(&self, script: &Script) -> bool

    Implementors§

    \ No newline at end of file +

    Required Methods§

    source

    fn is_dust(&self, script: &Script) -> bool

    Check whether or not a value is below dust limit

    +

    Implementations on Foreign Types§

    source§

    impl IsDust for u64

    source§

    fn is_dust(&self, script: &Script) -> bool

    Implementors§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html index 05098e0012..547b51897c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddForeignUtxoError.html @@ -1,4 +1,4 @@ -AddForeignUtxoError in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::AddForeignUtxoError

    source ·
    pub enum AddForeignUtxoError {
    +AddForeignUtxoError in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::AddForeignUtxoError

    source ·
    pub enum AddForeignUtxoError {
         InvalidTxid {
             input_txid: Txid,
             foreign_utxo: OutPoint,
    @@ -11,7 +11,7 @@
     
    §foreign_utxo: OutPoint

    Foreign UTXO outpoint

    §

    InvalidOutpoint(OutPoint)

    Requested outpoint doesn’t exist in the tx (vout greater than available outputs)

    §

    MissingUtxo

    Foreign utxo missing witness_utxo or non_witness_utxo

    -

    Trait Implementations§

    source§

    impl Debug for AddForeignUtxoError

    source§

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

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

    impl Display for AddForeignUtxoError

    source§

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

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

    impl Error for AddForeignUtxoError

    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 AddForeignUtxoError

    source§

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

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

    impl Display for AddForeignUtxoError

    source§

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

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

    impl Error for AddForeignUtxoError

    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/tx_builder/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.AddUtxoError.html index b9ca56e45d..231d0ff230 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 @@ -1,8 +1,8 @@ -AddUtxoError in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::AddUtxoError

    source ·
    pub enum AddUtxoError {
    +AddUtxoError in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::AddUtxoError

    source ·
    pub enum AddUtxoError {
         UnknownUtxo(OutPoint),
     }
    Expand description

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

    Variants§

    §

    UnknownUtxo(OutPoint)

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

    -

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

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

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

    impl Display for AddUtxoError

    source§

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

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

    impl Error for AddUtxoError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Debug for AddUtxoError

    source§

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

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

    impl Display for AddUtxoError

    source§

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

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

    impl Error for AddUtxoError

    1.30.0 · source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html index 70a041d7d2..404ba206b4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.ChangeSpendPolicy.html @@ -1,4 +1,4 @@ -ChangeSpendPolicy in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy

    source ·
    pub enum ChangeSpendPolicy {
    +ChangeSpendPolicy in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::ChangeSpendPolicy

    source ·
    pub enum ChangeSpendPolicy {
         ChangeAllowed,
         OnlyChange,
         ChangeForbidden,
    @@ -6,16 +6,16 @@
     

    Variants§

    §

    ChangeAllowed

    Use both change and non-change outputs (default)

    §

    OnlyChange

    Only use change outputs (see TxBuilder::only_spend_change)

    §

    ChangeForbidden

    Only use non-change outputs (see TxBuilder::do_not_spend_change)

    -

    Trait Implementations§

    source§

    impl Clone for ChangeSpendPolicy

    source§

    fn clone(&self) -> ChangeSpendPolicy

    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 ChangeSpendPolicy

    source§

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

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

    impl Default for ChangeSpendPolicy

    source§

    fn default() -> ChangeSpendPolicy

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

    impl Hash for ChangeSpendPolicy

    source§

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

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

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

    Trait Implementations§

    source§

    impl Clone for ChangeSpendPolicy

    source§

    fn clone(&self) -> ChangeSpendPolicy

    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 ChangeSpendPolicy

    source§

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

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

    impl Default for ChangeSpendPolicy

    source§

    fn default() -> ChangeSpendPolicy

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

    impl Hash for ChangeSpendPolicy

    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 ChangeSpendPolicy

    source§

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

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

    impl Ord for ChangeSpendPolicy

    source§

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

    source§

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

    source§

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

    source§

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

    source§

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

    source§

    impl Eq for ChangeSpendPolicy

    source§

    impl StructuralPartialEq for ChangeSpendPolicy

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Copy for ChangeSpendPolicy

    source§

    impl Eq for ChangeSpendPolicy

    source§

    impl StructuralPartialEq for ChangeSpendPolicy

    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.TxOrdering.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html index 793a745395..842427d0a4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/enum.TxOrdering.html @@ -1,4 +1,4 @@ -TxOrdering in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::TxOrdering

    source ·
    pub enum TxOrdering {
    +TxOrdering in bdk_wallet::wallet::tx_builder - Rust

    Enum bdk_wallet::wallet::tx_builder::TxOrdering

    source ·
    pub enum TxOrdering {
         Shuffle,
         Untouched,
         Bip69Lexicographic,
    @@ -6,17 +6,20 @@
     

    Variants§

    §

    Shuffle

    Randomized (default)

    §

    Untouched

    Unchanged

    §

    Bip69Lexicographic

    BIP69 / Lexicographic

    -

    Implementations§

    source§

    impl TxOrdering

    source

    pub fn sort_tx(&self, tx: &mut Transaction)

    Sort transaction inputs and outputs by TxOrdering variant

    -

    Trait Implementations§

    source§

    impl Clone for TxOrdering

    source§

    fn clone(&self) -> TxOrdering

    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 TxOrdering

    source§

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

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

    impl Default for TxOrdering

    source§

    fn default() -> TxOrdering

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

    impl Hash for TxOrdering

    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 +

    Implementations§

    source§

    impl TxOrdering

    source

    pub fn sort_tx(self, tx: &mut Transaction)

    Sort transaction inputs and outputs by TxOrdering variant.

    +

    Uses the thread-local random number generator (rng).

    +
    source

    pub fn sort_tx_with_aux_rand(self, tx: &mut Transaction, rng: &mut impl RngCore)

    Sort transaction inputs and outputs by TxOrdering variant.

    +

    Uses a provided random number generator (rng).

    +

    Trait Implementations§

    source§

    impl Clone for TxOrdering

    source§

    fn clone(&self) -> TxOrdering

    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 TxOrdering

    source§

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

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

    impl Default for TxOrdering

    source§

    fn default() -> TxOrdering

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

    impl Hash for TxOrdering

    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 TxOrdering

    source§

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

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

    impl Ord for TxOrdering

    source§

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

    source§

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

    source§

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

    source§

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

    source§

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

    source§

    impl Eq for TxOrdering

    source§

    impl StructuralPartialEq for TxOrdering

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    impl Copy for TxOrdering

    source§

    impl Eq for TxOrdering

    source§

    impl StructuralPartialEq for TxOrdering

    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/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html index dbf325c0f7..d044866dce 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/index.html @@ -1,4 +1,4 @@ -bdk_wallet::wallet::tx_builder - Rust

    Module bdk_wallet::wallet::tx_builder

    source ·
    Expand description

    Transaction builder

    +bdk_wallet::wallet::tx_builder - Rust

    Module bdk_wallet::wallet::tx_builder

    source ·
    Expand description

    Transaction builder

    §Example

    // create a TxBuilder from a wallet
     let mut tx_builder = wallet.build_tx();
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html
    index 76860c499a..f6770a0580 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/tx_builder/struct.TxBuilder.html
    @@ -1,4 +1,4 @@
    -TxBuilder in bdk_wallet::wallet::tx_builder - Rust

    Struct bdk_wallet::wallet::tx_builder::TxBuilder

    source ·
    pub struct TxBuilder<'a, Cs> { /* private fields */ }
    Expand description

    A transaction builder

    +TxBuilder in bdk_wallet::wallet::tx_builder - Rust

    Struct bdk_wallet::wallet::tx_builder::TxBuilder

    source ·
    pub struct TxBuilder<'a, Cs> { /* private fields */ }
    Expand description

    A transaction builder

    A TxBuilder is created by calling build_tx or build_fee_bump on a wallet. After assigning it, you set options on it until finally calling finish to consume the builder and generate the transaction.

    @@ -29,7 +29,7 @@

    At the moment coin_selection is an exception to the rule as it consumes self. This means it is usually best to call coin_selection on the return value of build_tx before assigning it.

    For further examples see this module’s documentation;

    -

    Implementations§

    source§

    impl<'a, Cs> TxBuilder<'a, Cs>

    source

    pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

    Set a custom fee rate.

    +

    Implementations§

    source§

    impl<'a, Cs> TxBuilder<'a, Cs>

    source

    pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

    Set a custom fee rate.

    This method sets the mining fee paid by the transaction as a rate on its size. This means that the total fee paid is equal to fee_rate times the size of the transaction. Default is 1 sat/vB in accordance with Bitcoin Core’s default @@ -37,7 +37,7 @@

    Note that this is really a minimum feerate – it’s possible to overshoot it slightly since adding a change output to drain the remaining excess might not be viable.

    -
    source

    pub fn fee_absolute(&mut self, fee_amount: Amount) -> &mut Self

    Set an absolute fee +

    source

    pub fn fee_absolute(&mut self, fee_amount: Amount) -> &mut Self

    Set an absolute fee The fee_absolute method refers to the absolute transaction fee in [Amount]. If anyone sets both the fee_absolute method and the fee_rate method, the FeePolicy enum will be set by whichever method was called last, @@ -45,7 +45,7 @@

    Note that this is really a minimum absolute fee – it’s possible to overshoot it slightly since adding a change output to drain the remaining excess might not be viable.

    -
    source

    pub fn policy_path( +

    source

    pub fn policy_path( &mut self, policy_path: BTreeMap<String, Vec<usize>>, keychain: KeychainKind @@ -96,20 +96,20 @@

    §Example
    .add_recipient(to_address.script_pubkey(), Amount::from_sat(50_000)) .policy_path(path, KeychainKind::External);
    -
    source

    pub fn add_utxos( +

    source

    pub fn add_utxos( &mut self, outpoints: &[OutPoint] ) -> Result<&mut Self, AddUtxoError>

    Add the list of outpoints to the internal list of UTXOs that must be spent.

    If an error occurs while adding any of the UTXOs then none of them are added and the error is returned.

    These have priority over the “unspendable” utxos, meaning that if a utxo is present both in the “utxos” and the “unspendable” list, it will be spent.

    -
    source

    pub fn add_utxo( +

    source

    pub fn add_utxo( &mut self, outpoint: OutPoint ) -> Result<&mut Self, AddUtxoError>

    Add a utxo to the internal list of utxos that must be spent

    These have priority over the “unspendable” utxos, meaning that if a utxo is present both in the “utxos” and the “unspendable” list, it will be spent.

    -
    source

    pub fn add_foreign_utxo( +

    source

    pub fn add_foreign_utxo( &mut self, outpoint: OutPoint, psbt_input: Input, @@ -149,64 +149,64 @@

    §Errors

    Note unless you set only_witness_utxo any non-taproot psbt_input you pass to this method must have non_witness_utxo set otherwise you will get an error when finish is called.

    -
    source

    pub fn add_foreign_utxo_with_sequence( +

    source

    pub fn add_foreign_utxo_with_sequence( &mut self, outpoint: OutPoint, psbt_input: Input, satisfaction_weight: usize, sequence: Sequence ) -> Result<&mut Self, AddForeignUtxoError>

    Same as add_foreign_utxo but allows to set the nSequence value.

    -
    source

    pub fn manually_selected_only(&mut self) -> &mut Self

    Only spend utxos added by add_utxo.

    +
    source

    pub fn manually_selected_only(&mut self) -> &mut Self

    Only spend utxos added by add_utxo.

    The wallet will not add additional utxos to the transaction even if they are needed to make the transaction valid.

    -
    source

    pub fn unspendable(&mut self, unspendable: Vec<OutPoint>) -> &mut Self

    Replace the internal list of unspendable utxos with a new list

    +
    source

    pub fn unspendable(&mut self, unspendable: Vec<OutPoint>) -> &mut Self

    Replace the internal list of unspendable utxos with a new list

    It’s important to note that the “must-be-spent” utxos added with TxBuilder::add_utxo have priority over these. See the docs of the two linked methods for more details.

    -
    source

    pub fn add_unspendable(&mut self, unspendable: OutPoint) -> &mut Self

    Add a utxo to the internal list of unspendable utxos

    +
    source

    pub fn add_unspendable(&mut self, unspendable: OutPoint) -> &mut Self

    Add a utxo to the internal list of unspendable utxos

    It’s important to note that the “must-be-spent” utxos added with TxBuilder::add_utxo have priority over this. See the docs of the two linked methods for more details.

    -
    source

    pub fn sighash(&mut self, sighash: PsbtSighashType) -> &mut Self

    Sign with a specific sig hash

    +
    source

    pub fn sighash(&mut self, sighash: PsbtSighashType) -> &mut Self

    Sign with a specific sig hash

    Use this option very carefully

    -
    source

    pub fn ordering(&mut self, ordering: TxOrdering) -> &mut Self

    Choose the ordering for inputs and outputs of the transaction

    -
    source

    pub fn nlocktime(&mut self, locktime: LockTime) -> &mut Self

    Use a specific nLockTime while creating the transaction

    +
    source

    pub fn ordering(&mut self, ordering: TxOrdering) -> &mut Self

    Choose the ordering for inputs and outputs of the transaction

    +
    source

    pub fn nlocktime(&mut self, locktime: LockTime) -> &mut Self

    Use a specific nLockTime while creating the transaction

    This can cause conflicts if the wallet’s descriptors contain an “after” (OP_CLTV) operator.

    -
    source

    pub fn version(&mut self, version: i32) -> &mut Self

    Build a transaction with a specific version

    +
    source

    pub fn version(&mut self, version: i32) -> &mut Self

    Build a transaction with a specific version

    The version should always be greater than 0 and greater than 1 if the wallet’s descriptors contain an “older” (OP_CSV) operator.

    -
    source

    pub fn do_not_spend_change(&mut self) -> &mut Self

    Do not spend change outputs

    +
    source

    pub fn do_not_spend_change(&mut self) -> &mut Self

    Do not spend change outputs

    This effectively adds all the change outputs to the “unspendable” list. See TxBuilder::unspendable.

    -
    source

    pub fn only_spend_change(&mut self) -> &mut Self

    Only spend change outputs

    +
    source

    pub fn only_spend_change(&mut self) -> &mut Self

    Only spend change outputs

    This effectively adds all the non-change outputs to the “unspendable” list. See TxBuilder::unspendable.

    -
    source

    pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

    source

    pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

    source

    pub fn only_witness_utxo(&mut self) -> &mut Self

    Only Fill-in the psbt::Input::witness_utxo field when spending from +

    source

    pub fn only_witness_utxo(&mut self) -> &mut Self

    Only Fill-in the psbt::Input::witness_utxo field when spending from SegWit descriptors.

    This reduces the size of the PSBT, but some signers might reject them due to the lack of the non_witness_utxo.

    -
    source

    pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

    Fill-in the psbt::Output::redeem_script and +

    source

    pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

    Fill-in the psbt::Output::redeem_script and psbt::Output::witness_script fields.

    This is useful for signers which always require it, like ColdCard hardware wallets.

    -
    source

    pub fn add_global_xpubs(&mut self) -> &mut Self

    Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external +

    source

    pub fn add_global_xpubs(&mut self) -> &mut Self

    Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external and internal descriptors

    This is useful for offline signers that take part to a multisig. Some hardware wallets like BitBox and ColdCard are known to require this.

    -
    source

    pub fn drain_wallet(&mut self) -> &mut Self

    Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

    -
    source

    pub fn coin_selection<P: CoinSelectionAlgorithm>( +

    source

    pub fn drain_wallet(&mut self) -> &mut Self

    Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

    +
    source

    pub fn coin_selection<P: CoinSelectionAlgorithm>( self, coin_selection: P ) -> TxBuilder<'a, P>

    Choose the coin selection algorithm

    Overrides the CoinSelectionAlgorithm.

    Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.

    -
    source

    pub fn enable_rbf(&mut self) -> &mut Self

    Enable signaling RBF

    +
    source

    pub fn enable_rbf(&mut self) -> &mut Self

    Enable signaling RBF

    This will use the default nSequence value of 0xFFFFFFFD.

    -
    source

    pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

    Enable signaling RBF with a specific nSequence value

    +
    source

    pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

    Enable signaling RBF with a specific nSequence value

    This can cause conflicts if the wallet’s descriptors contain an “older” (OP_CSV) operator and the given nsequence is lower than the CSV value.

    If the nsequence is higher than 0xFFFFFFFD an error will be thrown, since it would not be a valid nSequence to signal RBF.

    -
    source

    pub fn current_height(&mut self, height: u32) -> &mut Self

    Set the current blockchain height.

    +
    source

    pub fn current_height(&mut self, height: u32) -> &mut Self

    Set the current blockchain height.

    This will be used to:

    1. Set the nLockTime for preventing fee sniping. @@ -217,19 +217,19 @@
      §Errors
      add them using TxBuilder::add_utxos.

    In both cases, if you don’t provide a current height, we use the last sync height.

    -
    source

    pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

    Set whether or not the dust limit is checked.

    +
    source

    pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

    Set whether or not the dust limit is checked.

    Note: by avoiding a dust limit check you may end up with a transaction that is non-standard.

    -
    source

    pub fn set_recipients( +

    source

    pub fn set_recipients( &mut self, recipients: Vec<(ScriptBuf, Amount)> ) -> &mut Self

    Replace the recipients already added with a new list

    -
    source

    pub fn add_recipient( +

    source

    pub fn add_recipient( &mut self, script_pubkey: ScriptBuf, amount: Amount ) -> &mut Self

    Add a recipient to the internal list

    -
    source

    pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

    Add data as an output, using OP_RETURN

    -
    source

    pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

    Sets the address to drain excess coins to.

    +
    source

    pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

    Add data as an output, using OP_RETURN

    +
    source

    pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

    Sets the address to drain excess coins to.

    Usually, when there are excess coins they are sent to a change address generated by the wallet. This option replaces the usual change address with an arbitrary script_pubkey of your choosing. Just as with a change output, if the drain output is not needed (the excess @@ -255,11 +255,20 @@

    §Example
    .fee_rate(FeeRate::from_sat_per_vb(5).expect("valid feerate")) .enable_rbf(); let psbt = tx_builder.finish()?;
    -
    source§

    impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

    source

    pub fn finish(self) -> Result<Psbt, CreateTxError>

    Finish building the transaction.

    +
    source§

    impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

    source

    pub fn finish(self) -> Result<Psbt, CreateTxError>

    Finish building the transaction.

    +

    Uses the thread-local random number generator (rng).

    Returns a new [Psbt] per BIP174.

    WARNING: To avoid change address reuse you must persist the changes resulting from one or more calls to this method before closing the wallet. See Wallet::reveal_next_address.

    -

    Trait Implementations§

    source§

    impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs>

    source§

    fn clone(&self) -> Self

    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, Cs: Debug> Debug for TxBuilder<'a, Cs>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<'a, Cs> Freeze for TxBuilder<'a, Cs>
    where +
    source

    pub fn finish_with_aux_rand( + self, + rng: &mut impl RngCore +) -> Result<Psbt, CreateTxError>

    Finish building the transaction.

    +

    Uses a provided random number generator (rng).

    +

    Returns a new [Psbt] per BIP174.

    +

    WARNING: To avoid change address reuse you must persist the changes resulting from one +or more calls to this method before closing the wallet. See Wallet::reveal_next_address.

    +

    Trait Implementations§

    source§

    impl<'a, Cs: Clone> Clone for TxBuilder<'a, Cs>

    source§

    fn clone(&self) -> Self

    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, Cs: Debug> Debug for TxBuilder<'a, Cs>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<'a, Cs> Freeze for TxBuilder<'a, Cs>
    where Cs: Freeze,

    §

    impl<'a, Cs> !RefUnwindSafe for TxBuilder<'a, Cs>

    §

    impl<'a, Cs> !Send for TxBuilder<'a, Cs>

    §

    impl<'a, Cs> !Sync for TxBuilder<'a, Cs>

    §

    impl<'a, Cs> Unpin for TxBuilder<'a, Cs>
    where Cs: Unpin,

    §

    impl<'a, Cs> !UnwindSafe for TxBuilder<'a, Cs>

    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/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html index c0078e489a..3123f5d695 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.ChangeSet.html @@ -1,4 +1,4 @@ -ChangeSet in bdk_wallet::wallet - Rust

    Type Alias bdk_wallet::wallet::ChangeSet

    source ·
    pub type ChangeSet = CombinedChangeSet<KeychainKind, ConfirmationTimeHeightAnchor>;
    Expand description

    The changes made to a wallet by applying an Update.

    +ChangeSet in bdk_wallet::wallet - Rust

    Type Alias bdk_wallet::wallet::ChangeSet

    source ·
    pub type ChangeSet = CombinedChangeSet<KeychainKind, ConfirmationTimeHeightAnchor>;
    Expand description

    The changes made to a wallet by applying an Update.

    Aliased Type§

    struct ChangeSet {
         pub chain: BTreeMap<u32, Option<BlockHash>>,
         pub indexed_tx_graph: ChangeSet<ConfirmationTimeHeightAnchor, ChangeSet<KeychainKind>>,
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.CoinSelectionAlgo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.CoinSelectionAlgo.html
    index 172fcdd28b..1d53aa72d4 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.CoinSelectionAlgo.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/enum.CoinSelectionAlgo.html
    @@ -4,7 +4,7 @@
         OldestFirst,
         NewestFirst,
         BranchAndBound,
    -}

    Variants§

    §

    LargestFirst

    §

    SmallestFirst

    §

    OldestFirst

    §

    NewestFirst

    §

    BranchAndBound

    Trait Implementations§

    source§

    impl Clone for CoinSelectionAlgo

    source§

    fn clone(&self) -> CoinSelectionAlgo

    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 CoinSelectionAlgo

    source§

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

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

    impl Default for CoinSelectionAlgo

    source§

    fn default() -> Self

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

    impl Display for CoinSelectionAlgo

    source§

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

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

    impl FromStr for CoinSelectionAlgo

    §

    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

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Variants§

    §

    LargestFirst

    §

    SmallestFirst

    §

    OldestFirst

    §

    NewestFirst

    §

    BranchAndBound

    Trait Implementations§

    source§

    impl Clone for CoinSelectionAlgo

    source§

    fn clone(&self) -> CoinSelectionAlgo

    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 CoinSelectionAlgo

    source§

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

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

    impl Default for CoinSelectionAlgo

    source§

    fn default() -> Self

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

    impl Display for CoinSelectionAlgo

    source§

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

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

    impl FromStr for CoinSelectionAlgo

    §

    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

    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/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index a336abe9b4..b8ffa47938 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,17 +1,17 @@ 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,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}}}{}{}}0000000100{{{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{}}0{{{Bj{Ah}}}Bl}1{{{Eb{CdE`}}}Ad}{{{Eb{{d{Cd}}{d{E`}}}}}Ad}3333{BbA`}44{{{Ef{c{Ed{e}}}}}{{B`{ec}}}{}{}}{Eh{{B`{ce}}}{}{}}{{{Ed{c}}}{{B`{ce}}}{}{}}7{{{d{Ej}}AdEl}En}{{{d{Ej}}AdEl}Ad}{{{d{Ej}}AdEl}Af}{{{d{Ej}}AdEl}Ah}{cA`{}}08{{{d{{Bh{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{{Bh{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}}}}e}An{jln}{}}{{{d{Aj{J`{c}}}}{Ed{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{{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{Gf}}}{}}{c{{Cf{Hb}}}{}}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,"array"],[1,"slice"],[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;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[40,"impl-AsRef%3C%5Bu8%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"],[151,"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-Indexer-for-KeychainTxOutIndex%3CK%3E"],[372,"impl-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-Debug-for-AlterCheckPointError"],[555,"impl-Display-for-AlterCheckPointError"],[556,"impl-Display-for-CannotConnectError"],[557,"impl-Debug-for-CannotConnectError"],[558,"impl-Display-for-ApplyHeaderError"],[559,"impl-Debug-for-ApplyHeaderError"],[773,"impl-Debug-for-CalculateFeeError"],[774,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAOcBTAATAAIAGAAAABwAAAAeAAIAJAACACgAFwBCABMAVwAGAGMAAQBmAAQAbQAFAHQAFACLAAAAjQABAJMAAACWAAIAmwAEAKEAAgClAAUArQAAAK8AAQCzAAAAvwAAAMUAAADJAAAAzgAAANMAAQDYAAYA4gAGAO4ACgD6ABQAFAEJACEBCQAyAQAAOAEAADwBCwBKAQEAWgEAAF0BCQBxAQAAdAEAAHYBEwCLARAApAECAK8BAADIAQEAywEHANYBCQDjAQQA7QEEAAUCGQAgAgUAJwIJAEECAABPAgIAVQIAAFwCEABuAg0AfQIGAIgCBwCzAgcAvAIHANICAADVAgAA2AINAOgCEQD7AgQAAwMFACIDAQAlAwAALAMBAC8DBwA6AwYAQwMGAFMDBgBbAwYA"}],\ -["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-Debug-for-SelectionError"],[96,"impl-Display-for-SelectionError"],[97,"impl-Debug-for-SelectionConstraint"],[98,"impl-Display-for-SelectionConstraint"],[100,"impl-Debug-for-ExcessStrategyKind"],[101,"impl-Display-for-ExcessStrategyKind"],[107,"impl-From%3Cusize%3E-for-BnbLimit"],[109,"impl-From%3CDuration%3E-for-BnbLimit"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKcAGAAAAAAAAgAAAAYAAAAJAAIADgADABcAAgAcAAEAIAAAACIAKgBQAAIAVgAEAFwACwBsAAAAbgAAAHcAAQCHAAEAigABAJIADQChAAAAowAAAKYAAACqADAA3AAMAOoAAQA="}],\ +["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_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{}}{AjBh}1111{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-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":"OzAAAAEAAC8ABwAMAAkAGAAHACEAAAAmAAAALAAAAC8AAQAzABgA"}],\ +["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_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-Display-for-Error"],[10,"impl-Debug-for-Error"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABIAAwAFAAYAEgAJAB0AAQA="}],\ +["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,"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-Display-for-SigningError"],[61,"impl-Debug-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":"PPEPGPFEEGEFNNDNNNNNNNNENNNNNNNNNOOCQNNNNNNNNNNQNNNNNNNNNNOOCDNONCONNNEENNNNNNNNNNNNNONNNNOHNNNNCOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMFGFPIPPPPGKGPPPPPPGGPFFNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNCONNNNNNNNNCCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNMNONONNNNNNNNONNNNNNNNNNNNNNNCNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNCNNNNNNNNNNNNONNNNNNNNNHOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPPGPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","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_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","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","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"],[992,"bdk_wallet::psbt"],[996,"bdk_wallet::wallet"],[1211,"bdk_wallet::wallet::ApplyBlockError"],[1213,"bdk_wallet::wallet::InsertTxError"],[1215,"bdk_wallet::wallet::NewOrLoadError"],[1221,"bdk_wallet::wallet::coin_selection"],[1313,"bdk_wallet::wallet::coin_selection::Error"],[1315,"bdk_wallet::wallet::coin_selection::Excess"],[1320,"bdk_wallet::wallet::error"],[1391,"bdk_wallet::wallet::error::CreateTxError"],[1397,"bdk_wallet::wallet::export"],[1420,"bdk_wallet::wallet::signer"],[1601,"bdk_wallet::wallet::signer::SignerContext"],[1602,"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::sh"],[1758,"miniscript::descriptor::bare"],[1759,"miniscript::descriptor::segwitv0"],[1760,"miniscript::descriptor::tr"],[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,"bitcoin_units::amount"],[1778,"bitcoin_units::fee_rate"],[1779,"bdk_chain::keychain"],[1780,"alloc::sync"],[1781,"core::iter::traits::iterator"],[1782,"bitcoin::blockdata::block"],[1783,"bdk_chain::local_chain"],[1784,"bdk_chain::chain_data"],[1785,"core::iter::traits::collect"],[1786,"bdk_chain::tx_graph"],[1787,"bitcoin::psbt"],[1788,"bdk_chain::spk_client"],[1789,"bitcoin::psbt::map::input"],[1790,"bdk_wallet::wallet::utils"],[1791,"core::iter::traits::double_ended"],[1792,"bdk_chain::keychain::txout_index"],[1793,"bitcoin::psbt::error"],[1794,"core::marker"],[1795,"bitcoin::crypto::sighash"],[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,250,250,250,94,251,24,0,0,0,0,0,0,31,0,0,33,0,0,35,94,251,24,0,0,0,94,251,24,35,31,0,94,251,24,94,251,24,94,251,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,252,252,252,253,254,255,254,255,254,255,254,255,254,255,256,257,258,259,260,261,261,260,262,263,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,264,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,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,264,30,35,103,264,30,264,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,166,166,166,0,0,0,201,0,200,197,198,199,0,0,0,199,199,199,198,198,198,0,0,201,0,0,169,170,193,170,170,170,170,170,170,170,169,170,183,193,197,198,199,200,201,169,170,183,193,197,198,199,200,201,170,170,170,170,170,213,183,170,169,183,169,183,0,169,169,183,193,170,170,170,169,169,193,0,0,170,169,169,170,183,193,193,197,197,198,198,199,199,200,200,201,201,169,170,183,183,183,193,197,198,199,200,201,170,170,170,170,170,183,169,193,213,170,170,170,169,170,183,193,197,198,199,200,201,210,170,193,170,183,170,170,170,170,170,170,170,170,213,170,170,170,170,170,170,170,170,170,170,170,170,170,169,170,0,170,170,170,170,170,169,183,169,193,197,198,199,200,201,169,170,169,169,169,170,183,193,197,198,199,200,201,169,170,183,193,197,198,199,200,201,0,170,169,170,183,193,197,198,199,200,201,170,170,169,169,170,183,193,197,198,199,200,201,0,265,265,266,266,267,268,267,268,269,269,224,224,0,225,0,0,0,0,0,224,0,225,0,224,225,223,219,220,221,224,225,223,219,220,221,219,220,221,219,220,221,222,219,220,221,0,219,220,221,223,223,224,224,225,223,219,220,221,224,225,223,219,220,221,224,225,223,219,220,221,223,221,223,223,219,220,221,224,224,225,223,219,220,221,224,225,223,219,220,221,224,225,223,219,220,221,224,225,223,219,220,221,270,270,271,272,272,271,272,0,206,226,0,206,206,190,206,190,206,206,0,206,206,206,206,206,226,206,206,206,206,206,190,190,206,190,226,206,206,226,206,190,226,206,190,226,226,226,226,206,206,190,190,226,206,206,206,206,206,206,190,226,206,190,226,226,206,190,226,206,190,226,206,190,226,206,190,226,206,190,273,273,274,274,275,276,0,0,277,228,228,228,228,228,228,228,228,228,228,228,228,277,228,228,228,228,228,228,228,233,229,233,196,229,233,196,0,196,196,196,230,196,196,196,196,196,196,196,233,229,230,196,196,0,0,0,0,0,0,0,0,230,0,0,196,196,70,195,195,70,195,229,196,230,231,171,70,195,233,229,196,230,231,171,70,195,233,70,229,230,231,171,70,195,233,229,230,231,171,70,195,233,229,171,171,70,195,233,231,234,231,231,231,229,230,171,233,70,229,196,196,230,231,171,70,195,233,229,229,229,196,196,196,196,230,231,171,70,195,233,229,234,231,231,231,70,229,196,230,231,171,70,195,233,231,70,229,171,70,241,231,231,231,172,231,195,70,195,229,230,231,171,70,195,233,196,195,195,229,196,230,231,171,70,195,233,229,196,230,231,171,70,195,233,229,196,230,231,171,70,195,233,229,196,230,231,171,70,195,233,278,0,0,247,246,246,0,244,244,244,246,247,0,0,245,247,189,189,189,189,189,189,189,189,189,189,245,244,247,246,189,245,244,247,246,189,189,247,246,189,247,246,247,246,189,189,247,246,189,189,189,189,189,247,246,189,189,189,189,245,245,244,244,247,246,189,245,244,247,246,247,246,189,189,245,244,247,246,189,189,189,189,189,247,246,189,189,189,247,189,247,246,245,244,189,245,244,247,246,189,245,244,247,246,189,245,244,247,246,189,189,189,245,244,247,246,279,279],"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`{Dj}}}}{d{{Gd{c}}}}}{{Af{{C`{Gf}}Dl}}}Gh}{{{d{{C`{Df}}}}{d{{Gd{c}}}}Dh}{{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}{{{Jd{c}}}{{C`{c}}}Ch}{cc{}}{{{Jf{c}}}{{C`{c}}}Ch}{{{Jh{c}}}{{C`{c}}}Ch}{{{Jj{c}}}{{C`{c}}}Ch}{{{Jl{c}}}{{C`{c}}}Ch}444{{{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}{{{Jf{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{NdId}{cc{}}{NfId}{CfId}{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{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{}}0{AjOd}1{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}}}}}}{ABl{{ABn{c}}}Db}{AC`{{ABn{c}}}Db}{cc{}}0000{NfNl}1{CfNl}22{DjDf}3333{{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{}}{{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{DfADd}{On{{Af{{ABh{c}}Nl}}}Db}{{A@j{Bd{ADf}}ACd}{{Af{{ABh{c}}Nl}}}Db}{{{AAn{ec}}}{{Af{{ABh{c}}Nl}}}Db{{On{c}}}}{{{AAn{ec}}{Bd{ADf}}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{ABl}}}Db}{{{ABn{c}}Cb{d{{Gd{e}}}}}AC`DbMb}{{{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}}}ADh}{{{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{DfADj}}}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{ADl}}}{{Bd{ADn}}}}{{{d{ADl}}}{{Bd{AE`}}}}{{{d{ADl}}Kd}{{Bd{Bj}}}}```````````````````````{{AEbAEb}AEb}{{{d{jAEd}}bAEf{AEj{AEh}}}Ab}`{{{d{AEd}}}{{M`{b{`{{AF`{}{{AEl{{AEn{Hb}}}}}}G`}}}}}}{{{d{jAEd}}{d{AFb}}Dh}{{Af{AbAFd}}}}{{{d{jAEd}}{d{AFb}}DhAFf}{{Af{AbAFh}}}}{{{d{jAEd}}c}Ab{{AFl{}{{AEl{{Ij{{d{AFj}}H`}}}}}}}}{{{d{jAEd}}c}{{Af{AbAFd}}}{{AG`{AFn}}}}{{{d{AEd}}}{{d{{AGd{AGb}}}}}}{{{d{AEd}}}AEb}{{{d{c}}}{{d{e}}}{}{}}00000000{{{d{jc}}}{{d{je}}}{}{}}00000000{{{d{jAEd}}AGf}{{Af{{AGj{AGh}}AGl}}}}{{{d{jAEd}}}{{AGj{AGh}}}}{{{d{AEd}}{d{AFj}}}{{Af{ADnAGn}}}}{{{d{AEd}}{d{AFj}}}{{Af{AE`AGn}}}}{{{d{jAEd}}{d{AFj}}}Ab}``{{{d{AEd}}}AH`}{{{d{AEb}}}AEb}{{{d{AFn}}}AFn}{{{d{c}}{d{je}}}Ab{}{}}0``{{}AEb}{{}AFn}{{{d{AHb}}}{{d{c}}}{}}{{{d{AEd}}b}{{Bd{Dh}}}}{{{d{AEd}}{d{If}}}{{Bd{{Ij{bDh}}}}}}{{{d{AEd}}b}Ml}{c{{Af{AEb}}}Ah}{{{d{AEb}}{d{AEb}}}Aj}{{{d{AHb}}{d{AHb}}}Aj}``{{{d{AEd}}{d{jAHd}}AHf}{{Af{AjAHh}}}}{{{d{AEb}}{d{jAl}}}{{Af{AbIl}}}}0{{{d{AEd}}{d{jAl}}}An}{{{d{AFn}}{d{jAl}}}An}{{{d{AHb}}{d{jAl}}}An}0{{{d{AHj}}{d{jAl}}}An}0{{{d{AHl}}{d{jAl}}}An}0{{{d{AHn}}{d{jAl}}}An}0{{{d{AI`}}{d{jAl}}}An}0{{{d{AIb}}{d{jAl}}}An}0{cc{}}0{AIdAFn}{{{AIf{b}}}AFn}2222222{{{d{AEd}}b}{{d{Kl}}}}{{{d{AEd}}l{Bd{AIh}}Aj}{{Af{AIjAIl}}}}{{{d{AEd}}b}{{AEj{Hl}}}}{{{d{AEd}}AGf}{{Bd{{AIn{{AEj{AFj}}AGb}}}}}}{{{d{AEd}}Bb}{{Bd{l}}}}````{{{d{jAEd}}AFf}{{Af{AjAJ`}}}}{{{d{jAEd}}AFjAJb}{{Af{AjAI`}}}}{{{d{jAEd}}BbBj}Ab}{ce{}{}}00000000{{{d{AJd}}{d{If}}}Aj}{{{d{AEd}}{d{If}}}Aj}`{{{d{AEd}}}{{`{{AF`{}{{AEl{{Ij{{d{b}}{d{Kl}}}}}}}}}}}}`{{{d{AEd}}}AJf}{{{d{AEd}}}{{`{{AF`{}{{AEl{l}}}}}}}}0{{{d{AEd}}b}{{`{{AJh{}{{AEl{AHb}}}}}}}}{AJj{{Af{AEdAHl}}}}{{{d{AEd}}}{{d{AJl}}}}{{{d{jAEd}}bDh}Aj}{{{d{AEd}}}Cb}`{{ccCb}{{Af{AEdAHj}}}Kj}{{cc{Bd{AJj}}Cb}{{Af{AEdAHn}}}Kj}{{cc{Bd{AJj}}CbAJn}{{Af{AEdAHn}}}Kj}{{ccCbAJn}{{Af{AEdAHj}}}Kj}{{{d{AEd}}b}Dh}{{{d{jAEd}}b}AHb}{{{d{AEd}}bDh}AHb}{{{d{AEd}}b}{{Af{{Bd{Ib}}Id}}}}{{{d{AEd}}b}{{d{Kl}}}}{{{d{jAEd}}bDh}{{`{{AF`{}{{AEl{AHb}}}}}}}}4{{{d{AEd}}}{{d{{Gd{I`}}}}}}{{{d{AEd}}{d{AFj}}}{{Ij{ADnADn}}}}{{{d{AEb}}c}AfBh}{{{d{AEd}}{d{jAHd}}AHf}{{Af{AjAHh}}}}`{{{d{AEd}}}{{d{{AK`{b}}}}}}{{{d{AEd}}}{{Bd{{d{AJj}}}}}}{{{d{AEd}}}{{AKb{b}}}}{{{d{AEd}}}AKd}{{{d{jAEd}}}{{Bd{AJj}}}}{{{d{c}}}e{}{}}0{{{d{c}}}Ml{}}000000{{{d{AEb}}}ADn}{{{d{AEd}}}{{`{{AF`{}{{AEl{{AIn{{AEj{AFj}}AGb}}}}}}}}}}`1{c{{Af{e}}}{}{}}00000000000000000`{{{d{AEd}}}{{d{{AGd{AGb}}}}}}{{{d{c}}}Bl{}}00000000{{{d{AEd}}b}{{`{{AF`{}{{AEl{{AEn{Hb}}}}}}G`}}}}{{{d{jAEd}}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{AKf}}}AKf}{{{d{AKh}}}AKh}{{{d{AKj}}}AKj}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{AKl}}{Dn{n}}{Dn{n}}AE`H`{d{If}}}{{Af{AKnAL`}}}}{{{d{AKf}}{Dn{n}}{Dn{n}}AE`H`{d{If}}}{{Af{AKnAL`}}}}{{{d{AKh}}{Dn{n}}{Dn{n}}AE`H`{d{If}}}{{Af{AKnAL`}}}}{{{d{AKj}}{Dn{n}}{Dn{n}}AE`H`{d{If}}}{{Af{AKnAL`}}}}{{H`AE`{d{If}}}ALb}{{}AKf}{{}AKh}{{}AKj}``{{{d{AL`}}{d{jAl}}}An}0{{{d{ALb}}{d{jAl}}}An}{{{d{AKn}}{d{jAl}}}An}{{{d{AKf}}{d{jAl}}}An}{{{d{AKh}}{d{jAl}}}An}{{{d{AKj}}{d{jAl}}}An}{cc{}}00000{ce{}{}}00000{{{d{AKn}}}H`}{H`AKj}`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{ALd}}}ALd}{{{d{c}}{d{je}}}Ab{}{}}{{{d{ALd}}{d{jAl}}}An}0{{{d{AIl}}{d{jAl}}}An}0{{{d{AGl}}{d{jAl}}}An}0>{AL`AIl}{NjAIl}{ALdAIl}{ALfAIl}{cc{}}{IdAIl}1{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{ALh}}}{{Bd{Ml}}}}{{{d{ALh}}}Ml}{c{{Af{ALh}}}Ah}{{{d{AEd}}{d{Bn}}Aj}{{Af{ALh{d{Bn}}}}}}{{{d{ALh}}{d{jAl}}}An}0={{{d{Bn}}}{{Af{ALhc}}}{}}<``{{{d{ALh}}c}AfBh};::9=`````````````````````````````````````{{{d{jHl}}ALjAEf{AEj{AEh}}}{{Bd{{AEj{AEh}}}}}}``{{{d{Hl}}{d{{Gd{I`}}}}}Kn}`::::::::99999999{{Kn{d{{C`{Df}}}}{d{{Gd{I`}}}}}Hl}{{{d{ALj}}}ALj}{{{d{ALl}}}ALl}{{{d{{ALn{c}}}}}{{ALn{c}}}{G`AM`ABjG`}}{{{d{AEf}}}AEf}{{{d{Hl}}}Hl}{{{d{AHf}}}AHf}{{{d{AMb}}}AMb}{{{d{c}}{d{je}}}Ab{}{}}000000{{{d{ALj}}{d{ALj}}}Ad}{{{d{AEf}}{d{AEf}}}Ad}{{}AEf}{{}Hl}{{}AHf}{{}AMb}{{{d{{ALn{c}}}}}{{d{e}}}{AM`ABjG`}{}}{{{d{AMd}}}{{Bd{Ln}}}}{{{d{{ALn{{AMf{ABl}}}}}}}{{Bd{Ln}}}}{{{d{{ALn{AMh}}}}}{{Bd{Ln}}}}{{{d{{ALn{{AMj{ABl}}}}}}}{{Bd{Ln}}}}{{{d{ALj}}{d{ALj}}}Aj}{{{d{ALl}}{d{ALl}}}Aj}{{{d{AEf}}{d{AEf}}}Aj}{{{d{AMb}}{d{AMb}}}Aj}{{{d{Hl}}ALj}{{Bd{{d{{AEj{AEh}}}}}}}}{{{d{ALj}}{d{jAl}}}An}{{{d{AHh}}{d{jAl}}}An}0{{{d{ALl}}{d{jAl}}}An}{{{d{{ALn{c}}}}{d{jAl}}}An{ABjAM`ABjG`}}{{{d{AEf}}{d{jAl}}}An}{{{d{Hl}}{d{jAl}}}An}{{{d{AHf}}{d{jAl}}}An}{{{d{AMb}}{d{jAl}}}An}{cc{}}{FhALj}{ADhALj}2{AMlAHh}{AMnAHh}{AN`AHh}555555{{{d{ALj}}{d{jc}}}AbB`}{{{d{AMd}}{d{{Gd{I`}}}}}ALj}{{{d{{ALn{{AMj{ABl}}}}}}{d{{Gd{I`}}}}}ALj}{{{d{{ALn{AMh}}}}{d{{Gd{I`}}}}}ALj}{{{d{{ALn{{AMf{ABl}}}}}}{d{{Gd{I`}}}}}ALj}{{{d{Hl}}}{{Dn{{d{ALj}}}}}}{ce{}{}}0000000{{cALl}{{ALn{c}}}{AM`ABjG`}}{{}Hl}{{{d{ALj}}{d{ALj}}}{{Bd{Ad}}}}{{{d{AEf}}{d{AEf}}}{{Bd{Ad}}}}{{{d{jHl}}ALjAEf}{{Bd{{AEj{AEh}}}}}}{{{d{ANb}}{d{jAHd}}Kd{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}}{{{d{{ALn{{AMf{ABl}}}}}}{d{jAHd}}Kd{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}}{{{d{{ALn{AMh}}}}{d{jAHd}}Kd{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}}{{{d{{ALn{{AMj{ABl}}}}}}{d{jAHd}}Kd{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}}{{{d{AEh}}{d{jAHd}}{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}}{{{d{c}}{d{jAHd}}{d{AHf}}{d{{Gd{I`}}}}}{{Af{AbAHh}}}{}}`{{{d{Hl}}}{{Dn{{d{{AEj{AEh}}}}}}}}`{{{d{c}}}e{}{}}000000{{{d{c}}}Ml{}}``{c{{Af{e}}}{}{}}000000000000000{{{d{c}}}Bl{}}0000000{ce{}{}}0000000````````````````{{{d{j{AGj{c}}}}{d{e}}}{{d{j{AGj{c}}}}}{}{{ANf{ANd}}}}{{{d{j{AGj{c}}}}BbAIjKd}{{Af{{d{j{AGj{c}}}}ANh}}}{}}{{{d{j{AGj{c}}}}BbAIjKdBf}{{Af{{d{j{AGj{c}}}}ANh}}}{}}{{{d{j{AGj{c}}}}}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}HbADn}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}Bb}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}Bb}{{Af{{d{j{AGj{c}}}}ANj}}}{}}{{{d{j{AGj{c}}}}{d{{h{Bb}}}}}{{Af{{d{j{AGj{c}}}}ANj}}}{}}{{{d{j{AGj{c}}}}Aj}{{d{j{AGj{c}}}}}{}}{{{d{c}}}{{d{e}}}{}{}}0000{{{d{jc}}}{{d{je}}}{}{}}0000{{{d{j{AGj{c}}}}ANl}{{d{j{AGj{c}}}}}{}}{{{d{{AGj{c}}}}}{{AGj{c}}}G`}{{{d{ANn}}}ANn}{{{d{ANl}}}ANl}{{{d{c}}{d{je}}}Ab{}{}}00{{{d{ANn}}{d{ANn}}}Ad}{{{d{ANl}}{d{ANl}}}Ad}{{{AGj{c}}e}{{AGj{e}}}{}AKl}{{{d{j{AGj{c}}}}Dh}{{d{j{AGj{c}}}}}{}}{{}ANn}{{}ANl}{{{d{j{AGj{c}}}}}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}Hb}{{d{j{AGj{c}}}}}{}}11{{{d{j{AGj{c}}}}Bf}{{d{j{AGj{c}}}}}{}}{{{d{ANn}}{d{ANn}}}Aj}{{{d{ANl}}{d{ANl}}}Aj}{{{d{j{AGj{c}}}}ADn}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}AE`}{{d{j{AGj{c}}}}}{}}{{{AGj{c}}}{{Af{AHdAIl}}}AKl}{{{d{{AGj{c}}}}{d{jAl}}}AnABj}{{{d{ANj}}{d{jAl}}}An}0{{{d{ANh}}{d{jAl}}}An}0{{{d{ANn}}{d{jAl}}}An}{{{d{ANl}}{d{jAl}}}An}{cc{}}0000{{{d{ANn}}{d{jc}}}AbB`}{{{d{ANl}}{d{jc}}}AbB`}?{ce{}{}}0000{{{d{j{AGj{c}}}}}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}AO`}{{d{j{AGj{c}}}}}{}}11{{{d{j{AGj{c}}}}ANn}{{d{j{AGj{c}}}}}{}}{{{d{ANn}}{d{ANn}}}{{Bd{Ad}}}}{{{d{ANl}}{d{ANl}}}{{Bd{Ad}}}}{{{d{j{AGj{c}}}}{M`{Ml{Dn{Kd}}}}b}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}{Dn{{Ij{HbADn}}}}}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}AIh}{{d{j{AGj{c}}}}}{}}{{{d{ANn}}{d{jAFj}}}Ab}{{{d{c}}}e{}{}}00{{{d{c}}}Ml{}}0{c{{Af{e}}}{}{}}000000000{{{d{c}}}Bl{}}0000{{{d{j{AGj{c}}}}{Dn{Bb}}}{{d{j{AGj{c}}}}}{}}{{{d{j{AGj{c}}}}AOb}{{d{j{AGj{c}}}}}{}}?????``","D":"FGd","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",1420],[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,"Sh",1757],[5,"Bare",1758],[5,"Wsh",1759],[5,"Pkh",1758],[5,"Wpkh",1759],[5,"Tr",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",1760],[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,"HexToBytesError",1770],[6,"Error",1771],[6,"Error",1772],[6,"PolicyError",386],[6,"KeyError",693],[6,"ParsePublicKeyError",1747],[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,"Xpriv",1771],[6,"ExtendedKey",693],[5,"Xpub",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],[5,"Assets",1740],[8,"KeySource",1771],[5,"Fingerprint",1771],[5,"DescriptorKeyParseError",1737],[10,"PsbtUtils",992],[5,"Amount",1777],[5,"FeeRate",1778],[5,"Balance",996,1779],[5,"Wallet",996],[5,"SignerOrdering",1420],[10,"TransactionSigner",1420],[5,"Arc",1780],[17,"Item"],[8,"Indexed",1779],[10,"Iterator",1781],[5,"Block",1782],[5,"CannotConnectError",1783],[5,"BlockId",1784],[6,"ApplyHeaderError",1783],[5,"Transaction",1725],[10,"IntoIterator",1785],[5,"Update",996],[10,"Into",1775],[5,"ConfirmationTimeHeightAnchor",1784],[5,"TxGraph",1786],[5,"Txid",1725],[8,"DefaultCoinSelectionAlgorithm",1221],[5,"TxBuilder",1602],[6,"BuildFeeBumpError",1320],[6,"CalculateFeeError",1786],[5,"CheckPointIter",1783],[5,"AddressInfo",996],[5,"Psbt",1787],[5,"SignOptions",1420],[6,"SignerError",1420],[6,"NewError",996],[6,"LoadError",996],[6,"NewOrLoadError",996],[6,"InsertTxError",996],[6,"ApplyBlockError",996],[5,"SyncResult",1788],[5,"FullScanResult",1788],[5,"PsbtSighashType",1789],[5,"Input",1789],[6,"CreateTxError",1320],[5,"CanonicalTx",1786],[5,"AlterCheckPointError",1783],[6,"ConfirmationTime",1784],[10,"IsDust",996,1790],[5,"CheckPoint",1783],[10,"DoubleEndedIterator",1791],[8,"ChangeSet",996],[5,"LocalChain",1783],[5,"BlockHash",1782],[5,"KeychainTxOutIndex",1792],[5,"FullScanRequest",1788],[5,"SyncRequest",1788],[5,"LargestFirstCoinSelection",1221],[5,"OldestFirstCoinSelection",1221],[5,"BranchAndBoundCoinSelection",1221],[10,"CoinSelectionAlgorithm",1221],[5,"CoinSelectionResult",1221],[6,"Error",1221],[6,"Excess",1221],[6,"MiniscriptPsbtError",1320],[6,"Error",1793],[5,"FullyNodedExport",1397],[6,"SignerId",1420],[6,"SignerContext",1420],[5,"SignerWrapper",1420],[10,"Sized",1794],[6,"TapLeavesOptions",1420],[10,"SignerCommon",1420],[5,"DescriptorXKey",1737],[5,"PrivateKey",1747],[5,"DescriptorMultiXKey",1737],[5,"InputsIndexError",1725],[6,"TaprootError",1795],[6,"P2wpkhError",1795],[10,"InputSigner",1420],[5,"PushBytes",1796],[10,"AsRef",1775],[6,"AddForeignUtxoError",1602],[6,"AddUtxoError",1602],[6,"ChangeSpendPolicy",1602],[6,"TxOrdering",1602],[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",1211],[15,"ConfirmationHeightCannotBeGreaterThanTip",1213],[15,"LoadedGenesisDoesNotMatch",1215],[15,"LoadedNetworkDoesNotMatch",1215],[15,"LoadedDescriptorDoesNotMatch",1215],[15,"InsufficientFunds",1313],[15,"Change",1315],[15,"NoChange",1315],[15,"RbfSequenceCsv",1391],[15,"LockTime",1391],[15,"FeeTooLow",1391],[15,"FeeRateTooLow",1391],[8,"WalletExport",1397],[15,"Tap",1601],[15,"InvalidTxid",1717]],"r":[[2,100],[4,1719],[6,1719],[7,1420],[8,1602],[9,1719],[10,996],[11,1719],[70,996],[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],[998,1779],[1006,1790]],"b":[[193,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[194,"impl-Descriptor%3CDescriptorPublicKey%3E"],[213,"impl-Debug-for-Descriptor%3CPk%3E"],[214,"impl-Display-for-Descriptor%3CPk%3E"],[217,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[218,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[221,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[222,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[224,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[225,"impl-From%3CPkh%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-Display-for-Error"],[371,"impl-Debug-for-Error"],[372,"impl-From%3CHexToBytesError%3E-for-Error"],[374,"impl-From%3CError%3E-for-Error"],[375,"impl-From%3CError%3E-for-Error"],[376,"impl-From%3CError%3E-for-Error"],[377,"impl-From%3CPolicyError%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-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[814,"impl-Display-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"],[823,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[824,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[830,"impl-From%3CError%3E-for-KeyError"],[832,"impl-From%3CError%3E-for-KeyError"],[872,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[873,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1073,"impl-Debug-for-Balance"],[1074,"impl-Display-for-Balance"],[1077,"impl-Display-for-AddressInfo"],[1078,"impl-Debug-for-AddressInfo"],[1079,"impl-Debug-for-NewError"],[1080,"impl-Display-for-NewError"],[1081,"impl-Display-for-LoadError"],[1082,"impl-Debug-for-LoadError"],[1083,"impl-Debug-for-NewOrLoadError"],[1084,"impl-Display-for-NewOrLoadError"],[1085,"impl-Display-for-InsertTxError"],[1086,"impl-Debug-for-InsertTxError"],[1087,"impl-Display-for-ApplyBlockError"],[1088,"impl-Debug-for-ApplyBlockError"],[1091,"impl-From%3CSyncResult%3E-for-Update"],[1092,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[1262,"impl-Debug-for-Error"],[1263,"impl-Display-for-Error"],[1358,"impl-Display-for-MiniscriptPsbtError"],[1359,"impl-Debug-for-MiniscriptPsbtError"],[1360,"impl-Debug-for-CreateTxError"],[1361,"impl-Display-for-CreateTxError"],[1362,"impl-Display-for-BuildFeeBumpError"],[1363,"impl-Debug-for-BuildFeeBumpError"],[1365,"impl-From%3CError%3E-for-CreateTxError"],[1366,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1367,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1368,"impl-From%3CError%3E-for-CreateTxError"],[1370,"impl-From%3CError%3E-for-CreateTxError"],[1407,"impl-Debug-for-FullyNodedExport"],[1408,"impl-Display-for-FullyNodedExport"],[1501,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1502,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1503,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1510,"impl-Display-for-SignerError"],[1511,"impl-Debug-for-SignerError"],[1519,"impl-From%3CHash%3E-for-SignerId"],[1520,"impl-From%3CFingerprint%3E-for-SignerId"],[1522,"impl-From%3CInputsIndexError%3E-for-SignerError"],[1523,"impl-From%3CTaprootError%3E-for-SignerError"],[1524,"impl-From%3CP2wpkhError%3E-for-SignerError"],[1533,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1534,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1535,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1551,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1552,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1553,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1660,"impl-Display-for-AddUtxoError"],[1661,"impl-Debug-for-AddUtxoError"],[1662,"impl-Display-for-AddForeignUtxoError"],[1663,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAMEAAwEPAR8DdgN3BQ==","e":"OzAAAAEAAH0DgAADAAAACAABAAsAAAAOABMAJgAJADUAAQA+AAAAQQAAAEUADwBXAAMAXQADAGoAAAB4AAAAjAABAI8AAACRAAcAnAAAAJ4AAQChAAAApAABAKcAAQCrAAEArgABALEAAQC0AAsAxQADAMoAAwDTAAEA1gAJAOEAAwDqAAAA9wADAAIBAAAIAQEADAEBABMBAQApAQMALgEBADwBAQA/AQEAQwEFAE4BBwBXAQMAXAEDAHEBBAB3AQUAfgEEAKYBGQDCAQ4A0wEAANUBAADbAQEA6gEAAO0BBADzASIAPAIXAFUCCwB5AjwA5AIXAAYDFQAdAwEAIAMAACIDFwA/AwAAQQMAAEQDAABLAwEAVgMDAGYDAABpAwQAbwMBAH8DAQCEAwAAjgMAAJMDAwCcAwAAoAMIAKoDAwCxAy8A/AMAAAQEAAAGBBEAIAQDACYEAgAsBAIAMgQPAEQEAQB9BAAAhQQIAJIEEQCmBAgAsgQIANMEEQDmBAIA6gQCAO8EBgAGBRsARwUNAFYFAwBbBQAAYAUPAHoFAQB+BQAAgAUBAIMFAACHBQUAtwUPAMgFFADeBQYA5gUIAPAFAQDzBQIA/AUAAP4FAgAMBgEAEAYCABQGAAAYBgcAIgYfAFsGCQBmBgcAcAYBAHcGAQB8BgYAiAYBAJUGAQCbBhMAsQYEAA=="}],\ +["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"}],\ ["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-Display-for-CoinSelectionAlgo"],[82,"impl-Debug-for-CoinSelectionAlgo"],[85,"impl-Display-for-Keychain"],[86,"impl-Debug-for-Keychain"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAJMAEQAAAAAAAgABAAUABQANAAQAFQAAABcAAQAaAAAAHAABAB8AKQBKAA0AYAAMAG4AAABwAAAAewABAH4AMgCyAAAAtAACAA=="}],\ +["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=="}],\ ["example_esplora",{"t":"ISSFGPFPNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNHONNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["ChangeSet","DB_MAGIC","DB_PATH","EsploraArgs","EsploraCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","eq","esplora_args","esplora_url","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","parallel_requests","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","esplora_args","esplora_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_esplora"],[71,"example_esplora::EsploraCommands"],[80,"clap::builder::command"],[81,"bitcoin::network"],[82,"esplora_client::blocking"],[83,"anyhow"],[84,"core::fmt"],[85,"clap::parser::matches::arg_matches"],[86,"clap::error"],[87,"core::result"],[88,"core::any"]],"i":[0,0,0,0,0,8,0,8,4,9,4,9,8,8,8,4,9,8,4,9,4,8,4,9,8,4,9,9,8,4,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"````````{bb}00000{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}}h}`{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}`{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",80],[1,"reference"],[0,"mut"],[5,"EsploraArgs",0],[6,"Network",81],[5,"BlockingClient",82],[8,"Result",83],[6,"EsploraCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",84],[8,"Result",84],[5,"ArgMatches",85],[5,"Error",86],[6,"Result",87],[1,"str"],[5,"TypeId",88],[15,"Sync",71],[15,"Scan",71]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEEACAAAAAUABwAAAAkAFAAfAAIAJQAGAC8AAgAzABQASQADAA=="}],\ ["wallet_electrum_example",{"t":"SSSSH","n":["BATCH_SIZE","DB_MAGIC","SEND_AMOUNT","STOP_GAP","main"],"q":[[0,"wallet_electrum_example"],[5,"anyhow"],[6,"core::result"]],"i":[0,0,0,0,0],"f":"````{{}{{f{bd}}}}","D":"`","p":[[1,"unit"],[5,"Error",5],[6,"Result",6]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUAAQAAAAUA"}],\ 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 1975bb8f9c..15f8a350cb 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 a random entropy\nGenerate a key with the default options and a random …\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.\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\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 …\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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html index f5c655ed8f..7703fe04c9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_esplora/blocking_ext.rs.html @@ -783,10 +783,8 @@ 783 784 785 -786
    use std::collections::BTreeSet;
     use std::thread::JoinHandle;
    -use std::usize;
     
     use bdk_chain::collections::BTreeMap;
     use bdk_chain::spk_client::{FullScanRequest, FullScanResult, SyncRequest, SyncResult};
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/keys/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/keys/mod.rs.html
    index 131f8d5c1c..b799f8dde8 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/keys/mod.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/keys/mod.rs.html
    @@ -1000,6 +1000,31 @@
     1000
     1001
     1002
    +1003
    +1004
    +1005
    +1006
    +1007
    +1008
    +1009
    +1010
    +1011
    +1012
    +1013
    +1014
    +1015
    +1016
    +1017
    +1018
    +1019
    +1020
    +1021
    +1022
    +1023
    +1024
    +1025
    +1026
    +1027
     
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -1022,6 +1047,8 @@
     use core::ops::Deref;
     use core::str::FromStr;
     
    +use rand_core::{CryptoRng, RngCore};
    +
     use bitcoin::secp256k1::{self, Secp256k1, Signing};
     
     use bitcoin::bip32;
    @@ -1633,12 +1660,23 @@
             entropy: Self::Entropy,
         ) -> Result<GeneratedKey<Self, Ctx>, Self::Error>;
     
    -    /// Generate a key given the options with a random entropy
    +    /// Generate a key given the options with random entropy.
    +    ///
    +    /// Uses the thread-local random number generator.
    +    #[cfg(feature = "std")]
         fn generate(options: Self::Options) -> Result<GeneratedKey<Self, Ctx>, Self::Error> {
    -        use rand::{thread_rng, Rng};
    +        Self::generate_with_aux_rand(options, &mut bitcoin::key::rand::thread_rng())
    +    }
     
    +    /// Generate a key given the options with random entropy.
    +    ///
    +    /// Uses a provided random number generator (rng).
    +    fn generate_with_aux_rand(
    +        options: Self::Options,
    +        rng: &mut (impl CryptoRng + RngCore),
    +    ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> {
             let mut entropy = Self::Entropy::default();
    -        thread_rng().fill(entropy.as_mut());
    +        rng.fill_bytes(entropy.as_mut());
             Self::generate_with_entropy(options, entropy)
         }
     }
    @@ -1659,8 +1697,20 @@
         }
     
         /// Generate a key with the default options and a random entropy
    +    ///
    +    /// Uses the thread-local random number generator.
    +    #[cfg(feature = "std")]
         fn generate_default() -> Result<GeneratedKey<Self, Ctx>, Self::Error> {
    -        Self::generate(Default::default())
    +        Self::generate_with_aux_rand(Default::default(), &mut bitcoin::key::rand::thread_rng())
    +    }
    +
    +    /// Generate a key with the default options and a random entropy
    +    ///
    +    /// Uses a provided random number generator (rng).
    +    fn generate_default_with_aux_rand(
    +        rng: &mut (impl CryptoRng + RngCore),
    +    ) -> Result<GeneratedKey<Self, Ctx>, Self::Error> {
    +        Self::generate_with_aux_rand(Default::default(), rng)
         }
     }
     
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/coin_selection.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/coin_selection.rs.html
    index a23c6ca97e..0979952d03 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/coin_selection.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/coin_selection.rs.html
    @@ -1715,8 +1715,9 @@
     
     use core::convert::TryInto;
     use core::fmt::{self, Formatter};
    -use rand::seq::SliceRandom;
    +use rand_core::RngCore;
     
    +use super::utils::shuffle_slice;
     /// Default coin selection algorithm used by [`TxBuilder`](super::tx_builder::TxBuilder) if not
     /// overridden
     pub type DefaultCoinSelectionAlgorithm = BranchAndBoundCoinSelection;
    @@ -2117,27 +2118,16 @@
                 ));
             }
     
    -        Ok(self
    -            .bnb(
    -                required_utxos.clone(),
    -                optional_utxos.clone(),
    -                curr_value,
    -                curr_available_value,
    -                target_amount,
    -                cost_of_change,
    -                drain_script,
    -                fee_rate,
    -            )
    -            .unwrap_or_else(|_| {
    -                self.single_random_draw(
    -                    required_utxos,
    -                    optional_utxos,
    -                    curr_value,
    -                    target_amount,
    -                    drain_script,
    -                    fee_rate,
    -                )
    -            }))
    +        self.bnb(
    +            required_utxos.clone(),
    +            optional_utxos.clone(),
    +            curr_value,
    +            curr_available_value,
    +            target_amount,
    +            cost_of_change,
    +            drain_script,
    +            fee_rate,
    +        )
         }
     }
     
    @@ -2264,40 +2254,6 @@
             ))
         }
     
    -    #[allow(clippy::too_many_arguments)]
    -    fn single_random_draw(
    -        &self,
    -        required_utxos: Vec<OutputGroup>,
    -        mut optional_utxos: Vec<OutputGroup>,
    -        curr_value: i64,
    -        target_amount: i64,
    -        drain_script: &Script,
    -        fee_rate: FeeRate,
    -    ) -> CoinSelectionResult {
    -        optional_utxos.shuffle(&mut rand::thread_rng());
    -        let selected_utxos = optional_utxos.into_iter().fold(
    -            (curr_value, vec![]),
    -            |(mut amount, mut utxos), utxo| {
    -                if amount >= target_amount {
    -                    (amount, utxos)
    -                } else {
    -                    amount += utxo.effective_value;
    -                    utxos.push(utxo);
    -                    (amount, utxos)
    -                }
    -            },
    -        );
    -
    -        // remaining_amount can't be negative as that would mean the
    -        // selection wasn't successful
    -        // target_amount = amount_needed + (fee_amount - vin_fees)
    -        let remaining_amount = (selected_utxos.0 - target_amount) as u64;
    -
    -        let excess = decide_change(remaining_amount, fee_rate, drain_script);
    -
    -        BranchAndBoundCoinSelection::calculate_cs_result(selected_utxos.1, required_utxos, excess)
    -    }
    -
         fn calculate_cs_result(
             mut selected_utxos: Vec<OutputGroup>,
             mut required_utxos: Vec<OutputGroup>,
    @@ -2318,6 +2274,58 @@
         }
     }
     
    +// Pull UTXOs at random until we have enough to meet the target
    +pub(crate) fn single_random_draw(
    +    required_utxos: Vec<WeightedUtxo>,
    +    optional_utxos: Vec<WeightedUtxo>,
    +    target_amount: u64,
    +    drain_script: &Script,
    +    fee_rate: FeeRate,
    +    rng: &mut impl RngCore,
    +) -> CoinSelectionResult {
    +    let target_amount = target_amount
    +        .try_into()
    +        .expect("Bitcoin amount to fit into i64");
    +
    +    let required_utxos: Vec<OutputGroup> = required_utxos
    +        .into_iter()
    +        .map(|u| OutputGroup::new(u, fee_rate))
    +        .collect();
    +
    +    let mut optional_utxos: Vec<OutputGroup> = optional_utxos
    +        .into_iter()
    +        .map(|u| OutputGroup::new(u, fee_rate))
    +        .collect();
    +
    +    let curr_value = required_utxos
    +        .iter()
    +        .fold(0, |acc, x| acc + x.effective_value);
    +
    +    shuffle_slice(&mut optional_utxos, rng);
    +
    +    let selected_utxos =
    +        optional_utxos
    +            .into_iter()
    +            .fold((curr_value, vec![]), |(mut amount, mut utxos), utxo| {
    +                if amount >= target_amount {
    +                    (amount, utxos)
    +                } else {
    +                    amount += utxo.effective_value;
    +                    utxos.push(utxo);
    +                    (amount, utxos)
    +                }
    +            });
    +
    +    // remaining_amount can't be negative as that would mean the
    +    // selection wasn't successful
    +    // target_amount = amount_needed + (fee_amount - vin_fees)
    +    let remaining_amount = (selected_utxos.0 - target_amount) as u64;
    +
    +    let excess = decide_change(remaining_amount, fee_rate, drain_script);
    +
    +    BranchAndBoundCoinSelection::calculate_cs_result(selected_utxos.1, required_utxos, excess)
    +}
    +
     /// Remove duplicate UTXOs.
     ///
     /// If a UTXO appears in both `required` and `optional`, the appearance in `required` is kept.
    @@ -2341,6 +2349,7 @@
     mod test {
         use assert_matches::assert_matches;
         use core::str::FromStr;
    +    use rand::rngs::StdRng;
     
         use bdk_chain::ConfirmationTime;
         use bitcoin::{Amount, ScriptBuf, TxIn, TxOut};
    @@ -2349,8 +2358,7 @@
         use crate::types::*;
         use crate::wallet::coin_selection::filter_duplicates;
     
    -    use rand::rngs::StdRng;
    -    use rand::seq::SliceRandom;
    +    use rand::prelude::SliceRandom;
         use rand::{Rng, RngCore, SeedableRng};
     
         // signature len (1WU) + signature and sighash (72WU)
    @@ -2691,13 +2699,12 @@
         }
     
         #[test]
    +    #[ignore = "SRD fn was moved out of BnB"]
         fn test_bnb_coin_selection_success() {
             // In this case bnb won't find a suitable match and single random draw will
             // select three outputs
             let utxos = generate_same_value_utxos(100_000, 20);
    -
             let drain_script = ScriptBuf::default();
    -
             let target_amount = 250_000 + FEE_AMOUNT;
     
             let result = BranchAndBoundCoinSelection::default()
    @@ -2737,6 +2744,7 @@
         }
     
         #[test]
    +    #[ignore = "no exact match for bnb, previously fell back to SRD"]
         fn test_bnb_coin_selection_optional_are_enough() {
             let utxos = get_test_utxos();
             let drain_script = ScriptBuf::default();
    @@ -2757,6 +2765,26 @@
             assert_eq!(result.fee_amount, 136);
         }
     
    +    #[test]
    +    fn test_single_random_draw_function_success() {
    +        let seed = [0; 32];
    +        let mut rng: StdRng = SeedableRng::from_seed(seed);
    +        let mut utxos = generate_random_utxos(&mut rng, 300);
    +        let target_amount = sum_random_utxos(&mut rng, &mut utxos) + FEE_AMOUNT;
    +        let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
    +        let drain_script = ScriptBuf::default();
    +        let result = single_random_draw(
    +            vec![],
    +            utxos,
    +            target_amount,
    +            &drain_script,
    +            fee_rate,
    +            &mut rng,
    +        );
    +        assert!(result.selected_amount() > target_amount);
    +        assert_eq!(result.fee_amount, (result.selected.len() * 68) as u64);
    +    }
    +
         #[test]
         #[ignore]
         fn test_bnb_coin_selection_required_not_enough() {
    @@ -3011,34 +3039,6 @@
             }
         }
     
    -    #[test]
    -    fn test_single_random_draw_function_success() {
    -        let seed = [0; 32];
    -        let mut rng: StdRng = SeedableRng::from_seed(seed);
    -        let mut utxos = generate_random_utxos(&mut rng, 300);
    -        let target_amount = sum_random_utxos(&mut rng, &mut utxos) + FEE_AMOUNT;
    -
    -        let fee_rate = FeeRate::from_sat_per_vb_unchecked(1);
    -        let utxos: Vec<OutputGroup> = utxos
    -            .into_iter()
    -            .map(|u| OutputGroup::new(u, fee_rate))
    -            .collect();
    -
    -        let drain_script = ScriptBuf::default();
    -
    -        let result = BranchAndBoundCoinSelection::default().single_random_draw(
    -            vec![],
    -            utxos,
    -            0,
    -            target_amount as i64,
    -            &drain_script,
    -            fee_rate,
    -        );
    -
    -        assert!(result.selected_amount() > target_amount);
    -        assert_eq!(result.fee_amount, (result.selected.len() * 68) as u64);
    -    }
    -
         #[test]
         fn test_bnb_exclude_negative_effective_value() {
             let utxos = get_test_utxos();
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    index 0f9d72cb8b..9e55e78050 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html
    @@ -2549,6 +2549,27 @@
     2549
     2550
     2551
    +2552
    +2553
    +2554
    +2555
    +2556
    +2557
    +2558
    +2559
    +2560
    +2561
    +2562
    +2563
    +2564
    +2565
    +2566
    +2567
    +2568
    +2569
    +2570
    +2571
    +2572
     
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -2593,6 +2614,8 @@
     use core::fmt;
     use core::mem;
     use core::ops::Deref;
    +use rand_core::RngCore;
    +
     use descriptor::error::Error as DescriptorError;
     use miniscript::psbt::{PsbtExt, PsbtInputExt, PsbtInputSatisfier};
     
    @@ -3789,6 +3812,7 @@
             &mut self,
             coin_selection: Cs,
             params: TxParams,
    +        rng: &mut impl RngCore,
         ) -> Result<Psbt, CreateTxError> {
             let keychains: BTreeMap<_, _> = self.indexed_graph.index.keychains().collect();
             let external_descriptor = keychains.get(&KeychainKind::External).expect("must exist");
    @@ -4015,13 +4039,31 @@
             let (required_utxos, optional_utxos) =
                 coin_selection::filter_duplicates(required_utxos, optional_utxos);
     
    -        let coin_selection = coin_selection.coin_select(
    -            required_utxos,
    -            optional_utxos,
    +        let coin_selection = match coin_selection.coin_select(
    +            required_utxos.clone(),
    +            optional_utxos.clone(),
                 fee_rate,
                 outgoing.to_sat() + fee_amount,
                 &drain_script,
    -        )?;
    +        ) {
    +            Ok(res) => res,
    +            Err(e) => match e {
    +                coin_selection::Error::InsufficientFunds { .. } => {
    +                    return Err(CreateTxError::CoinSelection(e));
    +                }
    +                coin_selection::Error::BnBNoExactMatch
    +                | coin_selection::Error::BnBTotalTriesExceeded => {
    +                    coin_selection::single_random_draw(
    +                        required_utxos,
    +                        optional_utxos,
    +                        outgoing.to_sat() + fee_amount,
    +                        &drain_script,
    +                        fee_rate,
    +                        rng,
    +                    )
    +                }
    +            },
    +        };
             fee_amount += coin_selection.fee_amount;
             let excess = &coin_selection.excess;
     
    @@ -4085,7 +4127,7 @@
             };
     
             // sort input/outputs according to the chosen algorithm
    -        params.ordering.sort_tx(&mut tx);
    +        params.ordering.sort_tx_with_aux_rand(&mut tx, rng);
     
             let psbt = self.complete_transaction(tx, coin_selection.selected, params)?;
             Ok(psbt)
    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 871fd62773..697a101110 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
    @@ -1808,7 +1808,7 @@
         };
     
         let msg = &Message::from(hash);
    -    let signature = secp.sign_schnorr(msg, &keypair);
    +    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");
     
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
    index 05103e55c8..8f4bb7789f 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
    @@ -1000,6 +1000,27 @@
     1000
     1001
     1002
    +1003
    +1004
    +1005
    +1006
    +1007
    +1008
    +1009
    +1010
    +1011
    +1012
    +1013
    +1014
    +1015
    +1016
    +1017
    +1018
    +1019
    +1020
    +1021
    +1022
    +1023
     
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -1047,8 +1068,10 @@
     use bitcoin::psbt::{self, Psbt};
     use bitcoin::script::PushBytes;
     use bitcoin::{absolute, Amount, FeeRate, OutPoint, ScriptBuf, Sequence, Transaction, Txid};
    +use rand_core::RngCore;
     
     use super::coin_selection::CoinSelectionAlgorithm;
    +use super::utils::shuffle_slice;
     use super::{CreateTxError, Wallet};
     use crate::collections::{BTreeMap, HashSet};
     use crate::{KeychainKind, LocalOutput, Utxo, WeightedUtxo};
    @@ -1671,16 +1694,33 @@
     impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs> {
         /// Finish building the transaction.
         ///
    +    /// Uses the thread-local random number generator (rng).
    +    ///
         /// Returns a new [`Psbt`] per [`BIP174`].
         ///
         /// [`BIP174`]: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
         ///
         /// **WARNING**: To avoid change address reuse you must persist the changes resulting from one
         /// or more calls to this method before closing the wallet. See [`Wallet::reveal_next_address`].
    +    #[cfg(feature = "std")]
         pub fn finish(self) -> Result<Psbt, CreateTxError> {
    +        self.finish_with_aux_rand(&mut bitcoin::key::rand::thread_rng())
    +    }
    +
    +    /// Finish building the transaction.
    +    ///
    +    /// Uses a provided random number generator (rng).
    +    ///
    +    /// Returns a new [`Psbt`] per [`BIP174`].
    +    ///
    +    /// [`BIP174`]: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
    +    ///
    +    /// **WARNING**: To avoid change address reuse you must persist the changes resulting from one
    +    /// or more calls to this method before closing the wallet. See [`Wallet::reveal_next_address`].
    +    pub fn finish_with_aux_rand(self, rng: &mut impl RngCore) -> Result<Psbt, CreateTxError> {
             self.wallet
                 .borrow_mut()
    -            .create_tx(self.coin_selection, self.params)
    +            .create_tx(self.coin_selection, self.params, rng)
         }
     }
     
    @@ -1759,15 +1799,23 @@
     }
     
     impl TxOrdering {
    -    /// Sort transaction inputs and outputs by [`TxOrdering`] variant
    -    pub fn sort_tx(&self, tx: &mut Transaction) {
    +    /// Sort transaction inputs and outputs by [`TxOrdering`] variant.
    +    ///
    +    /// Uses the thread-local random number generator (rng).
    +    #[cfg(feature = "std")]
    +    pub fn sort_tx(self, tx: &mut Transaction) {
    +        self.sort_tx_with_aux_rand(tx, &mut bitcoin::key::rand::thread_rng())
    +    }
    +
    +    /// Sort transaction inputs and outputs by [`TxOrdering`] variant.
    +    ///
    +    /// Uses a provided random number generator (rng).
    +    pub fn sort_tx_with_aux_rand(self, tx: &mut Transaction, rng: &mut impl RngCore) {
             match self {
                 TxOrdering::Untouched => {}
                 TxOrdering::Shuffle => {
    -                use rand::seq::SliceRandom;
    -                let mut rng = rand::thread_rng();
    -                tx.input.shuffle(&mut rng);
    -                tx.output.shuffle(&mut rng);
    +                shuffle_slice(&mut tx.input, rng);
    +                shuffle_slice(&mut tx.output, rng);
                 }
                 TxOrdering::Bip69Lexicographic => {
                     tx.input.sort_unstable_by_key(|txin| {
    @@ -1853,12 +1901,6 @@
         use bitcoin::TxOut;
     
         use super::*;
    -
    -    #[test]
    -    fn test_output_ordering_default_shuffle() {
    -        assert_eq!(TxOrdering::default(), TxOrdering::Shuffle);
    -    }
    -
         #[test]
         fn test_output_ordering_untouched() {
             let original_tx = ordering_test_tx!();
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/utils.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/utils.rs.html
    index 8d3c03d3c5..982488505a 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/utils.rs.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/utils.rs.html
    @@ -183,6 +183,65 @@
     183
     184
     185
    +186
    +187
    +188
    +189
    +190
    +191
    +192
    +193
    +194
    +195
    +196
    +197
    +198
    +199
    +200
    +201
    +202
    +203
    +204
    +205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
    +238
    +239
    +240
    +241
    +242
    +243
    +244
     

    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -199,6 +258,8 @@
     
     use miniscript::{MiniscriptKey, Satisfier, ToPublicKey};
     
    +use rand_core::RngCore;
    +
     /// Trait to check if a value is below the dust limit.
     /// We are performing dust value calculation for a given script public key using rust-bitcoin to
     /// keep it compatible with network dust rate
    @@ -295,6 +356,19 @@
         }
     }
     
    +// The Knuth shuffling algorithm based on the original [Fisher-Yates method](https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle)
    +pub(crate) fn shuffle_slice<T>(list: &mut [T], rng: &mut impl RngCore) {
    +    if list.is_empty() {
    +        return;
    +    }
    +    let mut current_index = list.len() - 1;
    +    while current_index > 0 {
    +        let random_index = rng.next_u32() as usize % (current_index + 1);
    +        list.swap(current_index, random_index);
    +        current_index -= 1;
    +    }
    +}
    +
     pub(crate) type SecpCtx = Secp256k1<All>;
     
     #[cfg(test)]
    @@ -303,9 +377,11 @@
         // otherwise it's time-based
         pub(crate) const SEQUENCE_LOCKTIME_TYPE_FLAG: u32 = 1 << 22;
     
    -    use super::{check_nsequence_rbf, IsDust};
    +    use super::{check_nsequence_rbf, shuffle_slice, IsDust};
         use crate::bitcoin::{Address, Network, Sequence};
    +    use alloc::vec::Vec;
         use core::str::FromStr;
    +    use rand::{rngs::StdRng, thread_rng, SeedableRng};
     
         #[test]
         fn test_is_dust() {
    @@ -367,5 +443,47 @@
             );
             assert!(result);
         }
    +
    +    #[test]
    +    #[cfg(feature = "std")]
    +    fn test_shuffle_slice_empty_vec() {
    +        let mut test: Vec<u8> = vec![];
    +        shuffle_slice(&mut test, &mut thread_rng());
    +    }
    +
    +    #[test]
    +    #[cfg(feature = "std")]
    +    fn test_shuffle_slice_single_vec() {
    +        let mut test: Vec<u8> = vec![0];
    +        shuffle_slice(&mut test, &mut thread_rng());
    +    }
    +
    +    #[test]
    +    fn test_shuffle_slice_duple_vec() {
    +        let seed = [0; 32];
    +        let mut rng: StdRng = SeedableRng::from_seed(seed);
    +        let mut test: Vec<u8> = vec![0, 1];
    +        shuffle_slice(&mut test, &mut rng);
    +        assert_eq!(test, &[0, 1]);
    +        let seed = [6; 32];
    +        let mut rng: StdRng = SeedableRng::from_seed(seed);
    +        let mut test: Vec<u8> = vec![0, 1];
    +        shuffle_slice(&mut test, &mut rng);
    +        assert_eq!(test, &[1, 0]);
    +    }
    +
    +    #[test]
    +    fn test_shuffle_slice_multi_vec() {
    +        let seed = [0; 32];
    +        let mut rng: StdRng = SeedableRng::from_seed(seed);
    +        let mut test: Vec<u8> = vec![0, 1, 2, 4, 5];
    +        shuffle_slice(&mut test, &mut rng);
    +        assert_eq!(test, &[2, 1, 0, 4, 5]);
    +        let seed = [25; 32];
    +        let mut rng: StdRng = SeedableRng::from_seed(seed);
    +        let mut test: Vec<u8> = vec![0, 1, 2, 4, 5];
    +        shuffle_slice(&mut test, &mut rng);
    +        assert_eq!(test, &[0, 4, 1, 2, 5]);
    +    }
     }
     
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.js index 6d6ac5f00c..8d3370a70f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/wallet/coin_selection/struct.BranchAndBoundCoinSelection.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"bdk_wallet":[["
    source§

    impl BranchAndBoundCoinSelection

    source

    pub fn new(size_of_change: u64) -> Self

    Create new instance with target size for change output

    \n
    ",0,"bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl Clone for BranchAndBoundCoinSelection

    source§

    fn clone(&self) -> BranchAndBoundCoinSelection

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl CoinSelectionAlgorithm for BranchAndBoundCoinSelection

    source§

    fn coin_select(\n &self,\n required_utxos: Vec<WeightedUtxo>,\n optional_utxos: Vec<WeightedUtxo>,\n fee_rate: FeeRate,\n target_amount: u64,\n drain_script: &Script\n) -> Result<CoinSelectionResult, Error>

    Perform the coin selection Read more
    ","CoinSelectionAlgorithm","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl Debug for BranchAndBoundCoinSelection

    source§

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

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

    impl Default for BranchAndBoundCoinSelection

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    ","Default","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"]] +"bdk_wallet":[["
    source§

    impl BranchAndBoundCoinSelection

    source

    pub fn new(size_of_change: u64) -> Self

    Create new instance with target size for change output

    \n
    ",0,"bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl Clone for BranchAndBoundCoinSelection

    source§

    fn clone(&self) -> BranchAndBoundCoinSelection

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl CoinSelectionAlgorithm for BranchAndBoundCoinSelection

    source§

    fn coin_select(\n &self,\n required_utxos: Vec<WeightedUtxo>,\n optional_utxos: Vec<WeightedUtxo>,\n fee_rate: FeeRate,\n target_amount: u64,\n drain_script: &Script\n) -> Result<CoinSelectionResult, Error>

    Perform the coin selection Read more
    ","CoinSelectionAlgorithm","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"],["
    source§

    impl Debug for BranchAndBoundCoinSelection

    source§

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

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

    impl Default for BranchAndBoundCoinSelection

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more
    ","Default","bdk_wallet::wallet::coin_selection::DefaultCoinSelectionAlgorithm"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file