From: github-actions Date: Thu, 5 Sep 2024 05:32:16 +0000 (+0000) Subject: Publish autogenerated nightly docs X-Git-Url: http://internal-gitweb-vhost/struct.EncoderStringWriter.html?a=commitdiff_plain;h=63acec20bdaf3e8c5eab3bd74d37ea6866b8f9a8;p=bitcoindevkit.org Publish autogenerated nightly docs --- diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html index 9deefc1ba4..7e707849fa 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Aliases

Constants

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html index 32a1c5c7c8..e58ec17908 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html @@ -1,4 +1,4 @@ -ApplyBlockError in bdk_wallet - Rust

Enum bdk_wallet::ApplyBlockError

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

Enum bdk_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/enum.LoadError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadError.html index a6e5048f26..2aa78a3bce 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadError.html @@ -1,4 +1,4 @@ -LoadError in bdk_wallet - Rust

Enum bdk_wallet::LoadError

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

Enum bdk_wallet::LoadError

source ·
pub enum LoadError {
     Descriptor(DescriptorError),
     MissingNetwork,
     MissingGenesis,
@@ -10,9 +10,9 @@
 
§

MissingGenesis

Data loaded from persistence is missing genesis hash.

§

MissingDescriptor(KeychainKind)

Data loaded from persistence is missing descriptor.

§

Mismatch(LoadMismatch)

Data loaded is unexpected.

-

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

impl From<LoadMismatch> for LoadError

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl PartialEq for LoadError

source§

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

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

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

impl From<LoadMismatch> for LoadError

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl PartialEq for LoadError

source§

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl StructuralPartialEq for LoadError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html index 747a15b206..4aef804cd7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html @@ -1,4 +1,4 @@ -LoadMismatch in bdk_wallet - Rust

Enum bdk_wallet::LoadMismatch

source ·
pub enum LoadMismatch {
+LoadMismatch in bdk_wallet - Rust

Enum bdk_wallet::LoadMismatch

source ·
pub enum LoadMismatch {
     Network {
         loaded: Network,
         expected: Network,
@@ -23,9 +23,9 @@
 

Fields

§keychain: KeychainKind

Keychain identifying the descriptor.

§loaded: Option<ExtendedDescriptor>

The loaded descriptor.

§expected: Option<ExtendedDescriptor>

The expected descriptor.

-

Trait Implementations§

source§

impl Debug for LoadMismatch

source§

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

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

impl From<LoadMismatch> for LoadError

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl PartialEq for LoadMismatch

source§

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

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

Trait Implementations§

source§

impl Debug for LoadMismatch

source§

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

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

impl From<LoadMismatch> for LoadError

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

impl PartialEq for LoadMismatch

source§

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

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

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

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

impl StructuralPartialEq for LoadMismatch

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl StructuralPartialEq for LoadMismatch

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html index 25b7e4e15b..aa4f32c884 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadWithPersistError.html @@ -4,7 +4,7 @@ }
Expand description

Error type for PersistedWallet::load.

Variants§

§

Persist(E)

Error from persistence.

§

InvalidChangeSet(LoadError)

Occurs when the loaded changeset cannot construct Wallet.

-

Trait Implementations§

source§

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

source§

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

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

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

source§

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

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

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

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

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

source§

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

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

Trait Implementations§

source§

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

source§

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

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

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

source§

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

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

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

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

impl<E> From<LoadMismatch> for LoadWithPersistError<E>

source§

fn from(mismatch: LoadMismatch) -> Self

Converts to this type from the input type.
source§

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

source§

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

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

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

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

impl<E> StructuralPartialEq for LoadWithPersistError<E>

Auto Trait Implementations§

§

impl<E> !Freeze for LoadWithPersistError<E>

§

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

§

impl<E> Send for LoadWithPersistError<E>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html index f5c7fe39c7..d26ccb341b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html @@ -1,4 +1,4 @@ -wallet_name_from_descriptor in bdk_wallet - Rust

Function bdk_wallet::wallet_name_from_descriptor

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

Function bdk_wallet::wallet_name_from_descriptor

source ·
pub fn wallet_name_from_descriptor<T>(
     descriptor: T,
     change_descriptor: Option<T>,
     network: Network,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html
index d30751e3a5..01f28e607c 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
@@ -1,4 +1,4 @@
-bdk_wallet - Rust

Crate bdk_wallet

source ·
Expand description
+bdk_wallet - Rust

Crate bdk_wallet

source ·
Expand description

BDK

@@ -187,4 +187,4 @@ conditions.

Re-exports§

  • pub extern crate bitcoin;
  • pub extern crate bdk_chain as chain;
  • pub extern crate bdk_file_store as file_store;
  • pub extern crate miniscript;
  • pub extern crate serde;
  • pub extern crate serde_json;
  • pub use descriptor::template;
  • pub use descriptor::HdKeyPaths;
  • pub use signer;
  • pub use bdk_chain::rusqlite;

Modules§

Macros§

  • Macro to write full descriptors with code
  • Macro to write descriptor fragments with code

Structs§

Enums§

Traits§

Functions§

\ No newline at end of file +keep it compatible with network dust rate
  • Trait that persists PersistedWallet.
  • Functions§

    Type Aliases§

    • A CanonicalTx managed by a Wallet.
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/sidebar-items.js index ce7ba548ba..94e4594ad0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/sidebar-items.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["AddForeignUtxoError","AddUtxoError","ApplyBlockError","ChangeSpendPolicy","CreateWithPersistError","FileStoreError","KeychainKind","LoadError","LoadMismatch","LoadWithPersistError","TxOrdering","Utxo"],"externcrate":["bitcoin","chain","file_store","miniscript","serde","serde_json"],"fn":["version","wallet_name_from_descriptor"],"macro":["descriptor","fragment"],"mod":["coin_selection","descriptor","error","export","keys","psbt","rusqlite_impl","signer","tx_builder"],"struct":["AddressInfo","Balance","ChangeSet","CreateParams","LoadParams","LocalOutput","PersistedWallet","SignOptions","TxBuilder","Update","Wallet","WeightedUtxo"],"trait":["AsyncWalletPersister","IsDust","WalletPersister"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["AddForeignUtxoError","AddUtxoError","ApplyBlockError","ChangeSpendPolicy","CreateWithPersistError","FileStoreError","KeychainKind","LoadError","LoadMismatch","LoadWithPersistError","TxOrdering","Utxo"],"externcrate":["bitcoin","chain","file_store","miniscript","serde","serde_json"],"fn":["version","wallet_name_from_descriptor"],"macro":["descriptor","fragment"],"mod":["coin_selection","descriptor","error","export","keys","psbt","rusqlite_impl","signer","tx_builder"],"struct":["AddressInfo","Balance","ChangeSet","CreateParams","LoadParams","LocalOutput","PersistedWallet","SignOptions","TxBuilder","Update","Wallet","WeightedUtxo"],"trait":["AsyncWalletPersister","IsDust","WalletPersister"],"type":["WalletTx"]}; \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html index b16f3dd296..1cec3321c9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.AddressInfo.html @@ -1,4 +1,4 @@ -AddressInfo in bdk_wallet - Rust

    Struct bdk_wallet::AddressInfo

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

    Struct bdk_wallet::AddressInfo

    source ·
    pub struct AddressInfo {
         pub index: u32,
         pub address: Address,
         pub keychain: KeychainKind,
    @@ -68,9 +68,9 @@ network a simple comparison is not enough anymore. Instead this function can be
     let address: Address<NetworkUnchecked> = "32iVBEu4dxkUQk9dJbZUiBiQdmypcEyJRf".parse().unwrap();
     assert!(address.is_valid_for_network(Network::Bitcoin));
     assert_eq!(address.is_valid_for_network(Network::Testnet), false);
    -

    Trait Implementations§

    source§

    impl Clone for AddressInfo

    source§

    fn clone(&self) -> AddressInfo

    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 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 Clone for AddressInfo

    source§

    fn clone(&self) -> AddressInfo

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

    impl<Q, K> Equivalent<K> for Q
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html index 084651db4b..209f42298f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html @@ -1,4 +1,4 @@ -PersistedWallet in bdk_wallet - Rust

    Struct bdk_wallet::PersistedWallet

    source ·
    pub struct PersistedWallet<P> { /* private fields */ }
    Expand description

    Represents a persisted wallet which persists into type P.

    +PersistedWallet in bdk_wallet - Rust

    Struct bdk_wallet::PersistedWallet

    source ·
    pub struct PersistedWallet<P> { /* private fields */ }
    Expand description

    Represents a persisted wallet which persists into type P.

    This is a light wrapper around Wallet that enforces some level of safety-checking when used with a WalletPersister or AsyncWalletPersister implementation. Safety checks assume that WalletPersister and/or AsyncWalletPersister are implemented correctly.

    @@ -39,16 +39,16 @@ connected to different databases. ) -> Result<bool, P::Error>

    Persist staged changes of wallet into an async persister.

    Returns whether any new changes were persisted.

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

    -

    Methods from Deref<Target = Wallet>§

    source

    pub fn network(&self) -> Network

    Get the Bitcoin network the wallet is using.

    -
    source

    pub fn keychains( +

    Methods from Deref<Target = Wallet>§

    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, @@ -67,7 +67,7 @@ wallet.persist(&mut conn).expect(// 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 @@ -78,35 +78,35 @@ possible index. If all addresses up to the given index are already 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: ScriptBuf) -> bool

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

    -
    source

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

    Finds how the wallet derived the script pubkey spk.

    +
    source

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

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

    +
    source

    pub fn derivation_of_spk(&self, spk: ScriptBuf) -> 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 @@ -114,14 +114,14 @@ from seed words). You pass the BTreeMap of iterators to a blockchai 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.

    @@ -130,7 +130,7 @@ insert TxOuts that you trust the values for!

    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.

    @@ -143,7 +143,7 @@ manually insert the TxOut(s) into the tx graph using the
    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.

    @@ -156,7 +156,7 @@ manually insert the TxOut(s) into the tx graph using the
    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.

    @@ -166,11 +166,8 @@ of this tx’s outputs that send to script pubkeys tracked by this wallet.

    let tx = &psbt.clone().extract_tx().expect("tx");
     let (sent, received) = wallet.sent_and_received(tx);
    -
    source

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

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

    -

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

    +
    source

    pub fn get_tx(&self, txid: Txid) -> Option<WalletTx<'_>>

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

    +

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

    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist in the best chain.
    • @@ -183,13 +180,13 @@ the transaction was last seen in the mempool is provided.
      use bdk_chain::Anchor;
       use bdk_wallet::{chain::ChainPosition, Wallet};
       
      -let canonical_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
      +let wallet_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
       
       // get reference to full transaction
      -println!("my tx: {:#?}", canonical_tx.tx_node.tx);
      +println!("my tx: {:#?}", wallet_tx.tx_node.tx);
       
       // list all transaction anchors
      -for anchor in canonical_tx.tx_node.anchors {
      +for anchor in wallet_tx.tx_node.anchors {
           println!(
               "tx is anchored by block of hash {}",
               anchor.anchor_block().hash
      @@ -197,7 +194,7 @@ the transaction was last seen in the mempool is provided.
       }
       
       // get confirmation status of transaction
      -match canonical_tx.chain_position {
      +match wallet_tx.chain_position {
           ChainPosition::Confirmed(anchor) => println!(
               "tx is confirmed at height {}, we know this since {}:{} is in the best chain",
               anchor.block_id.height, anchor.block_id.height, anchor.block_id.hash,
      @@ -207,7 +204,7 @@ the transaction was last seen in the mempool is provided.
               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.

    @@ -216,7 +213,7 @@ there).

    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(&mut self, tx: Transaction) -> bool

    Add a transaction to the wallet’s internal view of the chain. This stages the change, +

    source

    pub fn insert_tx(&mut self, tx: Transaction) -> bool

    Add a transaction to the wallet’s internal view of the chain. This stages the change, you must persist it later.

    This method inserts the given tx and returns whether anything changed after insertion, which will be false if the same transaction already exists in the wallet’s transaction @@ -225,27 +222,31 @@ graph. Any changes are staged but not committed.

    By default the inserted tx won’t be considered “canonical” because it’s not known whether the transaction exists in the best chain. To know whether it exists, the tx must be broadcast to the network and the wallet synced via a chain source.

    -
    source

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

    Iterate over the transactions in the wallet.

    -
    source

    pub fn balance(&self) -> Balance

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

    source

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

    Iterate over the transactions in the wallet.

    +
    source

    pub fn transactions_sort_by<F>(&self, compare: F) -> Vec<WalletTx<'_>>
    where + F: FnMut(&WalletTx<'_>, &WalletTx<'_>) -> Ordering,

    Array of transactions in the wallet sorted with a comparator function.

    +
    §Example
    +
    // Transactions by chain position: first unconfirmed then descending by confirmed height.
    +let sorted_txs: Vec<WalletTx> =
    +    wallet.transactions_sort_by(|tx1, tx2| tx2.chain_position.cmp(&tx1.chain_position));
    +
    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 set_keymap(&mut self, keychain: KeychainKind, keymap: KeyMap)

    Set the keymap for a given keychain.

    +
    source

    pub fn set_keymap(&mut self, keychain: KeychainKind, keymap: KeyMap)

    Set the keymap for a given keychain.

    Note this does nothing if the given keychain has no descriptor because we won’t know the context (segwit, taproot, etc) in which to create signatures.

    -
    source

    pub fn set_keymaps( +

    source

    pub fn set_keymaps( &mut self, keymaps: impl IntoIterator<Item = (KeychainKind, KeyMap)> )

    Set the keymap for each keychain.

    -
    source

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

    Get the signers

    -
    §Example
    +
    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/*)";
     let wallet = Wallet::create(descriptor, change_descriptor)
    @@ -257,9 +258,9 @@ know the context (segwit, taproot, etc) in which to create signatures.

    } 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
    +
    §Example
    let psbt = {
        let mut builder =  wallet.build_tx();
        builder
    @@ -268,14 +269,14 @@ know the context (segwit, taproot, etc) in which to create signatures.

    }; // 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.

    Returns an error if the transaction is already confirmed or doesn’t explicitly signal replace by fee (RBF). If the transaction can be fee bumped then it returns a TxBuilder pre-populated with the inputs and outputs of the original transaction.

    -
    §Example
    +
    §Example
    let mut psbt = {
         let mut builder = wallet.build_tx();
         builder
    @@ -296,7 +297,7 @@ pre-populated with the inputs and outputs of the original transaction.

    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 @@ -306,7 +307,7 @@ pre-populated with the inputs and outputs of the original transaction.

    the transaction is finalized at the end. Note that it can’t be guaranteed that every signers will follow the options, but the “software signers” (WIF keys and xprv) defined in this library will.

    -

    §Example
    +
    §Example
    let mut psbt = {
         let mut builder = wallet.build_tx();
         builder.add_recipient(to_address.script_pubkey(), Amount::from_sat(50_000));
    @@ -314,15 +315,15 @@ in this library will.

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

    Returns the descriptor used to create addresses for a particular keychain.

    +
    source

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

    Returns the descriptor used to create addresses for a particular keychain.

    It’s the “public” version of the wallet’s descriptor, meaning a new descriptor that has the same structure but with the all secret keys replaced by their corresponding public key. 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 @@ -333,21 +334,21 @@ and BIP 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 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 secp_ctx(&self) -> &Secp256k1<All>

    Return the secp256k1 context used for all signing operations

    +
    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::public_descriptor to fetch the right descriptor

    -
    source

    pub fn apply_update( +

    source

    pub fn apply_update( &mut self, update: impl Into<Update> ) -> Result<(), CannotConnectError>

    Available on crate feature std only.

    Applies an update to the wallet and stages the changes (but does not persist them).

    @@ -355,7 +356,7 @@ Otherwise, it will return the index of the highest address it has derived.

    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 apply_update_at( +

    source

    pub fn apply_update_at( &mut self, update: impl Into<Update>, seen_at: Option<u64> @@ -369,17 +370,17 @@ canonical history).

    not be part of the canonical history of transactions.

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

    -

    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    -
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    -
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    -
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    -
    source

    pub fn unbroadcast_transactions( +

    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    +
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    +
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    +
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    +
    source

    pub fn unbroadcast_transactions( &self ) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, ConfirmationBlockTime>>

    Iterate over transactions in the wallet that are unseen and unanchored likely because they haven’t been broadcast.

    -
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    -
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    -
    source

    pub fn apply_block( +

    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    +
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    source

    pub fn apply_block( &mut self, block: &Block, height: u32 @@ -387,7 +388,7 @@ because they haven’t been broadcast.

    prev_blockhash of the block’s header.

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

    -

    source

    pub fn apply_block_connected_to( +

    source

    pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, @@ -400,7 +401,7 @@ internal [TxGraph].

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

    -

    source

    pub fn apply_unconfirmed_txs<'t>( +

    source

    pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

    Apply relevant unconfirmed transactions to the wallet.

    @@ -412,13 +413,13 @@ when there is conflicting unconfirmed transactions. The transaction with the lat

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

    -
    source

    pub fn start_sync_with_revealed_spks( +

    source

    pub fn start_sync_with_revealed_spks( &self ) -> SyncRequestBuilder<(KeychainKind, u32)>

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

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

    -
    source

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

    Create a [`FullScanRequest] for this wallet.

    +
    source

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

    Create a [`FullScanRequest] for this wallet.

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

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html index dae2549930..e5df1aa856 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html @@ -1,4 +1,4 @@ -Update in bdk_wallet - Rust

    Struct bdk_wallet::Update

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

    Struct bdk_wallet::Update

    source ·
    pub struct Update {
         pub last_active_indices: BTreeMap<KeychainKind, u32>,
         pub tx_update: TxUpdate<ConfirmationBlockTime>,
         pub chain: Option<CheckPoint>,
    @@ -8,7 +8,7 @@
     [KeychainTxOutIndex].

    §tx_update: TxUpdate<ConfirmationBlockTime>

    Update for the wallet’s internal [TxGraph].

    §chain: Option<CheckPoint>

    Update for the wallet’s internal LocalChain.

    -

    Trait Implementations§

    source§

    impl Clone for Update

    source§

    fn clone(&self) -> Update

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Update

    source§

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

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

    impl Default for Update

    source§

    fn default() -> Update

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

    impl From<FullScanResult<KeychainKind>> for Update

    source§

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

    Converts to this type from the input type.
    source§

    impl From<SyncResult> for Update

    source§

    fn from(value: SyncResult) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl Clone for Update

    source§

    fn clone(&self) -> Update

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Update

    source§

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

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

    impl Default for Update

    source§

    fn default() -> Update

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

    impl From<FullScanResult<KeychainKind>> for Update

    source§

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

    Converts to this type from the input type.
    source§

    impl From<SyncResult> for Update

    source§

    fn from(value: SyncResult) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html index 8d1d1aebaf..13933371ec 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html @@ -1,4 +1,4 @@ -Wallet in bdk_wallet - Rust

    Struct bdk_wallet::Wallet

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

    A Bitcoin wallet

    +Wallet in bdk_wallet - Rust

    Struct bdk_wallet::Wallet

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

    A Bitcoin wallet

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

      @@ -10,7 +10,7 @@ Its main components are:

      on when Wallet state needs to be persisted.

      The Wallet descriptor (external) and change descriptor (internal) must not derive the same script pubkeys. See [KeychainTxOutIndex::insert_descriptor()] for more details.

      -

    Implementations§

    source§

    impl Wallet

    source

    pub fn create_single<D>(descriptor: D) -> CreateParams
    where +

    Implementations§

    source§

    impl Wallet

    source

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

    Build a new single descriptor Wallet.

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

    §Note
    @@ -32,7 +32,7 @@ equivalent of let wallet = Wallet::create_single(EXTERNAL_DESC) .network(Network::Testnet) .create_wallet(&mut conn)?;
    -
    source

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

    source

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

    Build a new Wallet.

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

    §Synopsis
    @@ -47,9 +47,9 @@ equivalent of let wallet = Wallet::create(EXTERNAL_DESC, INTERNAL_DESC) .network(Network::Testnet) .create_wallet(&mut conn)?;
    -
    source

    pub fn create_with_params(params: CreateParams) -> Result<Self, DescriptorError>

    Create a new Wallet with given params.

    +
    source

    pub fn create_with_params(params: CreateParams) -> Result<Self, DescriptorError>

    Create a new Wallet with given params.

    Refer to Wallet::create for more.

    -
    source

    pub fn load() -> LoadParams

    Build Wallet by loading from persistence or ChangeSet.

    +
    source

    pub fn load() -> LoadParams

    Build Wallet by loading from persistence or ChangeSet.

    Note that the descriptor secret keys are not persisted to the db. You can add signers after-the-fact with Wallet::add_signer or Wallet::set_keymap. You can also add keys when building the wallet by using LoadParams::keymap. Finally @@ -77,21 +77,21 @@ which will try to populate signers if 101) .load_wallet(&mut conn)? .expect("must have data to load wallet");

    -
    source

    pub fn load_with_params( +

    source

    pub fn load_with_params( changeset: ChangeSet, params: LoadParams ) -> Result<Option<Self>, LoadError>

    Load Wallet from the given previously persisted ChangeSet and params.

    Refer to Wallet::load for more.

    -
    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, @@ -110,7 +110,7 @@ wallet.persist(&mut conn).expect(// 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 @@ -121,35 +121,35 @@ possible index. If all addresses up to the given index are already 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: ScriptBuf) -> bool

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

    -
    source

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

    Finds how the wallet derived the script pubkey spk.

    +
    source

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

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

    +
    source

    pub fn derivation_of_spk(&self, spk: ScriptBuf) -> 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 @@ -157,14 +157,14 @@ from seed words). You pass the BTreeMap of iterators to a blockchai 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.

    @@ -173,7 +173,7 @@ insert TxOuts that you trust the values for!

    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.

    @@ -186,7 +186,7 @@ manually insert the TxOut(s) into the tx graph using the
    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.

    @@ -199,7 +199,7 @@ manually insert the TxOut(s) into the tx graph using the
    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.

    @@ -209,11 +209,8 @@ of this tx’s outputs that send to script pubkeys tracked by this wallet.

    let tx = &psbt.clone().extract_tx().expect("tx");
     let (sent, received) = wallet.sent_and_received(tx);
    -
    source

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

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

    -

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

    +
    source

    pub fn get_tx(&self, txid: Txid) -> Option<WalletTx<'_>>

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

    +

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

    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist in the best chain.
    • @@ -226,13 +223,13 @@ the transaction was last seen in the mempool is provided.
      use bdk_chain::Anchor;
       use bdk_wallet::{chain::ChainPosition, Wallet};
       
      -let canonical_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
      +let wallet_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
       
       // get reference to full transaction
      -println!("my tx: {:#?}", canonical_tx.tx_node.tx);
      +println!("my tx: {:#?}", wallet_tx.tx_node.tx);
       
       // list all transaction anchors
      -for anchor in canonical_tx.tx_node.anchors {
      +for anchor in wallet_tx.tx_node.anchors {
           println!(
               "tx is anchored by block of hash {}",
               anchor.anchor_block().hash
      @@ -240,7 +237,7 @@ the transaction was last seen in the mempool is provided.
       }
       
       // get confirmation status of transaction
      -match canonical_tx.chain_position {
      +match wallet_tx.chain_position {
           ChainPosition::Confirmed(anchor) => println!(
               "tx is confirmed at height {}, we know this since {}:{} is in the best chain",
               anchor.block_id.height, anchor.block_id.height, anchor.block_id.hash,
      @@ -250,7 +247,7 @@ the transaction was last seen in the mempool is provided.
               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.

    @@ -259,7 +256,7 @@ there).

    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(&mut self, tx: Transaction) -> bool

    Add a transaction to the wallet’s internal view of the chain. This stages the change, +

    source

    pub fn insert_tx(&mut self, tx: Transaction) -> bool

    Add a transaction to the wallet’s internal view of the chain. This stages the change, you must persist it later.

    This method inserts the given tx and returns whether anything changed after insertion, which will be false if the same transaction already exists in the wallet’s transaction @@ -268,27 +265,31 @@ graph. Any changes are staged but not committed.

    By default the inserted tx won’t be considered “canonical” because it’s not known whether the transaction exists in the best chain. To know whether it exists, the tx must be broadcast to the network and the wallet synced via a chain source.

    -
    source

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

    Iterate over the transactions in the wallet.

    -
    source

    pub fn balance(&self) -> Balance

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

    source

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

    Iterate over the transactions in the wallet.

    +
    source

    pub fn transactions_sort_by<F>(&self, compare: F) -> Vec<WalletTx<'_>>
    where + F: FnMut(&WalletTx<'_>, &WalletTx<'_>) -> Ordering,

    Array of transactions in the wallet sorted with a comparator function.

    +
    §Example
    +
    // Transactions by chain position: first unconfirmed then descending by confirmed height.
    +let sorted_txs: Vec<WalletTx> =
    +    wallet.transactions_sort_by(|tx1, tx2| tx2.chain_position.cmp(&tx1.chain_position));
    +
    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 set_keymap(&mut self, keychain: KeychainKind, keymap: KeyMap)

    Set the keymap for a given keychain.

    +
    source

    pub fn set_keymap(&mut self, keychain: KeychainKind, keymap: KeyMap)

    Set the keymap for a given keychain.

    Note this does nothing if the given keychain has no descriptor because we won’t know the context (segwit, taproot, etc) in which to create signatures.

    -
    source

    pub fn set_keymaps( +

    source

    pub fn set_keymaps( &mut self, keymaps: impl IntoIterator<Item = (KeychainKind, KeyMap)> )

    Set the keymap for each keychain.

    -
    source

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

    Get the signers

    -
    §Example
    +
    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/*)";
     let wallet = Wallet::create(descriptor, change_descriptor)
    @@ -300,9 +301,9 @@ know the context (segwit, taproot, etc) in which to create signatures.

    } 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
    +
    §Example
    let psbt = {
        let mut builder =  wallet.build_tx();
        builder
    @@ -311,14 +312,14 @@ know the context (segwit, taproot, etc) in which to create signatures.

    }; // 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.

    Returns an error if the transaction is already confirmed or doesn’t explicitly signal replace by fee (RBF). If the transaction can be fee bumped then it returns a TxBuilder pre-populated with the inputs and outputs of the original transaction.

    -
    §Example
    +
    §Example
    let mut psbt = {
         let mut builder = wallet.build_tx();
         builder
    @@ -339,7 +340,7 @@ pre-populated with the inputs and outputs of the original transaction.

    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 @@ -349,7 +350,7 @@ pre-populated with the inputs and outputs of the original transaction.

    the transaction is finalized at the end. Note that it can’t be guaranteed that every signers will follow the options, but the “software signers” (WIF keys and xprv) defined in this library will.

    -

    §Example
    +
    §Example
    let mut psbt = {
         let mut builder = wallet.build_tx();
         builder.add_recipient(to_address.script_pubkey(), Amount::from_sat(50_000));
    @@ -357,15 +358,15 @@ in this library will.

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

    Returns the descriptor used to create addresses for a particular keychain.

    +
    source

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

    Returns the descriptor used to create addresses for a particular keychain.

    It’s the “public” version of the wallet’s descriptor, meaning a new descriptor that has the same structure but with the all secret keys replaced by their corresponding public key. 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 @@ -376,21 +377,21 @@ and BIP 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 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 secp_ctx(&self) -> &Secp256k1<All>

    Return the secp256k1 context used for all signing operations

    +
    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::public_descriptor to fetch the right descriptor

    -
    source

    pub fn apply_update( +

    source

    pub fn apply_update( &mut self, update: impl Into<Update> ) -> Result<(), CannotConnectError>

    Available on crate feature std only.

    Applies an update to the wallet and stages the changes (but does not persist them).

    @@ -398,7 +399,7 @@ Otherwise, it will return the index of the highest address it has derived.

    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 apply_update_at( +

    source

    pub fn apply_update_at( &mut self, update: impl Into<Update>, seen_at: Option<u64> @@ -412,17 +413,17 @@ canonical history).

    not be part of the canonical history of transactions.

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

    -

    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    -
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    -
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    -
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    -
    source

    pub fn unbroadcast_transactions( +

    source

    pub fn staged(&self) -> Option<&ChangeSet>

    Get a reference of the staged ChangeSet that is yet to be committed (if any).

    +
    source

    pub fn staged_mut(&mut self) -> Option<&mut ChangeSet>

    Get a mutable reference of the staged ChangeSet that is yet to be commited (if any).

    +
    source

    pub fn take_staged(&mut self) -> Option<ChangeSet>

    Take the staged ChangeSet to be persisted now (if any).

    +
    source

    pub fn tx_graph(&self) -> &TxGraph<ConfirmationBlockTime>

    Get a reference to the inner [TxGraph].

    +
    source

    pub fn unbroadcast_transactions( &self ) -> impl Iterator<Item = TxNode<'_, Arc<Transaction>, ConfirmationBlockTime>>

    Iterate over transactions in the wallet that are unseen and unanchored likely because they haven’t been broadcast.

    -
    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    -
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    -
    source

    pub fn apply_block( +

    source

    pub fn spk_index(&self) -> &KeychainTxOutIndex<KeychainKind>

    Get a reference to the inner [KeychainTxOutIndex].

    +
    source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    source

    pub fn apply_block( &mut self, block: &Block, height: u32 @@ -430,7 +431,7 @@ because they haven’t been broadcast.

    prev_blockhash of the block’s header.

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

    -

    source

    pub fn apply_block_connected_to( +

    source

    pub fn apply_block_connected_to( &mut self, block: &Block, height: u32, @@ -443,7 +444,7 @@ internal [TxGraph].

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

    -

    source

    pub fn apply_unconfirmed_txs<'t>( +

    source

    pub fn apply_unconfirmed_txs<'t>( &mut self, unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)> )

    Apply relevant unconfirmed transactions to the wallet.

    @@ -455,20 +456,20 @@ when there is conflicting unconfirmed transactions. The transaction with the lat

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

    -
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    -
    source§

    impl Wallet

    Methods to construct sync/full-scan requests for spk-based chain sources.

    +
    source

    pub fn start_sync_with_revealed_spks( &self ) -> SyncRequestBuilder<(KeychainKind, u32)>

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

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

    -
    source

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

    Create a [`FullScanRequest] for this wallet.

    +
    source

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

    Create a [`FullScanRequest] for this wallet.

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

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

    -

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

    source§

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

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

    impl Debug for Wallet

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Trait Implementations§

    source§

    impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

    source§

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

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

    impl Debug for Wallet

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html new file mode 100644 index 0000000000..7f7e2a0ef6 --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html @@ -0,0 +1,7 @@ +WalletTx in bdk_wallet - Rust

    Type Alias bdk_wallet::WalletTx

    source ·
    pub type WalletTx<'a> = CanonicalTx<'a, Arc<Transaction>, ConfirmationBlockTime>;
    Expand description

    A CanonicalTx managed by a Wallet.

    +

    Aliased Type§

    struct WalletTx<'a> {
    +    pub chain_position: ChainPosition<&'a ConfirmationBlockTime>,
    +    pub tx_node: TxNode<'a, Arc<Transaction>, ConfirmationBlockTime>,
    +}

    Fields§

    §chain_position: ChainPosition<&'a ConfirmationBlockTime>

    How the transaction is observed as (confirmed or unconfirmed).

    +
    §tx_node: TxNode<'a, Arc<Transaction>, ConfirmationBlockTime>

    The transaction node (as part of the graph).

    +
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.WalletTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.WalletTx.html new file mode 100644 index 0000000000..bcbefbf52f --- /dev/null +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/wallet/type.WalletTx.html @@ -0,0 +1,11 @@ + + + + + Redirection + + +

    Redirecting to ../../bdk_wallet/type.WalletTx.html...

    + + + \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html index ae03e9ecc6..76bac1c1e6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html @@ -1 +1 @@ -Help

    Rustdoc help

    Back
    \ No newline at end of file +Help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js index aef5e58286..49bf4d462b 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 @@ -7,7 +7,7 @@ var searchIndex = new Map(JSON.parse('[\ ["bdk_file_store",{"t":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["AggregateChangesetsError","Bincode","EntryIter","FileError","InvalidMagicBytes","Io","Io","IterError","Store","aggregate_changesets","append_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset","create_new","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into_fallible","into_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","expected","got"],"q":[[0,"bdk_file_store"],[75,"bdk_file_store::FileError"],[77,"bdk_file_store::store"],[78,"core::option"],[79,"core::result"],[80,"bdk_chain::tx_data_traits"],[81,"serde::ser"],[82,"serde::de"],[83,"core::marker"],[84,"std::io::error"],[85,"std::path"],[86,"core::convert"],[87,"bdk_file_store::entry_iter"],[88,"core::fmt"],[89,"fallible_iterator"],[90,"core::iter::traits::iterator"],[91,"std::fs"],[92,"alloc::string"],[93,"core::any"]],"i":[0,20,0,0,16,20,16,0,0,2,2,19,20,2,5,16,19,20,2,5,16,5,2,19,20,20,2,5,5,16,16,19,20,20,2,5,16,16,19,20,2,5,16,19,19,2,5,19,19,2,2,20,5,16,19,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,32,32],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}Bl{}}{{{f{{j{c}}}}{f{bBj}}}BlBn}{{{f{B`}}{f{bBj}}}Bl}0{cc{}}0{AjBh}11{AjB`}2{ce{}{}}0000{c{{C`{g}}}{}{}{{Cd{}{{Cb{e}}}}}}1{{{f{b{d{c}}}}}{{Bf{c}}}{nA`AbAdAf}}`{{Cf{f{bCh}}}{{Bf{c}}}{}}{{{f{b{Bf{c}}}}}{{h{e}}}Ab{}}>>{{{f{c}}}Cj{}}00{c{{Cl{i}}}{}{}{}{{Cd{}{{Cb{{l{eg}}}}}}}}{c{{l{e}}}{}{}}000000000{{{f{c}}}Cn{}}000088888``","D":"Cl","p":[[0,"mut"],[5,"Store",0,77],[1,"reference"],[6,"Option",78],[5,"AggregateChangesetsError",0,77],[6,"Result",79],[10,"Merge",80],[10,"Serialize",81],[10,"DeserializeOwned",82],[10,"Send",83],[10,"Sync",83],[1,"unit"],[5,"Error",84],[1,"u8"],[1,"slice"],[6,"FileError",0],[5,"Path",85],[10,"AsRef",86],[5,"EntryIter",0,87],[6,"IterError",0,87],[5,"Formatter",88],[8,"Result",88],[10,"Debug",88],[5,"IntoFallible",89],[17,"Item"],[10,"Iterator",90],[1,"u64"],[5,"File",91],[5,"String",92],[5,"Convert",89],[5,"TypeId",93],[15,"InvalidMagicBytes",75]],"r":[[0,77],[2,87],[7,87],[8,77]],"b":[[24,"impl-Display-for-IterError"],[25,"impl-Debug-for-IterError"],[27,"impl-Display-for-AggregateChangesetsError%3CC%3E"],[28,"impl-Debug-for-AggregateChangesetsError%3CC%3E"],[29,"impl-Display-for-FileError"],[30,"impl-Debug-for-FileError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAC8ACAAMAAkAGAAHACIAAAAlAAAALQAAADAAAQA0AAIAOAAVAA=="}],\ ["bdk_hwi",{"t":"FNNNNNNNNNNNN","n":["HWISigner","borrow","borrow_mut","fmt","from","from_device","id","into","sign_transaction","try_from","try_into","type_id","vzip"],"q":[[0,"bdk_hwi"],[13,"bdk_hwi::signer"],[14,"core::fmt"],[15,"hwi::types"],[16,"hwi::error"],[17,"core::result"],[18,"secp256k1::context::alloc_only"],[19,"secp256k1"],[20,"bdk_wallet::wallet::signer"],[21,"bitcoin::psbt"],[22,"core::any"]],"i":[0,3,3,3,3,3,3,3,3,3,3,3,3],"f":"`{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{f}}{b{dh}}}j}{cc{}}{{{b{l}}n}{{Ab{fA`}}}}{{{b{f}}{b{{Af{Ad}}}}}Ah}{ce{}{}}{{{b{f}}{b{dAj}}{b{Al}}{b{{Af{Ad}}}}}{{Ab{AnB`}}}}{c{{Ab{e}}}{}{}}0{{{b{c}}}Bb{}}3","D":"j","p":[[1,"reference"],[0,"mut"],[5,"HWISigner",0,13],[5,"Formatter",14],[8,"Result",14],[5,"HWIDevice",15],[5,"HWIChain",15],[6,"Error",16],[6,"Result",17],[6,"All",18],[5,"Secp256k1",19],[6,"SignerId",20],[5,"Psbt",21],[5,"SignOptions",20],[1,"unit"],[6,"SignerError",20],[5,"TypeId",22]],"r":[[0,13]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAwACAAIABwAAAAkABAA="}],\ ["bdk_testenv",{"t":"FFEEEOONNNNNEOOENNNNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Config","TestEnv","anyhow","bitcoincore_rpc","bitcoind","bitcoind","bitcoind","borrow","borrow","borrow_mut","borrow_mut","default","electrsd","electrsd","electrsd","electrum_client","electrum_client","fmt","from","from","genesis_hash","into","into","invalidate_blocks","make_checkpoint_tip","mine_blocks","mine_empty_block","new","new_with_config","reorg","reorg_empty_blocks","reset_electrsd","rpc_client","send","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","wait_until_electrum_sees_block","wait_until_electrum_sees_txid"],"q":[[0,"bdk_testenv"],[44,"electrum_client::api"],[45,"core::fmt"],[46,"bitcoin::blockdata::block"],[47,"anyhow"],[48,"bdk_core::checkpoint"],[49,"bitcoin::address"],[50,"core::option"],[51,"alloc::vec"],[52,"bitcoincore_rpc::client"],[53,"bitcoin_units::amount"],[54,"bitcoin::blockdata::transaction"],[55,"core::result"],[56,"core::any"],[57,"core::time"]],"i":[0,0,0,0,0,4,3,4,3,4,3,3,0,4,3,0,4,3,4,3,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,3,4,3,4,3,4,4],"f":"```````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{}f}````{{{b{h}}}{{b{{`{j}}}}}}{{{b{f}}{b{dl}}}n}{cc{}}0{{{b{h}}}{{Ab{A`}}}}{ce{}{}}0{{{b{h}}Ad}{{Ab{Af}}}}{{{b{h}}}Ah}{{{b{h}}Ad{Al{Aj}}}{{Ab{{An{A`}}}}}}{{{b{h}}}{{Ab{{B`{AdA`}}}}}}{{}{{Ab{h}}}}{f{{Ab{h}}}}{{{b{h}}Ad}{{Ab{{An{A`}}}}}}{{{b{h}}Ad}{{Ab{{An{{B`{AdA`}}}}}}}}{h{{Ab{h}}}}{{{b{h}}}{{b{{`{Bb}}}}}}{{{b{h}}{b{{Aj{Bd}}}}Bf}{{Ab{Bh}}}}{c{{Bj{e}}}{}{}}000{{{b{c}}}Bl{}}0=={{{b{h}}Bn}{{Ab{Af}}}}{{{b{h}}BhBn}{{Ab{Af}}}}","D":"Bn","p":[[1,"reference"],[0,"mut"],[5,"Config",0],[5,"TestEnv",0],[10,"ElectrumApi",44],[5,"Formatter",45],[8,"Result",45],[5,"BlockHash",46],[8,"Result",47],[1,"usize"],[1,"unit"],[5,"CheckPoint",48],[5,"Address",49],[6,"Option",50],[5,"Vec",51],[1,"tuple"],[10,"RpcApi",52],[6,"NetworkChecked",49],[5,"Amount",53],[5,"Txid",54],[6,"Result",55],[5,"TypeId",56],[5,"Duration",57]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABUACAAAAAAAAwADAAgAAwANAAEAEAAAABIAAAAgAAAAIwAHAA=="}],\ -["bdk_wallet",{"t":"GGFGKFPPPFGFGPPPPPRRPGPPEPPPPKGPGGFGPFPPPPPPPPPFPFFGPPPFGTTFKFPNNONOONNNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNNONCNOQNNNNNNNNNNNNNNNNNNNNNNNNNNNCCNDNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONMMNNNNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNONNNNDNNONNNNNNONNMMNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNOONONNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","AsyncWalletPersister","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","DataAlreadyExists","Descriptor","Descriptor","Descriptor","Error","Error","External","FileStoreError","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","Load","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WalletPersister","WeightedUtxo","Write","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","apply_update_at","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","change_descriptor","check_genesis_hash","check_network","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create_async","create_single","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","deref","deref_mut","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor","descriptor_checksum","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","export","extract_keys","file_store","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","hash","hash","immature","index","indexer","init_sqlite_tables","initialize","initialize","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load_async","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","new","new","new_single","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_async","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged_mut","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","tx_update","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","eq","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","SCHEMAS_TABLE_NAME","migrate_schema","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[469,"bdk_wallet::AddForeignUtxoError"],[471,"bdk_wallet::ApplyBlockError"],[473,"bdk_wallet::LoadMismatch"],[480,"bdk_wallet::TxOrdering"],[482,"bdk_wallet::Utxo"],[485,"bdk_wallet::coin_selection"],[577,"bdk_wallet::coin_selection::Error"],[579,"bdk_wallet::coin_selection::Excess"],[584,"bdk_wallet::descriptor"],[844,"bdk_wallet::descriptor::checksum"],[845,"bdk_wallet::descriptor::error"],[878,"bdk_wallet::descriptor::policy"],[1037,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1040,"bdk_wallet::descriptor::policy::Satisfaction"],[1051,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1061,"bdk_wallet::descriptor::template"],[1245,"bdk_wallet::error"],[1316,"bdk_wallet::error::CreateTxError"],[1322,"bdk_wallet::export"],[1345,"bdk_wallet::keys"],[1661,"bdk_wallet::psbt"],[1665,"bdk_wallet::rusqlite_impl"],[1667,"bdk_wallet::signer"],[1853,"bdk_wallet::signer::SignerContext"],[1854,"bdk_wallet::tx_builder"],[1969,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1971,"bdk_wallet::tx_builder::TxOrdering"],[1973,"bdk_chain::balance"],[1974,"bdk_wallet::wallet"],[1975,"bdk_wallet::types"],[1976,"bdk_wallet::wallet::signer"],[1977,"alloc::sync"],[1978,"bitcoin::blockdata::script::owned"],[1979,"bdk_core"],[1980,"core::iter::traits::iterator"],[1981,"core::clone"],[1982,"alloc::collections::btree::map"],[1983,"bitcoin::blockdata::block"],[1984,"bdk_chain::local_chain"],[1985,"core::result"],[1986,"bdk_core::block_id"],[1987,"bitcoin::blockdata::transaction"],[1988,"core::iter::traits::collect"],[1989,"core::convert"],[1990,"core::option"],[1991,"bdk_chain::tx_graph"],[1992,"bdk_wallet::wallet::coin_selection"],[1993,"bdk_wallet::wallet::tx_builder"],[1994,"bdk_wallet::wallet::error"],[1995,"bitcoin_units::amount"],[1996,"bitcoin_units::fee_rate"],[1997,"bdk_wallet::wallet::params"],[1998,"bitcoin::network"],[1999,"bdk_core::checkpoint"],[2000,"bdk_wallet::wallet::changeset"],[2001,"core::cmp"],[2002,"bdk_wallet::wallet::persisted"],[2003,"core::marker"],[2004,"alloc::string"],[2005,"serde::de"],[2006,"bitcoin::psbt"],[2007,"core::fmt"],[2008,"bdk_chain::indexer::keychain_txout"],[2009,"bdk_chain::indexed_tx_graph"],[2010,"bdk_core::spk_client"],[2011,"rusqlite::transaction"],[2012,"rusqlite"],[2013,"bitcoin::psbt::map::input"],[2014,"core::hash"],[2015,"core::future::future"],[2016,"alloc::boxed"],[2017,"core::pin"],[2018,"bdk_wallet::wallet::utils"],[2019,"bitcoin::blockdata::script::borrowed"],[2020,"miniscript::descriptor"],[2021,"core::iter::traits::double_ended"],[2022,"secp256k1::context::alloc_only"],[2023,"secp256k1"],[2024,"serde::ser"],[2025,"core::any"],[2026,"alloc::vec"],[2027,"bitcoin::address"],[2028,"miniscript"],[2029,"miniscript::miniscript::private"],[2030,"miniscript::miniscript::decode"],[2031,"miniscript::miniscript::context"],[2032,"miniscript::iter::tree"],[2033,"miniscript::descriptor::key"],[2034,"miniscript::miniscript::satisfy"],[2035,"miniscript::plan"],[2036,"bitcoin_hashes::sha256"],[2037,"miniscript::miniscript::hash256"],[2038,"bitcoin_hashes::ripemd160"],[2039,"bitcoin_hashes::hash160"],[2040,"bitcoin::crypto::key"],[2041,"secp256k1::context"],[2042,"bdk_chain::descriptor_ext"],[2043,"miniscript::blanket_traits"],[2044,"miniscript::miniscript::analyzable"],[2045,"core::ops::range"],[2046,"core::ops::function"],[2047,"miniscript::descriptor::bare"],[2048,"miniscript::descriptor::segwitv0"],[2049,"miniscript::descriptor::sh"],[2050,"miniscript::descriptor::tr"],[2051,"miniscript::miniscript::types"],[2052,"miniscript::miniscript::types::extra_props"],[2053,"miniscript::expression"],[2054,"miniscript::miniscript::iter"],[2055,"miniscript::policy::semantic"],[2056,"miniscript::policy"],[2057,"bitcoin_units::weight"],[2058,"base58ck::error"],[2059,"bitcoin::bip32"],[2060,"hex_conservative::error"],[2061,"bitcoin::psbt::error"],[2062,"bdk_wallet::wallet::export"],[2063,"miniscript::descriptor::sortedmulti"],[2064,"core::str::traits"],[2065,"core::default"],[2066,"rand_core"],[2067,"rusqlite::error"],[2068,"bitcoin::blockdata::script::push_bytes::primitive"],[2069,"bitcoin::blockdata::locktime::absolute"],[2070,"bdk_chain"],[2071,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,0,74,262,262,0,0,0,0,263,52,52,63,64,53,56,5,0,46,64,0,5,61,260,260,0,0,72,0,0,0,0,46,0,63,63,63,63,260,64,262,61,52,0,263,0,0,0,74,261,263,0,0,47,47,0,0,0,72,1,3,48,3,66,66,3,3,3,3,3,5,5,3,66,3,0,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,3,3,0,26,47,40,40,3,1,5,44,45,46,47,26,48,1,5,44,45,46,47,26,48,5,0,44,1,51,3,51,3,50,50,50,3,1,40,47,26,51,48,51,3,44,3,0,40,47,0,3,1,5,44,47,1,5,44,45,46,47,61,48,63,64,1,1,5,5,44,44,45,45,46,46,48,48,0,0,40,0,3,1,1,5,44,45,46,47,51,72,72,61,61,52,52,3,26,48,48,63,63,64,74,74,0,1,50,40,5,44,45,46,47,47,47,47,47,51,72,61,61,52,3,26,26,26,48,63,63,64,74,47,50,3,3,3,3,5,44,1,48,47,47,53,56,3,3,3,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,96,47,3,44,44,48,3,50,40,0,26,3,3,3,3,51,3,51,40,40,40,3,3,47,50,40,3,47,0,50,3,47,50,40,50,3,3,46,44,5,3,53,56,51,51,47,3,0,3,3,3,0,0,45,3,3,46,0,0,1,5,44,47,3,3,3,66,0,0,3,3,3,3,3,3,66,0,1,5,44,45,46,47,26,48,1,72,61,52,48,63,74,1,3,66,1,1,66,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,3,47,26,46,44,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,1,45,0,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,266,266,267,267,268,269,270,270,268,269,270,271,271,272,272,272,120,120,0,121,0,0,0,0,0,120,0,121,0,120,121,119,114,115,116,120,121,119,114,115,116,114,115,116,114,115,116,117,114,115,116,0,114,115,116,119,119,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,119,116,119,119,114,115,116,120,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,120,121,119,114,115,116,273,273,274,275,275,274,275,98,276,122,0,0,0,0,0,0,128,0,0,130,0,0,132,98,276,122,0,0,0,98,276,122,132,128,0,98,276,122,98,276,122,98,276,122,132,122,149,150,128,128,122,122,149,150,128,122,149,150,128,128,128,128,0,130,149,150,130,150,130,130,149,150,130,149,150,130,130,149,150,130,149,150,130,149,150,0,122,149,150,128,122,149,150,128,122,149,150,128,128,122,122,122,122,122,122,128,122,128,122,149,150,128,122,122,149,149,150,150,128,128,0,122,128,128,159,122,128,122,122,122,149,150,128,128,122,128,122,122,122,122,122,122,122,149,150,128,128,128,122,128,128,128,122,128,128,128,122,122,128,128,122,122,149,150,128,122,149,150,128,128,122,54,98,122,122,128,128,128,122,128,128,130,149,150,128,122,128,122,130,149,150,122,122,122,122,122,122,122,122,122,122,122,122,122,122,128,130,128,122,128,128,122,149,150,128,130,149,150,122,122,0,128,122,128,122,128,128,122,122,128,122,128,130,149,150,128,0,122,149,150,128,122,128,122,130,130,122,128,122,149,150,128,122,149,150,128,128,122,149,150,128,122,122,149,150,128,128,0,57,57,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,198,194,194,0,199,0,0,198,197,0,198,198,194,194,194,198,199,160,194,199,199,0,0,0,160,160,197,198,198,0,0,198,198,198,197,197,198,199,103,200,194,160,197,198,199,103,200,194,160,197,198,199,103,200,160,197,198,199,103,200,160,103,200,200,197,198,199,103,200,194,197,197,198,198,199,199,103,103,200,200,194,194,197,198,199,103,200,194,194,160,197,198,199,199,103,103,200,194,160,103,197,200,198,103,197,198,199,103,200,194,160,198,199,200,103,200,103,103,197,198,199,103,200,200,197,198,199,103,200,160,194,197,198,199,103,200,194,160,197,198,199,103,200,194,160,197,198,199,103,200,194,160,197,198,199,103,200,194,160,277,277,277,278,279,280,279,280,279,280,279,280,279,280,281,282,283,284,285,286,286,285,287,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,201,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,202,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,0,85,218,0,85,85,36,85,36,85,85,0,85,85,85,85,85,218,85,85,85,85,85,36,36,85,36,218,85,85,218,85,36,218,85,36,218,218,218,218,85,85,36,36,218,85,85,85,85,85,85,36,218,85,36,218,218,85,36,218,85,36,218,85,36,218,85,36,218,85,36,289,289,290,290,291,292,0,0,293,220,220,220,220,220,220,220,220,220,220,220,220,293,220,220,220,220,220,220,220,195,0,0,0,0,236,236,0,0,227,0,0,0,0,195,195,195,130,0,0,127,195,195,183,132,236,230,0,230,0,0,127,132,183,0,0,0,0,127,0,227,183,132,0,294,132,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,222,130,130,130,130,130,130,130,130,130,223,127,224,222,132,183,225,226,227,223,127,224,222,132,183,225,226,227,222,132,225,227,224,224,223,132,132,222,127,195,222,132,183,225,226,227,127,127,222,222,132,132,183,183,225,225,226,226,227,227,228,127,224,195,195,222,222,132,132,183,183,225,226,227,222,230,230,230,223,228,127,224,195,195,195,222,132,132,183,225,226,227,228,228,132,183,222,132,132,236,239,239,236,236,239,230,132,222,132,225,227,230,223,228,127,224,195,222,132,183,225,226,227,132,204,210,223,223,228,132,183,210,230,223,223,132,183,230,230,132,294,127,132,183,294,127,294,127,132,132,222,225,226,222,0,132,130,222,222,0,222,130,222,132,225,226,130,228,222,132,225,227,130,222,222,222,222,132,130,222,0,223,127,224,222,132,183,225,226,227,183,195,222,132,183,130,130,222,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,230,223,228,127,224,195,222,132,183,225,226,227,0,246,246,246,0,0,252,248,252,67,248,252,67,0,67,67,67,249,67,67,67,67,67,67,67,252,248,67,249,67,0,0,0,0,0,0,0,0,249,0,0,67,86,66,66,86,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,86,248,249,250,6,86,66,252,248,249,250,6,86,66,252,248,6,6,86,66,252,250,253,253,250,250,250,248,249,6,252,248,248,249,249,6,6,252,252,86,248,67,67,249,250,6,86,66,252,248,248,248,67,249,250,6,86,66,252,248,253,250,250,250,86,248,67,249,250,6,86,66,252,250,86,248,6,86,257,250,250,250,7,250,66,86,66,248,249,250,6,86,66,252,67,66,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,295,0,0,262,262,0,263,260,260,260,262,263,0,0,261,263,35,35,35,35,35,35,35,35,35,35,261,260,263,262,35,261,260,263,262,35,35,263,262,35,263,262,262,35,35,263,262,35,35,35,35,35,262,262,262,35,35,35,35,35,261,261,260,260,263,262,35,261,260,263,262,262,35,35,261,260,263,262,35,35,35,35,35,262,35,35,35,263,263,35,263,262,261,260,35,261,260,263,262,35,261,260,263,262,35,261,260,263,262,35,35,35,261,260,263,262,266,266,271,271],"f":"```````````````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{df}}c{Ch{Bn}}}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Cj}{{{h{j}}}{{h{{Cl{Cj}}}}}}{{{h{f}}}{{h{{D`{Cn}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}00000000000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000000000{{{h{df}}Db}{{Bf{{Df{Dd}}Dh}}}}{{{h{df}}}{{Df{Dd}}}}{{{h{f}}{h{Bl}}}{{Bf{DjDl}}}}{{{h{f}}{h{Bl}}}{{Bf{DnDl}}}}{{{h{df}}{h{Bl}}}Ab}```{{E`Eb}E`}{{E`Ed}E`}{{{h{f}}}Ef}{{{h{b}}}b}{{{h{j}}}j}{{{h{Eh}}}Eh}{{{h{Ej}}}Ej}{{{h{El}}}El}{{{h{En}}}En}{{{h{Cd}}}Cd}{{{h{F`}}}F`}{{{h{c}}{h{de}}}Ab{}{}}0000000{{{h{j}}{h{j}}}Fb}```{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}Fj}{{cc}Fd{FlFnAl}}{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}G`}{cFd{FlFnAl}}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}Fj}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}G`}{Fd{{Bf{fGb}}}}0{{}b}{{}E`}{{}En}{{}Cd}{{{h{{Ff{c}}}}}{{h{e}}}{}{}}{{{h{F`}}}{{h{c}}}{}}{{{h{d{Ff{c}}}}}{{h{de}}}{}{}}{{{h{f}}j}{{Ch{Bb}}}}`{{{h{f}}Af}{{Ch{{C`{jBb}}}}}}`{{E`j{Ch{c}}}E`{FlFn}}``{{{h{f}}j}Gd}{c{{Bf{b}}}Gf}{c{{Bf{j}}}Gf}{c{{Bf{Eh}}}Gf}{c{{Bf{En}}}Gf}{{{h{b}}{h{b}}}Gh}{{{h{j}}{h{j}}}Gh}{{{h{Eh}}{h{Eh}}}Gh}{{{h{Ej}}{h{Ej}}}Gh}{{{h{El}}{h{El}}}Gh}{{{h{En}}{h{En}}}Gh}{{{h{{Gj{c}}}}{h{{Gj{c}}}}}GhGl}{{{h{F`}}{h{F`}}}Gh}{{{h{Gn}}{h{Gn}}}Gh}{{{h{H`}}{h{H`}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000``{E`E`}`{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}{{{h{b}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{j}}{h{dHh}}}Hl}{{{h{Eh}}{h{dHh}}}Hl}{{{h{Ej}}{h{dHh}}}Hl}{{{h{El}}{h{dHh}}}Hl}{{{h{En}}{h{dHh}}}Hl}{{{h{{Ff{c}}}}{h{dHh}}}HlHn}{{{h{I`}}{h{dHh}}}Hl}0{{{h{{Gj{c}}}}{h{dHh}}}HlIb}{{{h{{Gj{c}}}}{h{dHh}}}HlHn}{{{h{{Fh{c}}}}{h{dHh}}}HlIb}{{{h{{Fh{c}}}}{h{dHh}}}HlHn}{{{h{f}}{h{dHh}}}Hl}{{{h{Cd}}{h{dHh}}}Hl}{{{h{F`}}{h{dHh}}}Hl}0{{{h{Gn}}{h{dHh}}}Hl}0{{{h{H`}}{h{dHh}}}Hl}{{{h{Id}}{h{dHh}}}Hl}0`{cc{}}000000{IfEn}{IhEn}{{{Ij{CnIf}}}En}{{{Il{Cn}}}En}444{H`{{Gj{c}}}{}}5555{{{In{j}}}Cd}{J`Cd}77{H`Gn}88{{{h{Jb}}}{{Jd{En}}}}{{FdEb}Fd}{{{h{f}}Eh{Ch{Jf}}Gh}{{Bf{JhJj}}}}{{{h{f}}j}{{A`{Jl}}}}{{{h{f}}Db}{{Ch{{Jn{{A`{Bl}}Cn}}}}}}{{{h{f}}K`}{{Ch{Eh}}}}{{{h{j}}{h{dc}}}AbKb}{{{h{Eh}}{h{dc}}}AbKb}```{{{h{Jb}}}{{Jd{Ab}}}}{{{h{d{Fj{}{{Kd{c}}}}}}}{{Bf{Enc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{df}}Bh}{{Bf{GhKl}}}}{{{h{df}}Bl}Gh}{{{h{df}}K`Kn}Ab}{ce{}{}}00000000000000000{{{h{L`}}{h{Lb}}}Gh}{{{h{En}}}Gh}{{{h{f}}Af}Gh}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Ld}}}}}}}}}}}}{{FdjLf}Fd}{{E`jLf}E`}``{{{h{f}}}Lh}{{{h{f}}}{{`{{Aj{}{{Ad{Eh}}}}}}}}0{{{h{f}}j}{{`{{Lj{}{{Ad{F`}}}}}}}}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{}E`}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`En}{{Bf{{Ch{f}}Gn}}}}{{EnE`}{{Bf{{Ch{f}}Gn}}}}{{{h{f}}}{{h{Ll}}}}`{{FdBb}Fd}{{E`Bb}E`}{{{h{df}}jBb}Gh}{{{h{dEn}}En}Ab}`{{FdEd}Fd}{{{h{f}}}Ed}`{{cc}Fd{FlFn}}={cFd{FlFn}}{{{h{f}}j}Bb}{{{h{df}}j}F`}{{{h{El}}}K`}`{{{h{j}}{h{j}}}{{Ch{Fb}}}}{{{h{f}}jBb}F`}{{{h{d{Fj{}{{Kd{c}}}}}}{h{En}}}{{Bf{Abc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}{h{En}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}Fj}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}G`}{{{h{En}}{h{Jb}}}{{Jd{Ab}}}}{{{h{f}}j}{{Bf{{Ch{Ln}}Gb}}}}`{{{h{f}}j}{{h{Ld}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{F`}}}}}}}};```{{{h{f}}}{{h{{Mb{M`}}}}}}{{{h{f}}{h{Bl}}}{{C`{DjDj}}}}{{{h{El}}}{{Ch{Md}}}}``{{{h{b}}c}BfMf}{{{h{j}}c}BfMf}{{{h{Eh}}c}BfMf}{{{h{En}}c}BfMf}{{{h{df}}jLf}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jLf}}}}}}}}{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}```{{{h{f}}}{{h{{Mh{j}}}}}}{{{h{f}}}{{Ch{{h{En}}}}}}{{{h{df}}}{{Ch{{h{dEn}}}}}}{{{h{f}}}{{Mj{j}}}}{{{h{f}}}{{Ml{{C`{jBb}}}}}}{{{h{df}}}{{Ch{En}}}}``{{{h{c}}}e{}{}}0000000{{{h{c}}}Gd{}}000000{{{h{b}}}Dj}{{{h{f}}}{{`{{Aj{}{{Ad{{Jn{{A`{Bl}}Cn}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}00000000000000000000000000000000000`{{{h{f}}}{{h{{D`{Cn}}}}}}``{{{h{El}}}{{h{Kn}}}}`{{{h{c}}}Mn{}}00000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{N`{{A`{Bl}}Cn}}}}}}}}}}{{{h{df}}jBb}Gh}``{{}{{h{Nb}}}}{ce{}{}}00000000000000000{{c{Ch{c}}Ed{h{{Mb{M`}}}}}{{Bf{GdGb}}}Fl}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Nd}}}Nd}{{{h{Nf}}}Nf}{{{h{Nh}}}Nh}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Nj}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nd}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nf}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{{h{Nh}}{Nl{Ej}}{Nl{Ej}}DnBn{h{Lb}}}{{Bf{NnO`}}}}{{BnDn{h{Lb}}}Ob}{{}Nd}{{}Nf}{{}Nh}``{{{h{O`}}{h{dHh}}}Hl}0{{{h{Ob}}{h{dHh}}}Hl}{{{h{Nn}}{h{dHh}}}Hl}{{{h{Nd}}{h{dHh}}}Hl}{{{h{Nf}}{h{dHh}}}Hl}{{{h{Nh}}{h{dHh}}}Hl}{cc{}}00000{ce{}{}}00000{{{h{Nn}}}Bn}{BnNh}`1{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mn{}}00000666666`````````````````````````````````````````````{{{h{{Od{c}}}}Ed}{{Bf{OfOh}}}{OjOl}}{{}On}0{{{h{{A@`{ce}}}}}{{h{{A@b{ce}}}}}OjA@d}{{{h{{h{{A@`{ce}}}}}}}{{A@f{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{A@`{ce}}}}}{{Nl{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}0`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@`{cABl}}}}}{{Bf{AbAAf}}}Oj}2022102102{{{h{c}}}{{Bf{AbAAf}}}Oj}00{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@b{cABj}}}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{cABl}}}}}{{Bf{AbAAf}}}Oj}{{{h{{Cl{{Nl{Cj}}}}}}}{{Bf{AbAAf}}}}00`{{{h{{Od{c}}}}}{{Od{c}}}{AlOj}}{{{h{ABj}}}ABj}{{{h{ABl}}}ABl}{{{h{{A@`{ce}}}}}{{A@`{ce}}}{AlOj}{AlA@d}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Od{c}}}}{h{{Od{c}}}}}Fb{ABnOj}}{{{h{ABj}}{h{ABj}}}Fb}{{{h{ABl}}{h{ABl}}}Fb}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}FbOjA@d}{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{A@h}}}}Bb}{{Bf{{Od{A@j}}A@l}}}}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}Bb}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{A@j}}}}{h{{Mb{c}}}}}{{Bf{{Od{AC`}}A@l}}}ACb}{{{h{{Od{c}}}}}ACdOj}{{{h{{Od{A@h}}}}}ACf}{c{{Bf{{Od{e}}}}}GfACh}{c{{Bf{{A@`{eg}}}}}GfAChA@d}{{{h{{Od{A@h}}}}}Bn}{{{h{{A@`{ce}}}}}Af{OlOj}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}Gh{GlOj}}{{{h{ABj}}{h{ABj}}}Gh}{{{h{ABl}}{h{ABl}}}Gh}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}GhOjA@d}{{{h{c}}{h{e}}}Gh{}{}}0000000`{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}`{{{h{{A@`{ce}}}}{h{ACj}}}{{Bf{AbACl}}}OjA@d}{{{h{ACn}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{Od{A@h}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{A@`{A@hc}}}}{h{Jl}}AD`{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}A@d}{{{h{{Od{A@h}}}}{h{{Mb{c}}}}{h{Lb}}{ADb{Bb}}}{{Bf{{Ch{{C`{Bb{Od{AC`}}}}}}A@l}}}ACb}{{{h{{Od{c}}}}{h{dHh}}}{{Bf{AbHj}}}Oj}0{{{h{ABj}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ABl}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{A@`{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{{Od{c}}}}e}GhOj{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{h{{A@`{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{{{ADh{c}}}{{Od{c}}}Oj}{cc{}}{{{ADj{c}}}{{Od{c}}}Oj}{{{ADl{c}}}{{Od{c}}}Oj}{{{ADn{c}}}{{Od{c}}}Oj}{{{AE`{c}}}{{Od{c}}}Oj}{{{AEb{c}}}{{Od{c}}}Oj}555{{{A@b{ce}}}{{Bf{{A@`{ce}}Oh}}}OjA@d}{{{A@b{ce}}AEdAEf}{{A@`{ce}}}OjA@d}{{{h{Nb}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{Nb}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{Nb}}{h{ACj}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}1{{{h{AEh}}}{{Bf{{Od{c}}Oh}}}ACh}{{{h{AEh}}}{{Bf{{A@`{ce}}Oh}}}AChA@d}{{{h{{A@`{ce}}}}AEj}{{Ch{{h{{A@`{ce}}}}}}}OjA@d}{{{h{{A@`{ce}}}}AEj}{{Ch{c}}}OjA@d}{{{h{{Od{c}}}}e}{{Bf{{C`{{Nl{{Nl{Cj}}}}Af}}Oh}}}{OjOl}{{AEl{c}}}}0{{{h{{A@`{ce}}}}}GhOjA@d}0{{{h{{Od{A@h}}}}}Gh}{{{h{{Od{c}}}}{h{de}}}Ab{AEnOj}Kb}{{{h{ABj}}{h{dc}}}AbKb}{{{h{ABl}}{h{dc}}}AbKb}{{{h{{A@`{ce}}}}{h{dg}}}AbOjA@dKb}{ce{}{}}000{{{A@`{ce}}}{{A@b{ce}}}OjA@d}{{{Od{A@h}}}{{Bf{{Nl{{Od{A@h}}}}Oh}}}}{{Fl{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{Ld{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}99:{{{h{{A@`{ce}}}}}{{AF`{ce}}}OjA@d}{{{h{{A@`{ce}}}}}{{AFb{ce}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{{AFd{c}}Oh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{{h{{A@`{ce}}}}}{{Bf{AbAFf}}}OjA@d}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Ch{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{A@`{cABj}}}}}{{Ch{AEj}}}Oj}{{{h{{A@`{cABl}}}}}{{Ch{AEj}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AEjOh}}}OjA@d}{{{h{{Od{c}}}}}{{Bf{AEjOh}}}Oj}1{{{h{{Od{c}}}}}{{Bf{AFhOh}}}Oj}{{}{{h{Nb}}}}00{{{A@`{cAFj}}}{{Bf{{Od{c}}Oh}}}Oj}{c{{Od{c}}}Oj}{c{{Bf{{Od{c}}Oh}}}Oj}{{{A@`{cABj}}}{{Bf{{Od{c}}Oh}}}Oj}{{AEj{Nl{c}}}{{Bf{{Od{c}}Oh}}}Oj}{{{ADj{c}}}{{Od{c}}}Oj}{{{ADl{c}}}{{Od{c}}}Oj}4{{{A@`{cABl}}}{{Bf{{Od{c}}Oh}}}Oj}3{{c{Ch{{AFl{c}}}}}{{Bf{{Od{c}}Oh}}}Oj}614`{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{Lb}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Mb{c}}}}{h{Nb}}}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}Oh}}}AG`}1{{{h{Lb}}{h{ACj}}}{{Bf{{A@`{c}}Oh}}}A@d}{{{h{{Od{c}}}}{h{{Od{c}}}}}{{Ch{Fb}}}{AGbOj}}{{{h{ABj}}{h{ABj}}}{{Ch{Fb}}}}{{{h{ABl}}{h{ABl}}}{{Ch{Fb}}}}{{{h{{A@`{ce}}}}{h{{A@`{ce}}}}}{{Ch{Fb}}}OjA@d}{{{h{c}}}AEjOj}00{{{Od{A@j}}{h{c}}}{{Bf{AGd{Od{A@j}}}}}{{AAb{A@j}}}}0`{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{{Od{c}}}}}{{Bf{AbOh}}}Oj}{{{h{{A@`{ce}}}}}{{Bf{AbACl}}}OjA@d}{{{h{{Od{c}}}}{h{dAGf}}e}{{Bf{AbOh}}}{OjOl}{{AEl{c}}}}{{{h{{A@`{ce}}}}g}{{Bf{{Nl{{Nl{Cj}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}0{{{h{{Od{c}}}}}{{Bf{AfOh}}}{OjOl}}{{{h{{Od{c}}}}}Af{OjOl}}{{{h{{A@`{ce}}}}}AEjOjA@d}{{{h{{Od{c}}}}e}BfOjMf}{{{h{{A@`{ce}}}}g}BfOjA@dMf}{{}AGh}00{{{h{{A@`{ce}}}}{h{{An{ABfc}}}}}{{A@`{ce}}}OjA@d}`{{{h{c}}}e{}{}}000{{{h{c}}}Gd{}}0{{{h{{Od{A@h}}}}{h{{An{A@hAFn}}}}}Gd}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{Od{c}}}}{h{di}}}{{Bf{{AGj{g}}}}}OjOj{}{{AGl{ceg}}}}{{{h{{A@`{ce}}}}{h{dk}}}{{Bf{{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mn{}}000={ce{}{}}000{{{h{{A@`{ce}}}}}GhOjA@d}{{{h{Nb}}}{{Bf{GdGb}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Gb}}{h{Gb}}}Gh}{{{h{Gb}}{h{dHh}}}Hl}0{AGnGb}{AH`Gb}{AHbGb}{OhGb}{AHdGb}{AHfGb}{AHhGb}{cc{}}>{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mn{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AHj}}}AHj}{{{h{AHl}}}AHl}{{{h{AHn}}}AHn}{{{h{Ln}}}Ln}{{{h{AI`}}}AI`}{{{h{AD`}}}AD`}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AI`}{{{h{AHj}}{h{AHj}}}Gh}{{{h{AHl}}{h{AHl}}}Gh}{{{h{AHn}}{h{AHn}}}Gh}{{{h{Ln}}{h{Ln}}}Gh}{{{h{AI`}}{h{AI`}}}Gh}{{{h{AHd}}{h{AHd}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000{{{h{AHj}}{h{dHh}}}Hl}{{{h{AHl}}{h{dHh}}}Hl}{{{h{AHn}}{h{dHh}}}Hl}{{{h{Ln}}{h{dHh}}}Hl}{{{h{AI`}}{h{dHh}}}Hl}{{{h{AHd}}{h{dHh}}}Hl}0{{{h{AD`}}{h{dHh}}}Hl}{cc{}}00{GhAHn}{AHlLn}2222{{{h{Ln}}{h{{An{Gd{Nl{AEj}}}}}}}{{Bf{AI`AHd}}}}{{{h{AHj}}{h{dc}}}AbKb}{{{h{AI`}}{h{dc}}}AbKb}{{{h{AHl}}}Gd}`{ce{}{}}000000{{{h{AHl}}}Gh}{{{h{AHn}}}Gh}{{{h{AI`}}}Gh}`{{{h{AI`}}{h{AI`}}}{{Ch{Fb}}}}{{{h{Ln}}}Gh}`{{{h{AHj}}c}BfMf}{{{h{AHl}}c}BfMf}{{{h{AHn}}c}BfMf}{{{h{Ln}}c}BfMf}{{{h{AI`}}c}BfMf}`{{{h{c}}}e{}{}}00000{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mn{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AIbEd}{{Bf{AIdGb}}}}{{{AIf{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABj}}}}{{{AIj{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABl}}}}{{{AIl{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABl}}}}{{{AIn{c}}Ed}{{Bf{AIdGb}}}{{AIh{AJ`}}}}{{{AJb{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABj}}}}{{{AJf{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABj}}}}{{{AJh{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJj{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJl{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AJn{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABl}}}}{{{AK`{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{AKb{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{ABj}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{ABl}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{ABl}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AJ`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AJd{ABj}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AJd{ABj}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AJd{ABl}}}}{{{h{{AJj{c}}}}}{{AJj{c}}}{Al{AJd{ABl}}}}{{{h{{AJl{c}}}}}{{AJl{c}}}{Al{AJd{ABl}}}}{{{h{{AJn{c}}}}}{{AJn{c}}}{Al{AJd{ABl}}}}{{{h{{AK`{c}}}}}{{AK`{c}}}{Al{AJd{AJ`}}}}{{{h{{AKb{c}}}}}{{AKb{c}}}{Al{AJd{AJ`}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AIf{c}}}}{h{dHh}}}Hl{Hn{AIh{ABj}}}}{{{h{{AIj{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIl{c}}}}{h{dHh}}}Hl{Hn{AIh{ABl}}}}{{{h{{AIn{c}}}}{h{dHh}}}Hl{Hn{AIh{AJ`}}}}{{{h{{AJb{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJf{c}}}}{h{dHh}}}Hl{Hn{AJd{ABj}}}}{{{h{{AJh{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJj{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJl{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AJn{c}}}}{h{dHh}}}Hl{Hn{AJd{ABl}}}}{{{h{{AK`{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{{{h{{AKb{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{cc{}}00000000000{ce{}{}}00000000000{{AId{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{c{h{{Mb{M`}}}}Ed}{{Bf{{C`{{Od{A@h}}{An{A@hAFn}}}}Gb}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AKd}}}AKd}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AKd}}{h{dHh}}}Hl}0{{{h{Jj}}{h{dHh}}}Hl}0{{{h{Dh}}{h{dHh}}}Hl}0={AHdJj}{GbJj}{AKfJj}{AKdJj}{cc{}}{O`Jj}1{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Gd{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mn{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AKh}}}{{Ch{Gd}}}}{{{h{AKh}}}Gd}{c{{Bf{AKh}}}Gf}{{{h{f}}{h{Nb}}Gh}{{Bf{AKh{h{Nb}}}}}}{{{h{AKh}}{h{dHh}}}Hl}0={{{h{Nb}}}{{Bf{AKhc}}}{}}<``{{{h{AKh}}c}BfMf};::9=```````````````````````````````````````````{{}AKj}{{}On}{{A@hBb}{{Bf{A@jA@l}}}};;;;;;;;;;;;::::::::::::{{{h{{AKl{ce}}}}{h{g}}}{{AA`{{A@n{c}}}}}{OlOj}A@d{{AAb{c}}}}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}00000{{{h{c}}}{{Bf{AbAAf}}}Oj}{{{h{{A@b{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbAAf}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{h{{Cl{{Nl{Cj}}}}}}}{{Bf{AbAAf}}}}{{{h{{AKn{ce}}}}}{{AKn{ce}}}AlA@d}{{{h{On}}}On}{{{h{AL`}}}AL`}{{{h{{AKl{ce}}}}}{{AKl{ce}}}{AlOj}{AlA@d}}{{{h{A@h}}}A@h}{{{h{AFn}}}AFn}{{{h{ALb}}}ALb}{{{h{ALd}}}ALd}{{{h{ALf}}}ALf}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Fb{ABnOj}{ABnA@d}}{{{h{A@h}}{h{A@h}}}Fb}{{{h{ALb}}{h{ALb}}}Fb}{{{h{ALf}}{h{ALf}}}Fb}`{{}AL`}{{{h{{AKn{ce}}}}}{{h{g}}}{}A@d{}}{{A@hBb}{{Bf{A@jA@l}}}}{c{{Bf{A@h}}}Gf}{{{h{{AKl{ce}}}}}Af{OlOj}A@d}{{{h{On}}{h{On}}}Gh}{{{h{AHf}}{h{AHf}}}Gh}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Gh{GlOj}{GlA@d}}{{{h{A@h}}{h{A@h}}}Gh}{{{h{AFn}}{h{AFn}}}Gh}{{{h{ALb}}{h{ALb}}}Gh}{{{h{ALd}}{h{ALd}}}Gh}{{{h{ALf}}{h{ALf}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000000000{{{h{{ALh{c}}}}{h{dHh}}}Hl{HnA@d}}{{{h{On}}{h{dHh}}}Hl}{{{h{AL`}}{h{dHh}}}Hl}{{{h{AHf}}{h{dHh}}}Hl}0{{{h{{AKl{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OjA@d}0{{{h{A@h}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{AFn}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{ALb}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALd}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALf}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{AKl{ce}}}}g}GhOjA@d{{ADf{{h{c}}}{{ADd{Gh}}}}}}{ALj{{ALl{c}}}A@d}{ALn{{ALl{c}}}A@d}{cc{}}00000{OhAHf}{AHbAHf}2{A@jA@h}33333{{A@hAKj}{{ALh{c}}}A@d}{{AFnAKj}{{ALh{c}}}A@d}{{{h{Nb}}}{{Bf{A@h}}}}{{{h{Nb}}}{{Bf{AFn}}}}{{{h{AEh}}}{{Bf{{AKl{ce}}Oh}}}{AM`Oj}A@d}{{{h{A@h}}}{{Ch{AMb}}}}{{{h{A@h}}}{{Nl{AMb}}}}{c{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{{}{{Bf{{AKn{AMnc}}e}}}A@d{}}{{{h{dc}}}{{Bf{{AKn{AMne}}g}}}{AN`ANb}A@d{}}{{c{h{de}}}{{Bf{{AKn{{AMh{}{{AMd{g}}{AMf{c}}{Kd{i}}}}k}}i}}}{}{AN`ANb}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{{ce}{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@d}{c{{Bf{{AKn{AMne}}g}}}{}A@d{}}{{{h{{ALl{c}}}}}GhA@d}{{{h{A@h}}}Gh}{{{h{{AKl{ce}}}}{h{dg}}}Ab{AEnOj}{AEnA@d}Kb}{{{h{A@h}}{h{dc}}}AbKb}{{{h{ALb}}{h{dc}}}AbKb}{{{h{ALf}}{h{dc}}}AbKb}{ce{}{}}00000000000{A@hANd}{AIh{{Bf{{ALh{c}}AHf}}}A@d}{{AJd{Ch{ANf}}AMb}{{Bf{{ALh{c}}AHf}}}A@d}{{{AKn{ec}}}{{Bf{{ALh{c}}AHf}}}A@d{{AIh{c}}}}{{{AKn{ec}}{Ch{ANf}}AMb}{{Bf{{ALh{c}}AHf}}}A@d{{AJd{c}}}}{{{ALh{c}}}{{Bf{{ALh{c}}AHf}}}A@d}{A@h{{Bf{{ALh{c}}AHf}}}A@d}{AFn{{Bf{{ALh{c}}AHf}}}A@d}{AJd{{Bf{{ALl{c}}AHf}}}A@d}{{{ALl{c}}}{{Bf{{ALl{c}}AHf}}}A@d}{{{AKn{ec}}}{{Bf{{ALl{c}}AHf}}}A@d{{AJd{c}}}}{{{AKn{ce}}}c{}A@d}{A@h{{Nl{A@h}}}}{AFn{{Nl{AFn}}}}{{{ALl{c}}Ed}{{Ch{ALj}}}A@d}{{{ALl{c}}Ed{h{{Mb{e}}}}}ALnA@dAG`}{{{h{A@h}}}Gh}{{}Gh}{{{h{On}}}Gh}2{{{h{AFn}}}Gh}212133{{{h{{AKl{ce}}}}}AEjOjA@d}``{{{h{{AKl{ce}}}}}{{Bf{{AFd{c}}Oh}}}OjA@d}{{}AKj}{{{h{A@h}}}ANh}{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Ch{AEj}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}44{{{h{AKj}}{h{AKj}}}AKj}5{{}{{h{Nb}}}}{{AEj{Nl{c}}}{{Bf{{AKl{ce}}Oh}}}OjA@d}{{{h{A@h}}}AEj}``{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}{{{ALh{c}}AKj}{{ALh{c}}}A@d}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}{{Ch{Fb}}}{AGbOj}{AGbA@d}}{{{h{A@h}}{h{A@h}}}{{Ch{Fb}}}}{{{h{ALb}}{h{ALb}}}{{Ch{Fb}}}}{{{h{ALf}}{h{ALf}}}{{Ch{Fb}}}}{{{h{c}}}AEjOj}{{{h{{AKl{ce}}}}}{{h{{Cl{c}}}}}OjA@d}{{{h{{AKl{ce}}}}}{{Bf{AbOh}}}OjA@d}{{{h{{AKl{ce}}}}g}{{Bf{{Nl{{Nl{Cj}}}}Oh}}}{OlOj}A@d{{AEl{c}}}}{{{h{{AKl{ce}}}}}AEjOjA@d}{{{h{A@h}}c}BfMf}{{}AGh}{{{h{{AKl{ce}}}}}{{A@b{ce}}}{OlOj}A@d}{{}AKj}{{{h{c}}}e{}{}}00000000{{{h{AFn}}{h{{Mb{c}}}}}{{Bf{A@hANj}}}AG`}{{{h{c}}}Gd{}}000{{{h{{A@`{c{A@d{}{{AAd{e}}}}}}}}}{{Bf{AbOh}}}Oj{{ABh{}{{AAh{AAj}}{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}}}OjOjOjOj}}0{{{h{{AKl{ce}}}}{h{dk}}}{{Bf{{AKl{ge}}{AGj{i}}}}}OjA@dOj{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mn{}}00000000000{ce{}{}}00000000000`{{{h{ANl}}}{{Ch{Dj}}}}{{{h{ANl}}}{{Ch{Dn}}}}{{{h{ANl}}AEj}{{Ch{Kn}}}}`{{{h{Jb}}{h{Nb}}{h{{Cl{{h{{Cl{{h{Nb}}}}}}}}}}}{{Bf{AbANn}}}}````````````````````````````````````{{{h{dJl}}AO`l{A`{n}}}{{Ch{{A`{n}}}}}}``{{{h{Jl}}{h{{Mb{M`}}}}}Lf}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Lf{h{{Od{A@h}}}}{h{{Mb{M`}}}}}Jl}{{{h{AO`}}}AO`}{{{h{AOb}}}AOb}{{{h{{AOd{c}}}}}{{AOd{c}}}{AlAOfHnAl}}{{{h{l}}}l}{{{h{Jl}}}Jl}{{{h{Hd}}}Hd}{{{h{AOh}}}AOh}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{AO`}}{h{AO`}}}Fb}{{{h{l}}{h{l}}}Fb}{{}l}{{}Jl}{{}Hd}{{}AOh}{{{h{{AOd{c}}}}}{{h{e}}}{AOfHnAl}{}}{{{h{AOj}}}{{Ch{AFn}}}}0{{{h{{AOd{{AOl{ALj}}}}}}}{{Ch{AFn}}}}{{{h{{AOd{{AOn{ALj}}}}}}}{{Ch{AFn}}}}{{{h{{AOd{B@`}}}}}{{Ch{AFn}}}}{{{h{AO`}}{h{AO`}}}Gh}{{{h{AOb}}{h{AOb}}}Gh}{{{h{l}}{h{l}}}Gh}{{{h{AOh}}{h{AOh}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000{{{h{Jl}}AO`}{{Ch{{h{{A`{n}}}}}}}}{{{h{AO`}}{h{dHh}}}Hl}{{{h{Hf}}{h{dHh}}}Hl}0{{{h{AOb}}{h{dHh}}}Hl}{{{h{{AOd{c}}}}{h{dHh}}}Hl{HnAOfHnAl}}{{{h{l}}{h{dHh}}}Hl}{{{h{Jl}}{h{dHh}}}Hl}{{{h{Hd}}{h{dHh}}}Hl}{{{h{AOh}}{h{dHh}}}Hl}{ANhAO`}{ABfAO`}{cc{}}0000000{{{h{AO`}}{h{dc}}}AbKb}{{{h{AOj}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{AOn{ALj}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{AOl{ALj}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{B@`}}}}{h{{Mb{M`}}}}}AO`}{{{h{Jl}}}{{Nl{{h{AO`}}}}}}{ce{}{}}0000000{{cAOb}{{AOd{c}}}{AOfHnAl}}{{}Jl}{{{h{AO`}}{h{AO`}}}{{Ch{Fb}}}}{{{h{l}}{h{l}}}{{Ch{Fb}}}}{{{h{dJl}}AO`l}{{Ch{{A`{n}}}}}}{{{h{B@b}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{B@`}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{AOn{ALj}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{AOl{ALj}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{n}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{c}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}{}}`{{{h{Jl}}}{{Nl{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Gd{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mn{}}0000000{ce{}{}}0000000````````````````{{{h{d{Df{c}}}}{h{e}}}{{h{d{Df{c}}}}}{}{{B@f{B@d}}}}{{{h{d{Df{c}}}}K`JhAFh}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}K`JhAFhMd}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}AfDj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}{h{{Cl{K`}}}}}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}Gh}{{h{d{Df{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Df{c}}}}B@l}{{h{d{Df{c}}}}}{}}{{{h{{Df{c}}}}}{{Df{c}}}Al}{{{h{B@n}}}B@n}{{{h{B@l}}}B@l}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@l}}{h{B@l}}}Fb}{{{Df{c}}e}{{Df{e}}}{}Nj}{{{h{d{Df{c}}}}Bb}{{h{d{Df{c}}}}}{}}{{}B@n}{{}B@l}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Af}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}Md}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0{{{h{d{Df{c}}}}Dj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Dn}{{h{d{Df{c}}}}}{}}{{{Df{c}}}{{Bf{HbJj}}}Nj}{{{Df{c}}{h{de}}}{{Bf{HbJj}}}NjANb}{{{h{{Df{c}}}}{h{dHh}}}HlHn}{{{h{B@j}}{h{dHh}}}Hl}0{{{h{B@h}}{h{dHh}}}Hl}0{{{h{B@n}}{h{dHh}}}Hl}{{{h{B@l}}{h{dHh}}}Hl}{cc{}}0000{{{h{B@l}}{h{dc}}}AbKb}?{ce{}{}}0000{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BA`}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}B@n}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}{{Ch{Fb}}}}{{{h{d{Df{c}}}}{An{Gd{Nl{AEj}}}}j}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}{Nl{{C`{AfDj}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Jf}{{h{d{Df{c}}}}}{}}{{{h{B@n}}{h{dBl}}}Ab}{{{h{B@n}}{h{dBl}}{h{dc}}}AbANb}{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mn{}}0000{{{h{d{Df{c}}}}{Nl{K`}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BAb}{{h{d{Df{c}}}}}{}}?????````","D":"GCh","p":[[5,"Balance",0,1973],[0,"mut"],[5,"Wallet",0,1974],[1,"reference"],[6,"KeychainKind",0,1975],[5,"SignerOrdering",1667,1976],[10,"TransactionSigner",1667,1976],[5,"Arc",1977],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1978],[8,"Indexed",1979],[10,"Iterator",1980],[10,"Clone",1981],[5,"BTreeMap",1982],[5,"Block",1983],[1,"u32"],[5,"CannotConnectError",1984],[6,"Result",1985],[5,"BlockId",1986],[6,"ApplyHeaderError",1984],[5,"Transaction",1987],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1988],[5,"Update",0,1974],[10,"Into",1989],[6,"Option",1990],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1986],[5,"TxGraph",1991],[5,"Txid",1987],[8,"DefaultCoinSelectionAlgorithm",485,1992],[5,"TxBuilder",1854,1993],[6,"BuildFeeBumpError",1245,1994],[5,"Amount",1995],[6,"CalculateFeeError",1991],[5,"FeeRate",1996],[5,"LoadParams",0,1997],[5,"BlockHash",1983],[6,"Network",1998],[5,"CheckPointIter",1999],[5,"LocalOutput",0,1975],[5,"WeightedUtxo",0,1975],[6,"Utxo",0,1975],[5,"ChangeSet",0,2000],[5,"AddressInfo",0,1974],[6,"Ordering",2001],[5,"CreateParams",0,1997],[5,"PersistedWallet",0,2002],[6,"CreateWithPersistError",0,2002],[10,"WalletPersister",0,2002],[10,"IntoWalletDescriptor",584],[10,"Send",2003],[10,"AsyncWalletPersister",0,2002],[6,"Error",845],[5,"String",2004],[10,"Deserializer",2005],[1,"bool"],[6,"LoadWithPersistError",0,2002],[10,"PartialEq",2001],[6,"LoadError",0,1974],[6,"LoadMismatch",0,1974],[5,"Psbt",2006],[5,"SignOptions",1667,1976],[6,"SignerError",1667,1976],[5,"Formatter",2007],[5,"Error",2007],[8,"Result",2007],[10,"Debug",2007],[6,"FileStoreError",0,2002],[10,"Display",2007],[6,"ApplyBlockError",0,1974],[5,"ChangeSet",2008],[5,"ChangeSet",1984],[5,"ChangeSet",2009],[5,"ChangeSet",1991],[5,"FullScanResult",2010],[5,"SyncResult",2010],[5,"Transaction",2011],[8,"Result",2012],[5,"PsbtSighashType",2013],[5,"Input",2013],[6,"CreateTxError",1245,1994],[5,"SignersContainer",1667,1976],[5,"CanonicalTx",1991],[5,"OutPoint",1987],[10,"Hasher",2014],[17,"Error"],[10,"Future",2015],[5,"Box",2016],[5,"Pin",2017],[5,"AlterCheckPointError",1984],[5,"TxOut",1987],[10,"IsDust",0,2018],[5,"Script",2019],[8,"ExtendedDescriptor",584],[8,"KeyMap",1345,2020],[5,"CheckPoint",1999],[10,"DoubleEndedIterator",2021],[5,"LocalChain",1984],[5,"Policy",878],[6,"All",2022],[5,"Secp256k1",2023],[5,"Sequence",1987],[10,"Serializer",2024],[5,"KeychainTxOutIndex",2008],[5,"FullScanRequestBuilder",2010],[5,"SyncRequestBuilder",2010],[5,"TypeId",2025],[5,"TxNode",1991],[1,"str"],[5,"LargestFirstCoinSelection",485,1992],[5,"OldestFirstCoinSelection",485,1992],[5,"BranchAndBoundCoinSelection",485,1992],[10,"CoinSelectionAlgorithm",485,1992],[5,"Vec",2026],[5,"CoinSelectionResult",485,1992],[6,"Error",485,1992],[6,"Excess",485,1992],[6,"Descriptor",584,2020],[5,"Address",2027],[6,"Error",2028],[10,"MiniscriptKey",2028],[10,"ToPublicKey",2028],[6,"ScriptContextEnum",1345],[5,"Miniscript",584,2029],[6,"Terminal",2030],[10,"ScriptContext",1345,2031],[6,"Tree",2032],[6,"DescriptorPublicKey",1345,2033],[5,"DefiniteDescriptorKey",2033],[6,"ConversionError",2033],[6,"Placeholder",2034],[5,"Satisfaction",2034],[10,"AssetProvider",2035],[17,"Key"],[6,"ScriptContextError",2031],[17,"Sha256"],[5,"Hash",2036],[17,"Hash256"],[5,"Hash",2037],[17,"Ripemd160"],[5,"Hash",2038],[17,"Hash160"],[5,"Hash",2039],[10,"ParseableKey",2030],[6,"Legacy",584,2031],[6,"Segwitv0",584,2031],[10,"Ord",2001],[5,"PublicKey",2040],[10,"Verification",2041],[6,"DescriptorType",2020],[5,"DescriptorId",2042],[10,"FromStrKey",2043],[5,"ExtParams",2044],[6,"AnalysisError",2044],[10,"ExtractPolicy",584],[6,"BuildSatisfaction",878],[5,"Range",2045],[17,"Output"],[10,"FnMut",2046],[5,"Pkh",2047],[5,"Wpkh",2048],[5,"Wsh",2048],[5,"Sh",2049],[5,"Bare",2047],[5,"Tr",2050],[5,"Type",2051],[5,"ExtData",2052],[5,"Tree",2053],[1,"usize"],[10,"Satisfier",2034],[10,"Hash",2014],[5,"Iter",2054],[5,"PkIter",2054],[6,"Policy",2055],[6,"LiftError",2056],[5,"Weight",2057],[6,"BareCtx",2031],[6,"TapTree",2050],[6,"DescriptorSecretKey",1345,2033],[10,"Signing",2041],[10,"PartialOrd",2001],[5,"Plan",2035],[5,"TxIn",1987],[6,"SigType",2031],[6,"TranslateErr",2028],[10,"Translator",2028],[6,"ParsePublicKeyError",2040],[6,"Error",2058],[6,"Error",2059],[6,"PolicyError",878],[6,"KeyError",1345],[6,"HexToBytesError",2060],[6,"PkOrF",878],[6,"SatisfiableItem",878],[6,"Satisfaction",878],[5,"Condition",878],[10,"DescriptorTemplate",1061],[8,"DescriptorTemplateOut",1061],[5,"P2Pkh",1061],[10,"IntoDescriptorKey",1345],[5,"P2Wpkh_P2Sh",1061],[5,"P2Wpkh",1061],[5,"P2TR",1061],[6,"Tap",2031],[5,"Bip44",1061],[10,"DerivableKey",1345],[5,"Bip44Public",1061],[5,"Bip49",1061],[5,"Bip49Public",1061],[5,"Bip84",1061],[5,"Bip84Public",1061],[5,"Bip86",1061],[5,"Bip86Public",1061],[6,"MiniscriptPsbtError",1245,1994],[6,"Error",2061],[5,"FullyNodedExport",1322,2062],[8,"ValidNetworks",1345],[5,"SortedMultiVec",1345,2063],[5,"GeneratedKey",1345],[5,"PrivateKeyGenerateOptions",1345],[5,"SinglePub",1345,2033],[5,"SinglePriv",1345,2033],[6,"SinglePubKey",1345,2033],[6,"DescriptorKey",1345],[5,"Xpriv",2059],[6,"ExtendedKey",1345],[5,"Xpub",2059],[10,"FromStr",2064],[5,"DerivationPath",2059],[17,"Entropy"],[17,"Options"],[10,"GeneratableKey",1345],[10,"AsMut",1989],[10,"Default",2065],[10,"GeneratableDefaultOptions",1345],[10,"CryptoRng",2066],[10,"RngCore",2066],[5,"Assets",2035],[8,"KeySource",2059],[5,"Fingerprint",2059],[5,"DescriptorKeyParseError",2033],[10,"PsbtUtils",1661],[6,"Error",2067],[6,"SignerId",1667,1976],[6,"SignerContext",1667,1976],[5,"SignerWrapper",1667,1976],[10,"Sized",2003],[6,"TapLeavesOptions",1667,1976],[10,"SignerCommon",1667,1976],[5,"DescriptorXKey",2033],[5,"DescriptorMultiXKey",2033],[5,"PrivateKey",2040],[10,"InputSigner",1667,1976],[5,"PushBytes",2068],[10,"AsRef",1989],[6,"AddForeignUtxoError",1854,1993],[6,"AddUtxoError",1854,1993],[6,"ChangeSpendPolicy",1854,1993],[6,"TxOrdering",1854,1993],[6,"LockTime",2069],[1,"i32"],[15,"InvalidTxid",1969],[15,"UnexpectedConnectedToHash",471],[15,"Network",473],[15,"Genesis",473],[15,"Descriptor",473],[15,"Custom",1971],[15,"Foreign",482],[15,"InsufficientFunds",577],[15,"Change",579],[15,"NoChange",579],[8,"DerivedDescriptor",584],[15,"PsbtTimelocks",1037],[15,"Complete",1040],[15,"Partial",1040],[15,"PartialComplete",1040],[15,"Sha256Preimage",1051],[15,"Hash256Preimage",1051],[15,"Ripemd160Preimage",1051],[15,"Hash160Preimage",1051],[15,"Thresh",1051],[15,"Multisig",1051],[15,"AbsoluteTimelock",1051],[15,"RelativeTimelock",1051],[15,"RbfSequenceCsv",1316],[15,"LockTime",1316],[15,"FeeTooLow",1316],[15,"FeeRateTooLow",1316],[8,"WalletExport",1322],[10,"ExtScriptContext",1345],[15,"Tap",1853]],"r":[[0,1993],[1,1993],[2,1974],[3,1974],[4,2002],[5,1973],[9,2000],[10,1993],[11,1997],[12,2002],[21,2002],[24,584],[29,2018],[30,1975],[32,1974],[33,1974],[34,1997],[35,2002],[37,1975],[47,2002],[49,1976],[50,1993],[51,1993],[55,1974],[56,1975],[59,1974],[60,2002],[61,1975],[144,1974],[196,1974],[197,1974],[338,2070],[353,1974],[354,1974],[362,584],[420,1974],[468,1974],[487,1992],[489,1992],[490,1992],[491,1992],[492,1992],[493,1992],[495,1992],[497,1992],[520,1992],[588,2020],[590,2033],[597,2031],[598,2029],[603,878],[604,2031],[605,2031],[639,844],[1245,1994],[1248,1994],[1256,1994],[1322,2062],[1323,2062],[1348,2033],[1349,2033],[1364,2020],[1374,2031],[1379,2033],[1380,2033],[1381,2033],[1382,2063],[1665,2071],[1666,2071],[1674,1976],[1691,1976],[1692,1976],[1693,1976],[1694,1976],[1695,1976],[1696,1976],[1697,1976],[1698,1976],[1700,1976],[1701,1976],[1854,1993],[1855,1993],[1858,1993],[1865,1993],[1866,1993]],"b":[[201,"impl-Debug-for-Balance"],[202,"impl-Display-for-Balance"],[209,"impl-Display-for-FileStoreError"],[210,"impl-Debug-for-FileStoreError"],[211,"impl-Display-for-LoadWithPersistError%3CE%3E"],[212,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[213,"impl-Display-for-CreateWithPersistError%3CE%3E"],[214,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[217,"impl-Display-for-AddressInfo"],[218,"impl-Debug-for-AddressInfo"],[219,"impl-Debug-for-LoadError"],[220,"impl-Display-for-LoadError"],[222,"impl-Display-for-ApplyBlockError"],[223,"impl-Debug-for-ApplyBlockError"],[232,"impl-From%3CChangeSet%3E-for-ChangeSet"],[233,"impl-From%3CChangeSet%3E-for-ChangeSet"],[234,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[235,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[244,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[245,"impl-From%3CSyncResult%3E-for-Update"],[526,"impl-Debug-for-Error"],[527,"impl-Display-for-Error"],[677,"impl-Descriptor%3CDescriptorPublicKey%3E"],[678,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[705,"impl-Debug-for-Descriptor%3CPk%3E"],[706,"impl-Display-for-Descriptor%3CPk%3E"],[709,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[710,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[713,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[715,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[716,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[717,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[718,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[719,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[862,"impl-Display-for-Error"],[863,"impl-Debug-for-Error"],[864,"impl-From%3CParsePublicKeyError%3E-for-Error"],[865,"impl-From%3CError%3E-for-Error"],[866,"impl-From%3CError%3E-for-Error"],[867,"impl-From%3CError%3E-for-Error"],[868,"impl-From%3CPolicyError%3E-for-Error"],[869,"impl-From%3CKeyError%3E-for-Error"],[870,"impl-From%3CHexToBytesError%3E-for-Error"],[965,"impl-Debug-for-PolicyError"],[966,"impl-Display-for-PolicyError"],[1283,"impl-Display-for-MiniscriptPsbtError"],[1284,"impl-Debug-for-MiniscriptPsbtError"],[1285,"impl-Debug-for-CreateTxError"],[1286,"impl-Display-for-CreateTxError"],[1287,"impl-Display-for-BuildFeeBumpError"],[1288,"impl-Debug-for-BuildFeeBumpError"],[1290,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1291,"impl-From%3CError%3E-for-CreateTxError"],[1292,"impl-From%3CError%3E-for-CreateTxError"],[1293,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1295,"impl-From%3CError%3E-for-CreateTxError"],[1332,"impl-Debug-for-FullyNodedExport"],[1333,"impl-Display-for-FullyNodedExport"],[1478,"impl-Debug-for-KeyError"],[1479,"impl-Display-for-KeyError"],[1480,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1481,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1482,"impl-Debug-for-DescriptorPublicKey"],[1483,"impl-Display-for-DescriptorPublicKey"],[1484,"impl-Display-for-DescriptorSecretKey"],[1485,"impl-Debug-for-DescriptorSecretKey"],[1490,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1491,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1498,"impl-From%3CError%3E-for-KeyError"],[1499,"impl-From%3CError%3E-for-KeyError"],[1541,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1542,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1749,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1750,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1765,"impl-Debug-for-SignerError"],[1766,"impl-Display-for-SignerError"],[1773,"impl-From%3CFingerprint%3E-for-SignerId"],[1774,"impl-From%3CHash%3E-for-SignerId"],[1785,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1786,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1787,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1803,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1804,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1805,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1913,"impl-Display-for-AddUtxoError"],[1914,"impl-Debug-for-AddUtxoError"],[1915,"impl-Display-for-AddForeignUtxoError"],[1916,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAKUC7wL7AiwFqwUTBg==","e":"OzAAAAEAABkEfAAZAAAAQAAAAEwAAQBQACQAegAAAIAAEACcAAYAqwAZAMgAAADKABYA6QADAPAAAAD1AAEA+QAAAAIBAQAgAQAAOwEAAEYBAABSAQAAWAEFAGMBAABrAQ8AgQEjAKsBEQDDAREA8wERAAYCAgAKAgIADwIGACYCGwBOAgAAXAIAAHACAQBzAgAAdQIHAIACAACCAgEAhQIAAIgCAQCLAgEAjwIBAJICAQCVAgEAmAILAKkCAwCuAgsAvwIBAMICCADMAgQA1gIAAOMCAwDuAgAA9AIBAPgCAQD/AgEAFQMDABoDAQAoAwEAKwMBAC8DBQA6AwcAQwMDAEgDAwBcAwsAagMEAJIDGQCuAxoAzAMBANMDAQDiAwAA5QMEAOsDIgA0BBcATQQvAJUESAD8BA0ACwUDABAFAAAVBQ8ALwUBADMFAAA1BQEAOAUAADwFBQBwBRcAkgUVAKkFAQCsBQAArgUmANsFAQDeBQAA5gUBAPMFAwADBgAABgYEAAwGAQAcBgEAIQYAACsGAAAwBgMAOQYAAD0GCABHBgMATgYvAK0GDwC+BhQA1QYOAOUGCgD4BgAA+gYCAAgHAQAMBwIAEAcAABQHBwAeBx8AVwcJAGIHBgBrBwEAcgcCAHkHBgCFBwAAkQcAAJcHEwCtBwQA"}],\ +["bdk_wallet",{"t":"GGFGKFPPPFGFGPPPPPRRPGPPEPPPPKGPGGFGPFPPPPPPPPPFPFFGPPPFGTTFKIFPNNONOONNNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOOONNNNNNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNNONCNOQNNNNNNNNNNNNNNNNNNNNNNNNNNNCCNDNNNNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONMMNNNNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNONNNNDNNONNNNNNONNMMNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNOOONONNNNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","AsyncWalletPersister","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","DataAlreadyExists","Descriptor","Descriptor","Descriptor","Error","Error","External","FileStoreError","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","Load","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WalletPersister","WalletTx","WeightedUtxo","Write","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","apply_update_at","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","chain_position","change_descriptor","check_genesis_hash","check_network","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create_async","create_single","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","deref","deref_mut","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor","descriptor_checksum","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","export","extract_keys","file_store","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","hash","hash","immature","index","indexer","init_sqlite_tables","initialize","initialize","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load_async","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","new","new","new_single","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_async","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged_mut","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","transactions_sort_by","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","tx_node","tx_update","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","eq","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","SCHEMAS_TABLE_NAME","migrate_schema","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[473,"bdk_wallet::AddForeignUtxoError"],[475,"bdk_wallet::ApplyBlockError"],[477,"bdk_wallet::LoadMismatch"],[484,"bdk_wallet::TxOrdering"],[486,"bdk_wallet::Utxo"],[489,"bdk_wallet::coin_selection"],[581,"bdk_wallet::coin_selection::Error"],[583,"bdk_wallet::coin_selection::Excess"],[588,"bdk_wallet::descriptor"],[848,"bdk_wallet::descriptor::checksum"],[849,"bdk_wallet::descriptor::error"],[882,"bdk_wallet::descriptor::policy"],[1041,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1044,"bdk_wallet::descriptor::policy::Satisfaction"],[1055,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1065,"bdk_wallet::descriptor::template"],[1249,"bdk_wallet::error"],[1320,"bdk_wallet::error::CreateTxError"],[1326,"bdk_wallet::export"],[1349,"bdk_wallet::keys"],[1665,"bdk_wallet::psbt"],[1669,"bdk_wallet::rusqlite_impl"],[1671,"bdk_wallet::signer"],[1857,"bdk_wallet::signer::SignerContext"],[1858,"bdk_wallet::tx_builder"],[1973,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1975,"bdk_wallet::tx_builder::TxOrdering"],[1977,"bdk_chain::balance"],[1978,"bdk_wallet::wallet"],[1979,"bdk_wallet::types"],[1980,"bdk_wallet::wallet::signer"],[1981,"alloc::sync"],[1982,"bitcoin::blockdata::script::owned"],[1983,"bdk_core"],[1984,"core::iter::traits::iterator"],[1985,"core::clone"],[1986,"alloc::collections::btree::map"],[1987,"bitcoin::blockdata::block"],[1988,"bdk_chain::local_chain"],[1989,"core::result"],[1990,"bdk_core::block_id"],[1991,"bitcoin::blockdata::transaction"],[1992,"core::iter::traits::collect"],[1993,"core::convert"],[1994,"core::option"],[1995,"bdk_chain::tx_graph"],[1996,"bdk_wallet::wallet::coin_selection"],[1997,"bdk_wallet::wallet::tx_builder"],[1998,"bdk_wallet::wallet::error"],[1999,"bitcoin_units::amount"],[2000,"bitcoin_units::fee_rate"],[2001,"bdk_wallet::wallet::params"],[2002,"bitcoin::network"],[2003,"bdk_core::checkpoint"],[2004,"bdk_wallet::wallet::changeset"],[2005,"core::cmp"],[2006,"bdk_wallet::wallet::persisted"],[2007,"core::marker"],[2008,"alloc::string"],[2009,"serde::de"],[2010,"bitcoin::psbt"],[2011,"core::fmt"],[2012,"bdk_chain::indexer::keychain_txout"],[2013,"bdk_chain::indexed_tx_graph"],[2014,"bdk_core::spk_client"],[2015,"rusqlite::transaction"],[2016,"rusqlite"],[2017,"bitcoin::psbt::map::input"],[2018,"core::hash"],[2019,"core::future::future"],[2020,"alloc::boxed"],[2021,"core::pin"],[2022,"bdk_wallet::wallet::utils"],[2023,"bitcoin::blockdata::script::borrowed"],[2024,"miniscript::descriptor"],[2025,"core::iter::traits::double_ended"],[2026,"secp256k1::context::alloc_only"],[2027,"secp256k1"],[2028,"serde::ser"],[2029,"alloc::vec"],[2030,"core::ops::function"],[2031,"core::any"],[2032,"bitcoin::address"],[2033,"miniscript"],[2034,"miniscript::miniscript::private"],[2035,"miniscript::miniscript::decode"],[2036,"miniscript::miniscript::context"],[2037,"miniscript::iter::tree"],[2038,"miniscript::descriptor::key"],[2039,"miniscript::miniscript::satisfy"],[2040,"miniscript::plan"],[2041,"bitcoin_hashes::sha256"],[2042,"miniscript::miniscript::hash256"],[2043,"bitcoin_hashes::ripemd160"],[2044,"bitcoin_hashes::hash160"],[2045,"bitcoin::crypto::key"],[2046,"secp256k1::context"],[2047,"bdk_chain::descriptor_ext"],[2048,"miniscript::blanket_traits"],[2049,"miniscript::miniscript::analyzable"],[2050,"core::ops::range"],[2051,"miniscript::descriptor::bare"],[2052,"miniscript::descriptor::sh"],[2053,"miniscript::descriptor::tr"],[2054,"miniscript::descriptor::segwitv0"],[2055,"miniscript::miniscript::types"],[2056,"miniscript::miniscript::types::extra_props"],[2057,"miniscript::expression"],[2058,"miniscript::miniscript::iter"],[2059,"miniscript::policy::semantic"],[2060,"miniscript::policy"],[2061,"bitcoin_units::weight"],[2062,"hex_conservative::error"],[2063,"base58ck::error"],[2064,"bitcoin::bip32"],[2065,"bitcoin::psbt::error"],[2066,"bdk_wallet::wallet::export"],[2067,"miniscript::descriptor::sortedmulti"],[2068,"core::str::traits"],[2069,"core::default"],[2070,"rand_core"],[2071,"rusqlite::error"],[2072,"bitcoin::blockdata::script::push_bytes::primitive"],[2073,"bitcoin::blockdata::locktime::absolute"],[2074,"bdk_chain"],[2075,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,0,74,262,262,0,0,0,0,263,52,52,63,64,53,56,5,0,46,64,0,5,61,260,260,0,0,72,0,0,0,0,46,0,63,63,63,63,260,64,262,61,52,0,263,0,0,0,74,261,263,0,0,47,47,0,0,0,0,72,1,3,48,3,66,66,3,3,3,3,3,5,5,3,66,3,0,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,3,3,0,26,87,47,40,40,3,1,5,44,45,46,47,26,48,1,5,44,45,46,47,26,48,5,0,44,1,51,3,51,3,50,50,50,3,1,40,47,26,51,48,51,3,44,3,0,40,47,0,3,1,5,44,47,1,5,44,45,46,47,61,48,63,64,1,1,5,5,44,44,45,45,46,46,48,48,0,0,40,0,3,1,1,5,44,45,46,47,51,72,72,61,61,52,52,3,26,48,48,63,63,64,74,74,0,1,50,40,5,44,45,46,47,47,47,47,47,51,72,61,61,52,3,26,26,26,48,63,63,64,74,47,50,3,3,3,3,5,44,1,48,47,47,53,56,3,3,3,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,96,47,3,44,44,48,3,50,40,0,26,3,3,3,3,51,3,51,40,40,40,3,3,47,50,40,3,47,0,50,3,47,50,40,50,3,3,46,44,5,3,53,56,51,51,47,3,0,3,3,3,0,0,45,3,3,46,0,0,1,5,44,47,3,3,3,66,0,0,3,3,3,3,3,3,66,0,1,5,44,45,46,47,26,48,1,72,61,52,48,63,74,1,3,3,66,1,1,66,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,3,47,87,26,46,44,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,3,3,3,1,45,0,1,50,40,5,44,45,46,47,51,72,61,52,3,26,48,63,64,74,0,266,266,267,267,268,269,270,270,268,269,270,271,271,272,272,272,122,122,0,123,0,0,0,0,0,122,0,123,0,122,123,121,117,118,119,122,123,121,117,118,119,117,118,119,117,118,119,120,117,118,119,0,117,118,119,121,121,122,122,123,121,117,118,119,122,123,121,117,118,119,122,123,121,117,118,119,121,119,121,121,117,118,119,122,122,123,121,117,118,119,122,123,121,117,118,119,122,123,121,117,118,119,122,123,121,117,118,119,273,273,274,275,275,274,275,98,276,124,0,0,0,0,0,0,130,0,0,132,0,0,134,98,276,124,0,0,0,98,276,124,134,130,0,98,276,124,98,276,124,98,276,124,134,124,151,152,130,130,124,124,151,152,130,124,151,152,130,130,130,130,0,132,151,152,132,152,132,132,151,152,132,151,152,132,132,151,152,132,151,152,132,151,152,0,124,151,152,130,124,151,152,130,124,151,152,130,130,124,124,124,124,124,124,130,124,130,124,151,152,130,124,124,151,151,152,152,130,130,0,124,130,130,161,124,130,124,124,124,151,152,130,130,124,130,124,124,124,124,124,124,124,151,152,130,130,130,124,130,130,130,124,130,130,130,124,124,130,130,124,124,151,152,130,124,151,152,130,130,124,54,98,124,124,130,130,130,124,130,130,132,151,152,130,124,130,124,132,151,152,124,124,124,124,124,124,124,124,124,124,124,124,124,124,130,132,130,124,130,130,124,151,152,130,132,151,152,124,124,0,130,124,130,124,130,130,124,124,130,124,130,132,151,152,130,0,124,151,152,130,124,130,124,132,132,124,130,124,151,152,130,124,151,152,130,130,124,151,152,130,124,124,151,152,130,130,0,57,57,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,198,193,193,0,199,0,0,198,197,0,198,198,193,193,193,198,199,162,193,199,199,0,0,0,162,162,197,198,198,0,0,198,198,198,197,197,198,199,103,200,193,162,197,198,199,103,200,193,162,197,198,199,103,200,162,197,198,199,103,200,162,103,200,200,197,198,199,103,200,193,197,197,198,198,199,199,103,103,200,200,193,193,197,198,199,103,200,193,193,162,197,198,199,199,103,103,200,193,162,103,197,200,198,103,197,198,199,103,200,193,162,198,199,200,103,200,103,103,197,198,199,103,200,200,197,198,199,103,200,162,193,197,198,199,103,200,193,162,197,198,199,103,200,193,162,197,198,199,103,200,193,162,197,198,199,103,200,193,162,277,277,277,278,279,280,279,280,279,280,279,280,279,280,281,282,283,284,285,286,286,285,287,288,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,201,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,202,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,203,205,206,207,209,211,212,213,214,215,216,217,0,85,218,0,85,85,36,85,36,85,85,0,85,85,85,85,85,218,85,85,85,85,85,36,36,85,36,218,85,85,218,85,36,218,85,36,218,218,218,218,85,85,36,36,218,85,85,85,85,85,85,36,218,85,36,218,218,85,36,218,85,36,218,85,36,218,85,36,218,85,36,289,289,290,290,291,292,0,0,293,220,220,220,220,220,220,220,220,220,220,220,220,293,220,220,220,220,220,220,220,191,0,0,0,0,236,236,0,0,227,0,0,0,0,191,191,191,132,0,0,129,191,191,183,134,236,230,0,230,0,0,129,134,183,0,0,0,0,129,0,227,183,134,0,294,134,230,223,228,129,224,191,222,134,183,225,226,227,230,223,228,129,224,191,222,134,183,225,226,227,222,132,132,132,132,132,132,132,132,132,223,129,224,222,134,183,225,226,227,223,129,224,222,134,183,225,226,227,222,134,225,227,224,224,223,134,134,222,129,191,222,134,183,225,226,227,129,129,222,222,134,134,183,183,225,225,226,226,227,227,228,129,224,191,191,222,222,134,134,183,183,225,226,227,222,230,230,230,223,228,129,224,191,191,191,222,134,134,183,225,226,227,228,228,134,183,222,134,134,236,239,239,236,236,239,230,134,222,134,225,227,230,223,228,129,224,191,222,134,183,225,226,227,134,204,210,223,223,228,134,183,210,230,223,223,134,183,230,230,134,294,129,134,183,294,129,294,129,134,134,222,225,226,222,0,134,132,222,222,0,222,132,222,134,225,226,132,228,222,134,225,227,132,222,222,222,222,134,132,222,0,223,129,224,222,134,183,225,226,227,183,191,222,134,183,132,132,222,230,223,228,129,224,191,222,134,183,225,226,227,230,223,228,129,224,191,222,134,183,225,226,227,230,223,228,129,224,191,222,134,183,225,226,227,230,223,228,129,224,191,222,134,183,225,226,227,0,246,246,246,0,0,252,248,252,67,248,252,67,0,67,67,67,249,67,67,67,67,67,67,67,252,248,67,249,67,0,0,0,0,0,0,0,0,249,0,0,67,86,66,66,86,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,86,248,249,250,6,86,66,252,248,249,250,6,86,66,252,248,6,6,86,66,252,250,253,253,250,250,250,248,249,6,252,248,248,249,249,6,6,252,252,86,248,67,67,249,250,6,86,66,252,248,248,248,67,249,250,6,86,66,252,248,253,250,250,250,86,248,67,249,250,6,86,66,252,250,86,248,6,86,257,250,250,250,7,250,66,86,66,248,249,250,6,86,66,252,67,66,66,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,248,67,249,250,6,86,66,252,295,0,0,262,262,0,263,260,260,260,262,263,0,0,261,263,35,35,35,35,35,35,35,35,35,35,261,260,263,262,35,261,260,263,262,35,35,263,262,35,263,262,262,35,35,263,262,35,35,35,35,35,262,262,262,35,35,35,35,35,261,261,260,260,263,262,35,261,260,263,262,262,35,35,261,260,263,262,35,35,35,35,35,262,35,35,35,263,263,35,263,262,261,260,35,261,260,263,262,35,261,260,263,262,35,261,260,263,262,35,35,35,261,260,263,262,266,266,271,271],"f":"````````````````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{df}}c{Ch{Bn}}}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Cj}{{{h{j}}}{{h{{Cl{Cj}}}}}}{{{h{f}}}{{h{{D`{Cn}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}00000000000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000000000{{{h{df}}Db}{{Bf{{Df{Dd}}Dh}}}}{{{h{df}}}{{Df{Dd}}}}{{{h{f}}{h{Bl}}}{{Bf{DjDl}}}}{{{h{f}}{h{Bl}}}{{Bf{DnDl}}}}{{{h{df}}{h{Bl}}}Ab}````{{E`Eb}E`}{{E`Ed}E`}{{{h{f}}}Ef}{{{h{b}}}b}{{{h{j}}}j}{{{h{Eh}}}Eh}{{{h{Ej}}}Ej}{{{h{El}}}El}{{{h{En}}}En}{{{h{Cd}}}Cd}{{{h{F`}}}F`}{{{h{c}}{h{de}}}Ab{}{}}0000000{{{h{j}}{h{j}}}Fb}```{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}Fj}{{cc}Fd{FlFnAl}}{{{h{dc}}Fd}{{Bf{{Ff{c}}Fh}}}G`}{cFd{FlFnAl}}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}Fj}{{Fd{h{dc}}}{{Bf{{Ff{c}}Fh}}}G`}{Fd{{Bf{fGb}}}}0{{}b}{{}E`}{{}En}{{}Cd}{{{h{{Ff{c}}}}}{{h{e}}}{}{}}{{{h{F`}}}{{h{c}}}{}}{{{h{d{Ff{c}}}}}{{h{de}}}{}{}}{{{h{f}}j}{{Ch{Bb}}}}`{{{h{f}}Af}{{Ch{{C`{jBb}}}}}}`{{E`j{Ch{c}}}E`{FlFn}}``{{{h{f}}j}Gd}{c{{Bf{b}}}Gf}{c{{Bf{j}}}Gf}{c{{Bf{Eh}}}Gf}{c{{Bf{En}}}Gf}{{{h{b}}{h{b}}}Gh}{{{h{j}}{h{j}}}Gh}{{{h{Eh}}{h{Eh}}}Gh}{{{h{Ej}}{h{Ej}}}Gh}{{{h{El}}{h{El}}}Gh}{{{h{En}}{h{En}}}Gh}{{{h{{Gj{c}}}}{h{{Gj{c}}}}}GhGl}{{{h{F`}}{h{F`}}}Gh}{{{h{Gn}}{h{Gn}}}Gh}{{{h{H`}}{h{H`}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000``{E`E`}`{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}{{{h{b}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{j}}{h{dHh}}}Hl}{{{h{Eh}}{h{dHh}}}Hl}{{{h{Ej}}{h{dHh}}}Hl}{{{h{El}}{h{dHh}}}Hl}{{{h{En}}{h{dHh}}}Hl}{{{h{{Ff{c}}}}{h{dHh}}}HlHn}{{{h{I`}}{h{dHh}}}Hl}0{{{h{{Gj{c}}}}{h{dHh}}}HlHn}{{{h{{Gj{c}}}}{h{dHh}}}HlIb}{{{h{{Fh{c}}}}{h{dHh}}}HlHn}{{{h{{Fh{c}}}}{h{dHh}}}HlIb}{{{h{f}}{h{dHh}}}Hl}{{{h{Cd}}{h{dHh}}}Hl}{{{h{F`}}{h{dHh}}}Hl}0{{{h{Gn}}{h{dHh}}}Hl}0{{{h{H`}}{h{dHh}}}Hl}{{{h{Id}}{h{dHh}}}Hl}0`{cc{}}0000000{IfEn}{{{Ij{CnIh}}}En}{{{Il{Cn}}}En}{IhEn}444{H`{{Gj{c}}}{}}55{{{In{j}}}Cd}{J`Cd}777{H`Gn}88{{{h{Jb}}}{{Jd{En}}}}{{FdEb}Fd}{{{h{f}}Eh{Ch{Jf}}Gh}{{Bf{JhJj}}}}{{{h{f}}j}{{A`{Jl}}}}{{{h{f}}Db}{{Ch{Jn}}}}{{{h{f}}K`}{{Ch{Eh}}}}{{{h{j}}{h{dc}}}AbKb}{{{h{Eh}}{h{dc}}}AbKb}```{{{h{Jb}}}{{Jd{Ab}}}}{{{h{d{Fj{}{{Kd{c}}}}}}}{{Bf{Enc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{df}}Bh}{{Bf{GhKl}}}}{{{h{df}}Bl}Gh}{{{h{df}}K`Kn}Ab}{ce{}{}}00000000000000000{{{h{L`}}{h{Lb}}}Gh}{{{h{En}}}Gh}{{{h{f}}Af}Gh}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Ld}}}}}}}}}}}}{{FdjLf}Fd}{{E`jLf}E`}``{{{h{f}}}Lh}{{{h{f}}}{{`{{Aj{}{{Ad{Eh}}}}}}}}0{{{h{f}}j}{{`{{Lj{}{{Ad{F`}}}}}}}}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{}E`}{{{h{dc}}E`}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}Fj}{{E`{h{dc}}}{{Bf{{Ch{{Ff{c}}}}Gj}}}G`}{{E`En}{{Bf{{Ch{f}}Gn}}}}{{EnE`}{{Bf{{Ch{f}}Gn}}}}{{{h{f}}}{{h{Ll}}}}`{{FdBb}Fd}{{E`Bb}E`}{{{h{df}}jBb}Gh}{{{h{dEn}}En}Ab}`{{FdEd}Fd}{{{h{f}}}Ed}`{{cc}Fd{FlFn}}={cFd{FlFn}}{{{h{f}}j}Bb}{{{h{df}}j}F`}{{{h{El}}}K`}`{{{h{j}}{h{j}}}{{Ch{Fb}}}}{{{h{f}}jBb}F`}{{{h{d{Fj{}{{Kd{c}}}}}}{h{En}}}{{Bf{Abc}}}{}}{{{h{d{G`{}{{Kd{c}}}}}}{h{En}}}{{Kj{{Kh{Kf}}}}}{}}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}Fj}{{{h{d{Ff{c}}}}{h{dc}}}{{Bf{Gh}}}G`}{{{h{En}}{h{Jb}}}{{Jd{Ab}}}}{{{h{f}}j}{{Bf{{Ch{Ln}}Gb}}}}`{{{h{f}}j}{{h{Ld}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{F`}}}}}}}};```{{{h{f}}}{{h{{Mb{M`}}}}}}{{{h{f}}{h{Bl}}}{{C`{DjDj}}}}{{{h{El}}}{{Ch{Md}}}}``{{{h{b}}c}BfMf}{{{h{j}}c}BfMf}{{{h{Eh}}c}BfMf}{{{h{En}}c}BfMf}{{{h{df}}jLf}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jLf}}}}}}}}{{{h{f}}{h{dHb}}Hd}{{Bf{GhHf}}}}```{{{h{f}}}{{h{{Mh{j}}}}}}{{{h{f}}}{{Ch{{h{En}}}}}}{{{h{df}}}{{Ch{{h{dEn}}}}}}{{{h{f}}}{{Mj{j}}}}{{{h{f}}}{{Ml{{C`{jBb}}}}}}{{{h{df}}}{{Ch{En}}}}``{{{h{c}}}e{}{}}0000000{{{h{c}}}Gd{}}000000{{{h{b}}}Dj}{{{h{f}}}{{`{{Aj{}{{Ad{Jn}}}}}}}}{{{h{f}}c}{{Mn{Jn}}}{{Nb{{h{Jn}}{h{Jn}}}{{N`{Fb}}}}}}``2`{c{{Bf{e}}}{}{}}00000000000000000000000000000000000`{{{h{f}}}{{h{{D`{Cn}}}}}}```{{{h{El}}}{{h{Kn}}}}`{{{h{c}}}Nd{}}00000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{Nf{{A`{Bl}}Cn}}}}}}}}}}{{{h{df}}jBb}Gh}``{{}{{h{Nh}}}}{ce{}{}}00000000000000000{{c{Ch{c}}Ed{h{{Mb{M`}}}}}{{Bf{GdGb}}}Fl}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Nj}}}Nj}{{{h{Nl}}}Nl}{{{h{Nn}}}Nn}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{O`}}{Mn{Ej}}{Mn{Ej}}DnBn{h{Lb}}}{{Bf{ObOd}}}}{{{h{Nj}}{Mn{Ej}}{Mn{Ej}}DnBn{h{Lb}}}{{Bf{ObOd}}}}{{{h{Nl}}{Mn{Ej}}{Mn{Ej}}DnBn{h{Lb}}}{{Bf{ObOd}}}}{{{h{Nn}}{Mn{Ej}}{Mn{Ej}}DnBn{h{Lb}}}{{Bf{ObOd}}}}{{BnDn{h{Lb}}}Of}{{}Nj}{{}Nl}{{}Nn}``{{{h{Od}}{h{dHh}}}Hl}0{{{h{Of}}{h{dHh}}}Hl}{{{h{Ob}}{h{dHh}}}Hl}{{{h{Nj}}{h{dHh}}}Hl}{{{h{Nl}}{h{dHh}}}Hl}{{{h{Nn}}{h{dHh}}}Hl}{cc{}}00000{ce{}{}}00000{{{h{Ob}}}Bn}{BnNn}`1{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Nd{}}00000666666`````````````````````````````````````````````{{{h{{Oh{c}}}}Ed}{{Bf{OjOl}}}{OnA@`}}{{}A@b}0{{{h{{A@d{ce}}}}}{{h{{A@f{ce}}}}}OnA@h}{{{h{{h{{A@d{ce}}}}}}}{{A@j{{h{{A@d{ce}}}}}}}OnA@h}{{{h{{Oh{A@l}}}}Bb}{{Bf{{Oh{A@n}}AA`}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{A@d{ce}}}}}{{Mn{{h{{A@d{ce}}}}}}}OnA@h}{{{h{{A@d{ce}}}}{h{g}}}{{AAd{{AAb{c}}}}}{A@`On}A@h{{AAf{c}}}}0`{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbAAj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{h{{A@d{cABn}}}}}{{Bf{AbAAj}}}On}{{{h{{A@d{cAC`}}}}}{{Bf{AbAAj}}}On}2022102102{{{h{c}}}{{Bf{AbAAj}}}On}00{{{h{{A@f{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbAAj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{h{{A@f{cABn}}}}}{{Bf{AbAAj}}}On}{{{h{{A@f{cAC`}}}}}{{Bf{AbAAj}}}On}{{{h{{Cl{{Mn{Cj}}}}}}}{{Bf{AbAAj}}}}00`{{{h{{Oh{c}}}}}{{Oh{c}}}{AlOn}}{{{h{ABn}}}ABn}{{{h{AC`}}}AC`}{{{h{{A@d{ce}}}}}{{A@d{ce}}}{AlOn}{AlA@h}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Oh{c}}}}{h{{Oh{c}}}}}Fb{ACbOn}}{{{h{ABn}}{h{ABn}}}Fb}{{{h{AC`}}{h{AC`}}}Fb}{{{h{{A@d{ce}}}}{h{{A@d{ce}}}}}FbOnA@h}{{{h{{A@d{ce}}}}}GhOnA@h}{{{h{{Oh{A@l}}}}Bb}{{Bf{{Oh{A@n}}AA`}}}}{{{h{{Oh{A@l}}}}{h{{Mb{c}}}}Bb}{{Bf{{Oh{ACd}}AA`}}}ACf}{{{h{{Oh{A@n}}}}{h{{Mb{c}}}}}{{Bf{{Oh{ACd}}AA`}}}ACf}{{{h{{Oh{c}}}}}AChOn}{{{h{{Oh{A@l}}}}}ACj}{c{{Bf{{Oh{e}}}}}GfACl}{c{{Bf{{A@d{eg}}}}}GfAClA@h}{{{h{{Oh{A@l}}}}}Bn}{{{h{{A@d{ce}}}}}Af{A@`On}A@h}{{{h{{Oh{c}}}}{h{{Oh{c}}}}}Gh{GlOn}}{{{h{ABn}}{h{ABn}}}Gh}{{{h{AC`}}{h{AC`}}}Gh}{{{h{{A@d{ce}}}}{h{{A@d{ce}}}}}GhOnA@h}{{{h{c}}{h{e}}}Gh{}{}}0000000`{{{h{{Oh{c}}}}}{{Bf{AfOl}}}{OnA@`}}`{{{h{{A@d{ce}}}}{h{ACn}}}{{Bf{AbAD`}}}OnA@h}{{{h{ADb}}{h{Jl}}ADd{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{Oh{A@l}}}}{h{Jl}}ADd{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}}{{{h{{A@d{A@lc}}}}{h{Jl}}ADd{h{{Mb{M`}}}}}{{Bf{{Ch{Ln}}Gb}}}A@h}{{{h{{Oh{A@l}}}}{h{{Mb{c}}}}{h{Lb}}{ADf{Bb}}}{{Bf{{Ch{{C`{Bb{Oh{ACd}}}}}}AA`}}}ACf}{{{h{{Oh{c}}}}{h{dHh}}}{{Bf{AbHj}}}On}0{{{h{ABn}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{AC`}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{A@d{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OnA@h}0{{{h{{Oh{c}}}}e}GhOn{{Nb{{h{c}}}{{N`{Gh}}}}}}{{{h{{A@d{ce}}}}g}GhOnA@h{{Nb{{h{c}}}{{N`{Gh}}}}}}{{{ADh{c}}}{{Oh{c}}}On}{{{ADj{c}}}{{Oh{c}}}On}{{{ADl{c}}}{{Oh{c}}}On}{cc{}}{{{ADn{c}}}{{Oh{c}}}On}{{{AE`{c}}}{{Oh{c}}}On}{{{AEb{c}}}{{Oh{c}}}On}333{{{A@f{ce}}}{{Bf{{A@d{ce}}Ol}}}OnA@h}{{{A@f{ce}}AEdAEf}{{A@d{ce}}}OnA@h}{{{h{Nh}}}{{Bf{{Oh{c}}Ol}}}ACl}{{{h{Nh}}}{{Bf{{A@d{ce}}Ol}}}AClA@h}{{{h{Nh}}{h{ACn}}}{{Bf{{A@d{ce}}Ol}}}AClA@h}1{{{h{AEh}}}{{Bf{{Oh{c}}Ol}}}ACl}{{{h{AEh}}}{{Bf{{A@d{ce}}Ol}}}AClA@h}{{{h{{A@d{ce}}}}AEj}{{Ch{{h{{A@d{ce}}}}}}}OnA@h}{{{h{{A@d{ce}}}}AEj}{{Ch{c}}}OnA@h}{{{h{{Oh{c}}}}e}{{Bf{{C`{{Mn{{Mn{Cj}}}}Af}}Ol}}}{OnA@`}{{AEl{c}}}}0{{{h{{A@d{ce}}}}}GhOnA@h}0{{{h{{Oh{A@l}}}}}Gh}{{{h{{Oh{c}}}}{h{de}}}Ab{AEnOn}Kb}{{{h{ABn}}{h{dc}}}AbKb}{{{h{AC`}}{h{dc}}}AbKb}{{{h{{A@d{ce}}}}{h{dg}}}AbOnA@hKb}{ce{}{}}000{{{A@d{ce}}}{{A@f{ce}}}OnA@h}{{{Oh{A@l}}}{{Bf{{Mn{{Oh{A@l}}}}Ol}}}}{{Fl{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{Ld{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}99:{{{h{{A@d{ce}}}}}{{AF`{ce}}}OnA@h}{{{h{{A@d{ce}}}}}{{AFb{ce}}}OnA@h}{{{h{{Oh{c}}}}}{{Bf{{AFd{c}}Ol}}}On}{{{h{{A@d{ce}}}}}{{Bf{{AFd{c}}Ol}}}OnA@h}{{{h{{A@d{ce}}}}}{{Bf{AbAFf}}}OnA@h}{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Ch{AEj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{h{{A@d{cABn}}}}}{{Ch{AEj}}}On}{{{h{{A@d{cAC`}}}}}{{Ch{AEj}}}On}{{{h{{A@d{ce}}}}}{{Bf{AEjOl}}}OnA@h}{{{h{{Oh{c}}}}}{{Bf{AEjOl}}}On}1{{{h{{Oh{c}}}}}{{Bf{AFhOl}}}On}{{}{{h{Nh}}}}00{{{A@d{cAFj}}}{{Bf{{Oh{c}}Ol}}}On}{c{{Oh{c}}}On}{c{{Bf{{Oh{c}}Ol}}}On}{{{A@d{cABn}}}{{Bf{{Oh{c}}Ol}}}On}{{AEj{Mn{c}}}{{Bf{{Oh{c}}Ol}}}On}{{{AEb{c}}}{{Oh{c}}}On}{{{ADn{c}}}{{Oh{c}}}On}4{{{A@d{cAC`}}}{{Bf{{Oh{c}}Ol}}}On}3{{c{Ch{{AFl{c}}}}}{{Bf{{Oh{c}}Ol}}}On}614`{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbOl}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{h{Lb}}}{{Bf{{A@d{c}}Ol}}}A@h}{{{h{{Mb{c}}}}{h{Nh}}}{{Bf{{C`{{Oh{A@l}}{An{A@lAFn}}}}Ol}}}AG`}1{{{h{Lb}}{h{ACn}}}{{Bf{{A@d{c}}Ol}}}A@h}{{{h{{Oh{c}}}}{h{{Oh{c}}}}}{{Ch{Fb}}}{AGbOn}}{{{h{ABn}}{h{ABn}}}{{Ch{Fb}}}}{{{h{AC`}}{h{AC`}}}{{Ch{Fb}}}}{{{h{{A@d{ce}}}}{h{{A@d{ce}}}}}{{Ch{Fb}}}OnA@h}{{{h{c}}}AEjOn}00{{{Oh{A@n}}{h{c}}}{{Bf{AGd{Oh{A@n}}}}}{{AAf{A@n}}}}0`{{{h{{A@d{ce}}}}}GhOnA@h}{{{h{{Oh{c}}}}}{{Bf{AbOl}}}On}{{{h{{A@d{ce}}}}}{{Bf{AbAD`}}}OnA@h}{{{h{{Oh{c}}}}{h{dAGf}}e}{{Bf{AbOl}}}{OnA@`}{{AEl{c}}}}{{{h{{A@d{ce}}}}g}{{Bf{{Mn{{Mn{Cj}}}}Ol}}}{A@`On}A@h{{AEl{c}}}}0{{{h{{Oh{c}}}}}{{Bf{AfOl}}}{OnA@`}}{{{h{{Oh{c}}}}}Af{OnA@`}}{{{h{{A@d{ce}}}}}AEjOnA@h}{{{h{{Oh{c}}}}e}BfOnMf}{{{h{{A@d{ce}}}}g}BfOnA@hMf}{{}AGh}00{{{h{{A@d{ce}}}}{h{{An{ABjc}}}}}{{A@d{ce}}}OnA@h}`{{{h{c}}}e{}{}}000{{{h{c}}}Gd{}}0{{{h{{Oh{A@l}}}}{h{{An{A@lAFn}}}}}Gd}{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbOl}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}0{{{h{{Oh{c}}}}{h{di}}}{{Bf{{AGj{g}}}}}OnOn{}{{AGl{ceg}}}}{{{h{{A@d{ce}}}}{h{dk}}}{{Bf{{AGj{i}}}}}OnA@hOn{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Nd{}}000={ce{}{}}000{{{h{{A@d{ce}}}}}GhOnA@h}{{{h{Nh}}}{{Bf{GdGb}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Gb}}{h{Gb}}}Gh}{{{h{Gb}}{h{dHh}}}Hl}0{AGnGb}{AH`Gb}{OlGb}{AHbGb}{AHdGb}{AHfGb}{cc{}}{AHhGb}>{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Nd{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AHj}}}AHj}{{{h{AHl}}}AHl}{{{h{AHn}}}AHn}{{{h{Ln}}}Ln}{{{h{AI`}}}AI`}{{{h{ADd}}}ADd}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AI`}{{{h{AHj}}{h{AHj}}}Gh}{{{h{AHl}}{h{AHl}}}Gh}{{{h{AHn}}{h{AHn}}}Gh}{{{h{Ln}}{h{Ln}}}Gh}{{{h{AI`}}{h{AI`}}}Gh}{{{h{AHb}}{h{AHb}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}00000000000{{{h{AHj}}{h{dHh}}}Hl}{{{h{AHl}}{h{dHh}}}Hl}{{{h{AHn}}{h{dHh}}}Hl}{{{h{Ln}}{h{dHh}}}Hl}{{{h{AI`}}{h{dHh}}}Hl}{{{h{AHb}}{h{dHh}}}Hl}0{{{h{ADd}}{h{dHh}}}Hl}{cc{}}0{GhAHn}1{AHlLn}2222{{{h{Ln}}{h{{An{Gd{Mn{AEj}}}}}}}{{Bf{AI`AHb}}}}{{{h{AHj}}{h{dc}}}AbKb}{{{h{AI`}}{h{dc}}}AbKb}{{{h{AHl}}}Gd}`{ce{}{}}000000{{{h{AHl}}}Gh}{{{h{AHn}}}Gh}{{{h{AI`}}}Gh}`{{{h{AI`}}{h{AI`}}}{{Ch{Fb}}}}{{{h{Ln}}}Gh}`{{{h{AHj}}c}BfMf}{{{h{AHl}}c}BfMf}{{{h{AHn}}c}BfMf}{{{h{Ln}}c}BfMf}{{{h{AI`}}c}BfMf}`{{{h{c}}}e{}{}}00000{{{h{c}}}Gd{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Nd{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AIbEd}{{Bf{AIdGb}}}}{{{AIf{c}}Ed}{{Bf{AIdGb}}}{{AIh{ABn}}}}{{{AIj{c}}Ed}{{Bf{AIdGb}}}{{AIh{AC`}}}}{{{AIl{c}}Ed}{{Bf{AIdGb}}}{{AIh{AC`}}}}{{{AIn{c}}Ed}{{Bf{AIdGb}}}{{AIh{AJ`}}}}{{{AJb{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABn}}}}{{{AJf{c}}Ed}{{Bf{AIdGb}}}{{AJd{ABn}}}}{{{AJh{c}}Ed}{{Bf{AIdGb}}}{{AJd{AC`}}}}{{{AJj{c}}Ed}{{Bf{AIdGb}}}{{AJd{AC`}}}}{{{AJl{c}}Ed}{{Bf{AIdGb}}}{{AJd{AC`}}}}{{{AJn{c}}Ed}{{Bf{AIdGb}}}{{AJd{AC`}}}}{{{AK`{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{AKb{c}}Ed}{{Bf{AIdGb}}}{{AJd{AJ`}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{ABn}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{AC`}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{AC`}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AJ`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AJd{ABn}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AJd{ABn}}}}{{{h{{AJh{c}}}}}{{AJh{c}}}{Al{AJd{AC`}}}}{{{h{{AJj{c}}}}}{{AJj{c}}}{Al{AJd{AC`}}}}{{{h{{AJl{c}}}}}{{AJl{c}}}{Al{AJd{AC`}}}}{{{h{{AJn{c}}}}}{{AJn{c}}}{Al{AJd{AC`}}}}{{{h{{AK`{c}}}}}{{AK`{c}}}{Al{AJd{AJ`}}}}{{{h{{AKb{c}}}}}{{AKb{c}}}{Al{AJd{AJ`}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AIf{c}}}}{h{dHh}}}Hl{Hn{AIh{ABn}}}}{{{h{{AIj{c}}}}{h{dHh}}}Hl{Hn{AIh{AC`}}}}{{{h{{AIl{c}}}}{h{dHh}}}Hl{Hn{AIh{AC`}}}}{{{h{{AIn{c}}}}{h{dHh}}}Hl{Hn{AIh{AJ`}}}}{{{h{{AJb{c}}}}{h{dHh}}}Hl{Hn{AJd{ABn}}}}{{{h{{AJf{c}}}}{h{dHh}}}Hl{Hn{AJd{ABn}}}}{{{h{{AJh{c}}}}{h{dHh}}}Hl{Hn{AJd{AC`}}}}{{{h{{AJj{c}}}}{h{dHh}}}Hl{Hn{AJd{AC`}}}}{{{h{{AJl{c}}}}{h{dHh}}}Hl{Hn{AJd{AC`}}}}{{{h{{AJn{c}}}}{h{dHh}}}Hl{Hn{AJd{AC`}}}}{{{h{{AK`{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{{{h{{AKb{c}}}}{h{dHh}}}Hl{Hn{AJd{AJ`}}}}{cc{}}00000000000{ce{}{}}00000000000{{AId{h{{Mb{M`}}}}Ed}{{Bf{{C`{LdLf}}Gb}}}}{{c{h{{Mb{M`}}}}Ed}{{Bf{{C`{{Oh{A@l}}{An{A@lAFn}}}}Gb}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Nd{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AKd}}}AKd}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AKd}}{h{dHh}}}Hl}0{{{h{Jj}}{h{dHh}}}Hl}0{{{h{Dh}}{h{dHh}}}Hl}0={GbJj}{AKfJj}{OdJj}{AKdJj}{AHbJj}{cc{}}0{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Gd{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Nd{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AKh}}}{{Ch{Gd}}}}{{{h{AKh}}}Gd}{c{{Bf{AKh}}}Gf}{{{h{f}}{h{Nh}}Gh}{{Bf{AKh{h{Nh}}}}}}{{{h{AKh}}{h{dHh}}}Hl}0<{{{h{Nh}}}{{Bf{AKhc}}}{}}<``{{{h{AKh}}c}BfMf};::9=```````````````````````````````````````````{{}AKj}{{}A@b}{{A@lBb}{{Bf{A@nAA`}}}};;;;;;;;;;;;::::::::::::{{{h{{AKl{ce}}}}{h{g}}}{{AAd{{AAb{c}}}}}{A@`On}A@h{{AAf{c}}}}{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbAAj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}00000{{{h{c}}}{{Bf{AbAAj}}}On}{{{h{{A@f{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbAAj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{h{{Cl{{Mn{Cj}}}}}}}{{Bf{AbAAj}}}}{{{h{{AKn{ce}}}}}{{AKn{ce}}}AlA@h}{{{h{A@b}}}A@b}{{{h{AL`}}}AL`}{{{h{{AKl{ce}}}}}{{AKl{ce}}}{AlOn}{AlA@h}}{{{h{A@l}}}A@l}{{{h{AFn}}}AFn}{{{h{ALb}}}ALb}{{{h{ALd}}}ALd}{{{h{ALf}}}ALf}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Fb{ACbOn}{ACbA@h}}{{{h{A@l}}{h{A@l}}}Fb}{{{h{ALb}}{h{ALb}}}Fb}{{{h{ALf}}{h{ALf}}}Fb}`{{}AL`}{{{h{{AKn{ce}}}}}{{h{g}}}{}A@h{}}{{A@lBb}{{Bf{A@nAA`}}}}{c{{Bf{A@l}}}Gf}{{{h{{AKl{ce}}}}}Af{A@`On}A@h}{{{h{A@b}}{h{A@b}}}Gh}{{{h{AGn}}{h{AGn}}}Gh}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}Gh{GlOn}{GlA@h}}{{{h{A@l}}{h{A@l}}}Gh}{{{h{AFn}}{h{AFn}}}Gh}{{{h{ALb}}{h{ALb}}}Gh}{{{h{ALd}}{h{ALd}}}Gh}{{{h{ALf}}{h{ALf}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000000000{{{h{{ALh{c}}}}{h{dHh}}}Hl{HnA@h}}{{{h{A@b}}{h{dHh}}}Hl}{{{h{AL`}}{h{dHh}}}Hl}{{{h{AGn}}{h{dHh}}}Hl}0{{{h{{AKl{ce}}}}{h{dHh}}}{{Bf{AbHj}}}OnA@h}0{{{h{A@l}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{AFn}}{h{dHh}}}{{Bf{AbHj}}}}0{{{h{ALb}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALd}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{ALf}}{h{dHh}}}{{Bf{AbHj}}}}{{{h{{AKl{ce}}}}g}GhOnA@h{{Nb{{h{c}}}{{N`{Gh}}}}}}{ALj{{ALl{c}}}A@h}{ALn{{ALl{c}}}A@h}{cc{}}00000{AHfAGn}{OlAGn}22{A@nA@l}3333{{A@lAKj}{{ALh{c}}}A@h}{{AFnAKj}{{ALh{c}}}A@h}{{{h{Nh}}}{{Bf{A@l}}}}{{{h{Nh}}}{{Bf{AFn}}}}{{{h{AEh}}}{{Bf{{AKl{ce}}Ol}}}{AM`On}A@h}{{{h{A@l}}}{{Ch{AMb}}}}{{{h{A@l}}}{{Mn{AMb}}}}{c{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@h}{{}{{Bf{{AKn{AMnc}}e}}}A@h{}}{{{h{dc}}}{{Bf{{AKn{AMne}}g}}}{AN`ANb}A@h{}}{{c{h{de}}}{{Bf{{AKn{{AMh{}{{AMd{g}}{AMf{c}}{Kd{i}}}}k}}i}}}{}{AN`ANb}{{AMj{{Cl{Cj}}}}AMl}HnA@h}{{ce}{{Bf{{AKn{{AMh{}{{AMd{e}}{AMf{c}}{Kd{g}}}}i}}g}}}{}{{AMj{{Cl{Cj}}}}AMl}HnA@h}{c{{Bf{{AKn{AMne}}g}}}{}A@h{}}{{{h{{ALl{c}}}}}GhA@h}{{{h{A@l}}}Gh}{{{h{{AKl{ce}}}}{h{dg}}}Ab{AEnOn}{AEnA@h}Kb}{{{h{A@l}}{h{dc}}}AbKb}{{{h{ALb}}{h{dc}}}AbKb}{{{h{ALf}}{h{dc}}}AbKb}{ce{}{}}00000000000{A@lANd}{AIh{{Bf{{ALh{c}}AGn}}}A@h}{{AJd{Ch{ANf}}AMb}{{Bf{{ALh{c}}AGn}}}A@h}{{{AKn{ec}}{Ch{ANf}}AMb}{{Bf{{ALh{c}}AGn}}}A@h{{AJd{c}}}}{{{AKn{ec}}}{{Bf{{ALh{c}}AGn}}}A@h{{AIh{c}}}}{{{ALh{c}}}{{Bf{{ALh{c}}AGn}}}A@h}{A@l{{Bf{{ALh{c}}AGn}}}A@h}{AFn{{Bf{{ALh{c}}AGn}}}A@h}{AJd{{Bf{{ALl{c}}AGn}}}A@h}{{{ALl{c}}}{{Bf{{ALl{c}}AGn}}}A@h}{{{AKn{ec}}}{{Bf{{ALl{c}}AGn}}}A@h{{AJd{c}}}}{{{AKn{ce}}}c{}A@h}{A@l{{Mn{A@l}}}}{AFn{{Mn{AFn}}}}{{{ALl{c}}Ed}{{Ch{ALn}}}A@h}{{{ALl{c}}Ed{h{{Mb{e}}}}}ALjA@hAG`}{{{h{A@l}}}Gh}{{}Gh}{{{h{A@b}}}Gh}2{{{h{AFn}}}Gh}212133{{{h{{AKl{ce}}}}}AEjOnA@h}``{{{h{{AKl{ce}}}}}{{Bf{{AFd{c}}Ol}}}OnA@h}{{}AKj}{{{h{A@l}}}ANh}{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Ch{AEj}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}44{{{h{AKj}}{h{AKj}}}AKj}5{{}{{h{Nh}}}}{{AEj{Mn{c}}}{{Bf{{AKl{ce}}Ol}}}OnA@h}{{{h{A@l}}}AEj}``{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbOl}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}{{{ALh{c}}AKj}{{ALh{c}}}A@h}{{{h{{AKl{ce}}}}{h{{AKl{ce}}}}}{{Ch{Fb}}}{AGbOn}{AGbA@h}}{{{h{A@l}}{h{A@l}}}{{Ch{Fb}}}}{{{h{ALb}}{h{ALb}}}{{Ch{Fb}}}}{{{h{ALf}}{h{ALf}}}{{Ch{Fb}}}}{{{h{c}}}AEjOn}{{{h{{AKl{ce}}}}}{{h{{Cl{c}}}}}OnA@h}{{{h{{AKl{ce}}}}}{{Bf{AbOl}}}OnA@h}{{{h{{AKl{ce}}}}g}{{Bf{{Mn{{Mn{Cj}}}}Ol}}}{A@`On}A@h{{AEl{c}}}}{{{h{{AKl{ce}}}}}AEjOnA@h}{{{h{A@l}}c}BfMf}{{}AGh}{{{h{{AKl{ce}}}}}{{A@f{ce}}}{A@`On}A@h}{{}AKj}{{{h{c}}}e{}{}}00000000{{{h{AFn}}{h{{Mb{c}}}}}{{Bf{A@lANj}}}AG`}{{{h{c}}}Gd{}}000{{{h{{A@d{c{A@h{}{{AAh{e}}}}}}}}}{{Bf{AbOl}}}On{{ABl{}{{AAl{AAn}}{AB`{ABb}}{ABd{ABf}}{ABh{ABj}}}}OnOnOnOn}}0{{{h{{AKl{ce}}}}{h{dk}}}{{Bf{{AKl{ge}}{AGj{i}}}}}OnA@hOn{}{{AGl{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Nd{}}00000000000{ce{}{}}00000000000`{{{h{ANl}}}{{Ch{Dj}}}}{{{h{ANl}}}{{Ch{Dn}}}}{{{h{ANl}}AEj}{{Ch{Kn}}}}`{{{h{Jb}}{h{Nh}}{h{{Cl{{h{{Cl{{h{Nh}}}}}}}}}}}{{Bf{AbANn}}}}````````````````````````````````````{{{h{dJl}}AO`l{A`{n}}}{{Ch{{A`{n}}}}}}``{{{h{Jl}}{h{{Mb{M`}}}}}Lf}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Lf{h{{Oh{A@l}}}}{h{{Mb{M`}}}}}Jl}{{{h{AO`}}}AO`}{{{h{AOb}}}AOb}{{{h{{AOd{c}}}}}{{AOd{c}}}{AlAOfHnAl}}{{{h{l}}}l}{{{h{Jl}}}Jl}{{{h{Hd}}}Hd}{{{h{AOh}}}AOh}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{AO`}}{h{AO`}}}Fb}{{{h{l}}{h{l}}}Fb}{{}l}{{}Jl}{{}Hd}{{}AOh}{{{h{{AOd{c}}}}}{{h{e}}}{AOfHnAl}{}}{{{h{AOj}}}{{Ch{AFn}}}}0{{{h{{AOd{AOl}}}}}{{Ch{AFn}}}}{{{h{{AOd{{AOn{ALn}}}}}}}{{Ch{AFn}}}}{{{h{{AOd{{B@`{ALn}}}}}}}{{Ch{AFn}}}}{{{h{AO`}}{h{AO`}}}Gh}{{{h{AOb}}{h{AOb}}}Gh}{{{h{l}}{h{l}}}Gh}{{{h{AOh}}{h{AOh}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0000000{{{h{Jl}}AO`}{{Ch{{h{{A`{n}}}}}}}}{{{h{AO`}}{h{dHh}}}Hl}{{{h{Hf}}{h{dHh}}}Hl}0{{{h{AOb}}{h{dHh}}}Hl}{{{h{{AOd{c}}}}{h{dHh}}}Hl{HnAOfHnAl}}{{{h{l}}{h{dHh}}}Hl}{{{h{Jl}}{h{dHh}}}Hl}{{{h{Hd}}{h{dHh}}}Hl}{{{h{AOh}}{h{dHh}}}Hl}{cc{}}{ABjAO`}{ANhAO`}2222222{{{h{AO`}}{h{dc}}}AbKb}{{{h{AOj}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{B@`{ALn}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{AOl}}}}{h{{Mb{M`}}}}}AO`}{{{h{{AOd{{AOn{ALn}}}}}}{h{{Mb{M`}}}}}AO`}{{{h{Jl}}}{{Mn{{h{AO`}}}}}}{ce{}{}}0000000{{cAOb}{{AOd{c}}}{AOfHnAl}}{{}Jl}{{{h{AO`}}{h{AO`}}}{{Ch{Fb}}}}{{{h{l}}{h{l}}}{{Ch{Fb}}}}{{{h{dJl}}AO`l}{{Ch{{A`{n}}}}}}{{{h{B@b}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{AOn{ALn}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{{B@`{ALn}}}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{{AOd{AOl}}}}{h{dHb}}AEj{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{n}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}}{{{h{c}}{h{dHb}}{h{Hd}}{h{{Mb{M`}}}}}{{Bf{AbHf}}}{}}`{{{h{Jl}}}{{Mn{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Gd{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Nd{}}0000000{ce{}{}}0000000````````````````{{{h{d{Df{c}}}}{h{e}}}{{h{d{Df{c}}}}}{}{{B@f{B@d}}}}{{{h{d{Df{c}}}}K`JhAFh}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}K`JhAFhMd}{{Bf{{h{d{Df{c}}}}B@h}}}{}}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}AfDj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}K`}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}{h{{Cl{K`}}}}}{{Bf{{h{d{Df{c}}}}B@j}}}{}}{{{h{d{Df{c}}}}Gh}{{h{d{Df{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Df{c}}}}B@l}{{h{d{Df{c}}}}}{}}{{{h{{Df{c}}}}}{{Df{c}}}Al}{{{h{B@n}}}B@n}{{{h{B@l}}}B@l}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@l}}{h{B@l}}}Fb}{{{Df{c}}e}{{Df{e}}}{}O`}{{{h{d{Df{c}}}}Bb}{{h{d{Df{c}}}}}{}}{{}B@n}{{}B@l}{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Af}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}Md}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}Gh}{{{h{c}}{h{e}}}Gh{}{}}0{{{h{d{Df{c}}}}Dj}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Dn}{{h{d{Df{c}}}}}{}}{{{Df{c}}}{{Bf{HbJj}}}O`}{{{Df{c}}{h{de}}}{{Bf{HbJj}}}O`ANb}{{{h{{Df{c}}}}{h{dHh}}}HlHn}{{{h{B@j}}{h{dHh}}}Hl}0{{{h{B@h}}{h{dHh}}}Hl}0{{{h{B@n}}{h{dHh}}}Hl}{{{h{B@l}}{h{dHh}}}Hl}{cc{}}0000{{{h{B@l}}{h{dc}}}AbKb}?{ce{}{}}0000{{{h{d{Df{c}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BA`}{{h{d{Df{c}}}}}{}}11{{{h{d{Df{c}}}}B@n}{{h{d{Df{c}}}}}{}}{{{h{B@l}}{h{B@l}}}{{Ch{Fb}}}}{{{h{d{Df{c}}}}{An{Gd{Mn{AEj}}}}j}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}{Mn{{C`{AfDj}}}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}Jf}{{h{d{Df{c}}}}}{}}{{{h{B@n}}{h{dBl}}}Ab}{{{h{B@n}}{h{dBl}}{h{dc}}}AbANb}{{{h{c}}}e{}{}}00{{{h{c}}}Gd{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Nd{}}0000{{{h{d{Df{c}}}}{Mn{K`}}}{{h{d{Df{c}}}}}{}}{{{h{d{Df{c}}}}BAb}{{h{d{Df{c}}}}}{}}?????````","D":"GD`","p":[[5,"Balance",0,1977],[0,"mut"],[5,"Wallet",0,1978],[1,"reference"],[6,"KeychainKind",0,1979],[5,"SignerOrdering",1671,1980],[10,"TransactionSigner",1671,1980],[5,"Arc",1981],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1982],[8,"Indexed",1983],[10,"Iterator",1984],[10,"Clone",1985],[5,"BTreeMap",1986],[5,"Block",1987],[1,"u32"],[5,"CannotConnectError",1988],[6,"Result",1989],[5,"BlockId",1990],[6,"ApplyHeaderError",1988],[5,"Transaction",1991],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1992],[5,"Update",0,1978],[10,"Into",1993],[6,"Option",1994],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1990],[5,"TxGraph",1995],[5,"Txid",1991],[8,"DefaultCoinSelectionAlgorithm",489,1996],[5,"TxBuilder",1858,1997],[6,"BuildFeeBumpError",1249,1998],[5,"Amount",1999],[6,"CalculateFeeError",1995],[5,"FeeRate",2000],[5,"LoadParams",0,2001],[5,"BlockHash",1987],[6,"Network",2002],[5,"CheckPointIter",2003],[5,"LocalOutput",0,1979],[5,"WeightedUtxo",0,1979],[6,"Utxo",0,1979],[5,"ChangeSet",0,2004],[5,"AddressInfo",0,1978],[6,"Ordering",2005],[5,"CreateParams",0,2001],[5,"PersistedWallet",0,2006],[6,"CreateWithPersistError",0,2006],[10,"WalletPersister",0,2006],[10,"IntoWalletDescriptor",588],[10,"Send",2007],[10,"AsyncWalletPersister",0,2006],[6,"Error",849],[5,"String",2008],[10,"Deserializer",2009],[1,"bool"],[6,"LoadWithPersistError",0,2006],[10,"PartialEq",2005],[6,"LoadError",0,1978],[6,"LoadMismatch",0,1978],[5,"Psbt",2010],[5,"SignOptions",1671,1980],[6,"SignerError",1671,1980],[5,"Formatter",2011],[5,"Error",2011],[8,"Result",2011],[10,"Debug",2011],[6,"FileStoreError",0,2006],[10,"Display",2011],[6,"ApplyBlockError",0,1978],[5,"ChangeSet",1988],[5,"ChangeSet",2012],[5,"ChangeSet",2013],[5,"ChangeSet",1995],[5,"FullScanResult",2014],[5,"SyncResult",2014],[5,"Transaction",2015],[8,"Result",2016],[5,"PsbtSighashType",2017],[5,"Input",2017],[6,"CreateTxError",1249,1998],[5,"SignersContainer",1671,1980],[8,"WalletTx",0,1978],[5,"OutPoint",1991],[10,"Hasher",2018],[17,"Error"],[10,"Future",2019],[5,"Box",2020],[5,"Pin",2021],[5,"AlterCheckPointError",1988],[5,"TxOut",1991],[10,"IsDust",0,2022],[5,"Script",2023],[8,"ExtendedDescriptor",588],[8,"KeyMap",1349,2024],[5,"CheckPoint",2003],[10,"DoubleEndedIterator",2025],[5,"LocalChain",1988],[5,"Policy",882],[6,"All",2026],[5,"Secp256k1",2027],[5,"Sequence",1991],[10,"Serializer",2028],[5,"KeychainTxOutIndex",2012],[5,"FullScanRequestBuilder",2014],[5,"SyncRequestBuilder",2014],[5,"Vec",2029],[17,"Output"],[10,"FnMut",2030],[5,"TypeId",2031],[5,"TxNode",1995],[1,"str"],[5,"LargestFirstCoinSelection",489,1996],[5,"OldestFirstCoinSelection",489,1996],[5,"BranchAndBoundCoinSelection",489,1996],[10,"CoinSelectionAlgorithm",489,1996],[5,"CoinSelectionResult",489,1996],[6,"Error",489,1996],[6,"Excess",489,1996],[6,"Descriptor",588,2024],[5,"Address",2032],[6,"Error",2033],[10,"MiniscriptKey",2033],[10,"ToPublicKey",2033],[6,"ScriptContextEnum",1349],[5,"Miniscript",588,2034],[6,"Terminal",2035],[10,"ScriptContext",1349,2036],[6,"Tree",2037],[6,"DescriptorPublicKey",1349,2038],[5,"DefiniteDescriptorKey",2038],[6,"ConversionError",2038],[6,"Placeholder",2039],[5,"Satisfaction",2039],[10,"AssetProvider",2040],[17,"Key"],[6,"ScriptContextError",2036],[17,"Sha256"],[5,"Hash",2041],[17,"Hash256"],[5,"Hash",2042],[17,"Ripemd160"],[5,"Hash",2043],[17,"Hash160"],[5,"Hash",2044],[10,"ParseableKey",2035],[6,"Legacy",588,2036],[6,"Segwitv0",588,2036],[10,"Ord",2005],[5,"PublicKey",2045],[10,"Verification",2046],[6,"DescriptorType",2024],[5,"DescriptorId",2047],[10,"FromStrKey",2048],[5,"ExtParams",2049],[6,"AnalysisError",2049],[10,"ExtractPolicy",588],[6,"BuildSatisfaction",882],[5,"Range",2050],[5,"Bare",2051],[5,"Sh",2052],[5,"Tr",2053],[5,"Wsh",2054],[5,"Pkh",2051],[5,"Wpkh",2054],[5,"Type",2055],[5,"ExtData",2056],[5,"Tree",2057],[1,"usize"],[10,"Satisfier",2039],[10,"Hash",2018],[5,"Iter",2058],[5,"PkIter",2058],[6,"Policy",2059],[6,"LiftError",2060],[5,"Weight",2061],[6,"BareCtx",2036],[6,"TapTree",2053],[6,"DescriptorSecretKey",1349,2038],[10,"Signing",2046],[10,"PartialOrd",2005],[5,"Plan",2040],[5,"TxIn",1991],[6,"SigType",2036],[6,"TranslateErr",2033],[10,"Translator",2033],[6,"KeyError",1349],[6,"HexToBytesError",2062],[6,"PolicyError",882],[6,"Error",2063],[6,"Error",2064],[6,"ParsePublicKeyError",2045],[6,"PkOrF",882],[6,"SatisfiableItem",882],[6,"Satisfaction",882],[5,"Condition",882],[10,"DescriptorTemplate",1065],[8,"DescriptorTemplateOut",1065],[5,"P2Pkh",1065],[10,"IntoDescriptorKey",1349],[5,"P2Wpkh_P2Sh",1065],[5,"P2Wpkh",1065],[5,"P2TR",1065],[6,"Tap",2036],[5,"Bip44",1065],[10,"DerivableKey",1349],[5,"Bip44Public",1065],[5,"Bip49",1065],[5,"Bip49Public",1065],[5,"Bip84",1065],[5,"Bip84Public",1065],[5,"Bip86",1065],[5,"Bip86Public",1065],[6,"MiniscriptPsbtError",1249,1998],[6,"Error",2065],[5,"FullyNodedExport",1326,2066],[8,"ValidNetworks",1349],[5,"SortedMultiVec",1349,2067],[5,"GeneratedKey",1349],[5,"PrivateKeyGenerateOptions",1349],[5,"SinglePub",1349,2038],[5,"SinglePriv",1349,2038],[6,"SinglePubKey",1349,2038],[6,"DescriptorKey",1349],[5,"Xpub",2064],[6,"ExtendedKey",1349],[5,"Xpriv",2064],[10,"FromStr",2068],[5,"DerivationPath",2064],[17,"Entropy"],[17,"Options"],[10,"GeneratableKey",1349],[10,"AsMut",1993],[10,"Default",2069],[10,"GeneratableDefaultOptions",1349],[10,"CryptoRng",2070],[10,"RngCore",2070],[5,"Assets",2040],[8,"KeySource",2064],[5,"Fingerprint",2064],[5,"DescriptorKeyParseError",2038],[10,"PsbtUtils",1665],[6,"Error",2071],[6,"SignerId",1671,1980],[6,"SignerContext",1671,1980],[5,"SignerWrapper",1671,1980],[10,"Sized",2007],[6,"TapLeavesOptions",1671,1980],[10,"SignerCommon",1671,1980],[5,"PrivateKey",2045],[5,"DescriptorXKey",2038],[5,"DescriptorMultiXKey",2038],[10,"InputSigner",1671,1980],[5,"PushBytes",2072],[10,"AsRef",1993],[6,"AddForeignUtxoError",1858,1997],[6,"AddUtxoError",1858,1997],[6,"ChangeSpendPolicy",1858,1997],[6,"TxOrdering",1858,1997],[6,"LockTime",2073],[1,"i32"],[15,"InvalidTxid",1973],[15,"UnexpectedConnectedToHash",475],[15,"Network",477],[15,"Genesis",477],[15,"Descriptor",477],[15,"Custom",1975],[15,"Foreign",486],[15,"InsufficientFunds",581],[15,"Change",583],[15,"NoChange",583],[8,"DerivedDescriptor",588],[15,"PsbtTimelocks",1041],[15,"Complete",1044],[15,"Partial",1044],[15,"PartialComplete",1044],[15,"Sha256Preimage",1055],[15,"Hash256Preimage",1055],[15,"Ripemd160Preimage",1055],[15,"Hash160Preimage",1055],[15,"Thresh",1055],[15,"Multisig",1055],[15,"AbsoluteTimelock",1055],[15,"RelativeTimelock",1055],[15,"RbfSequenceCsv",1320],[15,"LockTime",1320],[15,"FeeTooLow",1320],[15,"FeeRateTooLow",1320],[8,"WalletExport",1326],[10,"ExtScriptContext",1349],[15,"Tap",1857]],"r":[[0,1997],[1,1997],[2,1978],[3,1978],[4,2006],[5,1977],[9,2004],[10,1997],[11,2001],[12,2006],[21,2006],[24,588],[29,2022],[30,1979],[32,1978],[33,1978],[34,2001],[35,2006],[37,1979],[47,2006],[49,1980],[50,1997],[51,1997],[55,1978],[56,1979],[59,1978],[60,2006],[61,1978],[62,1979],[146,1978],[198,1978],[199,1978],[340,2074],[355,1978],[356,1978],[364,588],[423,1978],[472,1978],[491,1996],[493,1996],[494,1996],[495,1996],[496,1996],[497,1996],[499,1996],[501,1996],[524,1996],[592,2024],[594,2038],[601,2036],[602,2034],[607,882],[608,2036],[609,2036],[643,848],[1249,1998],[1252,1998],[1260,1998],[1326,2066],[1327,2066],[1352,2038],[1353,2038],[1368,2024],[1378,2036],[1383,2038],[1384,2038],[1385,2038],[1386,2067],[1669,2075],[1670,2075],[1678,1980],[1695,1980],[1696,1980],[1697,1980],[1698,1980],[1699,1980],[1700,1980],[1701,1980],[1702,1980],[1704,1980],[1705,1980],[1858,1997],[1859,1997],[1862,1997],[1869,1997],[1870,1997]],"b":[[203,"impl-Debug-for-Balance"],[204,"impl-Display-for-Balance"],[211,"impl-Debug-for-FileStoreError"],[212,"impl-Display-for-FileStoreError"],[213,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[214,"impl-Display-for-LoadWithPersistError%3CE%3E"],[215,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[216,"impl-Display-for-CreateWithPersistError%3CE%3E"],[219,"impl-Debug-for-AddressInfo"],[220,"impl-Display-for-AddressInfo"],[221,"impl-Debug-for-LoadError"],[222,"impl-Display-for-LoadError"],[224,"impl-Display-for-ApplyBlockError"],[225,"impl-Debug-for-ApplyBlockError"],[235,"impl-From%3CChangeSet%3E-for-ChangeSet"],[236,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[237,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[238,"impl-From%3CChangeSet%3E-for-ChangeSet"],[245,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[246,"impl-From%3CSyncResult%3E-for-Update"],[530,"impl-Debug-for-Error"],[531,"impl-Display-for-Error"],[681,"impl-Descriptor%3CDescriptorPublicKey%3E"],[682,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[709,"impl-Display-for-Descriptor%3CPk%3E"],[710,"impl-Debug-for-Descriptor%3CPk%3E"],[713,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[714,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[717,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[718,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[719,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[721,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[722,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[723,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[866,"impl-Display-for-Error"],[867,"impl-Debug-for-Error"],[868,"impl-From%3CKeyError%3E-for-Error"],[869,"impl-From%3CHexToBytesError%3E-for-Error"],[870,"impl-From%3CError%3E-for-Error"],[871,"impl-From%3CPolicyError%3E-for-Error"],[872,"impl-From%3CError%3E-for-Error"],[873,"impl-From%3CError%3E-for-Error"],[875,"impl-From%3CParsePublicKeyError%3E-for-Error"],[969,"impl-Display-for-PolicyError"],[970,"impl-Debug-for-PolicyError"],[1287,"impl-Display-for-MiniscriptPsbtError"],[1288,"impl-Debug-for-MiniscriptPsbtError"],[1289,"impl-Display-for-CreateTxError"],[1290,"impl-Debug-for-CreateTxError"],[1291,"impl-Display-for-BuildFeeBumpError"],[1292,"impl-Debug-for-BuildFeeBumpError"],[1294,"impl-From%3CError%3E-for-CreateTxError"],[1295,"impl-From%3CError%3E-for-CreateTxError"],[1296,"impl-From%3CError%3E-for-CreateTxError"],[1297,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1298,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1336,"impl-Debug-for-FullyNodedExport"],[1337,"impl-Display-for-FullyNodedExport"],[1482,"impl-Debug-for-KeyError"],[1483,"impl-Display-for-KeyError"],[1484,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1485,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1486,"impl-Display-for-DescriptorPublicKey"],[1487,"impl-Debug-for-DescriptorPublicKey"],[1488,"impl-Display-for-DescriptorSecretKey"],[1489,"impl-Debug-for-DescriptorSecretKey"],[1494,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1495,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1502,"impl-From%3CError%3E-for-KeyError"],[1503,"impl-From%3CError%3E-for-KeyError"],[1545,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1546,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1752,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1753,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1754,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1769,"impl-Display-for-SignerError"],[1770,"impl-Debug-for-SignerError"],[1778,"impl-From%3CHash%3E-for-SignerId"],[1779,"impl-From%3CFingerprint%3E-for-SignerId"],[1789,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1790,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1791,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1807,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1808,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1809,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1917,"impl-Debug-for-AddUtxoError"],[1918,"impl-Display-for-AddUtxoError"],[1919,"impl-Display-for-AddForeignUtxoError"],[1920,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAKkC8wL/AjAFrwUXBg==","e":"OzAAAAEAABkEfgAZAAAAQQAAAE0AAQBRACQAewAAAIIAEACeAAYArQAZAMoAAADMABYA7AADAPMAAAD2AAEA+wAAAAQBAQAiAQAAPQEAAEgBAABUAQAAWgEFAGUBAABtAQ8AhAEjAK8BEQDHAREA9wERAAoCAgAOAgIAEwIGACoCGwBSAgAAYAIAAHQCAQB3AgAAeQIHAIQCAACGAgEAiQIAAIwCAQCPAgEAkwIBAJYCAQCZAgEAnAILAK0CAwCyAgsAwwIBAMYCCgDSAgIA2gIAAOcCAwDyAgAA+AIBAPwCAQADAwEAGQMDAB4DAQAsAwEALwMBADMDBQA+AwcARwMDAEwDAwBgAwoAbAMAAG4DBACWAxkAsgMaAM8DAADRAwAA1wMBAOYDAADpAwQA7wMiADgEFwBRBC8AmQRIAAAFDQAPBQQAGQUPADMFAQA3BQAAOQUBADwFAABABQUAdAUXAJYFFQCtBQEAsAUAALIFJgDfBQEA4wUAAOoFAQD3BQMABwYAAAoGBAAQBgEAIAYBACUGAAAvBgAANAYDAD0GAABBBggASwYDAFIGLwCxBg8AwgYUANkGDgDpBggA8wYBAPwGAAD+BgIADAcBABAHAgAUBwAAGAcHACIHHwBbBwkAZgcGAG8HAQB2BwIAfQcGAIkHAACVBwAAmwcTALEHBAA="}],\ ["example_bitcoind_rpc_polling",{"t":"PSSSSGPSPFGSPPNNNNHNNNNNNNNNNONNNNNNNNNNNNNNHNOOOHNNNNNNNNNNNNNNNONNNOO","n":["Block","CHANNEL_BOUND","DB_COMMIT_DELAY","DB_MAGIC","DB_PATH","Emission","Live","MEMPOOL_EMIT_DELAY","Mempool","RpcArgs","RpcCommands","STDOUT_PRINT_DELAY","Sync","Tip","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","await_flag","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","fallback_height","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","main","new_client","rpc_cookie","rpc_password","rpc_user","start_ctrlc_handler","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","url","vzip","vzip","vzip","rpc_args","rpc_args"],"q":[[0,"example_bitcoind_rpc_polling"],[69,"example_bitcoind_rpc_polling::RpcCommands"],[71,"clap::builder::command"],[72,"core::sync::atomic"],[73,"core::time"],[74,"core::fmt"],[75,"clap::parser::matches::arg_matches"],[76,"clap::error"],[77,"core::result"],[78,"anyhow"],[79,"bitcoincore_rpc::client"],[80,"alloc::sync"],[81,"core::any"]],"i":[10,0,0,0,0,0,8,0,10,0,0,0,8,10,7,7,8,8,0,10,7,8,10,7,8,7,8,7,8,7,10,7,8,10,7,8,7,8,7,8,8,10,7,8,0,7,7,7,7,0,7,8,10,7,8,10,7,8,10,7,8,7,8,7,8,7,10,7,8,21,22],"f":"``````````````{bb}000{{{f{d}}h}j}{{{f{c}}}{{f{e}}}{}{}}00{{{f{lc}}}{{f{le}}}{}{}}00{{{f{n}}}n}{{{f{A`}}}A`}{{{f{c}}{f{le}}}Ab{}{}}0`{{{f{Ad}}{f{lAf}}}Ah}{{{f{n}}{f{lAf}}}Ah}{{{f{A`}}{f{lAf}}}Ah}{cc{}}00{{{f{Aj}}}{{An{nAl}}}}{{{f{Aj}}}{{An{A`Al}}}}{{{f{lAj}}}{{An{nAl}}}}{{{f{lAj}}}{{An{A`Al}}}}{{{f{B`}}}j}{ce{}{}}00{{}{{Bb{Ab}}}}{{{f{n}}}{{Bb{Bd}}}}```{{}{{Bf{d}}}}{{{f{c}}}e{}{}}0{c{{An{e}}}{}{}}00000{{{f{c}}}Bh{}}00{{{f{ln}}{f{Aj}}}{{An{AbAl}}}}{{{f{lA`}}{f{Aj}}}{{An{AbAl}}}}{{{f{ln}}{f{lAj}}}{{An{AbAl}}}}{{{f{lA`}}{f{lAj}}}{{An{AbAl}}}}`:::``","D":"Bb","p":[[8,"Command",71],[5,"AtomicBool",72],[1,"reference"],[5,"Duration",73],[1,"bool"],[0,"mut"],[5,"RpcArgs",0],[6,"RpcCommands",0],[1,"unit"],[6,"Emission",0],[5,"Formatter",74],[8,"Result",74],[5,"ArgMatches",75],[5,"Error",76],[6,"Result",77],[1,"str"],[8,"Result",78],[5,"Client",79],[5,"Arc",80],[5,"TypeId",81],[15,"Sync",69],[15,"Live",69]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAADYACQAAAAEABAACAAkAAgAOAA8AHwACACUABAAtAAEAMgAPAEMABAA="}],\ ["example_cli",{"t":"PGFPPPFFGGPPPPFPPGIPPPPPPPPIPGPPPGEONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOENNNNNNNNNNNNNNNOHONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOHNNNNOOOOHNNNNNNNNNNNNNONOONHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOO","n":["Address","AddressCmd","Args","Balance","BranchAndBound","ChainSpecific","ChangeInfo","ChangeSet","CoinSelectionAlgo","Commands","External","Extract","Generate","Index","Init","Init","Internal","Keychain","KeychainTxGraph","LargestFirst","List","List","New","New","NewestFirst","Next","OldestFirst","PlanUtxo","Psbt","PsbtCmd","Sign","SmallestFirst","TxOut","TxOutCmd","anyhow","args","augment_args","augment_args_for_update","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","augment_subcommands_for_update","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain","change_descriptor","change_keychain","clap","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","command","create_tx","db","default","default","descriptor","deserialize","deserialize","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","from_str","graph","handle_commands","has_subcommand","has_subcommand","has_subcommand","has_subcommand","index","index","indexer","indexer","init_or_load","into","into","into","into","into","into","into","into","into","into","into_app","into_app_for_update","is_empty","local_chain","merge","network","network","partial_cmp","planned_utxos","serialize","serialize","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","change","addr_cmd","change_descriptor","descriptor","network","network","psbt_cmd","txout_cmd","address","after","chain_specific","coin_select","debug","descriptor","older","psbt","psbt","try_broadcast","value","confirmed","spent","unconfirmed","unspent"],"q":[[0,"example_cli"],[221,"example_cli::AddressCmd"],[222,"example_cli::Commands"],[229,"example_cli::PsbtCmd"],[240,"example_cli::TxOutCmd"],[244,"clap::builder::command"],[245,"core::clone"],[246,"clap::derive"],[247,"core::cmp"],[248,"miniscript::plan"],[249,"bitcoin::address"],[250,"bitcoin::psbt"],[251,"core::option"],[252,"anyhow"],[253,"bdk_chain::chain_oracle"],[254,"core::result"],[255,"serde::de"],[256,"core::fmt"],[257,"clap::parser::matches::arg_matches"],[258,"clap::error"],[259,"std::sync::mutex"],[260,"bdk_chain::local_chain"],[261,"bdk_file_store::store"],[262,"bitcoin::network"],[263,"bitcoin::blockdata::transaction"],[264,"core::ops::function"],[265,"alloc::vec"],[266,"serde::ser"],[267,"alloc::string"],[268,"core::any"]],"i":[5,0,0,5,13,5,0,0,0,0,12,11,5,9,0,5,12,0,0,13,9,10,9,11,13,9,13,0,5,0,11,13,5,0,0,45,33,33,5,9,10,11,5,9,10,11,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,45,4,21,0,4,5,9,10,11,12,13,4,5,9,10,11,12,13,12,33,0,45,4,13,4,4,12,4,12,12,12,12,4,5,9,10,11,12,12,13,13,21,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,13,45,0,5,9,10,11,16,21,4,21,0,45,4,33,5,9,10,11,12,13,21,33,33,4,4,4,45,4,12,0,4,12,4,5,9,10,11,12,13,12,13,45,4,33,5,9,10,11,12,13,21,45,4,33,5,9,10,11,12,13,21,4,45,4,33,5,9,10,11,12,13,21,33,5,9,10,11,33,5,9,10,11,45,4,33,5,9,10,11,12,13,21,51,52,53,53,53,54,55,56,57,57,58,57,57,59,57,59,58,58,57,60,60,60,60],"f":"````````````````````````````````````{bb}000000000{{{d{c}}}{{d{e}}}{}{}}000000000{{{d{fc}}}{{d{fe}}}{}{}}000000000````{{{d{h}}}h}{{{d{{j{ce}}}}}{{j{ce}}}{ln}{lA`}}{{{d{Ab}}}Ab}{{{d{Ad}}}Ad}{{{d{{Af{c}}}}}{{Af{c}}}{lA`}}{{{d{Ah}}}Ah}{{{d{Aj}}}Aj}{{{d{c}}{d{fe}}}Al{}{}}000000{{{d{Ah}}{d{Ah}}}An}`{{{d{fB`}}{d{c}}{d{Bb}}AjBdBf}{{C`{{Bn{Bh{Bl{Bj}}}}}}}Cb}`{{}h}{{}Aj}`{c{{Cd{h}}}Cf}{c{{Cd{Ah}}}Cf}{{{d{h}}{d{h}}}Ch}{{{d{Ah}}{d{Ah}}}Ch}{{{d{c}}{d{e}}}Ch{}{}}00{{{d{h}}{d{fCj}}}Cl}{{{d{{j{ce}}}}{d{fCj}}}Cl{Cnn}{CnA`}}{{{d{Ab}}{d{fCj}}}Cl}{{{d{Ad}}{d{fCj}}}Cl}{{{d{{Af{c}}}}{d{fCj}}}Cl{CnA`}}{{{d{Ah}}{d{fCj}}}Cl}0{{{d{Aj}}{d{fCj}}}Cl}0{{{d{Bj}}{d{fCj}}}Cl}{cc{}}000000000{{{d{D`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{D`}}}{{Cd{AbDd}}}}{{{d{D`}}}{{Cd{AdDd}}}}{{{d{D`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{fD`}}}{{Cd{{Db{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{{j{ce}}Dd}}}nA`}{{{d{fD`}}}{{Cd{AbDd}}}}{{{d{fD`}}}{{Cd{AdDd}}}}{{{d{fD`}}}{{Cd{{Af{c}}Dd}}}A`}{{{d{Df}}}{{Cd{Ajc}}}{}}`{{{d{{Dh{B`}}}}{d{{Dh{Dj}}}}{d{{Dh{{Dl{h}}}}}}Dne{j{gc}}}{{C`{Al}}}A`{{Ed{c{d{E`}}}{{Eb{{C`{Al}}}}}}}n}{{{d{Df}}}Ch}000````{{{d{{Eh{Ef}}}}{d{Df}}}{{C`{{Bl{{Ej{ce}}}}}}}nA`}{ce{}{}}000000000{{}b}0{{{d{h}}}Ch}`{{{d{fh}}h}Al}``{{{d{Ah}}{d{Ah}}}{{Bl{An}}}}{{{d{B`}}{d{c}}{d{Bb}}}{{Cd{{En{El}}}}}Cb}{{{d{h}}c}CdF`}{{{d{Ah}}c}CdF`}{{{d{c}}}e{}{}}000000{{{d{c}}}Fb{}}0{c{{Cd{e}}}{}{}}0000000000000000000`{{{d{c}}}Fd{}}000000000{{{d{f{Db{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{D`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{D`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{D`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{D`}}}{{Cd{AlDd}}}A`}{{{d{f{Db{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{f{j{ce}}}}{d{fD`}}}{{Cd{AlDd}}}nA`}{{{d{fAb}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{fAd}}{d{fD`}}}{{Cd{AlDd}}}}{{{d{f{Af{c}}}}{d{fD`}}}{{Cd{AlDd}}}A`}{ce{}{}}000000000```````````````````````","D":"Hj","p":[[8,"Command",244],[1,"reference"],[0,"mut"],[5,"ChangeSet",0],[6,"Commands",0],[10,"Clone",245],[10,"Subcommand",246],[10,"Args",246],[6,"AddressCmd",0],[6,"TxOutCmd",0],[6,"PsbtCmd",0],[6,"Keychain",0],[6,"CoinSelectionAlgo",0],[1,"unit"],[6,"Ordering",247],[8,"KeychainTxGraph",0],[5,"Assets",248],[5,"Address",249],[1,"u64"],[5,"Psbt",250],[5,"ChangeInfo",0],[6,"Option",251],[1,"tuple"],[8,"Result",252],[10,"ChainOracle",253],[6,"Result",254],[10,"Deserializer",255],[1,"bool"],[5,"Formatter",256],[8,"Result",256],[10,"Debug",256],[5,"ArgMatches",257],[5,"Args",0],[5,"Error",258],[1,"str"],[5,"Mutex",259],[5,"LocalChain",260],[5,"Store",261],[6,"Network",262],[5,"Transaction",263],[17,"Output"],[10,"FnOnce",264],[1,"u8"],[1,"slice"],[5,"Init",0],[8,"PlanUtxo",0],[5,"Vec",265],[10,"Serializer",266],[5,"String",267],[5,"TypeId",268],[15,"List",221],[15,"Address",222],[15,"Init",222],[15,"Generate",222],[15,"Psbt",222],[15,"TxOut",222],[15,"New",229],[15,"Extract",229],[15,"Sign",229],[15,"List",240]],"r":[],"b":[[103,"impl-Display-for-Keychain"],[104,"impl-Debug-for-Keychain"],[105,"impl-Display-for-CoinSelectionAlgo"],[106,"impl-Debug-for-CoinSelectionAlgo"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAK8AGgAAAAAAAgABAAUAAgAJAAIAEQABABQAAAAZAAAAGwABAB4AAAAgAAAAIgABACUAHQBFABIAWQABAFwAEAB3AAoAgwAEAIkAAACLAAAAlwACAJsAAACeACAAwAAdAN8AAADkAAEA6AAAAA=="}],\ ["example_electrum",{"t":"SSFGPFPNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNHNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO","n":["DB_MAGIC","DB_PATH","ElectrumArgs","ElectrumCommands","Scan","ScanOptions","Sync","augment_args","augment_args","augment_args_for_update","augment_args_for_update","augment_subcommands","augment_subcommands_for_update","batch_size","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client","clone","clone","clone","clone_into","clone_into","clone_into","electrum_args","electrum_url","eq","fmt","fmt","fmt","from","from","from","from_arg_matches","from_arg_matches","from_arg_matches","from_arg_matches_mut","from_arg_matches_mut","from_arg_matches_mut","has_subcommand","into","into","into","into_app","into_app_for_update","main","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches","update_from_arg_matches_mut","update_from_arg_matches_mut","update_from_arg_matches_mut","vzip","vzip","vzip","all_spks","electrum_args","electrum_args","scan_options","scan_options","stop_gap","unconfirmed","unused_spks","utxos"],"q":[[0,"example_electrum"],[70,"example_electrum::ElectrumCommands"],[79,"clap::builder::command"],[80,"bitcoin::network"],[81,"electrum_client::client"],[82,"anyhow"],[83,"core::fmt"],[84,"clap::parser::matches::arg_matches"],[85,"clap::error"],[86,"core::result"],[87,"core::any"]],"i":[0,0,0,0,8,0,8,4,9,4,9,8,8,9,8,4,9,8,4,9,4,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,8,4,9,9,9,0,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,8,4,9,19,20,19,20,19,20,19,19,19],"f":"```````{bb}00000`{{{d{c}}}{{d{e}}}{}{}}00{{{d{fc}}}{{d{fe}}}{}{}}00{{{d{h}}j}{{n{l}}}}{{{d{A`}}}A`}{{{d{h}}}h}{{{d{Ab}}}Ab}{{{d{c}}{d{fe}}}Ad{}{}}00{{{d{A`}}}h}`{{{d{Ab}}{d{Ab}}}Af}{{{d{A`}}{d{fAh}}}Aj}{{{d{h}}{d{fAh}}}Aj}{{{d{Ab}}{d{fAh}}}Aj}{cc{}}00{{{d{Al}}}{{B`{A`An}}}}{{{d{Al}}}{{B`{hAn}}}}{{{d{Al}}}{{B`{AbAn}}}}{{{d{fAl}}}{{B`{A`An}}}}{{{d{fAl}}}{{B`{hAn}}}}{{{d{fAl}}}{{B`{AbAn}}}}{{{d{Bb}}}Af}{ce{}{}}00{{}b}0{{}{{n{Ad}}}}{{{d{c}}}e{}{}}00{c{{B`{e}}}{}{}}00000{{{d{c}}}Bd{}}00{{{d{fA`}}{d{Al}}}{{B`{AdAn}}}}{{{d{fh}}{d{Al}}}{{B`{AdAn}}}}{{{d{fAb}}{d{Al}}}{{B`{AdAn}}}}{{{d{fA`}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fh}}{d{fAl}}}{{B`{AdAn}}}}{{{d{fAb}}{d{fAl}}}{{B`{AdAn}}}};;;`````````","D":"An","p":[[8,"Command",79],[1,"reference"],[0,"mut"],[5,"ElectrumArgs",0],[6,"Network",80],[5,"Client",81],[8,"Result",82],[6,"ElectrumCommands",0],[5,"ScanOptions",0],[1,"unit"],[1,"bool"],[5,"Formatter",83],[8,"Result",83],[5,"ArgMatches",84],[5,"Error",85],[6,"Result",86],[1,"str"],[5,"TypeId",87],[15,"Sync",70],[15,"Scan",70]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAEAACAAAAAQABgAAAAgABQAPAA0AHgADACUABgAvABcASAADAA=="}],\ 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 3400c91d6a..8857c82a7a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_wallet/bdk_wallet-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nAsync trait that persists PersistedWallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nA changeset for Wallet.\nPolicy regarding the use of change outputs when creating a …\nParameters for Wallet::create or PersistedWallet::create.\nError type for PersistedWallet::create.\nProvide custom comparison functions for sorting\nPersister already has wallet data.\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nError type of the persister.\nError type of the persister.\nExternal keychain, used for deriving recipient addresses.\nError for bdk_file_store’s implementation of …\nA UTXO owned by another wallet.\nGenesis hash does not match.\nInternal keychain, used for deriving change addresses.\nOccurs when the loaded changeset cannot construct Wallet.\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nTrait to check if a value is below the dust limit. We are …\nTypes of keychains\nError when loading from the store.\nThe error type when loading a Wallet from a ChangeSet.\nRepresents a mismatch with what is loaded and what is …\nParameters for Wallet::load or PersistedWallet::load.\nError type for PersistedWallet::load.\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nData loaded is unexpected.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nForeign utxo missing witness_utxo or non_witness_utxo\nNetwork does not match.\nOnly use change outputs (see TxBuilder::only_spend_change)\nError from persistence.\nError from persistence.\nRepresents a persisted wallet which persists into type P.\nRandomized (default)\nOptions for a software signer\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nOccurs when the connected_to hash does not match the hash …\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAn update to Wallet.\nAn unspent transaction output (UTXO).\nSchema name for wallet.\nName of table to store wallet descriptors and network.\nA Bitcoin wallet\nTrait that persists PersistedWallet.\nA Utxo with its satisfaction_weight.\nError when writing to the store.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nApplies an update alongside an optional seen_at timestamp …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nDescriptor for change addresses.\nChecks that the given genesis_hash matches the one loaded …\nChecks that the given network matches the one loaded from …\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nCreate a new PersistedWallet with the given persister and …\nBuild a new Wallet.\nCreate a new PersistedWallet with the given async persister…\nBuild a new single descriptor Wallet.\nCreate PersistedWallet with the given WalletPersister.\nCreate PersistedWallet with the given AsyncWalletPersister.\nCreate Wallet without persistence.\nCreate a new Wallet with given params.\nThe derivation index of this wallet. It will return None …\nThe derivation index for the script pubkey in the wallet\nFinds how the wallet derived the script pubkey spk.\nDescriptors\nChecks the expected_descriptor matches exactly what is …\nDescriptor for recipient addresses.\nMacro to write full descriptors with code\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nWhether to try extracting private keys from the provided …\nFinalize a PSBT, i.e., for each input determine if …\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\nInitialize sqlite tables for wallet tables.\nInitialize the persister and load all data.\nInitialize the persister and load all data.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nWhether this UTXO is spent or not\nType of keychain\nType of keychain\nIterator over all keychains in this wallet\nExtend the given keychain’s keymap.\nExtend the given keychain’s keymap.\nKey formats\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad a previously PersistedWallet from the given persister …\nBuild Wallet by loading from persistence or ChangeSet.\nLoad a previously PersistedWallet from the given async …\nLoad PersistedWallet with the given WalletPersister.\nLoad PersistedWallet with the given AsyncWalletPersister.\nLoad Wallet without persistence.\nLoad Wallet from the given previously persisted ChangeSet …\nGet a reference to the inner LocalChain.\nChanges to the LocalChain.\nUse custom lookahead value.\nUse custom lookahead value.\nMarks an address used of the given keychain at index.\nMerge another ChangeSet into itself.\nSet network.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nConstruct parameters with provided descriptor and …\nConstruct parameters with default values.\nConstruct parameters with provided descriptor.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nGet the location of the UTXO\nReference to a transaction output\nPeek an address of the given keychain at index without …\nPersist the given changeset to the persister.\nPersist the given changeset to the persister.\nPersist staged changes of wallet into persister.\nPersist staged changes of wallet into an async persister.\nPersist ChangeSet to sqlite database.\nReturn the spending policies for the wallet’s descriptor\nAdditional functions on the rust-bitcoin Psbt structure.\nReturns the descriptor used to create addresses for a …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nModule for stuff\nThe weight of the witness data and scriptSig expressed in …\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nGet the sequence number if an explicit sequence number has …\nSet the keymap for a given keychain.\nSet the keymap for each keychain.\nSign a transaction with all the wallet’s signers, in the …\nWhether we should try to sign a taproot transaction with …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that is yet to be …\nGet a mutable reference of the staged ChangeSet that is …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nUpdate for the wallet’s internal TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file +searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\nAsync trait that persists PersistedWallet.\nBalance, differentiated into various categories.\nOccurs when the update chain cannot connect with original …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nA changeset for Wallet.\nPolicy regarding the use of change outputs when creating a …\nParameters for Wallet::create or PersistedWallet::create.\nError type for PersistedWallet::create.\nProvide custom comparison functions for sorting\nPersister already has wallet data.\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nError type of the persister.\nError type of the persister.\nExternal keychain, used for deriving recipient addresses.\nError for bdk_file_store’s implementation of …\nA UTXO owned by another wallet.\nGenesis hash does not match.\nInternal keychain, used for deriving change addresses.\nOccurs when the loaded changeset cannot construct Wallet.\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nTrait to check if a value is below the dust limit. We are …\nTypes of keychains\nError when loading from the store.\nThe error type when loading a Wallet from a ChangeSet.\nRepresents a mismatch with what is loaded and what is …\nParameters for Wallet::load or PersistedWallet::load.\nError type for PersistedWallet::load.\nA UTXO owned by the local wallet.\nAn unspent output owned by a Wallet.\nData loaded is unexpected.\nData loaded from persistence is missing descriptor.\nData loaded from persistence is missing genesis hash.\nData loaded from persistence is missing network type.\nForeign utxo missing witness_utxo or non_witness_utxo\nNetwork does not match.\nOnly use change outputs (see TxBuilder::only_spend_change)\nError from persistence.\nError from persistence.\nRepresents a persisted wallet which persists into type P.\nRandomized (default)\nOptions for a software signer\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nOccurs when the connected_to hash does not match the hash …\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAn update to Wallet.\nAn unspent transaction output (UTXO).\nSchema name for wallet.\nName of table to store wallet descriptors and network.\nA Bitcoin wallet\nTrait that persists PersistedWallet.\nA CanonicalTx managed by a Wallet.\nA Utxo with its satisfaction_weight.\nError when writing to the store.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nApplies an update alongside an optional seen_at timestamp …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nHow the transaction is observed as (confirmed or …\nDescriptor for change addresses.\nChecks that the given genesis_hash matches the one loaded …\nChecks that the given network matches the one loaded from …\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nCreate a new PersistedWallet with the given persister and …\nBuild a new Wallet.\nCreate a new PersistedWallet with the given async persister…\nBuild a new single descriptor Wallet.\nCreate PersistedWallet with the given WalletPersister.\nCreate PersistedWallet with the given AsyncWalletPersister.\nCreate Wallet without persistence.\nCreate a new Wallet with given params.\nThe derivation index of this wallet. It will return None …\nThe derivation index for the script pubkey in the wallet\nFinds how the wallet derived the script pubkey spk.\nDescriptors\nChecks the expected_descriptor matches exactly what is …\nDescriptor for recipient addresses.\nMacro to write full descriptors with code\nReturn the checksum of the public descriptor associated to …\nErrors that can be thrown by the Wallet\nWallet export\nWhether to try extracting private keys from the provided …\nFinalize a PSBT, i.e., for each input determine if …\nMacro to write descriptor fragments with code\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a WalletTx (if …\nReturns the utxo owned by this wallet corresponding to …\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\nInitialize sqlite tables for wallet tables.\nInitialize the persister and load all data.\nInitialize the persister and load all data.\nAdd a new checkpoint to the wallet’s internal view of …\nAdd a transaction to the wallet’s internal view of the …\nInserts a TxOut at OutPoint into the wallet’s …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCheck whether or not a value is below dust limit\nReturn whether or not a script is part of this wallet …\nWhether this UTXO is spent or not\nType of keychain\nType of keychain\nIterator over all keychains in this wallet\nExtend the given keychain’s keymap.\nExtend the given keychain’s keymap.\nKey formats\nContains the last active derivation indices per keychain (K…\nReturns the latest checkpoint.\nList all relevant outputs (includes both spent and …\nReturn the list of unspent outputs of this wallet\nList addresses that are revealed but unused.\nLoad a previously PersistedWallet from the given persister …\nBuild Wallet by loading from persistence or ChangeSet.\nLoad a previously PersistedWallet from the given async …\nLoad PersistedWallet with the given WalletPersister.\nLoad PersistedWallet with the given AsyncWalletPersister.\nLoad Wallet without persistence.\nLoad Wallet from the given previously persisted ChangeSet …\nGet a reference to the inner LocalChain.\nChanges to the LocalChain.\nUse custom lookahead value.\nUse custom lookahead value.\nMarks an address used of the given keychain at index.\nMerge another ChangeSet into itself.\nSet network.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nConstruct parameters with provided descriptor and …\nConstruct parameters with default values.\nConstruct parameters with provided descriptor.\nThe index of the next address that you would get if you …\nGet the next unused address for the given keychain, i.e. …\nGet the location of the UTXO\nReference to a transaction output\nPeek an address of the given keychain at index without …\nPersist the given changeset to the persister.\nPersist the given changeset to the persister.\nPersist staged changes of wallet into persister.\nPersist staged changes of wallet into an async persister.\nPersist ChangeSet to sqlite database.\nReturn the spending policies for the wallet’s descriptor\nAdditional functions on the rust-bitcoin Psbt structure.\nReturns the descriptor used to create addresses for a …\nReveal addresses up to and including the target index and …\nAttempt to reveal the next address of the given keychain.\nModule for stuff\nThe weight of the witness data and scriptSig expressed in …\nReturn the secp256k1 context used for all signing …\nCompute the tx’s sent and received Amounts.\nGet the sequence number if an explicit sequence number has …\nSet the keymap for a given keychain.\nSet the keymap for each keychain.\nSign a transaction with all the wallet’s signers, in the …\nWhether we should try to sign a taproot transaction with …\nGeneralized signers\nGet a reference to the inner KeychainTxOutIndex.\nGet a reference of the staged ChangeSet that is yet to be …\nGet a mutable reference of the staged ChangeSet that is …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nArray of transactions in the wallet sorted with a …\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nThe transaction node (as part of the graph).\nUpdate for the wallet’s internal TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html index 8b93b7ff46..d4be82f0e6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html @@ -1 +1 @@ -Settings

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/mod.rs.html index 379b3a9423..3e6893e95a 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 @@ -2634,6 +2634,26 @@ 2634 2635 2636 +2637 +2638 +2639 +2640 +2641 +2642 +2643 +2644 +2645 +2646 +2647 +2648 +2649 +2650 +2651 +2652 +2653 +2654 +2655 +2656
    // Bitcoin Dev Kit
     // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
     //
    @@ -2681,6 +2701,7 @@
     use bitcoin::{consensus::encode::serialize, transaction, BlockHash, Psbt};
     use bitcoin::{constants::genesis_block, Amount};
     use bitcoin::{secp256k1::Secp256k1, Weight};
    +use core::cmp::Ordering;
     use core::fmt;
     use core::mem;
     use core::ops::Deref;
    @@ -2927,6 +2948,9 @@
     #[cfg(feature = "std")]
     impl std::error::Error for ApplyBlockError {}
     
    +/// A `CanonicalTx` managed by a `Wallet`.
    +pub type WalletTx<'a> = CanonicalTx<'a, Arc<Transaction>, ConfirmationBlockTime>;
    +
     impl Wallet {
         /// Build a new single descriptor [`Wallet`].
         ///
    @@ -3638,9 +3662,9 @@
             self.indexed_graph.index.sent_and_received(tx, ..)
         }
     
    -    /// Get a single transaction from the wallet as a [`CanonicalTx`] (if the transaction exists).
    +    /// Get a single transaction from the wallet as a [`WalletTx`] (if the transaction exists).
         ///
    -    /// `CanonicalTx` contains the full transaction alongside meta-data such as:
    +    /// `WalletTx` contains the full transaction alongside meta-data such as:
         /// * Blocks that the transaction is [`Anchor`]ed in. These may or may not be blocks that exist
         ///   in the best chain.
         /// * The [`ChainPosition`] of the transaction in the best chain - whether the transaction is
    @@ -3654,13 +3678,13 @@
         /// # let wallet: Wallet = todo!();
         /// # let my_txid: bitcoin::Txid = todo!();
         ///
    -    /// let canonical_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
    +    /// let wallet_tx = wallet.get_tx(my_txid).expect("panic if tx does not exist");
         ///
         /// // get reference to full transaction
    -    /// println!("my tx: {:#?}", canonical_tx.tx_node.tx);
    +    /// println!("my tx: {:#?}", wallet_tx.tx_node.tx);
         ///
         /// // list all transaction anchors
    -    /// for anchor in canonical_tx.tx_node.anchors {
    +    /// for anchor in wallet_tx.tx_node.anchors {
         ///     println!(
         ///         "tx is anchored by block of hash {}",
         ///         anchor.anchor_block().hash
    @@ -3668,7 +3692,7 @@
         /// }
         ///
         /// // get confirmation status of transaction
    -    /// match canonical_tx.chain_position {
    +    /// match wallet_tx.chain_position {
         ///     ChainPosition::Confirmed(anchor) => println!(
         ///         "tx is confirmed at height {}, we know this since {}:{} is in the best chain",
         ///         anchor.block_id.height, anchor.block_id.height, anchor.block_id.hash,
    @@ -3681,13 +3705,10 @@
         /// ```
         ///
         /// [`Anchor`]: bdk_chain::Anchor
    -    pub fn get_tx(
    -        &self,
    -        txid: Txid,
    -    ) -> Option<CanonicalTx<'_, Arc<Transaction>, ConfirmationBlockTime>> {
    +    pub fn get_tx(&self, txid: Txid) -> Option<WalletTx> {
             let graph = self.indexed_graph.graph();
     
    -        Some(CanonicalTx {
    +        Some(WalletTx {
                 chain_position: graph.get_chain_position(
                     &self.chain,
                     self.chain.tip().block_id(),
    @@ -3738,14 +3759,33 @@
         }
     
         /// Iterate over the transactions in the wallet.
    -    pub fn transactions(
    -        &self,
    -    ) -> impl Iterator<Item = CanonicalTx<'_, Arc<Transaction>, ConfirmationBlockTime>> + '_ {
    +    pub fn transactions(&self) -> impl Iterator<Item = WalletTx> + '_ {
             self.indexed_graph
                 .graph()
                 .list_canonical_txs(&self.chain, self.chain.tip().block_id())
         }
     
    +    /// Array of transactions in the wallet sorted with a comparator function.
    +    ///
    +    /// # Example
    +    ///
    +    /// ```rust,no_run
    +    /// # use bdk_wallet::{LoadParams, Wallet, WalletTx};
    +    /// # let mut wallet:Wallet = todo!();
    +    /// // Transactions by chain position: first unconfirmed then descending by confirmed height.
    +    /// let sorted_txs: Vec<WalletTx> =
    +    ///     wallet.transactions_sort_by(|tx1, tx2| tx2.chain_position.cmp(&tx1.chain_position));
    +    /// # Ok::<(), anyhow::Error>(())
    +    /// ```
    +    pub fn transactions_sort_by<F>(&self, compare: F) -> Vec<WalletTx>
    +    where
    +        F: FnMut(&WalletTx, &WalletTx) -> Ordering,
    +    {
    +        let mut txs: Vec<WalletTx> = self.transactions().collect();
    +        txs.sort_unstable_by(compare);
    +        txs
    +    }
    +
         /// Return the balance, separated into available, trusted-pending, untrusted-pending and immature
         /// values.
         pub fn balance(&self) -> Balance {
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js
    new file mode 100644
    index 0000000000..81c6733b76
    --- /dev/null
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js
    @@ -0,0 +1,3 @@
    +(function() {var type_impls = {
    +"bdk_wallet":[["
    §

    impl<'a, T, A> Clone for CanonicalTx<'a, T, A>
    where\n T: Clone,\n A: Clone,

    §

    fn clone(&self) -> CanonicalTx<'a, T, A>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::wallet::WalletTx"],["
    §

    impl<'a, T, A> Debug for CanonicalTx<'a, T, A>
    where\n T: Debug,\n A: Debug,

    §

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

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

    impl<'a, T, A> Ord for CanonicalTx<'a, T, A>
    where\n T: Ord,\n A: Ord,

    §

    fn cmp(&self, other: &CanonicalTx<'a, T, A>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::wallet::WalletTx"],["
    §

    impl<'a, T, A> PartialEq for CanonicalTx<'a, T, A>
    where\n T: PartialEq,\n A: PartialEq,

    §

    fn eq(&self, other: &CanonicalTx<'a, T, A>) -> bool

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

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

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

    impl<'a, T, A> PartialOrd for CanonicalTx<'a, T, A>
    where\n T: PartialOrd,\n A: PartialOrd,

    §

    fn partial_cmp(&self, other: &CanonicalTx<'a, T, A>) -> Option<Ordering>

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

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

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

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

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

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

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

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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","bdk_wallet::wallet::WalletTx"],["
    §

    impl<'a, T, A> Eq for CanonicalTx<'a, T, A>
    where\n T: Eq,\n A: Eq,

    ","Eq","bdk_wallet::wallet::WalletTx"],["
    §

    impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>

    ","StructuralPartialEq","bdk_wallet::wallet::WalletTx"]] +};if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file