From 0d48a70476928b5bf90cb9cfdcaefaf5434a2d36 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 14 Aug 2024 08:11:40 +0000 Subject: [PATCH] Publish autogenerated nightly docs --- .../bdk/nightly/latest/bdk_chain/index.html | 2 +- .../nightly/latest/bdk_chain/struct.Impl.html | 5 +- .../bdk/nightly/latest/bdk_hwi/index.html | 2 +- .../latest/bdk_hwi/struct.HWISigner.html | 6 +- .../bdk_wallet/enum.AddForeignUtxoError.html | 4 +- .../latest/bdk_wallet/enum.AddUtxoError.html | 4 +- .../bdk_wallet/enum.ChangeSpendPolicy.html | 12 +- .../latest/bdk_wallet/enum.LoadMismatch.html | 8 +- .../latest/bdk_wallet/enum.TxOrdering.html | 8 +- .../fn.wallet_name_from_descriptor.html | 2 +- .../bdk/nightly/latest/bdk_wallet/index.html | 4 +- .../latest/bdk_wallet/struct.ChangeSet.html | 8 +- .../bdk_wallet/struct.CreateParams.html | 37 +- .../latest/bdk_wallet/struct.LoadParams.html | 34 +- .../latest/bdk_wallet/struct.TxBuilder.html | 47 +- .../latest/bdk_wallet/struct.Wallet.html | 177 ++++--- .../tx_builder/enum.AddForeignUtxoError.html | 4 +- .../tx_builder/enum.AddUtxoError.html | 4 +- .../tx_builder/enum.ChangeSpendPolicy.html | 12 +- .../tx_builder/enum.TxOrdering.html | 8 +- .../latest/bdk_wallet/tx_builder/index.html | 2 +- .../tx_builder/struct.TxBuilder.html | 47 +- .../docs-rs/bdk/nightly/latest/help.html | 2 +- .../bdk/nightly/latest/search-index.js | 4 +- .../bdk_chain/bdk_chain-desc-0-.js | 2 +- .../bdk_wallet/bdk_wallet-desc-0-.js | 2 +- .../docs-rs/bdk/nightly/latest/settings.html | 2 +- .../nightly/latest/src/bdk_chain/lib.rs.html | 14 + .../src/bdk_wallet/wallet/changeset.rs.html | 18 +- .../latest/src/bdk_wallet/wallet/mod.rs.html | 444 ++++++++++++++---- .../src/bdk_wallet/wallet/params.rs.html | 104 +++- .../src/bdk_wallet/wallet/tx_builder.rs.html | 12 +- .../src/wallet_electrum_example/main.rs.html | 6 +- .../src/wallet_esplora_async/main.rs.html | 6 +- .../src/wallet_esplora_blocking/main.rs.html | 6 +- .../latest/src/wallet_rpc/main.rs.html | 8 +- .../wallet/signer/trait.SignerCommon.js | 2 +- .../wallet/signer/trait.TransactionSigner.js | 2 +- .../wallet_electrum_example/fn.main.html | 2 +- .../latest/wallet_electrum_example/index.html | 2 +- .../latest/wallet_esplora_async/fn.main.html | 2 +- .../latest/wallet_esplora_async/index.html | 2 +- .../wallet_esplora_blocking/fn.main.html | 2 +- .../latest/wallet_esplora_blocking/index.html | 2 +- .../nightly/latest/wallet_rpc/fn.main.html | 2 +- .../bdk/nightly/latest/wallet_rpc/index.html | 2 +- 46 files changed, 754 insertions(+), 333 deletions(-) diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html index 388552f826..3910b93cae 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html @@ -1,4 +1,4 @@ -bdk_chain - Rust

Crate bdk_chain

source ·
Expand description

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

+bdk_chain - Rust

Crate bdk_chain

source ·
Expand description

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

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

  1. Figure out what data they need to fetch.
  2. diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html index e4745e138c..efa8841e77 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.Impl.html @@ -1,5 +1,6 @@ -Impl in bdk_chain - Rust

    Struct bdk_chain::Impl

    source ·
    pub struct Impl<T>(pub T);
    Expand description

    A wrapper that we use to impl remote traits for types in our crate or dependency crates.

    -

    Tuple Fields§

    §0: T

    Trait Implementations§

    source§

    impl<T> Deref for Impl<T>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

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

    Dereferences the value.
    source§

    impl<T> From<T> for Impl<T>

    source§

    fn from(value: T) -> Self

    Converts to this type from the input type.
    source§

    impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Amount>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<BlockHash>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Descriptor<DescriptorPublicKey>>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<DescriptorId>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Network>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<ScriptBuf>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Transaction>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Txid>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl<A: Anchor + Serialize> ToSql for Impl<A>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Amount>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<BlockHash>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Descriptor<DescriptorPublicKey>>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<DescriptorId>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Network>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<ScriptBuf>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Transaction>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Txid>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value

    Auto Trait Implementations§

    §

    impl<T> Freeze for Impl<T>
    where +Impl in bdk_chain - Rust

    Struct bdk_chain::Impl

    source ·
    pub struct Impl<T>(pub T);
    Expand description

    A wrapper that we use to impl remote traits for types in our crate or dependency crates.

    +

    Tuple Fields§

    §0: T

    Implementations§

    source§

    impl<T> Impl<T>

    source

    pub fn into_inner(self) -> T

    Returns the inner T.

    +

    Trait Implementations§

    source§

    impl<T> Deref for Impl<T>

    §

    type Target = T

    The resulting type after dereferencing.
    source§

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

    Dereferences the value.
    source§

    impl<T> From<T> for Impl<T>

    source§

    fn from(value: T) -> Self

    Converts to this type from the input type.
    source§

    impl<A: Anchor + DeserializeOwned> FromSql for Impl<A>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Amount>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<BlockHash>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Descriptor<DescriptorPublicKey>>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<DescriptorId>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Network>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<ScriptBuf>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Transaction>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl FromSql for Impl<Txid>

    source§

    fn column_result(value: ValueRef<'_>) -> FromSqlResult<Self>

    Converts SQLite value into Rust value.
    source§

    impl<A: Anchor + Serialize> ToSql for Impl<A>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Amount>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<BlockHash>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Descriptor<DescriptorPublicKey>>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<DescriptorId>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Network>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<ScriptBuf>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Transaction>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value
    source§

    impl ToSql for Impl<Txid>

    source§

    fn to_sql(&self) -> Result<ToSqlOutput<'_>>

    Converts Rust value to SQLite value

    Auto Trait Implementations§

    §

    impl<T> Freeze for Impl<T>
    where T: Freeze,

    §

    impl<T> RefUnwindSafe for Impl<T>
    where T: RefUnwindSafe,

    §

    impl<T> Send for Impl<T>
    where T: Send,

    §

    impl<T> Sync for Impl<T>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/index.html index 838078e811..d056e8c1cc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/index.html @@ -1,5 +1,5 @@ bdk_hwi - Rust

    Crate bdk_hwi

    source ·
    Expand description

    HWI Signer

    -

    This crate contains HWISigner, an implementation of a TransactionSigner to be +

    This crate contains HWISigner, an implementation of a TransactionSigner to be used with hardware wallets.

    let mut devices = HWIClient::enumerate()?;
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/struct.HWISigner.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/struct.HWISigner.html
    index 12c3b90ad1..534e6c6f5b 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/struct.HWISigner.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_hwi/struct.HWISigner.html
    @@ -4,12 +4,12 @@
         device: &HWIDevice,
         chain: HWIChain
     ) -> Result<HWISigner, Error>

    Create a instance from the specified device and chain

    -

Trait Implementations§

source§

impl Debug for HWISigner

source§

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

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

impl SignerCommon for HWISigner

source§

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

Return the [SignerId] for this signer Read more
§

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

Return the secret key for the signer Read more
source§

impl TransactionSigner for HWISigner

Trait Implementations§

source§

impl Debug for HWISigner

source§

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

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

impl SignerCommon for HWISigner

source§

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

Return the SignerId for this signer Read more
source§

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

Return the secret key for the signer Read more
source§

impl TransactionSigner for HWISigner

source§

fn sign_transaction( &self, psbt: &mut Psbt, - _sign_options: &SignOptions, + _sign_options: &SignOptions, _secp: &Secp256k1<All> -) -> Result<(), SignerError>

Sign all the inputs of the psbt

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +) -> Result<(), SignerError>

Sign all the inputs of the psbt

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.AddForeignUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddForeignUtxoError.html index 5872b45609..eeaf157faa 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddForeignUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddForeignUtxoError.html @@ -1,4 +1,4 @@ -AddForeignUtxoError in bdk_wallet - Rust

Enum bdk_wallet::AddForeignUtxoError

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

Enum bdk_wallet::AddForeignUtxoError

source ·
pub enum AddForeignUtxoError {
     InvalidTxid {
         input_txid: Txid,
         foreign_utxo: OutPoint,
@@ -11,7 +11,7 @@
 
§foreign_utxo: OutPoint

Foreign UTXO outpoint

§

InvalidOutpoint(OutPoint)

Requested outpoint doesn’t exist in the tx (vout greater than available outputs)

§

MissingUtxo

Foreign utxo missing witness_utxo or non_witness_utxo

-

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

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

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

impl Display for AddForeignUtxoError

source§

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

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

impl Error for AddForeignUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

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

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

impl Display for AddForeignUtxoError

source§

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

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

impl Error for AddForeignUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html index 951fb100fc..3608ce7374 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.AddUtxoError.html @@ -1,8 +1,8 @@ -AddUtxoError in bdk_wallet - Rust

Enum bdk_wallet::AddUtxoError

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

Enum bdk_wallet::AddUtxoError

source ·
pub enum AddUtxoError {
     UnknownUtxo(OutPoint),
 }
Expand description

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

Variants§

§

UnknownUtxo(OutPoint)

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

-

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ChangeSpendPolicy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ChangeSpendPolicy.html index 690c681eba..614ba2ccb3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ChangeSpendPolicy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ChangeSpendPolicy.html @@ -1,4 +1,4 @@ -ChangeSpendPolicy in bdk_wallet - Rust

Enum bdk_wallet::ChangeSpendPolicy

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

Enum bdk_wallet::ChangeSpendPolicy

source ·
pub enum ChangeSpendPolicy {
     ChangeAllowed,
     OnlyChange,
     ChangeForbidden,
@@ -6,16 +6,16 @@
 

Variants§

§

ChangeAllowed

Use both change and non-change outputs (default)

§

OnlyChange

Only use change outputs (see TxBuilder::only_spend_change)

§

ChangeForbidden

Only use non-change outputs (see TxBuilder::do_not_spend_change)

-

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

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

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

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

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

impl Hash for ChangeSpendPolicy

source§

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

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

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

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

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

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

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

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

impl Hash for ChangeSpendPolicy

source§

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

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

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

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

impl Ord for ChangeSpendPolicy

source§

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

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

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

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

impl Ord for ChangeSpendPolicy

source§

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

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

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

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

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

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

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

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

impl PartialEq for ChangeSpendPolicy

source§

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

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

impl PartialEq for ChangeSpendPolicy

source§

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

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

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

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

impl PartialOrd for ChangeSpendPolicy

source§

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

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

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

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

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

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

impl PartialOrd for ChangeSpendPolicy

source§

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

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

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

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

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

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

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

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

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

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

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html index 55a897f39b..1cab7af73a 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 @@ -9,8 +9,8 @@ }, Descriptor { keychain: KeychainKind, - loaded: ExtendedDescriptor, - expected: ExtendedDescriptor, + loaded: Option<ExtendedDescriptor>, + expected: Option<ExtendedDescriptor>, }, }
Expand description

Represents a mismatch with what is loaded and what is expected from LoadParams.

Variants§

§

Network

Network does not match.

@@ -21,8 +21,8 @@
§expected: BlockHash

The expected genesis hash.

§

Descriptor

Descriptor’s DescriptorId does not match.

Fields

§keychain: KeychainKind

Keychain identifying the descriptor.

-
§loaded: ExtendedDescriptor

The loaded descriptor.

-
§expected: ExtendedDescriptor

The expected 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 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 diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.TxOrdering.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.TxOrdering.html index ea3876f9e5..aa18a525ed 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.TxOrdering.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.TxOrdering.html @@ -1,4 +1,4 @@ -TxOrdering in bdk_wallet - Rust

Enum bdk_wallet::TxOrdering

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

Enum bdk_wallet::TxOrdering

source ·
pub enum TxOrdering {
     Shuffle,
     Untouched,
     Custom {
@@ -11,15 +11,15 @@
 
§

Custom

Provide custom comparison functions for sorting

Fields

§input_sort: Arc<dyn Fn(&TxIn, &TxIn) -> Ordering>

Transaction inputs sort function

§output_sort: Arc<dyn Fn(&TxOut, &TxOut) -> Ordering>

Transaction outputs sort function

-

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant.

+

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant.

Uses the thread-local random number generator (rng).

-
source

pub fn sort_tx_with_aux_rand( +

source

pub fn sort_tx_with_aux_rand( &self, tx: &mut Transaction, rng: &mut impl RngCore )

Sort transaction inputs and outputs by TxOrdering variant.

Uses a provided random number generator (rng).

-

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

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

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

impl Default for TxOrdering

source§

fn default() -> TxOrdering

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

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

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

impl Default for TxOrdering

source§

fn default() -> TxOrdering

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

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/fn.wallet_name_from_descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/fn.wallet_name_from_descriptor.html index d015a1b786..fb072d064f 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 25049edcba..642da7a820 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
@@ -66,8 +66,10 @@ that the Wallet can use to update its view of the chain.

let descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/0/*)"; let change_descriptor = "wpkh(tprv8ZgxMBicQKsPdcAqYBpzAFwU5yxBUo88ggoBqu1qPcHUfSbKK1sKMLmC7EAk438btHQrSdu3jGGQa6PA71nvH5nkDexhLteJqkM4dQmWF9g/84'/1'/0'/1/*)"; let wallet_opt = Wallet::load() - .descriptors(descriptor, change_descriptor) .network(network) + .descriptor(KeychainKind::External, Some(descriptor)) + .descriptor(KeychainKind::Internal, Some(change_descriptor)) + .extract_keys() .load_wallet(&mut db) .expect("wallet"); let mut wallet = match wallet_opt { diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html index 04c065e709..72163b3ec4 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html @@ -12,12 +12,12 @@
§local_chain: ChangeSet

Changes to the LocalChain.

§tx_graph: ChangeSet<ConfirmationBlockTime>

Changes to TxGraph.

§indexer: ChangeSet

Changes to KeychainTxOutIndex.

-

Implementations§

source§

impl ChangeSet

source

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

Schema name for wallet.

+

Implementations§

source§

impl ChangeSet

source

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

Schema name for wallet.

source

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

Name of table to store wallet descriptors and network.

-
source

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

Recover a ChangeSet from sqlite database.

-
source

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

Persist ChangeSet to sqlite database.

+
source

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

Recover a ChangeSet from sqlite database.

+
source

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

Persist ChangeSet to sqlite database.

Trait Implementations§

source§

impl Clone for ChangeSet

source§

fn clone(&self) -> ChangeSet

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSet

source§

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

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

impl Default for ChangeSet

source§

fn default() -> ChangeSet

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

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

source§

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

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

impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

source§

fn from(tx_graph: ChangeSet<ConfirmationBlockTime>) -> Self

Converts to this type from the input type.
source§

impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet

source§

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

Converts to this type from the input type.
source§

impl From<ChangeSet> for ChangeSet

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl From<ChangeSet> for ChangeSet

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

Merge another ChangeSet into itself.

+ __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§

impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

source§

fn from(tx_graph: ChangeSet<ConfirmationBlockTime>) -> Self

Converts to this type from the input type.
source§

impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet

source§

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

Converts to this type from the input type.
source§

impl From<ChangeSet> for ChangeSet

source§

fn from(chain: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl From<ChangeSet> for ChangeSet

source§

fn from(indexer: ChangeSet) -> Self

Converts to this type from the input type.
source§

impl Merge for ChangeSet

source§

fn merge(&mut self, other: Self)

Merge another ChangeSet into itself.

source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
source§

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

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

impl PartialEq for ChangeSet

source§

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

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

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

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

impl Serialize for ChangeSet

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html index ddadde1924..8f0274bee2 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html @@ -1,24 +1,39 @@ -CreateParams in bdk_wallet - Rust

Struct bdk_wallet::CreateParams

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

Implementations§

source§

impl CreateParams

source

pub fn new<D: IntoWalletDescriptor + 'static>( +CreateParams in bdk_wallet - Rust

Struct bdk_wallet::CreateParams

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

Implementations§

source§

impl CreateParams

source

pub fn new_single<D: IntoWalletDescriptor + 'static>(descriptor: D) -> Self

Construct parameters with provided descriptor.

+

Default values:

+
    +
  • change_descriptor = None
  • +
  • network = [Network::Bitcoin]
  • +
  • genesis_hash = None
  • +
  • lookahead = DEFAULT_LOOKAHEAD
  • +
+

Use this method only when building a wallet with a single descriptor. See +also Wallet::create_single.

+
source

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

Construct parameters with provided descriptor, change_descriptor and network.

-

Default values: genesis_hash = None, lookahead = DEFAULT_LOOKAHEAD

-
source

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

Extend the given keychain’s keymap.

-
source

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

Set network.

-
source

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

Use a custom genesis_hash.

-
source

pub fn lookahead(self, lookahead: u32) -> Self

Use custom lookahead value.

-
source

pub fn create_wallet<Db>( +) -> Self

Construct parameters with provided descriptor and change_descriptor.

+

Default values:

+ +
source

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

Extend the given keychain’s keymap.

+
source

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

Set network.

+
source

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

Use a custom genesis_hash.

+
source

pub fn lookahead(self, lookahead: u32) -> Self

Use custom lookahead value.

+
source

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

Create PersistedWallet with the given Db.

-
source

pub async fn create_wallet_async<Db>( +

source

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

Create PersistedWallet with the given async Db.

-
source

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

Create Wallet without persistence.

+
source

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

Create Wallet without persistence.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html index f1642ad959..3e6468a32e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html @@ -1,28 +1,36 @@ -LoadParams in bdk_wallet - Rust

Struct bdk_wallet::LoadParams

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

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

-

Implementations§

source§

impl LoadParams

source

pub fn new() -> Self

Construct parameters with default values.

+LoadParams in bdk_wallet - Rust

Struct bdk_wallet::LoadParams

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

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

+

Implementations§

source§

impl LoadParams

source

pub fn new() -> Self

Construct parameters with default values.

Default values: lookahead = DEFAULT_LOOKAHEAD

-
source

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

Extend the given keychain’s keymap.

-
source

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

Checks that descriptor of keychain matches this, and extracts private keys (if -available).

-
source

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

Check for network.

-
source

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

Check for a genesis_hash.

-
source

pub fn lookahead(self, lookahead: u32) -> Self

Use custom lookahead value.

-
source

pub fn load_wallet<Db>( +

source

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

Extend the given keychain’s keymap.

+
source

pub fn descriptor<D>( + self, + keychain: KeychainKind, + expected_descriptor: Option<D> +) -> Self
where + D: IntoWalletDescriptor + 'static,

Checks the expected_descriptor matches exactly what is loaded for keychain.

+
§Note
+

You must also specify extract_keys if you wish to add a signer +for an expected descriptor containing secrets.

+
source

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

Check for network.

+
source

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

Check for a genesis_hash.

+
source

pub fn lookahead(self, lookahead: u32) -> Self

Use custom lookahead value.

+
source

pub fn extract_keys(self) -> Self

Whether to try extracting private keys from the provided descriptors upon loading. +See also LoadParams::descriptor.

+
source

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

Load PersistedWallet with the given Db.

-
source

pub async fn load_wallet_async<Db>( +

source

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

Load PersistedWallet with the given async Db.

-
source

pub fn load_wallet_no_persist( +

source

pub fn load_wallet_no_persist( self, changeset: ChangeSet ) -> Result<Option<Wallet>, LoadError>

Load Wallet without persistence.

-

Trait Implementations§

source§

impl Default for LoadParams

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Default for LoadParams

source§

fn default() -> Self

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.TxBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.TxBuilder.html index 9d0bfaa0f7..592ddf36a6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.TxBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.TxBuilder.html @@ -29,7 +29,7 @@ as in the following example:

At the moment coin_selection is an exception to the rule as it consumes self. This means it is usually best to call coin_selection on the return value of build_tx before assigning it.

For further examples see this module’s documentation;

-

Implementations§

source§

impl<'a, Cs> TxBuilder<'a, Cs>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

+

Implementations§

source§

impl<'a, Cs> TxBuilder<'a, Cs>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

This method sets the mining fee paid by the transaction as a rate on its size. This means that the total fee paid is equal to fee_rate times the size of the transaction. Default is 1 sat/vB in accordance with Bitcoin Core’s default @@ -173,40 +173,43 @@ have priority over this. See the docs of the two linked methods for more details

source

pub fn version(&mut self, version: i32) -> &mut Self

Build a transaction with a specific version

The version should always be greater than 0 and greater than 1 if the wallet’s descriptors contain an “older” (OP_CSV) operator.

-
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

+
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

This effectively adds all the change outputs to the “unspendable” list. See -TxBuilder::unspendable.

-
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

+TxBuilder::unspendable. This method assumes the presence of an internal +keychain, otherwise it has no effect.

+
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

This effectively adds all the non-change outputs to the “unspendable” list. See -TxBuilder::unspendable.

-
source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from +TxBuilder::unspendable. This method assumes the presence of an internal +keychain, otherwise it has no effect.

+
source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

Set a specific ChangeSpendPolicy. See TxBuilder::do_not_spend_change and +TxBuilder::only_spend_change for some shortcuts. This method assumes the presence +of an internal keychain, otherwise it has no effect.

+
source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from SegWit descriptors.

This reduces the size of the PSBT, but some signers might reject them due to the lack of the non_witness_utxo.

-
source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and +

source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and psbt::Output::witness_script fields.

This is useful for signers which always require it, like ColdCard hardware wallets.

-
source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external +

source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external and internal descriptors

This is useful for offline signers that take part to a multisig. Some hardware wallets like BitBox and ColdCard are known to require this.

-
source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

-
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( +

source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

+
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( self, coin_selection: P ) -> TxBuilder<'a, P>

Choose the coin selection algorithm

Overrides the CoinSelectionAlgorithm.

Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.

-
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

+
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

This will use the default nSequence value of 0xFFFFFFFD.

-
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

+
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

This can cause conflicts if the wallet’s descriptors contain an “older” (OP_CSV) operator and the given nsequence is lower than the CSV value.

If the nsequence is higher than 0xFFFFFFFD an error will be thrown, since it would not be a valid nSequence to signal RBF.

-
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

+
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

This will be used to:

  1. Set the nLockTime for preventing fee sniping. @@ -217,19 +220,19 @@ If you want to create a transaction that spends immature coinbase inputs, manual add them using TxBuilder::add_utxos.

In both cases, if you don’t provide a current height, we use the last sync height.

-
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

+
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

Note: by avoiding a dust limit check you may end up with a transaction that is non-standard.

-
source

pub fn set_recipients( +

source

pub fn set_recipients( &mut self, recipients: Vec<(ScriptBuf, Amount)> ) -> &mut Self

Replace the recipients already added with a new list

-
source

pub fn add_recipient( +

source

pub fn add_recipient( &mut self, script_pubkey: ScriptBuf, amount: Amount ) -> &mut Self

Add a recipient to the internal list

-
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

-
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

+
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

+
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

Usually, when there are excess coins they are sent to a change address generated by the wallet. This option replaces the usual change address with an arbitrary script_pubkey of your choosing. Just as with a change output, if the drain output is not needed (the excess @@ -255,12 +258,12 @@ tx_builder .fee_rate(FeeRate::from_sat_per_vb(5).expect("valid feerate")) .enable_rbf(); let psbt = tx_builder.finish()?;

-

source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

+
source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

Uses the thread-local random number generator (rng).

Returns a new [Psbt] per BIP174.

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

-
source

pub fn finish_with_aux_rand( +

source

pub fn finish_with_aux_rand( self, rng: &mut impl RngCore ) -> Result<Psbt, CreateTxError>

Finish building the transaction.

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 6fbf099075..ee2e219151 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,29 @@ 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<D>(descriptor: D, change_descriptor: D) -> CreateParams
where +

Implementations§

source§

impl Wallet

source

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

Build a new single descriptor Wallet.

+

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

+
§Note
+

Only use this method when creating a wallet designed to be used with a single +descriptor and keychain. Otherwise the recommended way to construct a new wallet is +by using Wallet::create. It’s worth noting that not all features are available +with single descriptor wallets, for example setting a change_policy on TxBuilder +and related methods such as do_not_spend_change. This is because all payments are +received on the external keychain (including change), and without a change keychain +BDK lacks enough information to distinguish between change and outside payments.

+

Additionally because this wallet has no internal (change) keychain, all methods that +require a KeychainKind as input, e.g. reveal_next_address should only be called +using the External variant. In most cases passing Internal is treated as the +equivalent of External but can lead to confusing results.

+
§Example
+
// Create a wallet that is persisted to SQLite database.
+use bdk_wallet::rusqlite::Connection;
+let mut conn = Connection::open(file_path)?;
+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 D: IntoWalletDescriptor + Clone + 'static,

Build a new Wallet.

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

§Synopsis
@@ -25,13 +47,14 @@ script pubkeys. See 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.

-

Note that the descriptor secret keys are not persisted to the db. You can either add -signers after-the-fact with Wallet::add_signer or Wallet::set_keymap. Or you can -add keys when building the wallet using LoadParams::keymap and/or -LoadParams::descriptors.

+
source

pub fn load() -> LoadParams

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, @@ -85,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 @@ -96,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 @@ -132,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.

@@ -148,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.

@@ -161,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.

@@ -174,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.

@@ -184,7 +209,7 @@ 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( +

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

@@ -225,7 +250,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.

@@ -234,34 +259,36 @@ 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 graph. Any changes are staged but not committed.

-
§Note
+
§Note

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

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

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( &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)
@@ -273,9 +300,9 @@ values.

} 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
@@ -284,14 +311,14 @@ values.

}; // 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
@@ -312,7 +339,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 @@ -322,7 +349,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));
@@ -330,15 +357,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. -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 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( &self, psbt: &mut Psbt, sign_options: SignOptions @@ -349,21 +376,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>

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

@@ -371,16 +398,16 @@ 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 staged(&self) -> Option<&ChangeSet>

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

-
source

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

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

-
source

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

Get a reference to the inner TxGraph.

-
source

pub fn unbroadcast_transactions( +

source

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

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

+
source

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

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

+
source

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

Get a reference to the inner TxGraph.

+
source

pub fn 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 @@ -388,7 +415,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, @@ -401,7 +428,7 @@ internal 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.

@@ -413,18 +440,18 @@ 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

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

+
source§

impl Wallet

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

+
source

pub fn start_sync_with_revealed_spks(&self) -> SyncRequest

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

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

-
source

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

Create a `FullScanRequest for this wallet.

+
source

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

Create a `FullScanRequest for this wallet.

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

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

-

Trait Implementations§

source§

impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

source§

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

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

impl Debug for Wallet

source§

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

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

impl PersistWith<Connection> for Wallet

Trait Implementations§

source§

impl AsRef<TxGraph<ConfirmationBlockTime>> for Wallet

source§

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

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

impl Debug for Wallet

source§

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

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

impl PersistWith<Connection> for Wallet

§

type CreateParams = CreateParams

Parameters for PersistWith::create.
§

type LoadParams = LoadParams

Parameters for PersistWith::load.
§

type CreateError = CreateWithPersistError<Error>

Error type of PersistWith::create.
§

type LoadError = LoadWithPersistError<Error>

Error type of PersistWith::load.
§

type PersistError = Error

Error type of PersistWith::persist.
source§

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

Initialize the Db and create Self.
source§

fn load( diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddForeignUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddForeignUtxoError.html index fc5492e0df..7c1ccefe88 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddForeignUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddForeignUtxoError.html @@ -1,4 +1,4 @@ -AddForeignUtxoError in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::AddForeignUtxoError

source ·
pub enum AddForeignUtxoError {
+AddForeignUtxoError in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::AddForeignUtxoError

source ·
pub enum AddForeignUtxoError {
     InvalidTxid {
         input_txid: Txid,
         foreign_utxo: OutPoint,
@@ -11,7 +11,7 @@
 
§foreign_utxo: OutPoint

Foreign UTXO outpoint

§

InvalidOutpoint(OutPoint)

Requested outpoint doesn’t exist in the tx (vout greater than available outputs)

§

MissingUtxo

Foreign utxo missing witness_utxo or non_witness_utxo

-

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

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

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

impl Display for AddForeignUtxoError

source§

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

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

impl Error for AddForeignUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddForeignUtxoError

source§

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

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

impl Display for AddForeignUtxoError

source§

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

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

impl Error for AddForeignUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html index bdeb043deb..02057add81 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.AddUtxoError.html @@ -1,8 +1,8 @@ -AddUtxoError in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::AddUtxoError

source ·
pub enum AddUtxoError {
+AddUtxoError in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::AddUtxoError

source ·
pub enum AddUtxoError {
     UnknownUtxo(OutPoint),
 }
Expand description

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

Variants§

§

UnknownUtxo(OutPoint)

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

-

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Debug for AddUtxoError

source§

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

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

impl Display for AddUtxoError

source§

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

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

impl Error for AddUtxoError

1.30.0 · source§

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

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

fn description(&self) -> &str

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

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

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

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

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

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.ChangeSpendPolicy.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.ChangeSpendPolicy.html index 160de55e6c..cc33ff4668 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.ChangeSpendPolicy.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.ChangeSpendPolicy.html @@ -1,4 +1,4 @@ -ChangeSpendPolicy in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::ChangeSpendPolicy

source ·
pub enum ChangeSpendPolicy {
+ChangeSpendPolicy in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::ChangeSpendPolicy

source ·
pub enum ChangeSpendPolicy {
     ChangeAllowed,
     OnlyChange,
     ChangeForbidden,
@@ -6,16 +6,16 @@
 

Variants§

§

ChangeAllowed

Use both change and non-change outputs (default)

§

OnlyChange

Only use change outputs (see TxBuilder::only_spend_change)

§

ChangeForbidden

Only use non-change outputs (see TxBuilder::do_not_spend_change)

-

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

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

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

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

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

impl Hash for ChangeSpendPolicy

source§

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

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

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

Trait Implementations§

source§

impl Clone for ChangeSpendPolicy

source§

fn clone(&self) -> ChangeSpendPolicy

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for ChangeSpendPolicy

source§

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

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

impl Default for ChangeSpendPolicy

source§

fn default() -> ChangeSpendPolicy

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

impl Hash for ChangeSpendPolicy

source§

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

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

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

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

impl Ord for ChangeSpendPolicy

source§

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

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

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

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

impl Ord for ChangeSpendPolicy

source§

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

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

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

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

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

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

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

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

impl PartialEq for ChangeSpendPolicy

source§

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

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

impl PartialEq for ChangeSpendPolicy

source§

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

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

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

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

impl PartialOrd for ChangeSpendPolicy

source§

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

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

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

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

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

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

impl PartialOrd for ChangeSpendPolicy

source§

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

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

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

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

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

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

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

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

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

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

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

impl Copy for ChangeSpendPolicy

source§

impl Eq for ChangeSpendPolicy

source§

impl StructuralPartialEq for ChangeSpendPolicy

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<Q, K> Equivalent<K> for Q
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.TxOrdering.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.TxOrdering.html index 01eea08bba..185410ffb5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.TxOrdering.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/enum.TxOrdering.html @@ -1,4 +1,4 @@ -TxOrdering in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::TxOrdering

source ·
pub enum TxOrdering {
+TxOrdering in bdk_wallet::tx_builder - Rust

Enum bdk_wallet::tx_builder::TxOrdering

source ·
pub enum TxOrdering {
     Shuffle,
     Untouched,
     Custom {
@@ -11,15 +11,15 @@
 
§

Custom

Provide custom comparison functions for sorting

Fields

§input_sort: Arc<dyn Fn(&TxIn, &TxIn) -> Ordering>

Transaction inputs sort function

§output_sort: Arc<dyn Fn(&TxOut, &TxOut) -> Ordering>

Transaction outputs sort function

-

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant.

+

Implementations§

source§

impl TxOrdering

source

pub fn sort_tx(&self, tx: &mut Transaction)

Sort transaction inputs and outputs by TxOrdering variant.

Uses the thread-local random number generator (rng).

-
source

pub fn sort_tx_with_aux_rand( +

source

pub fn sort_tx_with_aux_rand( &self, tx: &mut Transaction, rng: &mut impl RngCore )

Sort transaction inputs and outputs by TxOrdering variant.

Uses a provided random number generator (rng).

-

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

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

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

impl Default for TxOrdering

source§

fn default() -> TxOrdering

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

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +

Trait Implementations§

source§

impl Clone for TxOrdering

source§

fn clone(&self) -> TxOrdering

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

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

Performs copy-assignment from source. Read more
source§

impl Debug for TxOrdering

source§

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

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

impl Default for TxOrdering

source§

fn default() -> TxOrdering

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

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/tx_builder/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/index.html index 41d7c9e664..b461d7dfe3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/index.html @@ -1,4 +1,4 @@ -bdk_wallet::tx_builder - Rust

Module bdk_wallet::tx_builder

source ·
Expand description

Transaction builder

+bdk_wallet::tx_builder - Rust

Module bdk_wallet::tx_builder

source ·
Expand description

Transaction builder

§Example

// create a TxBuilder from a wallet
 let mut tx_builder = wallet.build_tx();
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/struct.TxBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/struct.TxBuilder.html
index 7690ee7dc6..efd9b9fdc5 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/struct.TxBuilder.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/tx_builder/struct.TxBuilder.html
@@ -29,7 +29,7 @@ as in the following example:

At the moment coin_selection is an exception to the rule as it consumes self. This means it is usually best to call coin_selection on the return value of build_tx before assigning it.

For further examples see this module’s documentation;

-

Implementations§

source§

impl<'a, Cs> TxBuilder<'a, Cs>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

+

Implementations§

source§

impl<'a, Cs> TxBuilder<'a, Cs>

source

pub fn fee_rate(&mut self, fee_rate: FeeRate) -> &mut Self

Set a custom fee rate.

This method sets the mining fee paid by the transaction as a rate on its size. This means that the total fee paid is equal to fee_rate times the size of the transaction. Default is 1 sat/vB in accordance with Bitcoin Core’s default @@ -173,40 +173,43 @@ have priority over this. See the docs of the two linked methods for more details

source

pub fn version(&mut self, version: i32) -> &mut Self

Build a transaction with a specific version

The version should always be greater than 0 and greater than 1 if the wallet’s descriptors contain an “older” (OP_CSV) operator.

-
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

+
source

pub fn do_not_spend_change(&mut self) -> &mut Self

Do not spend change outputs

This effectively adds all the change outputs to the “unspendable” list. See -TxBuilder::unspendable.

-
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

+TxBuilder::unspendable. This method assumes the presence of an internal +keychain, otherwise it has no effect.

+
source

pub fn only_spend_change(&mut self) -> &mut Self

Only spend change outputs

This effectively adds all the non-change outputs to the “unspendable” list. See -TxBuilder::unspendable.

-
source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from +TxBuilder::unspendable. This method assumes the presence of an internal +keychain, otherwise it has no effect.

+
source

pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self

Set a specific ChangeSpendPolicy. See TxBuilder::do_not_spend_change and +TxBuilder::only_spend_change for some shortcuts. This method assumes the presence +of an internal keychain, otherwise it has no effect.

+
source

pub fn only_witness_utxo(&mut self) -> &mut Self

Only Fill-in the psbt::Input::witness_utxo field when spending from SegWit descriptors.

This reduces the size of the PSBT, but some signers might reject them due to the lack of the non_witness_utxo.

-
source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and +

source

pub fn include_output_redeem_witness_script(&mut self) -> &mut Self

Fill-in the psbt::Output::redeem_script and psbt::Output::witness_script fields.

This is useful for signers which always require it, like ColdCard hardware wallets.

-
source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external +

source

pub fn add_global_xpubs(&mut self) -> &mut Self

Fill-in the PSBT_GLOBAL_XPUB field with the extended keys contained in both the external and internal descriptors

This is useful for offline signers that take part to a multisig. Some hardware wallets like BitBox and ColdCard are known to require this.

-
source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

-
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( +

source

pub fn drain_wallet(&mut self) -> &mut Self

Spend all the available inputs. This respects filters like TxBuilder::unspendable and the change policy.

+
source

pub fn coin_selection<P: CoinSelectionAlgorithm>( self, coin_selection: P ) -> TxBuilder<'a, P>

Choose the coin selection algorithm

Overrides the CoinSelectionAlgorithm.

Note that this function consumes the builder and returns it so it is usually best to put this as the first call on the builder.

-
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

+
source

pub fn enable_rbf(&mut self) -> &mut Self

Enable signaling RBF

This will use the default nSequence value of 0xFFFFFFFD.

-
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

+
source

pub fn enable_rbf_with_sequence(&mut self, nsequence: Sequence) -> &mut Self

Enable signaling RBF with a specific nSequence value

This can cause conflicts if the wallet’s descriptors contain an “older” (OP_CSV) operator and the given nsequence is lower than the CSV value.

If the nsequence is higher than 0xFFFFFFFD an error will be thrown, since it would not be a valid nSequence to signal RBF.

-
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

+
source

pub fn current_height(&mut self, height: u32) -> &mut Self

Set the current blockchain height.

This will be used to:

  1. Set the nLockTime for preventing fee sniping. @@ -217,19 +220,19 @@ If you want to create a transaction that spends immature coinbase inputs, manual add them using TxBuilder::add_utxos.

In both cases, if you don’t provide a current height, we use the last sync height.

-
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

+
source

pub fn allow_dust(&mut self, allow_dust: bool) -> &mut Self

Set whether or not the dust limit is checked.

Note: by avoiding a dust limit check you may end up with a transaction that is non-standard.

-
source

pub fn set_recipients( +

source

pub fn set_recipients( &mut self, recipients: Vec<(ScriptBuf, Amount)> ) -> &mut Self

Replace the recipients already added with a new list

-
source

pub fn add_recipient( +

source

pub fn add_recipient( &mut self, script_pubkey: ScriptBuf, amount: Amount ) -> &mut Self

Add a recipient to the internal list

-
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

-
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

+
source

pub fn add_data<T: AsRef<PushBytes>>(&mut self, data: &T) -> &mut Self

Add data as an output, using OP_RETURN

+
source

pub fn drain_to(&mut self, script_pubkey: ScriptBuf) -> &mut Self

Sets the address to drain excess coins to.

Usually, when there are excess coins they are sent to a change address generated by the wallet. This option replaces the usual change address with an arbitrary script_pubkey of your choosing. Just as with a change output, if the drain output is not needed (the excess @@ -255,12 +258,12 @@ tx_builder .fee_rate(FeeRate::from_sat_per_vb(5).expect("valid feerate")) .enable_rbf(); let psbt = tx_builder.finish()?;

-
source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

+
source§

impl<'a, Cs: CoinSelectionAlgorithm> TxBuilder<'a, Cs>

source

pub fn finish(self) -> Result<Psbt, CreateTxError>

Finish building the transaction.

Uses the thread-local random number generator (rng).

Returns a new [Psbt] per BIP174.

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

-
source

pub fn finish_with_aux_rand( +

source

pub fn finish_with_aux_rand( self, rng: &mut impl RngCore ) -> Result<Psbt, CreateTxError>

Finish building the transaction.

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 116e4c6e76..58a14000bb 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 c0fd42b58a..e39b8d468b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search-index.js @@ -1,12 +1,12 @@ var searchIndex = new Map(JSON.parse('[\ ["bdk_bitcoind_rpc",{"t":"KFFEONNNNNNONNNNNNMNNNNNNNNNNNN","n":["BitcoindRpcErrorExt","BlockEvent","Emitter","bitcoincore_rpc","block","block_hash","block_height","borrow","borrow","borrow_mut","borrow_mut","checkpoint","connected_to","fmt","from","from","into","into","is_not_found_error","mempool","new","next_block","next_header","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"bdk_bitcoind_rpc"],[31,"bitcoin::blockdata::block"],[32,"bdk_chain::chain_data"],[33,"core::fmt"],[34,"bitcoin::blockdata::transaction"],[35,"alloc::vec"],[36,"bitcoincore_rpc::error"],[37,"core::result"],[38,"bitcoincore_rpc::client"],[39,"bdk_chain::local_chain"],[40,"core::option"],[41,"core::any"]],"i":[0,0,0,0,1,1,1,12,1,12,1,1,1,1,12,1,12,1,10,12,12,12,12,12,1,12,1,12,1,12,1],"f":"`````{{{d{{b{c}}}}}f{}}{{{d{{b{c}}}}}h{}}{{{d{c}}}{{d{e}}}{}{}}0{{{d{jc}}}{{d{je}}}{}{}}0`{{{d{{b{c}}}}}l{}}{{{d{{b{c}}}}{d{jn}}}A`Ab}{cc{}}0{ce{}{}}0{{{d{Ad}}}Af}{{{d{j{Ah{c}}}}}{{Bd{{B`{{An{AjAl}}}}Bb}}}Bf}{{{d{c}}Bhh}{{Ah{c}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bj}}}}Bb}}}Bf}{{{d{j{Ah{c}}}}}{{Bd{{Bl{{b{Bn}}}}Bb}}}Bf}{c{{Bd{e}}}{}{}}000{{{d{c}}}C`{}}077","D":"Bd","p":[[5,"BlockEvent",0],[1,"reference"],[5,"BlockHash",31],[1,"u32"],[0,"mut"],[5,"BlockId",32],[5,"Formatter",33],[8,"Result",33],[10,"Debug",33],[10,"BitcoindRpcErrorExt",0],[1,"bool"],[5,"Emitter",0],[5,"Transaction",34],[1,"u64"],[1,"tuple"],[5,"Vec",35],[6,"Error",36],[6,"Result",37],[10,"RpcApi",38],[5,"CheckPoint",39],[5,"Block",31],[6,"Option",40],[5,"Header",31],[5,"TypeId",41]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAA0ABAAEAAAACAADAA4AAAAYAAcA"}],\ -["bdk_chain",{"t":"KKSFFSKGRFGPPRRRRKFRFFIEEIRRRRKKRRKFFKEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNMNNNMNOEMMNNCMENNNNONNNNNNNMMNNDCDNNNNNOCEMNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNONNNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNTGFFPPTTTFFFFNNNOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ChangeSet","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","CreateError","CreateError","CreateParams","CreateParams","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","LoadError","LoadError","LoadParams","LoadParams","Merge","PersistAsyncWith","PersistError","PersistError","PersistWith","Persisted","SpkIterator","Staged","TxGraph","Unconfirmed","Unconfirmed","add","all_zeros","anchor_block","anchor_block","anchor_block","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","block_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","confirmed","create","create","create","create_async","default","default","default","deref","deref","deref_mut","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","height","immature","index","indexed_tx_graph","indexer","into","into","into","into","into","into","into","into","into","into","into_fallible","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","load","load","load","load_async","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","persist","persist","persist","persist_async","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","staged","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_string","to_string","total","transpose_into_fallible","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","IndexedTxGraph","apply_block","apply_block_relevant","apply_changeset","apply_update","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","index","indexer","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","merge","new","serialize","to_owned","try_from","try_from","try_into","try_into","tx_graph","type_id","type_id","vzip","vzip","ChangeSet","Indexer","apply_changeset","index_tx","index_txout","initial_changeset","is_tx_relevant","keychain_txout","spk_txout","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","InsertDescriptorError","KeychainAlreadyAssigned","KeychainTxOutIndex","LAST_REVEALED_TABLE_NAME","SCHEMA_NAME","all_unbounded_spk_iters","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","default","default","deserialize","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from_sqlite","get_descriptor","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","merge","net_value","new","next_index","next_unused_spk","outpoints","persist_to_sqlite","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","spk_at_index","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","unused_keychain_spks","unused_spks","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","SpkTxOutIndex","all_spks","apply_changeset","borrow","borrow_mut","clone","clone_into","default","fmt","from","index_of_spk","index_tx","index_txout","initial_changeset","insert_spk","into","is_relevant","is_tx_relevant","is_used","mark_used","net_value","outpoints","outputs_in_range","scan","scan_txout","sent_and_received","spk_at_index","to_owned","try_from","try_into","txout","txouts","txouts_in_tx","type_id","unmark_used","unused_spks","vzip","AlterCheckPointError","ApplyHeaderError","BLOCKS_TABLE_NAME","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","SCHEMA_NAME","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","deserialize","disconnect_from","eq","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_iter","from_iter","from_sqlite","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_block_in_chain","is_empty","iter","iter_checkpoints","merge","new","next","original_hash","persist_to_sqlite","prev","push","range","range","serialize","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","SCHEMAS_TABLE_NAME","migrate_schema","FullScanRequest","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","ANCHORS_TABLE_NAME","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","SCHEMA_NAME","TXOUTS_TABLE_NAME","TXS_TABLE_NAME","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","apply_changeset","apply_update","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_sqlite","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_fallible","into_fallible","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","merge","new","next","next","outspends","partial_cmp","partial_cmp","persist_to_sqlite","serialize","to_owned","to_owned","to_owned","to_owned","to_string","transpose_into_fallible","transpose_into_fallible","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[331,"bdk_chain::ConfirmationTime"],[334,"bdk_chain::indexed_tx_graph"],[384,"bdk_chain::indexer"],[393,"bdk_chain::indexer::keychain_txout"],[491,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[495,"bdk_chain::indexer::spk_txout"],[532,"bdk_chain::local_chain"],[702,"bdk_chain::rusqlite_impl"],[704,"bdk_chain::spk_client"],[768,"bdk_chain::tx_graph"],[946,"bdk_chain::balance"],[947,"bdk_chain::descriptor_ext"],[948,"bdk_chain::tx_data_traits"],[949,"bdk_chain::chain_data"],[950,"bitcoin_hashes::sha256"],[951,"core::clone"],[952,"bdk_chain::spk_iter"],[953,"core::cmp"],[954,"bdk_chain::persist"],[955,"rusqlite::types::value_ref"],[956,"bitcoin_units::amount"],[957,"rusqlite::types::from_sql"],[958,"bitcoin::blockdata::transaction"],[959,"bitcoin::blockdata::block"],[960,"bitcoin::blockdata::script::owned"],[961,"miniscript::descriptor::key"],[962,"miniscript::descriptor"],[963,"bitcoin::network"],[964,"serde::de"],[965,"core::option"],[966,"core::result"],[967,"core::future::future"],[968,"alloc::boxed"],[969,"core::pin"],[970,"core::borrow"],[971,"core::fmt"],[972,"bitcoin_hashes"],[973,"bdk_chain::chain_oracle"],[974,"core::hash"],[975,"core::slice::index"],[976,"fallible_iterator"],[977,"core::iter::traits::iterator"],[978,"core::ops::range"],[979,"serde::ser"],[980,"rusqlite::types::to_sql"],[981,"rusqlite"],[982,"alloc::string"],[983,"core::any"],[984,"core::iter::traits::collect"],[985,"core::default"],[986,"alloc::collections::btree::map"],[987,"rusqlite::transaction"],[988,"core::iter::traits::double_ended"],[989,"core::iter::traits::exact_size"],[990,"alloc::collections::btree::set"],[991,"alloc::vec"],[992,"core::marker"],[993,"core::ops::function"],[994,"bitcoin::blockdata::script::borrowed"],[995,"core::convert"],[996,"alloc::sync"],[997,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,75,0,0,12,14,40,45,40,45,0,0,63,0,0,0,0,0,0,40,45,40,45,0,0,40,45,0,0,0,0,0,12,14,1,2,3,5,6,2,2,2,2,0,6,23,1,12,14,5,6,15,20,2,2,16,23,1,12,14,5,6,15,20,2,16,15,1,12,14,5,6,15,2,16,1,12,14,5,6,15,2,16,12,12,14,5,6,15,20,2,23,23,23,23,23,23,23,23,23,3,3,12,6,6,1,40,45,20,20,1,5,6,23,20,20,16,47,1,14,5,6,2,47,2,1,12,14,5,6,15,20,2,1,1,12,12,14,14,5,5,6,6,15,15,20,20,2,2,1,1,12,14,5,6,15,20,2,2,2,2,23,23,23,1,12,14,14,5,5,5,6,15,20,2,2,16,59,5,6,2,2,2,2,2,2,63,12,14,5,6,2,5,5,1,2,0,0,23,1,12,14,5,6,15,20,2,16,16,16,63,12,14,15,70,15,15,0,40,45,20,20,0,70,0,16,16,16,16,15,12,14,5,6,15,20,2,40,45,20,20,0,0,0,1,14,5,6,2,15,0,0,75,70,70,2,1,12,14,5,6,15,2,16,2,23,23,23,23,23,23,23,23,23,1,2,1,16,1,1,23,1,12,14,5,6,15,20,2,16,23,1,12,14,5,6,15,20,2,16,0,15,23,1,12,14,5,6,15,20,2,16,14,1,23,1,12,14,5,6,15,20,2,16,131,132,131,0,0,82,82,82,82,82,82,82,82,82,83,82,83,83,83,82,83,83,83,82,83,82,83,83,83,82,82,83,82,82,82,82,82,82,83,83,83,82,83,83,82,83,82,83,83,82,83,82,83,84,0,84,84,84,84,84,0,0,0,0,95,0,95,0,90,90,93,93,93,93,95,90,93,95,90,93,95,90,93,95,90,93,90,90,95,90,93,95,95,90,93,95,90,90,93,93,93,93,93,93,93,93,95,90,90,93,93,93,93,93,90,93,93,93,93,93,93,93,90,93,93,93,93,93,90,93,93,93,93,93,93,90,93,93,95,90,95,93,95,90,93,95,90,93,93,93,93,95,90,93,93,93,93,93,95,90,133,133,134,134,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,106,110,0,0,0,0,110,0,0,106,105,105,105,105,111,106,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,111,105,106,107,112,109,110,111,105,106,107,112,109,110,106,106,105,111,105,106,107,112,109,110,111,111,105,106,107,107,112,112,109,109,110,110,113,111,105,106,106,107,112,109,110,111,105,105,105,111,106,106,106,105,105,111,105,105,111,111,112,105,111,105,113,111,105,106,107,112,109,110,113,113,111,105,106,111,105,106,111,113,112,106,111,111,111,105,106,105,111,105,106,107,112,109,110,107,112,109,110,113,113,111,105,106,107,112,109,110,109,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,112,113,111,105,106,107,112,109,110,0,0,0,0,0,0,114,135,117,136,114,135,117,136,114,114,117,114,117,114,135,136,114,135,117,136,114,117,117,135,136,114,114,117,117,114,114,135,117,136,136,114,114,114,114,117,114,114,117,114,135,117,136,114,135,117,136,114,114,135,117,136,114,135,117,136,89,0,0,0,123,123,89,89,89,0,0,0,0,85,85,89,124,89,85,85,85,85,85,128,129,85,124,125,123,89,128,129,85,124,125,123,89,85,125,128,128,129,129,85,124,125,89,85,124,125,89,124,125,85,89,124,89,85,85,124,125,123,89,124,124,125,125,123,123,85,85,85,85,124,125,123,123,89,128,129,85,124,125,123,89,89,85,85,85,85,85,85,85,85,85,85,85,128,129,85,124,125,123,89,128,129,128,129,85,89,89,124,85,85,89,89,85,128,129,85,124,125,89,89,85,124,125,89,123,128,129,85,85,85,128,129,85,124,125,123,89,85,85,128,129,85,124,125,123,89,85,124,125,85,85,124,89,89,89,85,128,129,85,124,125,123,89,85,128,129,85,124,125,123,89,85,85,85],"f":"`````````````````````````````````````````{{bb}b}{{}d}{{{h{f}}}j}{{{h{j}}}j}{{{h{l}}}j}{{{h{d}}}{{h{c}}}{}}{{{h{d}}}{{h{n}}}}{{{h{d}}}{{h{{Ab{A`}}}}}}{{{h{d}}}{{h{{Ad{A`}}}}}}``{{{h{c}}}{{h{e}}}{}{}}0000000010{{{h{Afc}}}{{h{Afe}}}{}{}}000000000`{{{h{b}}}b}{{{h{{Ah{c}}}}}{{Ah{c}}}Aj}{{{h{Al}}}Al}:{{{h{l}}}l}{{{h{{An{c}}}}}{{An{c}}}Aj}{{{h{d}}}d}{{{h{{B`{c}}}}}{{B`{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}0000000{{{Ah{{h{c}}}}}{{Ah{c}}}Aj}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}BdBf}{{{h{Al}}{h{Al}}}Bd}{{{h{j}}{h{j}}}Bd}{{{h{l}}{h{l}}}Bd}{{{h{{An{c}}}}{h{{An{c}}}}}BdBf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bj{{C`{{Bn{Bl}}}}}}{Bj{{C`{{Bn{d}}}}}}{Bj{{C`{{Bn{Cb}}}}}}{Bj{{C`{{Bn{Cd}}}}}}{Bj{{C`{{Bn{Cf}}}}}}{Bj{{C`{{Bn{Ch}}}}}}{Bj{{C`{{Bn{{Cl{Cj}}}}}}}}{Bj{{C`{{Bn{Cn}}}}}}{Bj{{C`{{Bn{c}}}}}{fD`}}{{{h{f}}}Db}0{{{h{{Ah{c}}}}}{{Dd{Db}}}f}{{{h{l}}}Db}``{{{h{Afc}}e}{{Eb{{E`{}{{Df{e}}{Dh{g}}{Dj{i}}{Dl{k}}{Dn{m}}}}i}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{Ej{c}}}}{{}b}{{}j}{{}l}{{{h{{Bn{c}}}}}{{h{e}}}{}{}}{{{h{{Bh{c}}}}}{{h{e}}}{}{}}{{{h{Af{Bh{c}}}}}{{h{Afe}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{El{{Cl{Cj}}}}}}{{{h{En}}}d}{c{{Eb{b}}}F`}{c{{Eb{Al}}}F`}{c{{Eb{j}}}F`}{c{{Eb{l}}}F`}{c{{Eb{d}}}F`}{{{h{En}}}Fb}{{}c{}}{{{h{b}}{h{b}}}Fd}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}FdFf}{{{h{Al}}{h{Al}}}Fd}{{{h{j}}{h{j}}}Fd}{{{h{l}}{h{l}}}Fd}{{{h{{An{c}}}}{h{{An{c}}}}}FdFf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}FdFf}{{{h{d}}{h{d}}}Fd}{{{h{c}}{h{e}}}Fd{}{}}000000000000000{{{h{b}}{h{AfFh}}}Fj}0{{{h{{Ah{c}}}}{h{AfFh}}}FjFl}{{{h{Al}}{h{AfFh}}}Fj}{{{h{j}}{h{AfFh}}}Fj}{{{h{l}}{h{AfFh}}}Fj}{{{h{{An{c}}}}{h{AfFh}}}FjFl}{{{h{{Bh{c}}}}{h{AfFh}}}FjFl}{{{h{d}}{h{AfFh}}}Fj}000{Fnc{}}{cc{}}{c{{Bn{c}}}{}}11{{{Ah{l}}}Al}2{{{G`{{h{Db}}{h{Cd}}}}}j}3{{{G`{DbCd}}}j}444{nd}55{{{h{Gb}}jGd}Gf}{{{h{Gb}}jGd}j}{{{h{Gb}}jGd}l}{cd{}}04{{{h{{Ad{A`}}}}}{{Eb{dGh}}}}0{{{h{Gj}}}{{Eb{dc}}}{}}{{{h{{Gn{}{{Gl{c}}}}}}}{{Eb{jc}}}Fl}{{{h{{Ah{c}}}}{h{Afe}}}BbH`Hb}{{{h{Al}}{h{Afc}}}BbHb}{{{h{j}}{h{Afc}}}BbHb}{{{h{l}}{h{Afc}}}BbHb}{{{h{d}}{h{Afc}}}BbHb}```{{{h{d}}c}{{h{e}}}{{Hd{{Ad{A`}}}}}{}}``{ce{}{}}000000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{{{h{{Gn{}{{Gl{c}}}}}}jj}{{Eb{{Dd{Fd}}c}}}Fl}{{{h{{Ah{c}}}}}Fd{}}{{{h{Al}}}Fd}{{{h{{An{c}}}}Db}Fdf}{{{h{Hl}}}Fd}1``{{{h{Afc}}e}{{Eb{{Dd{{E`{}{{Df{g}}{Dh{e}}{Dj{i}}{Dl{k}}{Dn{m}}}}}}k}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{Ej{c}}}}`{{{h{AfHl}}Hl}Bb}`{c{{B`{c}}}{{El{{Cl{Cj}}}}}}{{ce}{{B`{c}}}{{El{{Cl{Cj}}}}}{{Hn{Db}}}}{{{h{Af{B`{c}}}}}{{Dd{e}}}{{El{{Cl{Cj}}}}}{}}{{{h{Af{B`{c}}}}Gd}{{Dd{e}}}{{El{{Cl{Cj}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Dd{Bd}}}I`}{{{h{Al}}{h{Al}}}{{Dd{Bd}}}}{{{h{j}}{h{j}}}{{Dd{Bd}}}}{{{h{l}}{h{l}}}{{Dd{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Dd{Bd}}}I`}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}{{Dd{Bd}}}I`}{{{h{d}}{h{d}}}{{Dd{Bd}}}}{{{h{Afc}}{h{e}}}{{Eb{Bbg}}}{}{}{}}{{{h{Afc}}{h{e}}}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{E`{c}}}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{Ej{c}}}}```{{{h{b}}c}EbIb}{{{h{Al}}c}EbIb}{{{h{j}}c}EbIb}{{{h{l}}c}EbIb}{{{h{d}}c}EbIb}```{{{h{Af{If{}{{Id{c}}}}}}}{{h{Afc}}}Hl}{{{h{AfHl}}}{{Dd{Hl}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bn{Ch}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cb}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cf}}}}}{{Ij{Ih}}}}{{{h{{Bn{Cd}}}}}{{Ij{Ih}}}}{{{h{{Bn{c}}}}}{{Ij{Ih}}}{fIl}}{{{h{{Bn{Cn}}}}}{{Ij{Ih}}}}{{{h{{Bn{Bl}}}}}{{Ij{Ih}}}}{{{h{{Bn{{Cl{Cj}}}}}}}{{Ij{Ih}}}}{{{h{{Bn{d}}}}}{{Ij{Ih}}}}{{{h{c}}}In{}}0{{{h{b}}}Bl}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}`1{c{{Eb{e}}}{}{}}0000000000000000000``{{{h{c}}}Jb{}}000000000{FbAl}`{ce{}{}}000000000`````{{{h{Af{Jd{ce}}}}GbDb}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{h{Gb}}Db}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{Jf{c}}}BbfJh}{{{h{Af{Jd{ce}}}}{Jj{c}}}{{Jf{c}}}fJh}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}{{{h{Af{Jd{ce}}}}i}{{Jf{c}}}fJh{{Jl{}{{Hh{c}}}}}{{Jl{}{{Hh{{G`{{h{Cf}}g}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{{h{Cf}}Fb}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{CfFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Jf{ce}}}}}{{Jf{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jd{ce}}}{}Jn}{{}{{Jf{ce}}}{}Jn}{c{{Eb{{Jf{eg}}}}}F`{BfK`}K`}{{{h{{Jf{ce}}}}{h{{Jf{ce}}}}}FdFfFf}{{{h{{Jd{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Jf{ce}}}}{h{AfFh}}}FjFlFl}{cc{}}{{{Kb{c}}}{{Jf{ce}}}{}Jn}1{Kd{{Jf{cKd}}}{}}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}``{{{h{{Jd{ce}}}}}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cbc}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}CbFb}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cf}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}KfKh}{{Jf{c}}}fJh}{ce{}{}}0{{{h{{Jf{ce}}}}}FdfHl}{{{h{Af{Jf{ce}}}}{Jf{ce}}}BbfHl}{c{{Jd{ec}}}{}{}}{{{h{{Jf{ce}}}}g}Eb{BfIl}IlIb}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}000`{{{h{c}}}Jb{}}077``{{{h{Af{Jh{}{{Id{c}}}}}}c}Bb{}}{{{h{Af{Jh{}{{Id{c}}}}}}{h{Cf}}}c{}}{{{h{Af{Jh{}{{Id{c}}}}}}Kf{h{Kh}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}{h{Cf}}}Fd{}}``````````{{{h{{Kj{c}}}}}{{Kl{c{B`{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}e}Bb{AjBfFl}{}}{{{h{Af{Kj{c}}}}Kd}Bb{AjBfFl}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Kj{c}}}}}{{Kj{c}}}Aj}{{{h{{Kn{c}}}}}{{Kn{c}}}Aj}{{{h{Kd}}}Kd}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Kj{c}}}{}}{{}Kd}{c{{Eb{Kd}}}F`}{{{h{{Kn{c}}}}{h{{Kn{c}}}}}FdFf}{{{h{Kd}}{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{AfFh}}}FjFl}{{{h{{Kn{c}}}}{h{AfFh}}}FjFl}0{{{h{Kd}}{h{AfFh}}}Fj}{cc{}}00{{{h{L`}}}{{Ij{Kd}}}}{{{h{{Kj{c}}}}c}{{Dd{{h{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}Ch}{{Dd{{h{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{Cf}}}e{AjBfFl}{}}{{{h{Af{Kj{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}{{h{{Lb{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c{Cl{Cj}}}{{Eb{Fd{Kn{c}}}}}{AjBfFl}}{ce{}{}}00{{{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{Cf}}}Fd{AjBfFl}}{{{h{{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Kf}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Lf{}{{Hh{{Lh{cKf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{G`{c{h{{Cl{Cj}}}}}}}}}}Lj}}}{AjBfFl}}`{{{h{{Kj{c}}}}c}{{Dd{Db}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{Kl{cDb}}}{AjBfFl}}10{{{h{{Kj{c}}}}}Db{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{AfKd}}Kd}Bb}{{{h{{Kj{c}}}}{h{Cf}}e}Ll{AjBfFl}{{Hn{c}}}}{Db{{Kj{c}}}{}}{{{h{{Kj{c}}}}c}{{Dd{{G`{DbFd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c}{{Dd{{G`{{Ld{Ch}}Kd}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{h{{Ln{{Lh{cKf}}}}}}}{AjBfFl}}{{{h{Kd}}{h{L`}}}{{Ij{Bb}}}}2{{{h{Af{Kj{c}}}}cDb}{{Dd{{G`{{M`{{Ld{Ch}}}}Kd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{{Kl{cDb}}}}}Kd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Ch}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Hj{}{{Hh{{Lh{cCh}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}{h{Cf}}e}{{G`{BlBl}}}{AjBfFl}{{Hn{c}}}}{{{h{Kd}}c}EbIb}{{{h{{Kj{c}}}}cDb}{{Dd{Ch}}}{AjBfFl}}{{{h{c}}}e{}{}}00{{{h{c}}}In{}}{c{{Eb{e}}}{}{}}00000{{{h{{Kj{c}}}}Kf}{{Dd{{Lh{c{h{Kh}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Kj{c}}}}Cb}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}00{{{h{{Kj{c}}}}c}{{Dd{{B`{{Cl{Cj}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Ch}}}}}}Aj}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{cCh}}}}}}Aj}}}{AjBfFl}}{ce{}{}}00`````{{{h{{Lb{c}}}}}{{h{{Kl{cCh}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Lb{c}}}}}{{Lb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Lb{c}}}{}}{{{h{{Lb{c}}}}{h{AfFh}}}FjFl}{cc{}}{{{h{{Lb{c}}}}Ch}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}{h{Cf}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Lb{c}}}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}cCh}Fd{AjBfFl}}>{{{h{{Lb{c}}}}{h{Cf}}}Fd{AjBfFl}}0{{{h{{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{Af{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{{Lb{c}}}}{h{Cf}}e}Ll{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}}{{h{{Ln{{G`{cKf}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{Af{Lb{c}}}}{h{Cf}}}{{Ln{c}}}{AjBfFl}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{{Lb{c}}}}{h{Cf}}e}{{G`{BlBl}}}{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}{h{c}}}{{Dd{Ch}}}{AjBfFl}}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}0{{{h{{Lb{c}}}}Kf}{{Dd{{G`{{h{c}}{h{Kh}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Lb{c}}}}Cb}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}={{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Ch}}}}}}Aj}}}{AjBfFl}{{Hn{c}}}}{ce{}{}}````````````{{{h{AfMb}}{h{Md}}}{{Eb{BbMf}}}}{{{h{AfMb}}{h{Mh}}Db}{{Eb{MdMj}}}}{{{h{AfMb}}{h{Mh}}Dbj}{{Eb{MdMl}}}}{{{h{AfMb}}Mn}{{Eb{MdMj}}}}{{{h{Mn}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Mn}}}Mn}{{{h{Mb}}}Mb}{{{h{Md}}}Md}{{{h{Mf}}}Mf}{{{h{N`}}}N`}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Md}{c{{Eb{Md}}}F`}{{{h{AfMb}}j}{{Eb{MdMf}}}}{{{h{Mn}}{h{Mn}}}Fd}{{{h{Mb}}{h{Mb}}}Fd}{{{h{Md}}{h{Md}}}Fd}{{{h{Mf}}{h{Mf}}}Fd}{{{h{N`}}{h{N`}}}Fd}{{{h{Mj}}{h{Mj}}}Fd}{{{h{Ml}}{h{Ml}}}Fd}{{Mnc}{{Eb{MnMn}}}{{Jl{}{{Hh{j}}}}}}{{{h{Mn}}{h{AfFh}}}Fj}{{{h{Mb}}{h{AfFh}}}Fj}{{{h{Md}}{h{AfFh}}}Fj}{{{h{Mf}}{h{AfFh}}}Fj}0{{{h{N`}}{h{AfFh}}}Fj}0{{{h{Mj}}{h{AfFh}}}Fj}0{{{h{Ml}}{h{AfFh}}}Fj}0{cc{}}000{cMd{{Jl{}{{Hh{{G`{Db{Dd{Cd}}}}}}}}}}1111{c{{Eb{Mn{Dd{Mn}}}}}{{Jl{}{{Hh{j}}}}}}{{{Kl{DbCd}}}{{Eb{MbMf}}}}{Md{{Eb{MbMf}}}}{Cd{{G`{MbMd}}}}{{{h{Mh}}Db}Mn}{cMd{{Jl{}{{Hh{{G`{DbCd}}}}}}}}6{{{h{L`}}}{{Ij{Md}}}}{Mn{{Eb{MbMf}}}}{{{h{Mb}}}Cd}{{{h{Mn}}Db}{{Dd{Mn}}}}{{{h{Mb}}Db}{{Dd{Mn}}}}{{{h{Mb}}}{{Eb{jc}}}{}}{{{h{Mn}}}Cd}{{{h{Mn}}}Db}`{{{h{Mb}}}Md}{{Mnj}Mn}{{{h{AfMb}}j}{{Eb{MdN`}}}}{ce{}{}}0000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{Mnc{}}{{{h{Mb}}jj}{{Eb{{Dd{Fd}}c}}}{}}{{{h{Md}}}Fd}{{{h{Mn}}}Nb}{{{h{Mb}}}Nb}{{{h{AfMd}}Md}Bb}{jMn}{{{h{AfNb}}}{{Dd{c}}}{}}`{{{h{Md}}{h{L`}}}{{Ij{Bb}}}}{{{h{Mn}}}{{Dd{Mn}}}}{{Mnj}{{Eb{MnMn}}}}{{{h{Mn}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Mb}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Md}}c}EbIb}{{{h{Mb}}}Mn}{{{h{c}}}e{}{}}000000{{{h{c}}}In{}}000{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}{c{{Eb{e}}}{}{}}0000000`00000000{{{h{c}}}Jb{}}0000000`{ce{}{}}0000000`{{{h{L`}}{h{Gj}}{h{{Ad{{h{{Ad{{h{Gj}}}}}}}}}}}{{Ij{Bb}}}}````{{{h{c}}}{{h{e}}}{}{}}000{{{h{Afc}}}{{h{Afe}}}{}{}}000{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Kf}}}}}}{{Nde}Nd{{Lj{}{{Hh{Ch}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Ch}}}}}}{{{Nj{c}}cg}{{Nj{c}}}{BfAj}{{Hj{}{{Hh{{Ld{Ch}}}}}}Nf}{{Jl{}{{Nh{e}}}}}}``{{Nde}Nd{{Lj{}{{Hh{Cb}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cb}}}}}}``{cc{}}000{MnNd}{Mn{{Nj{c}}}{BfAj}}{{Mn{h{{Kj{c}}}}}{{Nj{c}}}{FlBfAj}}``{{Ndc}Nd{{Nl{{h{Kf}}}}NfNn}}{{Ndc}Nd{{Nl{{h{O`}}}}NfNn}}{{{Nj{c}}e}{{Nj{c}}}{NfBfAj}{{Nl{cDb{h{O`}}}}NfNnAj}}{{{Nj{c}}ce}{{Nj{c}}}{NfBfAj}{{Nl{Db{h{O`}}}}NfNn}}{{Ndc}Nd{{Nl{{h{Cb}}}}NfNn}}{ce{}{}}000``{{Nd{h{{Kj{c}}}}e}Nd{AjBfFlNfNn}{{Hn{c}}}}{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}}}}}{{Nde}Nd{{Lj{}{{Hh{Ch}}}}Nf}{{Jl{}{{Nh{c}}}}}}>{{Nde}Nd{{Lj{}{{Hh{Cb}}}}Nf}{{Jl{}{{Nh{c}}}}}}``{c{{Eb{e}}}{}{}}0000000`{{{h{c}}}Jb{}}0006666`````````````{{{h{{Jj{c}}}}}{{h{{Ln{{G`{cCb}}}}}}}{}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{Db}}}}}}}f}``{{{h{Af{Jj{c}}}}{Kb{c}}}Bb{AjBf}}{{{h{Af{Jj{c}}}}{Jj{c}}}{{Kb{c}}}{AjBf}}{{{h{{Jj{c}}}}}{{h{{Jj{c}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jik}bf{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Ch}{{Od{Fd}}}}}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{Jl{}{{Hh{{G`{CfFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{Afc}}}{{h{Afe}}}{}{}}000000{{{h{{Jj{c}}}}{h{Cf}}}{{Eb{BlOf}}}{}}`{c{{Dd{Bl}}}{}}{c{{Dd{Ll}}}{}}01{{{h{{Jj{c}}}}}{{Jj{c}}}Aj}{{{h{{Oh{ce}}}}}{{Oh{ce}}}AjAj}{{{h{{Oj{ce}}}}}{{Oj{ce}}}AjAj}{{{h{{Kb{c}}}}}{{Kb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}000{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}BdBfBf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}BdBfBf}{{}{{Jj{c}}}{}}{{}{{Kb{c}}}{}}{{{h{{Oh{ce}}}}}{{h{g}}}{}{}{}}{c{{Eb{{Kb{e}}}}}F`{BfK`}}{{{h{{Jj{c}}}}{h{Cf}}}{{`{{Hj{}{{Hh{{G`{GdCb}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{{Jj{c}}}}}FdFf}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}FdFfFf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}FdFfFf}{{{h{Of}}{h{Of}}}Fd}{{{h{{Kb{c}}}}{h{{Kb{c}}}}}FdFf}{{{h{c}}{h{e}}}Fd{}{}}00000{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{G`{g{An{c}}}}}}}}}}}f{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{AfFh}}}FjFl}{{{h{{Oh{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Oj{ce}}}}{h{AfFh}}}FjFlFl}{{{h{Of}}{h{AfFh}}}Fj}0{{{h{{Kb{c}}}}{h{AfFh}}}FjFl}{cc{}}000000{{{h{L`}}}{{Ij{{Kb{c}}}}}{fAjBfIlD`}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cf}}c}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jCb}{{Dd{{Ah{{h{c}}}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}{h{e}}jKf}{{Dd{{G`{{Ah{{h{c}}}}Cb}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}Cb}{{Dd{{Ol{Cf}}}}}{}}{{{h{{Jj{c}}}}Cb}{{Dd{{Oh{{Ol{Cf}}c}}}}}{}}{{{h{{Jj{c}}}}Kf}{{Dd{{h{Kh}}}}}{}}{{{h{{Jj{c}}}}}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}Cbc}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}CbFb}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{On{{Ol{Cf}}}}}}{{{h{Af{Jj{c}}}}KfKh}{{Kb{c}}}{AjBf}}{ce{}{}}000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}011{{{h{{Jj{c}}}}}Fd{}}{{{h{{Kb{c}}}}}FdBf}``{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Oj{{Ol{Cf}}c}}}}}}}}}fGn}{{{Jj{c}}g}{{Jj{e}}}{AjBf}{AjBf}{{Nl{c}{{Od{e}}}}}}{{{Kb{c}}g}{{Kb{e}}}BfBf{{Nl{c}{{Od{e}}}}}}{{{h{Af{Kb{c}}}}{Kb{c}}}BbBf}{c{{Jj{e}}}{{Jl{}{{Hh{Cf}}}}}{AjBf}}{{{h{Af{A@`{cg}}}}}{{Dd{i}}}{}{}{{Nl{Gd{Ol{Cf}}}{{Od{{Dd{e}}}}}}}{}}{{{h{Af{A@b{cg}}}}}{{Dd{i}}}{}{}{{Nl{GdCb}{{Od{{Dd{e}}}}}}}{}}{{{h{{Jj{c}}}}Kf}{{h{{A@d{Cb}}}}}{}}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Kb{c}}}}{h{L`}}}{{Ij{Bb}}}{fAjBfIlD`}}{{{h{{Kb{c}}}}e}Eb{BfIl}Ib}{{{h{c}}}e{}{}}000{{{h{c}}}In{}}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}0{{{h{{Jj{c}}}}{h{e}}jik}{{Eb{b}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}Ch}{{Od{Fd}}}}}}{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{Eb{{G`{g{An{c}}}}}}}}}}}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{c{{Eb{e}}}{}{}}000000{{{h{{Jj{c}}}}{h{e}}jCb}{{Eb{{Dd{{Ah{{h{c}}}}}}}}}fGn}{{{h{{Jj{c}}}}{h{e}}jKf}{{Eb{{Dd{{G`{{Ah{{h{c}}}}Cb}}}}}}}fGn}2222222{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Eb{{Oj{{Ol{Cf}}c}}}}}}}}}}}fGn}``{{{h{{Jj{c}}}}Cb}{{Dd{{Kl{Db{h{Kh}}}}}}}{}}{{{h{{Jj{c}}}}Cb}{{`{{Lf{}{{Hh{{G`{Db{h{{A@d{Cb}}}}}}}}}}}}}{}}`{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}``{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cf}}c}}}}}}}}}{}}{{{h{c}}}Jb{}}000000{{{h{Af{Jj{c}}}}Fb}{{Kb{c}}}{AjBf}}{ce{}{}}000000{{{h{{Jj{c}}}}ei}{{A@`{ci}}}{AjBf}{{On{{Ol{Cf}}}}}{}{{Nl{Gd{Ol{Cf}}}{{Od{{Dd{g}}}}}}}}{{{h{{Jj{c}}}}{h{Cf}}g}{{A@b{cg}}}{}{}{{Nl{GdCb}{{Od{{Dd{e}}}}}}}}{{{h{{Jj{c}}}}Cbg}{{A@b{cg}}}{AjBf}{}{{Nl{GdCb}{{Od{{Dd{e}}}}}}}}","D":"CEj","p":[[5,"Balance",0,946],[5,"DescriptorId",0,947],[10,"Anchor",0,948],[1,"reference"],[5,"BlockId",0,949],[5,"ConfirmationBlockTime",0,949],[5,"Hash",950],[1,"u8"],[1,"array"],[1,"slice"],[0,"mut"],[6,"ChainPosition",0,949],[10,"Clone",951],[6,"ConfirmationTime",0,949],[5,"FullTxOut",0,949],[5,"SpkIterator",0,952],[1,"unit"],[6,"Ordering",953],[10,"Ord",953],[5,"Persisted",0,954],[6,"ValueRef",955],[5,"Amount",956],[5,"Impl",0],[8,"FromSqlResult",957],[5,"Txid",958],[5,"BlockHash",959],[5,"Transaction",958],[5,"ScriptBuf",960],[6,"DescriptorPublicKey",961],[6,"Descriptor",962],[6,"Network",963],[10,"DeserializeOwned",964],[1,"u32"],[6,"Option",965],[17,"CreateParams"],[17,"LoadParams"],[17,"CreateError"],[17,"LoadError"],[17,"PersistError"],[10,"PersistWith",0,954],[6,"Result",966],[10,"Future",967],[5,"Box",968],[5,"Pin",969],[10,"PersistAsyncWith",0,954],[10,"Borrow",970],[10,"DescriptorExt",0,947],[10,"Deserializer",964],[1,"u64"],[1,"bool"],[10,"PartialEq",953],[5,"Formatter",971],[8,"Result",971],[10,"Debug",971],[1,"never"],[1,"tuple"],[5,"Block",959],[1,"usize"],[10,"AnchorFromBlockPosition",0,948],[5,"FromSliceError",972],[1,"str"],[17,"Error"],[10,"ChainOracle",0,973],[10,"Hash",974],[10,"Hasher",974],[10,"SliceIndex",975],[5,"IntoFallible",976],[17,"Item"],[10,"Iterator",977],[10,"Merge",0,948],[10,"RangeBounds",978],[10,"PartialOrd",953],[10,"Serializer",979],[17,"ChangeSet"],[10,"Staged",0,954],[6,"ToSqlOutput",980],[8,"Result",981],[10,"Serialize",979],[5,"String",982],[5,"Convert",976],[5,"TypeId",983],[5,"IndexedTxGraph",334],[5,"ChangeSet",334],[10,"Indexer",384],[5,"TxGraph",768],[10,"IntoIterator",984],[10,"Default",985],[10,"Deserialize",964],[5,"ChangeSet",768],[5,"ChangeSet",393],[5,"OutPoint",958],[5,"TxOut",958],[5,"KeychainTxOutIndex",393],[5,"BTreeMap",986],[6,"InsertDescriptorError",393],[5,"Transaction",987],[5,"SpkTxOutIndex",495],[8,"Indexed",0],[10,"DoubleEndedIterator",988],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",989],[5,"SignedAmount",956],[5,"BTreeSet",990],[5,"Vec",991],[5,"LocalChain",532],[5,"ChangeSet",532],[5,"MissingGenesisError",532],[5,"Header",959],[5,"CannotConnectError",532],[6,"ApplyHeaderError",532],[5,"CheckPoint",532],[5,"AlterCheckPointError",532],[5,"CheckPointIter",532],[5,"SyncRequest",704],[10,"Send",992],[17,"IntoIter"],[5,"FullScanRequest",704],[10,"FnMut",993],[10,"Sync",992],[5,"Script",994],[6,"Infallible",995],[17,"Output"],[6,"CalculateFeeError",768],[5,"TxNode",768],[5,"CanonicalTx",768],[5,"Arc",996],[10,"Into",995],[5,"TxAncestors",768],[5,"TxDescendants",768],[5,"HashSet",997],[15,"Confirmed",331],[15,"Unconfirmed",331],[15,"DescriptorAlreadyAssigned",491],[15,"KeychainAlreadyAssigned",491],[5,"SyncResult",704],[5,"FullScanResult",704]],"r":[[0,948],[1,948],[2,952],[3,946],[4,949],[6,973],[7,949],[9,949],[10,949],[17,947],[18,947],[20,949],[23,334],[24,384],[30,948],[31,954],[34,954],[35,954],[36,952],[37,954],[38,768],[224,384],[258,384]],"b":[[48,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[49,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[98,"impl-FromSql-for-Impl%3CAmount%3E"],[99,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[100,"impl-FromSql-for-Impl%3CTxid%3E"],[101,"impl-FromSql-for-Impl%3CBlockHash%3E"],[102,"impl-FromSql-for-Impl%3CTransaction%3E"],[103,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[104,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[105,"impl-FromSql-for-Impl%3CNetwork%3E"],[106,"impl-FromSql-for-Impl%3CA%3E"],[156,"impl-Display-for-Balance"],[157,"impl-Debug-for-Balance"],[164,"impl-Display-for-DescriptorId"],[165,"impl-UpperHex-for-DescriptorId"],[166,"impl-Debug-for-DescriptorId"],[167,"impl-LowerHex-for-DescriptorId"],[175,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[177,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[272,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[273,"impl-ToSql-for-Impl%3CTxid%3E"],[274,"impl-ToSql-for-Impl%3CTransaction%3E"],[275,"impl-ToSql-for-Impl%3CBlockHash%3E"],[276,"impl-ToSql-for-Impl%3CA%3E"],[277,"impl-ToSql-for-Impl%3CNetwork%3E"],[278,"impl-ToSql-for-Impl%3CAmount%3E"],[279,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[280,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[357,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[359,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[402,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[403,"impl-KeychainTxOutIndex%3CK%3E"],[422,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[423,"impl-Display-for-InsertDescriptorError%3CK%3E"],[594,"impl-Debug-for-MissingGenesisError"],[595,"impl-Display-for-MissingGenesisError"],[596,"impl-Display-for-AlterCheckPointError"],[597,"impl-Debug-for-AlterCheckPointError"],[598,"impl-Display-for-CannotConnectError"],[599,"impl-Debug-for-CannotConnectError"],[600,"impl-Display-for-ApplyHeaderError"],[601,"impl-Debug-for-ApplyHeaderError"],[616,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[617,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[843,"impl-Debug-for-CalculateFeeError"],[844,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUCVwAYAAEAJwAAACoAAQAtAAIAMQACADUAFABLAA8AXAAPAG8AAAB2AAUAfgAEAIQAJQCrAAAArgAAALAAAACyAAAAtgAAALoAAwC/AAIAwwAEAMsAAADZAAAA4QAAAOgAAADrAAEA7gAGAPkAAAD7AAUAAwEAAAcBCAARAQoAIAETADYBCQBCAQkAVQEAAFkBCwBmAQAAaAEAAHMBAQB2AQUAfQEDAJMBAACVARQAsAECALkBAADTAQAA1QEJAOIBAgDpAQIA8gEGAPsBAgABAgAACwICABECAAAUAgAAJwIfAEgCBgBQAgoAXwIAAGkCAQBwAgAAgAIDAIYCAACIAgAAjwIAAJECCgCdAgcApgIPALcCBwDFAgcA8AIHAPkCBwAVAwAAGAMNACgDEQA7AwoASQMFAGsDAQBuAwAAdAMAAHYDAQB5AwEAfAMFAIcDBgCQAwYAoQMGAKkDBgA="}],\ +["bdk_chain",{"t":"KKSFFSKGRFGPPRRRRKFRFFIEEIRRRRKKRRKFFKEPPNNMNNNNNNEONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOMMNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNOOONCCNNNNNNNNNNNNNMNNNMNOEMMNNCMENNNNONNNNNNNMMNNDCDNNNNNOCEMNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNONNNNNNNNNNOOOFFNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNONNNNRKMMMMMCCFSPGPFTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFGTPFFFFPFFTNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNSHFFFFNNNNNNNNNNNOONOONNNNNNNOONNNNNNNNNOONNNNNOONNNNNNNNONNNNNNNNTGFFPPTTTFFFFNNNOONNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNONOONNNNNNNNNNNNNNNNNNN","n":["Anchor","AnchorFromBlockPosition","BIP32_MAX_INDEX","Balance","BlockId","COINBASE_MATURITY","ChainOracle","ChainPosition","ChangeSet","ConfirmationBlockTime","ConfirmationTime","Confirmed","Confirmed","CreateError","CreateError","CreateParams","CreateParams","DescriptorExt","DescriptorId","Error","FullTxOut","Impl","Indexed","IndexedTxGraph","Indexer","KeychainIndexed","LoadError","LoadError","LoadParams","LoadParams","Merge","PersistAsyncWith","PersistError","PersistError","PersistWith","Persisted","SpkIterator","Staged","TxGraph","Unconfirmed","Unconfirmed","add","all_zeros","anchor_block","anchor_block","anchor_block","as_byte_array","as_raw_hash","as_ref","as_ref","bitcoin","block_id","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_position","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cloned","cmp","cmp","cmp","cmp","cmp","cmp","cmp","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","column_result","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_height_upper_bound","confirmation_time","confirmed","create","create","create","create_async","default","default","default","deref","deref","deref_mut","descriptor","descriptor_id","deserialize","deserialize","deserialize","deserialize","deserialize","dust_value","engine","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_block_position","from_block_position","from_block_position","from_byte_array","from_engine","from_raw_hash","from_slice","from_slice_delegated","from_str","get_chain_tip","hash","hash","hash","hash","hash","hash","height","immature","index","indexed_tx_graph","indexer","into","into","into","into","into","into","into","into","into","into","into_fallible","into_inner","into_iter","is_block_in_chain","is_confirmed","is_confirmed","is_confirmed_and_spendable","is_empty","is_mature","is_on_coinbase","keychain_txout","load","load","load","load_async","local_chain","merge","miniscript","new","new_with_range","next","nth","outpoint","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","persist","persist","persist","persist_async","rusqlite","rusqlite_impl","serde","serialize","serialize","serialize","serialize","serialize","spent_by","spk_client","spk_txout","staged","take","take","to_byte_array","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_raw_hash","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_sql","to_string","to_string","total","transpose_into_fallible","trusted_pending","trusted_spendable","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_graph","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unconfirmed","untrusted_pending","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","height","last_seen","time","ChangeSet","IndexedTxGraph","apply_block","apply_block_relevant","apply_changeset","apply_update","as_ref","batch_insert_relevant","batch_insert_relevant_unconfirmed","batch_insert_unconfirmed","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","default","deserialize","eq","fmt","fmt","from","from","from","from","graph","index","indexer","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","is_empty","merge","new","serialize","to_owned","try_from","try_from","try_into","try_into","tx_graph","type_id","type_id","vzip","vzip","ChangeSet","Indexer","apply_changeset","index_tx","index_txout","initial_changeset","is_tx_relevant","keychain_txout","spk_txout","ChangeSet","DEFAULT_LOOKAHEAD","DescriptorAlreadyAssigned","InsertDescriptorError","KeychainAlreadyAssigned","KeychainTxOutIndex","LAST_REVEALED_TABLE_NAME","SCHEMA_NAME","all_unbounded_spk_iters","apply_changeset","apply_changeset","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","default","default","deserialize","eq","eq","fmt","fmt","fmt","fmt","from","from","from","from_sqlite","get_descriptor","index_of_spk","index_tx","index_txout","initial_changeset","inner","insert_descriptor","into","into","into","is_empty","is_tx_relevant","is_used","keychain_outpoints","keychain_outpoints_in_range","keychains","last_revealed","last_revealed_index","last_revealed_indices","last_used_index","last_used_indices","lookahead","lookahead_to_target","mark_used","merge","net_value","new","next_index","next_unused_spk","outpoints","persist_to_sqlite","reveal_next_spk","reveal_to_target","reveal_to_target_multi","revealed_keychain_spks","revealed_spks","sent_and_received","serialize","spk_at_index","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","txout","txouts","txouts_in_tx","type_id","type_id","type_id","unbounded_spk_iter","unmark_used","unused_keychain_spks","unused_spks","vzip","vzip","vzip","descriptor","existing_assignment","existing_assignment","keychain","SpkTxOutIndex","all_spks","apply_changeset","borrow","borrow_mut","clone","clone_into","default","fmt","from","index_of_spk","index_tx","index_txout","initial_changeset","insert_spk","into","is_relevant","is_tx_relevant","is_used","mark_used","net_value","outpoints","outputs_in_range","scan","scan_txout","sent_and_received","spk_at_index","to_owned","try_from","try_into","txout","txouts","txouts_in_tx","type_id","unmark_used","unused_spks","vzip","AlterCheckPointError","ApplyHeaderError","BLOCKS_TABLE_NAME","CannotConnect","CannotConnectError","ChangeSet","CheckPoint","CheckPointIter","InconsistentBlocks","LocalChain","MissingGenesisError","SCHEMA_NAME","apply_changeset","apply_header","apply_header_connected_to","apply_update","block_id","blocks","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","default","deserialize","disconnect_from","eq","eq","eq","eq","eq","eq","eq","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_block_ids","from_blocks","from_changeset","from_genesis_hash","from_header","from_iter","from_iter","from_sqlite","from_tip","genesis_hash","get","get","get_chain_tip","hash","height","height","initial_changeset","insert","insert_block","into","into","into","into","into","into","into","into","into_fallible","into_iter","into_iter","is_block_in_chain","is_empty","iter","iter_checkpoints","merge","new","next","original_hash","persist_to_sqlite","prev","push","range","range","serialize","tip","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_include_height","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_hash","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","SCHEMAS_TABLE_NAME","migrate_schema","FullScanRequest","FullScanResult","SyncRequest","SyncResult","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","chain_outpoints","chain_spks","chain_spks_for_keychain","chain_tip","chain_tip","chain_txids","chain_update","chain_update","from","from","from","from","from_chain_tip","from_chain_tip","from_keychain_txout_index","graph_update","graph_update","inspect_outpoints","inspect_spks","inspect_spks_for_all_keychains","inspect_spks_for_keychain","inspect_txids","into","into","into","into","last_active_indices","outpoints","populate_with_revealed_spks","set_outpoints","set_spks","set_spks_for_keychain","set_txids","spks","spks_by_keychain","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","txids","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","ANCHORS_TABLE_NAME","CalculateFeeError","CanonicalTx","ChangeSet","MissingTxOut","NegativeFee","SCHEMA_NAME","TXOUTS_TABLE_NAME","TXS_TABLE_NAME","TxAncestors","TxDescendants","TxGraph","TxNode","all_anchors","all_txouts","anchor_heights","anchors","anchors","apply_changeset","apply_update","as_ref","balance","batch_insert_unconfirmed","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","calculate_fee","chain_position","checked_sum","checked_sum","checked_sum","checked_sum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","deref","deserialize","direct_conflicts","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","filter_chain_txouts","filter_chain_unspents","floating_txouts","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_sqlite","full_txs","get_chain_position","get_chain_spend","get_tx","get_tx_node","get_txout","initial_changeset","insert_anchor","insert_seen_at","insert_tx","insert_txout","into","into","into","into","into","into","into","into_fallible","into_fallible","into_iter","into_iter","is_empty","is_empty","last_seen","last_seen_unconfirmed","list_canonical_txs","map_anchors","map_anchors","merge","new","next","next","outspends","partial_cmp","partial_cmp","persist_to_sqlite","serialize","to_owned","to_owned","to_owned","to_owned","to_string","transpose_into_fallible","transpose_into_fallible","try_balance","try_filter_chain_txouts","try_filter_chain_unspents","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_get_chain_position","try_get_chain_spend","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_list_canonical_txs","tx","tx_node","tx_outputs","tx_spends","txid","txouts","txouts","txs","txs_with_no_anchor_or_last_seen","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_last_seen_unconfirmed","vzip","vzip","vzip","vzip","vzip","vzip","vzip","walk_ancestors","walk_conflicts","walk_descendants"],"q":[[0,"bdk_chain"],[332,"bdk_chain::ConfirmationTime"],[335,"bdk_chain::indexed_tx_graph"],[385,"bdk_chain::indexer"],[394,"bdk_chain::indexer::keychain_txout"],[492,"bdk_chain::indexer::keychain_txout::InsertDescriptorError"],[496,"bdk_chain::indexer::spk_txout"],[533,"bdk_chain::local_chain"],[703,"bdk_chain::rusqlite_impl"],[705,"bdk_chain::spk_client"],[769,"bdk_chain::tx_graph"],[947,"bdk_chain::balance"],[948,"bdk_chain::descriptor_ext"],[949,"bdk_chain::tx_data_traits"],[950,"bdk_chain::chain_data"],[951,"bitcoin_hashes::sha256"],[952,"core::clone"],[953,"bdk_chain::spk_iter"],[954,"core::cmp"],[955,"bdk_chain::persist"],[956,"rusqlite::types::value_ref"],[957,"rusqlite::types::from_sql"],[958,"serde::de"],[959,"bitcoin::blockdata::block"],[960,"bitcoin::blockdata::transaction"],[961,"bitcoin_units::amount"],[962,"miniscript::descriptor::key"],[963,"miniscript::descriptor"],[964,"bitcoin::network"],[965,"bitcoin::blockdata::script::owned"],[966,"core::option"],[967,"core::result"],[968,"core::future::future"],[969,"alloc::boxed"],[970,"core::pin"],[971,"core::borrow"],[972,"core::fmt"],[973,"bitcoin_hashes"],[974,"bdk_chain::chain_oracle"],[975,"core::hash"],[976,"core::slice::index"],[977,"fallible_iterator"],[978,"core::iter::traits::iterator"],[979,"core::ops::range"],[980,"serde::ser"],[981,"rusqlite::types::to_sql"],[982,"rusqlite"],[983,"alloc::string"],[984,"core::any"],[985,"core::iter::traits::collect"],[986,"core::default"],[987,"alloc::collections::btree::map"],[988,"rusqlite::transaction"],[989,"core::iter::traits::double_ended"],[990,"core::iter::traits::exact_size"],[991,"alloc::collections::btree::set"],[992,"alloc::vec"],[993,"core::marker"],[994,"core::ops::function"],[995,"bitcoin::blockdata::script::borrowed"],[996,"core::convert"],[997,"alloc::sync"],[998,"std::collections::hash::set"]],"i":[0,0,0,0,0,0,0,0,75,0,0,12,14,40,45,40,45,0,0,63,0,0,0,0,0,0,40,45,40,45,0,0,40,45,0,0,0,0,0,12,14,1,2,3,5,6,2,2,2,2,0,6,22,1,12,14,5,6,15,20,2,2,16,22,1,12,14,5,6,15,20,2,16,15,1,12,14,5,6,15,2,16,1,12,14,5,6,15,2,16,12,12,14,5,6,15,20,2,22,22,22,22,22,22,22,22,22,3,3,12,6,6,1,40,45,20,20,1,5,6,22,20,20,16,47,1,14,5,6,2,47,2,1,12,14,5,6,15,20,2,1,1,12,12,14,14,5,5,6,6,15,15,20,20,2,2,1,1,12,14,5,6,15,20,2,2,2,2,22,22,22,1,12,14,14,5,5,5,6,15,20,2,2,16,59,5,6,2,2,2,2,2,2,63,12,14,5,6,2,5,5,1,2,0,0,22,1,12,14,5,6,15,20,2,16,16,22,16,63,12,14,15,70,15,15,0,40,45,20,20,0,70,0,16,16,16,16,15,12,14,5,6,15,20,2,40,45,20,20,0,0,0,1,14,5,6,2,15,0,0,75,70,70,2,1,12,14,5,6,15,2,16,2,22,22,22,22,22,22,22,22,22,1,2,1,16,1,1,22,1,12,14,5,6,15,20,2,16,22,1,12,14,5,6,15,20,2,16,0,15,22,1,12,14,5,6,15,20,2,16,14,1,22,1,12,14,5,6,15,20,2,16,131,132,131,0,0,82,82,82,82,82,82,82,82,82,83,82,83,83,83,82,83,83,83,82,83,82,83,83,83,82,82,83,82,82,82,82,82,82,83,83,83,82,83,83,82,83,82,83,83,82,83,82,83,84,0,84,84,84,84,84,0,0,0,0,95,0,95,0,90,90,93,93,93,93,95,90,93,95,90,93,95,90,93,95,90,93,90,90,95,90,93,95,95,90,93,95,90,90,93,93,93,93,93,93,93,93,95,90,90,93,93,93,93,93,90,93,93,93,93,93,93,93,90,93,93,93,93,93,90,93,93,93,93,93,93,90,93,93,95,90,95,93,95,90,93,95,90,93,93,93,93,95,90,93,93,93,93,93,95,90,133,133,134,134,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,106,110,0,0,0,0,110,0,0,106,105,105,105,105,111,106,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,111,105,106,107,112,109,110,111,105,106,107,112,109,110,106,106,105,111,105,106,107,112,109,110,111,111,105,106,107,107,112,112,109,109,110,110,113,111,105,106,106,107,112,109,110,111,105,105,105,111,106,106,106,105,105,111,105,105,111,111,112,105,111,105,113,111,105,106,107,112,109,110,113,113,111,105,106,111,105,106,111,113,112,106,111,111,111,105,106,105,111,105,106,107,112,109,110,107,112,109,110,113,113,111,105,106,107,112,109,110,109,113,111,105,106,107,112,109,110,113,111,105,106,107,112,109,110,112,113,111,105,106,107,112,109,110,0,0,0,0,0,0,114,135,117,136,114,135,117,136,114,114,117,114,117,114,135,136,114,135,117,136,114,117,117,135,136,114,114,117,117,114,114,135,117,136,136,114,114,114,114,117,114,114,117,114,135,117,136,114,135,117,136,114,114,135,117,136,114,135,117,136,89,0,0,0,123,123,89,89,89,0,0,0,0,85,85,89,124,89,85,85,85,85,85,128,129,85,124,125,123,89,128,129,85,124,125,123,89,85,125,128,128,129,129,85,124,125,89,85,124,125,89,124,125,85,89,124,89,85,85,124,125,123,89,124,124,125,125,123,123,85,85,85,85,124,125,123,123,89,128,129,85,124,125,123,89,89,85,85,85,85,85,85,85,85,85,85,85,128,129,85,124,125,123,89,128,129,128,129,85,89,89,124,85,85,89,89,85,128,129,85,124,125,89,89,85,124,125,89,123,128,129,85,85,85,128,129,85,124,125,123,89,85,85,128,129,85,124,125,123,89,85,124,125,85,85,124,89,89,89,85,128,129,85,124,125,123,89,85,128,129,85,124,125,123,89,85,85,85],"f":"`````````````````````````````````````````{{bb}b}{{}d}{{{h{f}}}j}{{{h{j}}}j}{{{h{l}}}j}{{{h{d}}}{{h{c}}}{}}{{{h{d}}}{{h{n}}}}{{{h{d}}}{{h{{Ab{A`}}}}}}{{{h{d}}}{{h{{Ad{A`}}}}}}``{{{h{c}}}{{h{e}}}{}{}}0000000200{{{h{Afc}}}{{h{Afe}}}{}{}}000000000`{{{h{b}}}b}{{{h{{Ah{c}}}}}{{Ah{c}}}Aj}{{{h{Al}}}Al}:{{{h{l}}}l}{{{h{{An{c}}}}}{{An{c}}}Aj}{{{h{d}}}d}{{{h{{B`{c}}}}}{{B`{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}0000000{{{Ah{{h{c}}}}}{{Ah{c}}}Aj}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}BdBf}{{{h{Al}}{h{Al}}}Bd}{{{h{j}}{h{j}}}Bd}{{{h{l}}{h{l}}}Bd}{{{h{{An{c}}}}{h{{An{c}}}}}BdBf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}BdBf}{{{h{d}}{h{d}}}Bd}{Bj{{Bn{{Bl{c}}}}}{fC`}}{Bj{{Bn{{Bl{Cb}}}}}}{Bj{{Bn{{Bl{Cd}}}}}}{Bj{{Bn{{Bl{Cf}}}}}}{Bj{{Bn{{Bl{{Cj{Ch}}}}}}}}{Bj{{Bn{{Bl{Cl}}}}}}{Bj{{Bn{{Bl{Cn}}}}}}{Bj{{Bn{{Bl{D`}}}}}}{Bj{{Bn{{Bl{d}}}}}}{{{h{f}}}Db}0{{{h{{Ah{c}}}}}{{Dd{Db}}}f}{{{h{l}}}Db}``{{{h{Afc}}e}{{Eb{{E`{}{{Df{e}}{Dh{g}}{Dj{i}}{Dl{k}}{Dn{m}}}}i}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Bh{e}}}}}{}{{Ej{c}}}}{{}b}{{}j}{{}l}{{{h{{Bl{c}}}}}{{h{e}}}{}{}}{{{h{{Bh{c}}}}}{{h{e}}}{}{}}{{{h{Af{Bh{c}}}}}{{h{Afe}}}{}{}}{{{h{{B`{c}}}}}{{h{c}}}{{El{{Cj{Ch}}}}}}{{{h{En}}}d}{c{{Eb{b}}}F`}{c{{Eb{Al}}}F`}{c{{Eb{j}}}F`}{c{{Eb{l}}}F`}{c{{Eb{d}}}F`}{{{h{En}}}Fb}{{}c{}}{{{h{b}}{h{b}}}Fd}{{{h{{Ah{c}}}}{h{{Ah{c}}}}}FdFf}{{{h{Al}}{h{Al}}}Fd}{{{h{j}}{h{j}}}Fd}{{{h{l}}{h{l}}}Fd}{{{h{{An{c}}}}{h{{An{c}}}}}FdFf}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}FdFf}{{{h{d}}{h{d}}}Fd}{{{h{c}}{h{e}}}Fd{}{}}000000000000000{{{h{b}}{h{AfFh}}}Fj}0{{{h{{Ah{c}}}}{h{AfFh}}}FjFl}{{{h{Al}}{h{AfFh}}}Fj}{{{h{j}}{h{AfFh}}}Fj}{{{h{l}}{h{AfFh}}}Fj}{{{h{{An{c}}}}{h{AfFh}}}FjFl}{{{h{{Bh{c}}}}{h{AfFh}}}FjFl}{{{h{d}}{h{AfFh}}}Fj}000{cc{}}{c{{Bl{c}}}{}}{Fnc{}}222{{{Ah{l}}}Al}{{{G`{{h{Db}}{h{Cb}}}}}j}4{{{G`{DbCb}}}j}5555{nd}6{{{h{Gb}}jGd}Gf}{{{h{Gb}}jGd}j}{{{h{Gb}}jGd}l}{cd{}}04{{{h{{Ab{A`}}}}}{{Eb{dGh}}}}0{{{h{Gj}}}{{Eb{dc}}}{}}{{{h{{Gn{}{{Gl{c}}}}}}}{{Eb{jc}}}Fl}{{{h{{Ah{c}}}}{h{Afe}}}BbH`Hb}{{{h{Al}}{h{Afc}}}BbHb}{{{h{j}}{h{Afc}}}BbHb}{{{h{l}}{h{Afc}}}BbHb}{{{h{d}}{h{Afc}}}BbHb}```{{{h{d}}c}{{h{e}}}{{Hd{{Ab{A`}}}}}{}}``{ce{}{}}000000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}{{{Bl{c}}}c{}}2{{{h{{Gn{}{{Gl{c}}}}}}jj}{{Eb{{Dd{Fd}}c}}}Fl}{{{h{{Ah{c}}}}}Fd{}}{{{h{Al}}}Fd}{{{h{{An{c}}}}Db}Fdf}{{{h{Hl}}}Fd}1``{{{h{Afc}}e}{{Eb{{Dd{{E`{}{{Df{g}}{Dh{e}}{Dj{i}}{Dl{k}}{Dn{m}}}}}}k}}}{}{}{}{}{}{}}{{{h{Afc}}e}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{E`{c}}}}{{{h{Afc}}}{{Eb{{Dd{{Bh{e}}}}}}}{}{{Ej{c}}}}`{{{h{AfHl}}Hl}Bb}`{c{{B`{c}}}{{El{{Cj{Ch}}}}}}{{ce}{{B`{c}}}{{El{{Cj{Ch}}}}}{{Hn{Db}}}}{{{h{Af{B`{c}}}}}{{Dd{e}}}{{El{{Cj{Ch}}}}}{}}{{{h{Af{B`{c}}}}Gd}{{Dd{e}}}{{El{{Cj{Ch}}}}}{}}`{{{h{{Ah{c}}}}{h{{Ah{c}}}}}{{Dd{Bd}}}I`}{{{h{Al}}{h{Al}}}{{Dd{Bd}}}}{{{h{j}}{h{j}}}{{Dd{Bd}}}}{{{h{l}}{h{l}}}{{Dd{Bd}}}}{{{h{{An{c}}}}{h{{An{c}}}}}{{Dd{Bd}}}I`}{{{h{{Bh{c}}}}{h{{Bh{c}}}}}{{Dd{Bd}}}I`}{{{h{d}}{h{d}}}{{Dd{Bd}}}}{{{h{Afc}}{h{e}}}{{Eb{Bbg}}}{}{}{}}{{{h{Afc}}{h{e}}}{{Eh{{Ef{Ed}}}}}{}{}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{E`{c}}}}{{{h{Af{Bh{e}}}}{h{Afc}}}{{Eb{Fd}}}{}{{Ej{c}}}}```{{{h{b}}c}EbIb}{{{h{Al}}c}EbIb}{{{h{j}}c}EbIb}{{{h{l}}c}EbIb}{{{h{d}}c}EbIb}```{{{h{Af{If{}{{Id{c}}}}}}}{{h{Afc}}}Hl}{{{h{AfHl}}}{{Dd{Hl}}}}0{dc{}}{{{h{c}}}e{}{}}0000000{dn}{{{h{{Bl{d}}}}}{{Ij{Ih}}}}{{{h{{Bl{c}}}}}{{Ij{Ih}}}{fIl}}{{{h{{Bl{Cl}}}}}{{Ij{Ih}}}}{{{h{{Bl{Cf}}}}}{{Ij{Ih}}}}{{{h{{Bl{{Cj{Ch}}}}}}}{{Ij{Ih}}}}{{{h{{Bl{D`}}}}}{{Ij{Ih}}}}{{{h{{Bl{Cd}}}}}{{Ij{Ih}}}}{{{h{{Bl{Cn}}}}}{{Ij{Ih}}}}{{{h{{Bl{Cb}}}}}{{Ij{Ih}}}}{{{h{c}}}In{}}0{{{h{b}}}Cf}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}`1{c{{Eb{e}}}{}{}}0000000000000000000``{{{h{c}}}Jb{}}000000000{FbAl}`{ce{}{}}000000000`````{{{h{Af{Jd{ce}}}}GbDb}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{h{Gb}}Db}{{Jf{c}}}{Gff}Jh}{{{h{Af{Jd{ce}}}}{Jf{c}}}BbfJh}{{{h{Af{Jd{ce}}}}{Jj{c}}}{{Jf{c}}}fJh}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}{{{h{Af{Jd{ce}}}}i}{{Jf{c}}}fJh{{Jl{}{{Hh{c}}}}}{{Jl{}{{Hh{{G`{{h{Cn}}g}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{{h{Cn}}Fb}}}}}}}}{{{h{Af{Jd{ce}}}}g}{{Jf{c}}}fJh{{Jl{}{{Hh{{G`{CnFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}0{{{h{Afc}}}{{h{Afe}}}{}{}}0{{{h{{Jf{ce}}}}}{{Jf{ce}}}AjAj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Jd{ce}}}{}Jn}{{}{{Jf{ce}}}{}Jn}{c{{Eb{{Jf{eg}}}}}F`{BfK`}K`}{{{h{{Jf{ce}}}}{h{{Jf{ce}}}}}FdFfFf}{{{h{{Jd{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Jf{ce}}}}{h{AfFh}}}FjFlFl}{cc{}}{{{Kb{c}}}{{Jf{ce}}}{}Jn}1{Kd{{Jf{cKd}}}{}}{{{h{{Jd{ce}}}}}{{h{{Jj{c}}}}}{}{}}``{{{h{{Jd{ce}}}}}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cdc}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}CdFb}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}Cn}{{Jf{c}}}fJh}{{{h{Af{Jd{ce}}}}KfKh}{{Jf{c}}}fJh}{ce{}{}}0{{{h{{Jf{ce}}}}}FdfHl}{{{h{Af{Jf{ce}}}}{Jf{ce}}}BbfHl}{c{{Jd{ec}}}{}{}}{{{h{{Jf{ce}}}}g}Eb{BfIl}IlIb}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}000`{{{h{c}}}Jb{}}077``{{{h{Af{Jh{}{{Id{c}}}}}}c}Bb{}}{{{h{Af{Jh{}{{Id{c}}}}}}{h{Cn}}}c{}}{{{h{Af{Jh{}{{Id{c}}}}}}Kf{h{Kh}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}}c{}}{{{h{{Jh{}{{Id{c}}}}}}{h{Cn}}}Fd{}}``````````{{{h{{Kj{c}}}}}{{Kl{c{B`{{Cj{Ch}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}Kd}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}00{{{h{Afc}}}{{h{Afe}}}{}{}}00{{{h{{Kj{c}}}}}{{Kj{c}}}Aj}{{{h{{Kn{c}}}}}{{Kn{c}}}Aj}{{{h{Kd}}}Kd}{{{h{c}}{h{Afe}}}Bb{}{}}00{{}{{Kj{c}}}{}}{{}Kd}{c{{Eb{Kd}}}F`}{{{h{{Kn{c}}}}{h{{Kn{c}}}}}FdFf}{{{h{Kd}}{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{AfFh}}}FjFl}{{{h{{Kn{c}}}}{h{AfFh}}}FjFl}0{{{h{Kd}}{h{AfFh}}}Fj}{cc{}}00{{{h{L`}}}{{Ij{Kd}}}}{{{h{{Kj{c}}}}c}{{Dd{{h{{Cj{Ch}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}D`}{{Dd{{h{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{Cn}}}e{AjBfFl}{}}{{{h{Af{Kj{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}e{AjBfFl}{}}{{{h{{Kj{c}}}}}{{h{{Lb{{G`{cDb}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c{Cj{Ch}}}{{Eb{Fd{Kn{c}}}}}{AjBfFl}}{ce{}{}}00{{{h{Kd}}}Fd}{{{h{{Kj{c}}}}{h{Cn}}}Fd{AjBfFl}}{{{h{{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{Kf}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Lf{}{{Hh{{Lh{cKf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{G`{c{h{{Cj{Ch}}}}}}}}}}Lj}}}{AjBfFl}}`{{{h{{Kj{c}}}}c}{{Dd{Db}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{Kl{cDb}}}{AjBfFl}}10{{{h{{Kj{c}}}}}Db{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Bb{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{AfKd}}Kd}Bb}{{{h{{Kj{c}}}}{h{Cn}}e}Ll{AjBfFl}{{Hn{c}}}}{Db{{Kj{c}}}{}}{{{h{{Kj{c}}}}c}{{Dd{{G`{DbFd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}c}{{Dd{{G`{{Ld{D`}}Kd}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{h{{Ln{{Lh{cKf}}}}}}}{AjBfFl}}{{{h{Kd}}{h{L`}}}{{Ij{Bb}}}}2{{{h{Af{Kj{c}}}}cDb}{{Dd{{G`{{M`{{Ld{D`}}}}Kd}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}{h{{Kl{cDb}}}}}Kd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{D`}}}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}e}{{`{{Hj{}{{Hh{{Lh{cD`}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{{Kj{c}}}}{h{Cn}}e}{{G`{CfCf}}}{AjBfFl}{{Hn{c}}}}{{{h{Kd}}c}EbIb}{{{h{{Kj{c}}}}cDb}{{Dd{D`}}}{AjBfFl}}{{{h{c}}}e{}{}}00{{{h{c}}}In{}}{c{{Eb{e}}}{}{}}00000{{{h{{Kj{c}}}}Kf}{{Dd{{Lh{c{h{Kh}}}}}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Kj{c}}}}Cd}{{`{{Lf{}{{Hh{{Lh{c{G`{Kf{h{Kh}}}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}00{{{h{{Kj{c}}}}c}{{Dd{{B`{{Cj{Ch}}}}}}}{AjBfFl}}{{{h{Af{Kj{c}}}}cDb}Fd{AjBfFl}}{{{h{{Kj{c}}}}c}{{`{{Lf{}{{Hh{{Ld{D`}}}}}}Aj}}}{AjBfFl}}{{{h{{Kj{c}}}}}{{`{{Lf{}{{Hh{{Lh{cD`}}}}}}Aj}}}{AjBfFl}}{ce{}{}}00`````{{{h{{Lb{c}}}}}{{h{{Kl{cD`}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}e}Bb{AjBfFl}{}}{{{h{c}}}{{h{e}}}{}{}}{{{h{Afc}}}{{h{Afe}}}{}{}}{{{h{{Lb{c}}}}}{{Lb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}{{}{{Lb{c}}}{}}{{{h{{Lb{c}}}}{h{AfFh}}}FjFl}{cc{}}{{{h{{Lb{c}}}}D`}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{Af{Lb{c}}}}{h{Cn}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}e{AjBfFl}{}}{{{h{{Lb{c}}}}}e{AjBfFl}{}}{{{h{Af{Lb{c}}}}cD`}Fd{AjBfFl}}>{{{h{{Lb{c}}}}{h{Cn}}}Fd{AjBfFl}}0{{{h{{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{Af{Lb{c}}}}{h{c}}}Fd{AjBfFl}}{{{h{{Lb{c}}}}{h{Cn}}e}Ll{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}}{{h{{Ln{{G`{cKf}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf}}}}}}}}}{AjBfFl}{{Hn{c}}}}{{{h{Af{Lb{c}}}}{h{Cn}}}{{Ln{c}}}{AjBfFl}}{{{h{Af{Lb{c}}}}Kf{h{Kh}}}{{Dd{{h{c}}}}}{AjBfFl}}{{{h{{Lb{c}}}}{h{Cn}}e}{{G`{CfCf}}}{AjBfFl}{{Hn{c}}}}{{{h{{Lb{c}}}}{h{c}}}{{Dd{D`}}}{AjBfFl}}{{{h{c}}}e{}{}}{c{{Eb{e}}}{}{}}0{{{h{{Lb{c}}}}Kf}{{Dd{{G`{{h{c}}{h{Kh}}}}}}}{AjBfFl}}{{{h{{Lb{c}}}}}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}Lj}}}{AjBfFl}}{{{h{{Lb{c}}}}Cd}{{`{{Lf{}{{Hh{{G`{{h{c}}Kf{h{Kh}}}}}}}}}}}{AjBfFl}}{{{h{c}}}Jb{}}={{{h{{Lb{c}}}}e}{{`{{Lf{}{{Hh{{G`{{h{c}}D`}}}}}}Aj}}}{AjBfFl}{{Hn{c}}}}{ce{}{}}````````````{{{h{AfMb}}{h{Md}}}{{Eb{BbMf}}}}{{{h{AfMb}}{h{Mh}}Db}{{Eb{MdMj}}}}{{{h{AfMb}}{h{Mh}}Dbj}{{Eb{MdMl}}}}{{{h{AfMb}}Mn}{{Eb{MdMj}}}}{{{h{Mn}}}j}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{Afc}}}{{h{Afe}}}{}{}}0000000{{{h{Mn}}}Mn}{{{h{Mb}}}Mb}{{{h{Md}}}Md}{{{h{Mf}}}Mf}{{{h{N`}}}N`}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{Afe}}}Bb{}{}}000000{{}Md}{c{{Eb{Md}}}F`}{{{h{AfMb}}j}{{Eb{MdMf}}}}{{{h{Mn}}{h{Mn}}}Fd}{{{h{Mb}}{h{Mb}}}Fd}{{{h{Md}}{h{Md}}}Fd}{{{h{Mf}}{h{Mf}}}Fd}{{{h{N`}}{h{N`}}}Fd}{{{h{Mj}}{h{Mj}}}Fd}{{{h{Ml}}{h{Ml}}}Fd}{{Mnc}{{Eb{MnMn}}}{{Jl{}{{Hh{j}}}}}}{{{h{Mn}}{h{AfFh}}}Fj}{{{h{Mb}}{h{AfFh}}}Fj}{{{h{Md}}{h{AfFh}}}Fj}{{{h{Mf}}{h{AfFh}}}Fj}0{{{h{N`}}{h{AfFh}}}Fj}0{{{h{Mj}}{h{AfFh}}}Fj}0{{{h{Ml}}{h{AfFh}}}Fj}0{cc{}}000{cMd{{Jl{}{{Hh{{G`{Db{Dd{Cb}}}}}}}}}}1111{c{{Eb{Mn{Dd{Mn}}}}}{{Jl{}{{Hh{j}}}}}}{{{Kl{DbCb}}}{{Eb{MbMf}}}}{Md{{Eb{MbMf}}}}{Cb{{G`{MbMd}}}}{{{h{Mh}}Db}Mn}5{cMd{{Jl{}{{Hh{{G`{DbCb}}}}}}}}{{{h{L`}}}{{Ij{Md}}}}{Mn{{Eb{MbMf}}}}{{{h{Mb}}}Cb}{{{h{Mn}}Db}{{Dd{Mn}}}}{{{h{Mb}}Db}{{Dd{Mn}}}}{{{h{Mb}}}{{Eb{jc}}}{}}{{{h{Mn}}}Cb}{{{h{Mn}}}Db}`{{{h{Mb}}}Md}{{Mnj}Mn}{{{h{AfMb}}j}{{Eb{MdN`}}}}{ce{}{}}0000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}1{Mnc{}}{{{h{Mb}}jj}{{Eb{{Dd{Fd}}c}}}{}}{{{h{Md}}}Fd}{{{h{Mn}}}Nb}{{{h{Mb}}}Nb}{{{h{AfMd}}Md}Bb}{jMn}{{{h{AfNb}}}{{Dd{c}}}{}}`{{{h{Md}}{h{L`}}}{{Ij{Bb}}}}{{{h{Mn}}}{{Dd{Mn}}}}{{Mnj}{{Eb{MnMn}}}}{{{h{Mn}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Mb}}c}{{`{{Hj{}{{Hh{Mn}}}}}}}{{Hn{Db}}}}{{{h{Md}}c}EbIb}{{{h{Mb}}}Mn}{{{h{c}}}e{}{}}000000{{{h{c}}}In{}}000{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}{c{{Eb{e}}}{}{}}0000000`00000000{{{h{c}}}Jb{}}0000000`{ce{}{}}0000000`{{{h{L`}}{h{Gj}}{h{{Ab{{h{{Ab{{h{Gj}}}}}}}}}}}{{Ij{Bb}}}}````{{{h{c}}}{{h{e}}}{}{}}000{{{h{Afc}}}{{h{Afe}}}{}{}}000{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Kf}}}}}}{{Nde}Nd{{Lj{}{{Hh{D`}}}}Nf}{{Jl{}{{Nh{c}}{Hh{D`}}}}}}{{{Nj{c}}cg}{{Nj{c}}}{BfAj}{{Hj{}{{Hh{{Ld{D`}}}}}}Nf}{{Jl{}{{Nh{e}}}}}}``{{Nde}Nd{{Lj{}{{Hh{Cd}}}}Nf}{{Jl{}{{Nh{c}}{Hh{Cd}}}}}}``{cc{}}000{MnNd}{Mn{{Nj{c}}}{BfAj}}{{Mn{h{{Kj{c}}}}}{{Nj{c}}}{FlBfAj}}``{{Ndc}Nd{{Nl{{h{Kf}}}}NfNn}}{{Ndc}Nd{{Nl{{h{O`}}}}NfNn}}{{{Nj{c}}e}{{Nj{c}}}{NfBfAj}{{Nl{cDb{h{O`}}}}NfNnAj}}{{{Nj{c}}ce}{{Nj{c}}}{NfBfAj}{{Nl{Db{h{O`}}}}NfNn}}{{Ndc}Nd{{Nl{{h{Cd}}}}NfNn}}{ce{}{}}000``{{Nd{h{{Kj{c}}}}e}Nd{AjBfFlNfNn}{{Hn{c}}}}{{Nde}Nd{{Lj{}{{Hh{Kf}}}}Nf}{{Jl{}{{Nh{c}}}}}}{{Nde}Nd{{Lj{}{{Hh{D`}}}}Nf}{{Jl{}{{Nh{c}}}}}}>{{Nde}Nd{{Lj{}{{Hh{Cd}}}}Nf}{{Jl{}{{Nh{c}}}}}}``{c{{Eb{e}}}{}{}}0000000`{{{h{c}}}Jb{}}0006666`````````````{{{h{{Jj{c}}}}}{{h{{Ln{{G`{cCd}}}}}}}{}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{Db}}}}}}}f}``{{{h{Af{Jj{c}}}}{Kb{c}}}Bb{AjBf}}{{{h{Af{Jj{c}}}}{Jj{c}}}{{Kb{c}}}{AjBf}}{{{h{{Jj{c}}}}}{{h{{Jj{c}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jik}bf{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}D`}{{Od{Fd}}}}}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{Jl{}{{Hh{{G`{CnFb}}}}}}}}{{{h{c}}}{{h{e}}}{}{}}000000{{{h{Afc}}}{{h{Afe}}}{}{}}000000{{{h{{Jj{c}}}}{h{Cn}}}{{Eb{CfOf}}}{}}`{c{{Dd{Cf}}}{}}{c{{Dd{Ll}}}{}}01{{{h{{Jj{c}}}}}{{Jj{c}}}Aj}{{{h{{Oh{ce}}}}}{{Oh{ce}}}AjAj}{{{h{{Oj{ce}}}}}{{Oj{ce}}}AjAj}{{{h{{Kb{c}}}}}{{Kb{c}}}Aj}{{{h{c}}{h{Afe}}}Bb{}{}}000{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}BdBfBf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}BdBfBf}{{}{{Jj{c}}}{}}{{}{{Kb{c}}}{}}{{{h{{Oh{ce}}}}}{{h{g}}}{}{}{}}{c{{Eb{{Kb{e}}}}}F`{BfK`}}{{{h{{Jj{c}}}}{h{Cn}}}{{`{{Hj{}{{Hh{{G`{GdCd}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{{Jj{c}}}}}FdFf}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}FdFfFf}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}FdFfFf}{{{h{Of}}{h{Of}}}Fd}{{{h{{Kb{c}}}}{h{{Kb{c}}}}}FdFf}{{{h{c}}{h{e}}}Fd{}{}}00000{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{G`{g{An{c}}}}}}}}}}}f{{Gn{}{{Gl{Ob}}}}}Aj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{AfFh}}}FjFl}{{{h{{Oh{ce}}}}{h{AfFh}}}FjFlFl}{{{h{{Oj{ce}}}}{h{AfFh}}}FjFlFl}{{{h{Of}}{h{AfFh}}}Fj}0{{{h{{Kb{c}}}}{h{AfFh}}}FjFl}{cc{}}000000{{{h{L`}}}{{Ij{{Kb{c}}}}}{fAjBfIlC`}}{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cn}}c}}}}}}}}}{}}{{{h{{Jj{c}}}}{h{e}}jCd}{{Dd{{Ah{{h{c}}}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}{h{e}}jKf}{{Dd{{G`{{Ah{{h{c}}}}Cd}}}}}f{{Gn{}{{Gl{Ob}}}}}}{{{h{{Jj{c}}}}Cd}{{Dd{{Ol{Cn}}}}}{}}{{{h{{Jj{c}}}}Cd}{{Dd{{Oh{{Ol{Cn}}c}}}}}{}}{{{h{{Jj{c}}}}Kf}{{Dd{{h{Kh}}}}}{}}{{{h{{Jj{c}}}}}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}Cdc}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}CdFb}{{Kb{c}}}{AjBf}}{{{h{Af{Jj{c}}}}e}{{Kb{c}}}{AjBf}{{On{{Ol{Cn}}}}}}{{{h{Af{Jj{c}}}}KfKh}{{Kb{c}}}{AjBf}}{ce{}{}}000000{c{{Hf{g}}}{}{}{{Hj{}{{Hh{e}}}}}}011{{{h{{Jj{c}}}}}Fd{}}{{{h{{Kb{c}}}}}FdBf}``{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Oj{{Ol{Cn}}c}}}}}}}}}fGn}{{{Jj{c}}g}{{Jj{e}}}{AjBf}{AjBf}{{Nl{c}{{Od{e}}}}}}{{{Kb{c}}g}{{Kb{e}}}BfBf{{Nl{c}{{Od{e}}}}}}{{{h{Af{Kb{c}}}}{Kb{c}}}BbBf}{c{{Jj{e}}}{{Jl{}{{Hh{Cn}}}}}{AjBf}}{{{h{Af{A@`{cg}}}}}{{Dd{i}}}{}{}{{Nl{Gd{Ol{Cn}}}{{Od{{Dd{e}}}}}}}{}}{{{h{Af{A@b{cg}}}}}{{Dd{i}}}{}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}{}}{{{h{{Jj{c}}}}Kf}{{h{{A@d{Cd}}}}}{}}{{{h{{Oh{ce}}}}{h{{Oh{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Oj{ce}}}}{h{{Oj{ce}}}}}{{Dd{Bd}}}I`I`}{{{h{{Kb{c}}}}{h{L`}}}{{Ij{Bb}}}{fAjBfIlC`}}{{{h{{Kb{c}}}}e}Eb{BfIl}Ib}{{{h{c}}}e{}{}}000{{{h{c}}}In{}}{c{{J`{i}}}{}{}{}{{Hj{}{{Hh{{Eb{eg}}}}}}}}0{{{h{{Jj{c}}}}{h{e}}jik}{{Eb{b}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}{{Nl{{h{g}}D`}{{Od{Fd}}}}}}{{{h{{Jj{c}}}}{h{e}}ji}{{`{{Hj{}{{Hh{{Eb{{G`{g{An{c}}}}}}}}}}}}}fGnAj{{Jl{}{{Hh{{G`{gKf}}}}}}}}0{c{{Eb{e}}}{}{}}000000{{{h{{Jj{c}}}}{h{e}}jCd}{{Eb{{Dd{{Ah{{h{c}}}}}}}}}fGn}{{{h{{Jj{c}}}}{h{e}}jKf}{{Eb{{Dd{{G`{{Ah{{h{c}}}}Cd}}}}}}}fGn}2222222{{{h{{Jj{c}}}}{h{e}}j}{{`{{Hj{}{{Hh{{Eb{{Oj{{Ol{Cn}}c}}}}}}}}}}}fGn}``{{{h{{Jj{c}}}}Cd}{{Dd{{Kl{Db{h{Kh}}}}}}}{}}{{{h{{Jj{c}}}}Cd}{{`{{Lf{}{{Hh{{G`{Db{h{{A@d{Cd}}}}}}}}}}}}}{}}`{{{h{{Kb{c}}}}}{{`{{Hj{}{{Hh{{G`{Kf{h{Kh}}}}}}}}}}}{}}``{{{h{{Jj{c}}}}}{{`{{Hj{}{{Hh{{Oh{{Ol{Cn}}c}}}}}}}}}{}}{{{h{c}}}Jb{}}000000{{{h{Af{Jj{c}}}}Fb}{{Kb{c}}}{AjBf}}{ce{}{}}000000{{{h{{Jj{c}}}}ei}{{A@`{ci}}}{AjBf}{{On{{Ol{Cn}}}}}{}{{Nl{Gd{Ol{Cn}}}{{Od{{Dd{g}}}}}}}}{{{h{{Jj{c}}}}{h{Cn}}g}{{A@b{cg}}}{}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}}{{{h{{Jj{c}}}}Cdg}{{A@b{cg}}}{AjBf}{}{{Nl{GdCd}{{Od{{Dd{e}}}}}}}}","D":"CEl","p":[[5,"Balance",0,947],[5,"DescriptorId",0,948],[10,"Anchor",0,949],[1,"reference"],[5,"BlockId",0,950],[5,"ConfirmationBlockTime",0,950],[5,"Hash",951],[1,"u8"],[1,"slice"],[1,"array"],[0,"mut"],[6,"ChainPosition",0,950],[10,"Clone",952],[6,"ConfirmationTime",0,950],[5,"FullTxOut",0,950],[5,"SpkIterator",0,953],[1,"unit"],[6,"Ordering",954],[10,"Ord",954],[5,"Persisted",0,955],[6,"ValueRef",956],[5,"Impl",0],[8,"FromSqlResult",957],[10,"DeserializeOwned",958],[5,"BlockHash",959],[5,"Txid",960],[5,"Amount",961],[6,"DescriptorPublicKey",962],[6,"Descriptor",963],[6,"Network",964],[5,"Transaction",960],[5,"ScriptBuf",965],[1,"u32"],[6,"Option",966],[17,"CreateParams"],[17,"LoadParams"],[17,"CreateError"],[17,"LoadError"],[17,"PersistError"],[10,"PersistWith",0,955],[6,"Result",967],[10,"Future",968],[5,"Box",969],[5,"Pin",970],[10,"PersistAsyncWith",0,955],[10,"Borrow",971],[10,"DescriptorExt",0,948],[10,"Deserializer",958],[1,"u64"],[1,"bool"],[10,"PartialEq",954],[5,"Formatter",972],[8,"Result",972],[10,"Debug",972],[1,"never"],[1,"tuple"],[5,"Block",959],[1,"usize"],[10,"AnchorFromBlockPosition",0,949],[5,"FromSliceError",973],[1,"str"],[17,"Error"],[10,"ChainOracle",0,974],[10,"Hash",975],[10,"Hasher",975],[10,"SliceIndex",976],[5,"IntoFallible",977],[17,"Item"],[10,"Iterator",978],[10,"Merge",0,949],[10,"RangeBounds",979],[10,"PartialOrd",954],[10,"Serializer",980],[17,"ChangeSet"],[10,"Staged",0,955],[6,"ToSqlOutput",981],[8,"Result",982],[10,"Serialize",980],[5,"String",983],[5,"Convert",977],[5,"TypeId",984],[5,"IndexedTxGraph",335],[5,"ChangeSet",335],[10,"Indexer",385],[5,"TxGraph",769],[10,"IntoIterator",985],[10,"Default",986],[10,"Deserialize",958],[5,"ChangeSet",769],[5,"ChangeSet",394],[5,"OutPoint",960],[5,"TxOut",960],[5,"KeychainTxOutIndex",394],[5,"BTreeMap",987],[6,"InsertDescriptorError",394],[5,"Transaction",988],[5,"SpkTxOutIndex",496],[8,"Indexed",0],[10,"DoubleEndedIterator",989],[8,"KeychainIndexed",0],[10,"ExactSizeIterator",990],[5,"SignedAmount",961],[5,"BTreeSet",991],[5,"Vec",992],[5,"LocalChain",533],[5,"ChangeSet",533],[5,"MissingGenesisError",533],[5,"Header",959],[5,"CannotConnectError",533],[6,"ApplyHeaderError",533],[5,"CheckPoint",533],[5,"AlterCheckPointError",533],[5,"CheckPointIter",533],[5,"SyncRequest",705],[10,"Send",993],[17,"IntoIter"],[5,"FullScanRequest",705],[10,"FnMut",994],[10,"Sync",993],[5,"Script",995],[6,"Infallible",996],[17,"Output"],[6,"CalculateFeeError",769],[5,"TxNode",769],[5,"CanonicalTx",769],[5,"Arc",997],[10,"Into",996],[5,"TxAncestors",769],[5,"TxDescendants",769],[5,"HashSet",998],[15,"Confirmed",332],[15,"Unconfirmed",332],[15,"DescriptorAlreadyAssigned",492],[15,"KeychainAlreadyAssigned",492],[5,"SyncResult",705],[5,"FullScanResult",705]],"r":[[0,949],[1,949],[2,953],[3,947],[4,950],[6,974],[7,950],[9,950],[10,950],[17,948],[18,948],[20,950],[23,335],[24,385],[30,949],[31,955],[34,955],[35,955],[36,953],[37,955],[38,769],[225,385],[259,385]],"b":[[48,"impl-AsRef%3C%5Bu8%5D%3E-for-DescriptorId"],[49,"impl-AsRef%3C%5Bu8;+%3C%24hash+as+%24crate::Hash%3E::LEN%5D%3E-for-DescriptorId"],[98,"impl-FromSql-for-Impl%3CA%3E"],[99,"impl-FromSql-for-Impl%3CBlockHash%3E"],[100,"impl-FromSql-for-Impl%3CTxid%3E"],[101,"impl-FromSql-for-Impl%3CAmount%3E"],[102,"impl-FromSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[103,"impl-FromSql-for-Impl%3CNetwork%3E"],[104,"impl-FromSql-for-Impl%3CTransaction%3E"],[105,"impl-FromSql-for-Impl%3CScriptBuf%3E"],[106,"impl-FromSql-for-Impl%3CDescriptorId%3E"],[156,"impl-Debug-for-Balance"],[157,"impl-Display-for-Balance"],[164,"impl-Display-for-DescriptorId"],[165,"impl-UpperHex-for-DescriptorId"],[166,"impl-LowerHex-for-DescriptorId"],[167,"impl-Debug-for-DescriptorId"],[175,"impl-From%3C(%26u32,+%26BlockHash)%3E-for-BlockId"],[177,"impl-From%3C(u32,+BlockHash)%3E-for-BlockId"],[273,"impl-ToSql-for-Impl%3CDescriptorId%3E"],[274,"impl-ToSql-for-Impl%3CA%3E"],[275,"impl-ToSql-for-Impl%3CNetwork%3E"],[276,"impl-ToSql-for-Impl%3CAmount%3E"],[277,"impl-ToSql-for-Impl%3CDescriptor%3CDescriptorPublicKey%3E%3E"],[278,"impl-ToSql-for-Impl%3CScriptBuf%3E"],[279,"impl-ToSql-for-Impl%3CTxid%3E"],[280,"impl-ToSql-for-Impl%3CTransaction%3E"],[281,"impl-ToSql-for-Impl%3CBlockHash%3E"],[358,"impl-From%3CChangeSet%3CA%3E%3E-for-ChangeSet%3CA,+IA%3E"],[360,"impl-From%3CChangeSet%3E-for-ChangeSet%3CA,+ChangeSet%3E"],[403,"impl-KeychainTxOutIndex%3CK%3E"],[404,"impl-Indexer-for-KeychainTxOutIndex%3CK%3E"],[423,"impl-Display-for-InsertDescriptorError%3CK%3E"],[424,"impl-Debug-for-InsertDescriptorError%3CK%3E"],[595,"impl-Debug-for-MissingGenesisError"],[596,"impl-Display-for-MissingGenesisError"],[597,"impl-Display-for-AlterCheckPointError"],[598,"impl-Debug-for-AlterCheckPointError"],[599,"impl-Display-for-CannotConnectError"],[600,"impl-Debug-for-CannotConnectError"],[601,"impl-Display-for-ApplyHeaderError"],[602,"impl-Debug-for-ApplyHeaderError"],[617,"impl-FromIterator%3C(u32,+Option%3CBlockHash%3E)%3E-for-ChangeSet"],[618,"impl-FromIterator%3C(u32,+BlockHash)%3E-for-ChangeSet"],[844,"impl-Debug-for-CalculateFeeError"],[845,"impl-Display-for-CalculateFeeError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAUCVQAYAAEAJwAAACoAAQAtAAIAMQACADUAFABLAA8AXAAPAG8AAAB2AAUAfgAEAIQAJACqAAEArwABALIAAAC3AAAAugADAL8AAgDDAAQAywAAANoAAADiAAAA6QAAAOwAAQDvAAYA+gAAAPwABQAEAQAACAEIABIBCgAhARMANwEJAEMBCQBWAQAAWgELAGcBAABpAQAAdAEBAHcBBQB+AQMAlQEVALEBAgC6AQAA1AEAANYBCQDjAQIA6gECAPMBBgD8AQIAAgIAAAwCAgASAgAAFQIAACgCHwBJAgYAUQIKAGACAABqAgEAcQIAAIECAwCHAgAAiQIAAJACAACSAgoAngIHAKcCDwC4AgcAxgIHAPECBwD6AgcAFgMAABkDDQApAxEAPAMKAEoDBQBsAwEAbwMAAHUDAAB3AwEAegMBAH0DBQCIAwYAkQMGAKIDBgCqAwYA"}],\ ["bdk_electrum",{"t":"FENNENNNNONNNNNNNNN","n":["BdkElectrumClient","bdk_chain","borrow","borrow_mut","electrum_client","fetch_tx","fmt","from","full_scan","inner","into","new","populate_tx_cache","sync","transaction_broadcast","try_from","try_into","type_id","vzip"],"q":[[0,"bdk_electrum"],[19,"bdk_electrum::bdk_electrum_client"],[20,"bitcoin::blockdata::transaction"],[21,"alloc::sync"],[22,"electrum_client::types"],[23,"core::result"],[24,"electrum_client::api"],[25,"core::fmt"],[26,"bdk_chain::spk_client"],[27,"core::cmp"],[28,"core::clone"],[29,"bdk_chain::tx_graph"],[30,"core::convert"],[31,"core::any"]],"i":[0,0,3,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3],"f":"``{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}`{{{b{{f{c}}}}h}{{A`{{l{j}}n}}}Ab}{{{b{{f{c}}}}{b{dAd}}}AfAh}{cc{}}{{{b{{f{c}}}}{Aj{e}}AlAlAn}{{A`{{B`{e}}n}}}Ab{BbBd}}`{ce{}{}}{c{{f{c}}}Ab}{{{b{{f{c}}}}g}BfAb{}{{Bj{{Bh{e}}}}}}{{{b{{f{c}}}}BlAlAn}{{A`{Bnn}}}Ab}{{{b{{f{c}}}}{b{j}}}{{A`{hn}}}Ab}{c{{A`{e}}}{}{}}0{{{b{c}}}C`{}}6","D":"Af","p":[[1,"reference"],[0,"mut"],[5,"BdkElectrumClient",0,19],[5,"Txid",20],[5,"Transaction",20],[5,"Arc",21],[6,"Error",22],[6,"Result",23],[10,"ElectrumApi",24],[5,"Formatter",25],[8,"Result",25],[10,"Debug",25],[5,"FullScanRequest",26],[1,"usize"],[1,"bool"],[5,"FullScanResult",26],[10,"Ord",27],[10,"Clone",28],[1,"unit"],[5,"TxGraph",29],[10,"AsRef",30],[5,"SyncRequest",26],[5,"SyncResult",26],[5,"TypeId",31]],"r":[[0,19]],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAAgAAwACAAMABwAAABAAAwA="}],\ ["bdk_esplora",{"t":"IKKEMMMM","n":["Error","EsploraAsyncExt","EsploraExt","esplora_client","full_scan","full_scan","sync","sync"],"q":[[0,"bdk_esplora"],[8,"bdk_esplora::blocking_ext"],[9,"bdk_chain::spk_client"],[10,"core::result"],[11,"core::cmp"],[12,"core::clone"],[13,"bdk_esplora::async_ext"],[14,"core::future::future"],[15,"alloc::boxed"],[16,"core::pin"],[17,"core::marker"]],"i":[0,0,0,0,1,10,1,10],"f":"````{{{d{b}}{f{c}}hh}{{n{{j{c}}l}}}{A`Ab}}{{{d{Ad}}{f{c}}hh}{{Aj{{Ah{Af}}}}}{A`AbAl}}{{{d{b}}Anh}{{n{B`l}}}}{{{d{Ad}}Anh}{{Aj{{Ah{Af}}}}}}","D":"A`","p":[[10,"EsploraExt",0,8],[1,"reference"],[5,"FullScanRequest",9],[1,"usize"],[5,"FullScanResult",9],[8,"Error",0,8],[6,"Result",10],[10,"Ord",11],[10,"Clone",12],[10,"EsploraAsyncExt",0,13],[10,"Future",14],[5,"Box",15],[5,"Pin",16],[10,"Send",17],[5,"SyncRequest",9],[5,"SyncResult",9]],"r":[[0,8],[1,13],[2,8]],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAQA"}],\ ["bdk_file_store",{"t":"FPFGPPPGFNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNOO","n":["AggregateChangesetsError","Bincode","EntryIter","FileError","InvalidMagicBytes","Io","Io","IterError","Store","aggregate_changesets","append_changeset","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","changeset","create_new","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","into","into","into","into","into","into_fallible","into_iter","iter_changesets","iter_error","new","next","open","open_or_create_new","to_string","to_string","to_string","transpose_into_fallible","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","expected","got"],"q":[[0,"bdk_file_store"],[75,"bdk_file_store::FileError"],[77,"bdk_file_store::store"],[78,"core::option"],[79,"core::result"],[80,"bdk_chain::tx_data_traits"],[81,"serde::ser"],[82,"serde::de"],[83,"core::marker"],[84,"std::io::error"],[85,"std::path"],[86,"core::convert"],[87,"bdk_file_store::entry_iter"],[88,"core::fmt"],[89,"fallible_iterator"],[90,"core::iter::traits::iterator"],[91,"std::fs"],[92,"alloc::string"],[93,"core::any"]],"i":[0,20,0,0,16,20,16,0,0,2,2,19,20,2,5,16,19,20,2,5,16,5,2,19,20,20,2,5,5,16,16,19,20,20,2,5,16,16,19,20,2,5,16,19,19,2,5,19,19,2,2,20,5,16,19,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,19,20,2,5,16,32,32],"f":"`````````{{{f{b{d{c}}}}}{{l{{h{c}}{j{c}}}}}{nA`AbAdAf}}{{{f{b{d{c}}}}{f{c}}}{{l{AhAj}}}{nA`AbAdAf}}{{{f{c}}}{{f{e}}}{}{}}0000{{{f{bc}}}{{f{be}}}{}{}}0000`{{{f{{An{Al}}}}c}{{l{{d{e}}B`}}}{{Bd{Bb}}}{nA`AbAdAf}}{{{f{b{Bf{c}}}}}Ah{}}{{{f{Bh}}{f{bBj}}}Bl}0{{{f{{d{c}}}}{f{bBj}}}Bl{AfAdBn}}{{{f{{j{c}}}}{f{bBj}}}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-Debug-for-FileError"],[30,"impl-Display-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_chain::local_chain"],[49,"bitcoin::address"],[50,"core::option"],[51,"alloc::vec"],[52,"bitcoincore_rpc::client"],[53,"bitcoin_units::amount"],[54,"bitcoin::blockdata::transaction"],[55,"core::result"],[56,"core::any"],[57,"core::time"]],"i":[0,0,0,0,0,4,3,4,3,4,3,3,0,4,3,0,4,3,4,3,4,4,3,4,4,4,4,4,4,4,4,4,4,4,4,3,4,3,4,3,4,3,4,4],"f":"```````{{{b{c}}}{{b{e}}}{}{}}0{{{b{dc}}}{{b{de}}}{}{}}0{{}f}````{{{b{h}}}{{b{{`{j}}}}}}{{{b{f}}{b{dl}}}n}{cc{}}0{{{b{h}}}{{Ab{A`}}}}{ce{}{}}0{{{b{h}}Ad}{{Ab{Af}}}}{{{b{h}}}Ah}{{{b{h}}Ad{Al{Aj}}}{{Ab{{An{A`}}}}}}{{{b{h}}}{{Ab{{B`{AdA`}}}}}}{{}{{Ab{h}}}}{f{{Ab{h}}}}{{{b{h}}Ad}{{Ab{{An{A`}}}}}}{{{b{h}}Ad}{{Ab{{An{{B`{AdA`}}}}}}}}{h{{Ab{h}}}}{{{b{h}}}{{b{{`{Bb}}}}}}{{{b{h}}{b{{Aj{Bd}}}}Bf}{{Ab{Bh}}}}{c{{Bj{e}}}{}{}}000{{{b{c}}}Bl{}}0=={{{b{h}}Bn}{{Ab{Af}}}}{{{b{h}}BhBn}{{Ab{Af}}}}","D":"Bn","p":[[1,"reference"],[0,"mut"],[5,"Config",0],[5,"TestEnv",0],[10,"ElectrumApi",44],[5,"Formatter",45],[8,"Result",45],[5,"BlockHash",46],[8,"Result",47],[1,"usize"],[1,"unit"],[5,"CheckPoint",48],[5,"Address",49],[6,"Option",50],[5,"Vec",51],[1,"tuple"],[10,"RpcApi",52],[6,"NetworkChecked",49],[5,"Amount",53],[5,"Txid",54],[6,"Result",55],[5,"TypeId",56],[5,"Duration",57]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAABUACAAAAAAAAwADAAgAAwANAAEAEAAAABIAAAAgAAAAIwAHAA=="}],\ -["bdk_wallet",{"t":"GGFGFPPPFGFGPPPPPPPEPPPPKGGGFGPFPPPPPPPPPIPFFGPPPFGTTFFNNONOONNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNONCOQNNNNNNNNNNNNNNNNNNNNNNNNNNNNCCDNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNNONNNNDNNNONNNNNONNNNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","Descriptor","Descriptor","Descriptor","External","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WeightedUtxo","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","change_descriptor","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create","create","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor_checksum","descriptors","deserialize","deserialize","deserialize","deserialize","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","export","file_store","finalize_psbt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load","load","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","network","new","new","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","Base58","Bip32","Error","ExternalAndInternalAreTheSame","HardenedDerivationXpub","Hex","InvalidDescriptorCharacter","InvalidDescriptorChecksum","InvalidHdKeyPath","Key","Miniscript","MultiPath","Pk","Policy","borrow","borrow_mut","eq","fmt","fmt","from","from","from","from","from","from","from","from","into","to_string","try_from","try_into","type_id","vzip","AbsoluteTimelock","AddOnLeaf","AddOnPartialComplete","BuildSatisfaction","Complete","Condition","ConditionMap","EcdsaSignature","Fingerprint","FoldedConditionMap","Hash160Preimage","Hash256Preimage","IncompatibleConditions","IndexOutOfRange","MixedTimelockUnits","Multisig","None","None","NotEnoughItemsSelected","Partial","PartialComplete","PkOrF","Policy","PolicyError","Psbt","PsbtTimelocks","Pubkey","RelativeTimelock","Ripemd160Preimage","Satisfaction","SatisfiableItem","SchnorrSignature","Sha256Preimage","Thresh","XOnlyPubkey","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","contribution","csv","default","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","get_condition","hash","hash","id","id","into","into","into","into","into","into","into","is_leaf","is_leaf","is_null","item","partial_cmp","requires_path","satisfaction","serialize","serialize","serialize","serialize","serialize","timelock","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","current_height","input_max_height","psbt","condition","conditions","conditions","items","items","m","m","n","n","sorted","sorted","hash","hash","hash","hash","items","keys","threshold","threshold","value","value","Bip44","Bip44Public","Bip49","Bip49Public","Bip84","Bip84Public","Bip86","Bip86Public","DescriptorTemplate","DescriptorTemplateOut","P2Pkh","P2TR","P2Wpkh","P2Wpkh_P2Sh","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build","build","build","build","build","build","build","build","build","build","build","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","into","into","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","into_wallet_descriptor","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","BuildFeeBumpError","CoinSelection","Conversion","CreateTxError","Descriptor","FeeRateTooLow","FeeRateUnavailable","FeeTooLow","IrreplaceableTransaction","LockTime","MiniscriptPsbt","MiniscriptPsbtError","MissingKeyOrigin","MissingNonWitnessUtxo","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","OutputUpdate","Policy","Psbt","RbfSequence","RbfSequenceCsv","SpendingPolicyRequired","TransactionConfirmed","TransactionNotFound","UnknownUtxo","UnknownUtxo","UtxoUpdate","Version0","Version1Csv","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","into","into","into","to_owned","to_string","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","csv","rbf","requested","required","required","required","FullyNodedExport","WalletExport","blockheight","blockheight","borrow","borrow_mut","change_descriptor","descriptor","deserialize","export_wallet","fmt","fmt","from","from_str","into","label","label","serialize","to_string","try_from","try_into","type_id","vzip","Bip32","DerivableKey","DescriptorKey","DescriptorPublicKey","DescriptorSecretKey","Entropy","Error","ExtScriptContext","ExtendedKey","FullKey","GeneratableDefaultOptions","GeneratableKey","GeneratedKey","IntoDescriptorKey","InvalidChecksum","InvalidNetwork","InvalidScriptContext","Key","KeyError","KeyMap","Legacy","Message","Miniscript","MultiXPrv","MultiXPub","Options","Private","PrivateKeyGenerateOptions","Public","ScriptContext","ScriptContextEnum","Segwitv0","Single","Single","SinglePriv","SinglePub","SinglePubKey","SortedMultiVec","Tap","ValidNetworks","XOnly","XPrv","XPub","any_network","as_enum","at_derivation_index","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_template","check_global_consensus_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_policy_validity","check_local_validity","check_pk","check_terminal_non_malleable","check_witness","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","compressed","default","deref","derive","deserialize","encode","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_public","from_secret","from_str","from_str","from_tree","full_derivation_path","full_derivation_paths","generate","generate_default","generate_default_with_aux_rand","generate_with_aux_rand","generate_with_entropy","generate_with_entropy_default","has_secret","has_wildcard","hash","hash","hash","hash","into","into","into","into","into","into","into","into","into","into","into","into","into_assets","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_extended_key","into_extended_key","into_key","into_single_keys","into_single_keys","into_xprv","into_xpub","is_deriveable","is_legacy","is_legacy","is_multipath","is_multipath","is_segwit_v0","is_segwit_v0","is_taproot","is_taproot","is_uncompressed","is_x_only_key","k","key","key","lift","mainnet_network","master_fingerprint","max_satisfaction_size","max_satisfaction_size","max_satisfaction_witness_elements","merge_networks","n","name_str","new","num_der_paths","origin","origin","other_top_level_checks","override_valid_networks","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pks","sanity_check","satisfy","script_size","serialize","sig_type","sorted_node","test_networks","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_public","to_string","to_string","to_string","to_string","top_level_checks","top_level_type_check","translate_pk","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","PsbtUtils","fee_amount","fee_rate","get_utxo_for","SCHEMAS_TABLE_NAME","migrate_schema","All","Dummy","Exclude","External","Fingerprint","Include","InputIndexOutOfRange","InputSigner","InvalidKey","InvalidNonWitnessUtxo","InvalidSighash","Legacy","MiniscriptPsbt","MissingHdKeypath","MissingKey","MissingNonWitnessUtxo","MissingWitnessScript","MissingWitnessUtxo","NonStandardSighash","None","PkHash","Psbt","Segwitv0","SighashTaproot","SignOptions","SignerCommon","SignerContext","SignerError","SignerId","SignerOrdering","SignerWrapper","SignersContainer","Tap","TapLeavesOptions","TransactionSigner","UserCanceled","add_external","allow_all_sighashes","allow_grinding","as_key_map","assume_height","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","default","default","default","default","deref","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","descriptor_secret_key","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","find","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","id","id","id","id","ids","into","into","into","into","into","into","into","into","new","new","partial_cmp","partial_cmp","remove","sign_input","sign_input","sign_input","sign_input","sign_transaction","sign_transaction","sign_with_tap_internal_key","signers","tap_leaves_options","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","trust_witness_utxo","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","is_internal_key","AddForeignUtxoError","AddUtxoError","ChangeAllowed","ChangeForbidden","ChangeSpendPolicy","Custom","InvalidOutpoint","InvalidTxid","MissingUtxo","OnlyChange","Shuffle","TxBuilder","TxOrdering","UnknownUtxo","Untouched","add_data","add_foreign_utxo","add_foreign_utxo_with_sequence","add_global_xpubs","add_recipient","add_unspendable","add_utxo","add_utxos","allow_dust","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","change_policy","clone","clone","clone","clone_into","clone_into","clone_into","cmp","coin_selection","current_height","default","default","do_not_spend_change","drain_to","drain_wallet","enable_rbf","enable_rbf_with_sequence","eq","equivalent","equivalent","fee_absolute","fee_rate","finish","finish_with_aux_rand","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","hash","include_output_redeem_witness_script","into","into","into","into","into","manually_selected_only","nlocktime","only_spend_change","only_witness_utxo","ordering","partial_cmp","policy_path","set_recipients","sighash","sort_tx","sort_tx_with_aux_rand","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","unspendable","version","vzip","vzip","vzip","vzip","vzip","foreign_utxo","input_txid","input_sort","output_sort"],"q":[[0,"bdk_wallet"],[430,"bdk_wallet::AddForeignUtxoError"],[432,"bdk_wallet::ApplyBlockError"],[434,"bdk_wallet::LoadMismatch"],[441,"bdk_wallet::TxOrdering"],[443,"bdk_wallet::Utxo"],[446,"bdk_wallet::coin_selection"],[538,"bdk_wallet::coin_selection::Error"],[540,"bdk_wallet::coin_selection::Excess"],[545,"bdk_wallet::descriptor"],[805,"bdk_wallet::descriptor::checksum"],[806,"bdk_wallet::descriptor::error"],[839,"bdk_wallet::descriptor::policy"],[998,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1001,"bdk_wallet::descriptor::policy::Satisfaction"],[1012,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1022,"bdk_wallet::descriptor::template"],[1206,"bdk_wallet::error"],[1277,"bdk_wallet::error::CreateTxError"],[1283,"bdk_wallet::export"],[1306,"bdk_wallet::keys"],[1622,"bdk_wallet::psbt"],[1626,"bdk_wallet::rusqlite_impl"],[1628,"bdk_wallet::signer"],[1814,"bdk_wallet::signer::SignerContext"],[1815,"bdk_wallet::tx_builder"],[1930,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1932,"bdk_wallet::tx_builder::TxOrdering"],[1934,"bdk_chain::balance"],[1935,"bdk_wallet::wallet"],[1936,"bdk_wallet::types"],[1937,"bdk_wallet::wallet::signer"],[1938,"alloc::sync"],[1939,"bitcoin::blockdata::script::owned"],[1940,"bdk_chain"],[1941,"core::iter::traits::iterator"],[1942,"core::clone"],[1943,"alloc::collections::btree::map"],[1944,"bitcoin::blockdata::block"],[1945,"bdk_chain::local_chain"],[1946,"core::result"],[1947,"bdk_chain::chain_data"],[1948,"bitcoin::blockdata::transaction"],[1949,"core::iter::traits::collect"],[1950,"core::convert"],[1951,"bdk_chain::tx_graph"],[1952,"bdk_wallet::wallet::coin_selection"],[1953,"bdk_wallet::wallet::tx_builder"],[1954,"bdk_wallet::wallet::error"],[1955,"bitcoin_units::amount"],[1956,"bitcoin_units::fee_rate"],[1957,"bdk_wallet::wallet::changeset"],[1958,"core::cmp"],[1959,"rusqlite"],[1960,"bdk_wallet::wallet::params"],[1961,"bdk_file_store::store"],[1962,"rusqlite::transaction"],[1963,"bdk_wallet::wallet::persisted"],[1964,"core::option"],[1965,"alloc::string"],[1966,"serde::de"],[1967,"bitcoin::psbt"],[1968,"core::fmt"],[1969,"bdk_chain::indexer::keychain_txout"],[1970,"bdk_chain::indexed_tx_graph"],[1971,"bdk_chain::spk_client"],[1972,"bitcoin::psbt::map::input"],[1973,"core::hash"],[1974,"bdk_wallet::wallet::utils"],[1975,"bitcoin::blockdata::script::borrowed"],[1976,"miniscript::descriptor"],[1977,"core::iter::traits::double_ended"],[1978,"bitcoin::network"],[1979,"secp256k1::context::alloc_only"],[1980,"secp256k1"],[1981,"serde::ser"],[1982,"core::any"],[1983,"alloc::vec"],[1984,"bitcoin::address"],[1985,"miniscript"],[1986,"miniscript::miniscript::private"],[1987,"miniscript::miniscript::decode"],[1988,"miniscript::miniscript::context"],[1989,"miniscript::iter::tree"],[1990,"miniscript::descriptor::key"],[1991,"miniscript::miniscript::satisfy"],[1992,"miniscript::plan"],[1993,"bitcoin_hashes::sha256"],[1994,"miniscript::miniscript::hash256"],[1995,"bitcoin_hashes::ripemd160"],[1996,"bitcoin_hashes::hash160"],[1997,"bitcoin::crypto::key"],[1998,"secp256k1::context"],[1999,"bdk_chain::descriptor_ext"],[2000,"miniscript::blanket_traits"],[2001,"miniscript::miniscript::analyzable"],[2002,"core::ops::range"],[2003,"core::ops::function"],[2004,"miniscript::descriptor::segwitv0"],[2005,"miniscript::descriptor::sh"],[2006,"miniscript::descriptor::bare"],[2007,"miniscript::descriptor::tr"],[2008,"miniscript::miniscript::types"],[2009,"miniscript::miniscript::types::extra_props"],[2010,"miniscript::expression"],[2011,"miniscript::miniscript::iter"],[2012,"miniscript::policy::semantic"],[2013,"miniscript::policy"],[2014,"bitcoin_units::weight"],[2015,"base58ck::error"],[2016,"bitcoin::bip32"],[2017,"hex_conservative::error"],[2018,"bitcoin::psbt::error"],[2019,"bdk_wallet::wallet::export"],[2020,"miniscript::descriptor::sortedmulti"],[2021,"core::str::traits"],[2022,"core::default"],[2023,"rand_core"],[2024,"rusqlite::error"],[2025,"core::marker"],[2026,"bitcoin::blockdata::script::push_bytes::primitive"],[2027,"bitcoin::blockdata::locktime::absolute"],[2028,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,71,257,257,0,0,0,0,258,70,60,61,5,42,61,0,5,58,255,255,0,0,0,0,0,0,42,0,60,60,60,60,255,61,257,58,70,0,258,0,0,0,71,256,258,0,0,43,43,0,0,1,3,53,3,63,63,3,3,3,3,5,5,3,63,3,0,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,3,3,0,26,43,3,1,5,40,41,42,43,26,1,5,40,41,42,43,26,5,0,40,1,3,3,3,3,46,46,46,3,52,1,43,26,53,3,40,3,0,43,0,3,52,1,5,40,43,1,5,40,41,42,43,58,53,60,61,1,1,5,5,40,40,41,41,42,42,53,53,0,0,0,3,1,1,5,40,41,42,43,58,58,70,70,3,26,53,53,60,60,61,71,71,0,46,52,1,5,40,41,42,43,43,43,43,43,58,58,70,3,26,26,26,53,60,60,61,71,43,46,52,3,3,3,3,26,5,40,1,53,43,3,3,3,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,89,43,3,40,40,53,3,46,52,0,26,3,3,3,3,3,3,3,3,52,52,52,3,3,43,46,52,3,43,0,46,52,3,43,46,52,3,3,42,40,5,3,3,3,3,43,3,0,3,3,3,0,0,41,3,3,42,0,0,1,5,40,43,3,3,3,63,0,0,3,3,3,3,3,3,63,0,1,5,40,41,42,43,26,1,58,70,53,60,71,1,3,63,1,1,63,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,3,43,42,40,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,1,41,0,46,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,261,261,262,262,263,264,265,265,263,264,265,266,266,267,267,267,114,114,0,115,0,0,0,0,0,114,0,115,0,114,115,113,108,109,110,114,115,113,108,109,110,108,109,110,108,109,110,111,108,109,110,0,108,109,110,113,113,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,113,110,113,113,108,109,110,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,268,268,269,270,270,269,270,91,271,116,0,0,0,0,0,0,122,0,0,124,0,0,126,91,271,116,0,0,0,91,271,116,126,122,0,91,271,116,91,271,116,91,271,116,126,116,143,144,122,122,116,116,143,144,122,116,143,144,122,122,122,122,0,124,143,144,124,144,124,124,143,144,124,143,144,124,124,143,144,124,143,144,124,143,144,0,116,143,144,122,116,143,144,122,116,143,144,122,122,116,116,116,116,116,116,122,116,122,116,143,144,122,116,116,143,143,144,144,122,122,0,116,122,122,153,116,122,116,116,116,143,144,122,122,116,122,116,116,116,116,116,116,116,143,144,122,122,122,116,122,122,122,116,122,122,122,116,116,122,122,116,116,143,144,122,116,143,144,122,122,116,47,91,116,116,122,122,122,116,122,122,124,143,144,122,116,122,116,124,143,144,116,116,116,116,116,116,116,116,116,116,116,116,116,116,122,124,122,116,122,122,116,143,144,122,124,143,144,116,116,0,122,116,122,116,122,122,116,116,122,116,122,124,143,144,122,0,116,143,144,122,116,122,116,124,124,116,122,116,143,144,122,116,143,144,122,122,116,143,144,122,116,116,143,144,122,122,0,51,51,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,192,189,189,0,193,0,0,192,191,0,192,192,189,189,189,192,193,154,189,193,193,0,0,0,154,154,191,192,192,0,0,192,192,192,191,191,192,193,97,194,189,154,191,192,193,97,194,189,154,191,192,193,97,194,154,191,192,193,97,194,154,97,194,194,191,192,193,97,194,189,191,191,192,192,193,193,97,97,194,194,189,189,191,192,193,97,194,189,189,154,191,192,193,193,97,97,194,189,154,97,191,194,192,97,191,192,193,97,194,189,154,192,193,194,97,194,97,97,191,192,193,97,194,194,191,192,193,97,194,154,189,191,192,193,97,194,189,154,191,192,193,97,194,189,154,191,192,193,97,194,189,154,191,192,193,97,194,189,154,272,272,272,273,274,275,274,275,274,275,274,275,274,275,276,277,278,279,280,281,281,280,282,283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,195,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,196,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,0,82,212,0,82,82,35,82,35,82,82,0,82,82,82,82,82,212,82,82,82,82,82,35,35,82,35,212,82,82,212,82,35,212,82,35,212,212,212,212,82,82,35,35,212,82,82,82,82,82,82,35,212,82,35,212,212,82,35,212,82,35,212,82,35,212,82,35,212,82,35,284,284,285,285,286,287,0,0,288,214,214,214,214,214,214,214,214,214,214,214,214,288,214,214,214,214,214,214,214,188,0,0,0,0,231,231,0,0,221,0,0,0,0,188,188,188,124,0,0,121,188,188,177,126,231,224,0,224,0,0,121,126,177,0,0,0,0,121,0,221,177,126,0,289,126,224,217,222,121,218,188,216,126,177,219,220,221,224,217,222,121,218,188,216,126,177,219,220,221,216,124,124,124,124,124,124,124,124,124,217,121,218,216,126,177,219,220,221,217,121,218,216,126,177,219,220,221,216,126,219,221,218,218,217,126,126,216,121,188,216,126,177,219,220,221,121,121,216,216,126,126,177,177,219,219,220,220,221,221,222,121,218,188,188,216,216,126,126,177,177,219,220,221,216,224,224,224,217,222,121,218,188,188,188,216,126,126,177,219,220,221,222,222,126,177,216,126,126,231,234,234,231,231,234,224,126,216,126,219,221,224,217,222,121,218,188,216,126,177,219,220,221,126,198,204,217,217,222,126,177,204,224,217,217,126,177,224,224,126,289,121,126,177,289,121,289,121,126,126,216,219,220,216,0,126,124,216,216,0,216,124,216,126,219,220,124,222,216,126,219,221,124,216,216,216,216,126,124,216,0,217,121,218,216,126,177,219,220,221,177,188,216,126,177,124,124,216,224,217,222,121,218,188,216,126,177,219,220,221,224,217,222,121,218,188,216,126,177,219,220,221,224,217,222,121,218,188,216,126,177,219,220,221,224,217,222,121,218,188,216,126,177,219,220,221,0,241,241,241,0,0,247,243,247,64,243,247,64,0,64,64,64,244,64,64,64,64,64,64,64,247,243,64,244,64,0,0,0,0,0,0,0,0,244,0,0,64,83,63,63,83,63,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,83,243,244,245,6,83,63,247,243,244,245,6,83,63,247,243,6,6,83,63,247,245,248,248,245,245,245,243,244,6,247,243,243,244,244,6,6,247,247,83,243,64,64,244,245,6,83,63,247,243,243,243,64,244,245,6,83,63,247,243,248,245,245,245,83,243,64,244,245,6,83,63,247,245,83,243,6,83,252,245,245,245,7,245,63,83,63,243,244,245,6,83,63,247,64,63,63,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,290,0,0,257,257,0,258,255,255,255,257,258,0,0,256,258,34,34,34,34,34,34,34,34,34,34,256,255,258,257,34,256,255,258,257,34,34,258,257,34,258,257,257,34,34,258,257,34,34,34,34,34,257,257,257,34,34,34,34,34,256,256,255,255,258,257,34,256,255,258,257,257,34,34,256,255,258,257,34,34,34,34,34,257,34,34,34,258,258,34,258,257,256,255,34,256,255,258,257,34,256,255,258,257,34,256,255,258,257,34,34,34,256,255,258,257,261,261,266,266],"f":"```````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Ch}{{{h{j}}}{{h{{Cj{Ch}}}}}}{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}000000000000000{{{h{dc}}}{{h{de}}}{}{}}000000000000000{{{h{df}}D`}{{Bf{{Dd{Db}}Df}}}}{{{h{df}}}{{Dd{Db}}}}{{{h{f}}{h{Bl}}}{{Bf{DhDj}}}}{{{h{f}}{h{Bl}}}{{Bf{DlDj}}}}{{{h{df}}{h{Bl}}}Ab}```{{{h{f}}}Dn}{{{h{b}}}b}{{{h{j}}}j}{{{h{E`}}}E`}{{{h{Eb}}}Eb}{{{h{Ed}}}Ed}{{{h{Ef}}}Ef}{{{h{Cd}}}Cd}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{j}}{h{j}}}Eh}```{{{h{dEj}}c}{{Bf{fe}}}{}{}}{{cc}El{EnAl}}{{{h{d{F`{Ef}}}}c}{{Bf{fe}}}{}{}}{{{h{dFb}}c}{{Bf{fe}}}{}{}}{{El{h{dc}}}{{Bf{Fd}}}{}}0{El{{Bf{fFf}}}}0{{}Fh}{{}b}{{}Ef}{{}Cd}{{{h{Fj}}}{{h{c}}}{}}{{{h{f}}j}{{Fl{Bb}}}}`{{{h{f}}Af}{{Fl{{C`{jBb}}}}}}```{{{h{f}}j}Fn}{{Fhcc}FhEn}{c{{Bf{b}}}G`}{c{{Bf{j}}}G`}{c{{Bf{E`}}}G`}{c{{Bf{Ef}}}G`}{{{h{b}}{h{b}}}Gb}{{{h{j}}{h{j}}}Gb}{{{h{E`}}{h{E`}}}Gb}{{{h{Eb}}{h{Eb}}}Gb}{{{h{Ed}}{h{Ed}}}Gb}{{{h{Ef}}{h{Ef}}}Gb}{{{h{{Gd{c}}}}{h{{Gd{c}}}}}GbGf}{{{h{Fj}}{h{Fj}}}Gb}{{{h{Gh}}{h{Gh}}}Gb}{{{h{Gj}}{h{Gj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000```{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}{{{h{b}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{j}}{h{dHb}}}Hf}{{{h{E`}}{h{dHb}}}Hf}{{{h{Eb}}{h{dHb}}}Hf}{{{h{Ed}}{h{dHb}}}Hf}{{{h{Ef}}{h{dHb}}}Hf}{{{h{{Gd{c}}}}{h{dHb}}}HfHh}{{{h{{Gd{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHh}{{{h{f}}{h{dHb}}}Hf}{{{h{Cd}}{h{dHb}}}Hf}{{{h{Fj}}{h{dHb}}}Hf}0{{{h{Gh}}{h{dHb}}}Hf}0{{{h{Gj}}{h{dHb}}}Hf}{{{h{Hn}}{h{dHb}}}Hf}0`{cc{}}000000{I`Ef}{{{Ib{Cl}}}Ef}{{{If{ClId}}}Ef}3{IdEf}{Gj{{Gd{c}}}{}}555{IhCd}6{{{Ij{j}}}Cd}77{GjGh}88{{{h{Fb}}}{{Il{Ef}}}}{{ElIn}El}{{FhIn}Fh}{{{h{f}}E`{Fl{J`}}Gb}{{Bf{JbJd}}}}{{{h{f}}j}{{A`{Jf}}}}{{{h{f}}D`}{{Fl{{Jh{{A`{Bl}}Cl}}}}}}{{{h{f}}Jj}{{Fl{E`}}}}`{{{h{j}}{h{dc}}}AbJl}{{{h{E`}}{h{dc}}}AbJl}```{{{h{df}}Bh}{{Bf{GbJn}}}}{{{h{df}}Bl}Gb}{{{h{df}}JjK`}Ab}{ce{}{}}000000000000000{{{h{Kb}}{h{Kd}}}Gb}{{{h{Ef}}}Gb}{{{h{f}}Af}Gb}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Kf}}}}}}}}}}}}{{EljKh}El}{{FhjKh}Fh}``{{{h{f}}}Kj}{{{h{f}}}{{`{{Aj{}{{Ad{E`}}}}}}}}0{{{h{f}}j}{{`{{Kl{}{{Ad{Fj}}}}}}}}{{{h{dFb}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{dEj}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{d{F`{Ef}}}}c}{{Bf{{Fl{f}}e}}}{}{}}{{}Fh}{{Fh{h{dc}}}{{Bf{{Fl{Fd}}}}}{}}0{{FhEf}{{Bf{{Fl{f}}Gh}}}}{{EfFh}{{Bf{{Fl{f}}Gh}}}}{{{h{f}}}{{h{Kn}}}}`{{ElBb}El}{{FhBb}Fh}{{{h{df}}jBb}Gb}{{{h{dEf}}Ef}Ab}`{{ElL`}El}{{FhL`}Fh}{{{h{f}}}L`}`{{cc}ElEn}<{{{h{f}}j}Bb}{{{h{df}}j}Fj}{{{h{Ed}}}Jj}`{{{h{j}}{h{j}}}{{Fl{Eh}}}}{{{h{f}}jBb}Fj}{{{h{d{F`{Ef}}}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dFb}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dEj}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{Ef}}{h{Fb}}}{{Il{Ab}}}}{{{h{f}}j}{{Bf{{Fl{Lb}}Ff}}}}`{{{h{f}}j}{{h{Kf}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{Fj}}}}}}}}:```{{{h{f}}}{{h{{Lf{Ld}}}}}}{{{h{f}}{h{Bl}}}{{C`{DhDh}}}}{{{h{Ed}}}{{Fl{Lh}}}}``{{{h{b}}c}BfLj}{{{h{j}}c}BfLj}{{{h{E`}}c}BfLj}{{{h{Ef}}c}BfLj}{{{h{df}}jKh}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jKh}}}}}}}}{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}```{{{h{f}}}{{h{{Ll{j}}}}}}{{{h{f}}}{{Fl{{h{Ef}}}}}}{{{h{df}}}{{h{dc}}}{}}{{{h{f}}}{{Ln{j}}}}{{{h{f}}}M`}{{{h{df}}}{{Fl{Ef}}}}``{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}00000{{{h{b}}}Dh}{{{h{f}}}{{`{{Aj{}{{Ad{{Jh{{A`{Bl}}Cl}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}0000000000000000000000000000000`{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{Ed}}}{{h{K`}}}}`{{{h{c}}}Mb{}}000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{Md{{A`{Bl}}Cl}}}}}}}}}}{{{h{df}}jBb}Gb}``{{}{{h{Mf}}}}{ce{}{}}000000000000000{{c{Fl{c}}L`{h{{Lf{Ld}}}}}{{Bf{FnFf}}}En}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Mh}}}Mh}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Mn}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mh}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mj}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Ml}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{BnDl{h{Kd}}}Nf}{{}Mh}{{}Mj}{{}Ml}``{{{h{Nd}}{h{dHb}}}Hf}0{{{h{Nf}}{h{dHb}}}Hf}{{{h{Nb}}{h{dHb}}}Hf}{{{h{Mh}}{h{dHb}}}Hf}{{{h{Mj}}{h{dHb}}}Hf}{{{h{Ml}}{h{dHb}}}Hf}{cc{}}00000{ce{}{}}00000{{{h{Nb}}}Bn}{BnMl}`1{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mb{}}00000666666`````````````````````````````````````````````{{{h{{Nh{c}}}}L`}{{Bf{NjNl}}}{NnO`}}{{}Ob}0{{{h{{Od{ce}}}}}{{h{{Of{ce}}}}}NnOh}{{{h{{h{{Od{ce}}}}}}}{{Oj{{h{{Od{ce}}}}}}}NnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{Od{ce}}}}}{{N`{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}0`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Od{cAB`}}}}}{{Bf{AbA@j}}}Nn}2022102102{{{h{c}}}{{Bf{AbA@j}}}Nn}00{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Of{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{cAB`}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}00`{{{h{{Nh{c}}}}}{{Nh{c}}}{AlNn}}{{{h{AAn}}}AAn}{{{h{AB`}}}AB`}{{{h{{Od{ce}}}}}{{Od{ce}}}{AlNn}{AlOh}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Eh{ABbNn}}{{{h{AAn}}{h{AAn}}}Eh}{{{h{AB`}}{h{AB`}}}Eh}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}EhNnOh}{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{{Nh{On}}}}{h{{Lf{c}}}}}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}Bb}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{c}}}}}ABhNn}{{{h{{Nh{Ol}}}}}ABj}{c{{Bf{{Nh{e}}}}}G`ABl}{c{{Bf{{Od{eg}}}}}G`ABlOh}{{{h{{Nh{Ol}}}}}Bn}{{{h{{Od{ce}}}}}Af{O`Nn}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Gb{GfNn}}{{{h{AAn}}{h{AAn}}}Gb}{{{h{AB`}}{h{AB`}}}Gb}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}GbNnOh}{{{h{c}}{h{e}}}Gb{}{}}0000000`{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}`{{{h{{Od{ce}}}}{h{ABn}}}{{Bf{AbAC`}}}NnOh}{{{h{ACb}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Nh{Ol}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Od{Olc}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}Oh}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}{h{Kd}}{ACf{Bb}}}{{Bf{{Fl{{C`{Bb{Nh{ABd}}}}}}A@`}}}ABf}{{{h{{Nh{c}}}}{h{dHb}}}{{Bf{AbHd}}}Nn}0{{{h{AAn}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AB`}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{Od{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{{Nh{c}}}}e}GbNn{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{h{{Od{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{ACl{c}}}{{Nh{c}}}Nn}{{{ACn{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}{{{ADb{c}}}{{Nh{c}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}{{{ADf{c}}}{{Nh{c}}}Nn}{cc{}}000{{{Of{ce}}}{{Bf{{Od{ce}}Nl}}}NnOh}{{{Of{ce}}ADhADj}{{Od{ce}}}NnOh}{{{h{Mf}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{Mf}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{Mf}}{h{ABn}}}{{Bf{{Od{ce}}Nl}}}ABlOh}1{{{h{ADl}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{ADl}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{{Od{ce}}}}ADn}{{Fl{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}ADn}{{Fl{c}}}NnOh}{{{h{{Nh{c}}}}e}{{Bf{{C`{{N`{{N`{Ch}}}}Af}}Nl}}}{NnO`}{{AE`{c}}}}0{{{h{{Od{ce}}}}}GbNnOh}0{{{h{{Nh{Ol}}}}}Gb}{{{h{{Nh{c}}}}{h{de}}}Ab{AEbNn}Jl}{{{h{AAn}}{h{dc}}}AbJl}{{{h{AB`}}{h{dc}}}AbJl}{{{h{{Od{ce}}}}{h{dg}}}AbNnOhJl}{ce{}{}}000{{{Od{ce}}}{{Of{ce}}}NnOh}{{{Nh{Ol}}}{{Bf{{N`{{Nh{Ol}}}}Nl}}}}{{En{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{Kf{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}99:{{{h{{Od{ce}}}}}{{AEd{ce}}}NnOh}{{{h{{Od{ce}}}}}{{AEf{ce}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{{AEh{c}}Nl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{{h{{Od{ce}}}}}{{Bf{AbAEj}}}NnOh}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{cAB`}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{ce}}}}}{{Bf{ADnNl}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{ADnNl}}}Nn}1{{{h{{Nh{c}}}}}{{Bf{AElNl}}}Nn}{{}{{h{Mf}}}}00{{{Od{cAEn}}}{{Bf{{Nh{c}}Nl}}}Nn}{c{{Nh{c}}}Nn}{c{{Bf{{Nh{c}}Nl}}}Nn}{{{Od{cAAn}}}{{Bf{{Nh{c}}Nl}}}Nn}{{ADn{N`{c}}}{{Bf{{Nh{c}}Nl}}}Nn}{{{ACl{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}4{{{Od{cAB`}}}{{Bf{{Nh{c}}Nl}}}Nn}3{{c{Fl{{AF`{c}}}}}{{Bf{{Nh{c}}Nl}}}Nn}614`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{Kd}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Lf{c}}}}{h{Mf}}}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Nl}}}AFd}1{{{h{Kd}}{h{ABn}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}{{Fl{Eh}}}{AFfNn}}{{{h{AAn}}{h{AAn}}}{{Fl{Eh}}}}{{{h{AB`}}{h{AB`}}}{{Fl{Eh}}}}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}{{Fl{Eh}}}NnOh}{{{h{c}}}ADnNn}00{{{Nh{On}}{h{c}}}{{Bf{AFh{Nh{On}}}}}{{A@f{On}}}}0`{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{c}}}}}{{Bf{AbNl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{AbAC`}}}NnOh}{{{h{{Nh{c}}}}{h{dAFj}}e}{{Bf{AbNl}}}{NnO`}{{AE`{c}}}}{{{h{{Od{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}0{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}{{{h{{Nh{c}}}}}Af{NnO`}}{{{h{{Od{ce}}}}}ADnNnOh}{{{h{{Nh{c}}}}e}BfNnLj}{{{h{{Od{ce}}}}g}BfNnOhLj}{{}AFl}00{{{h{{Od{ce}}}}{h{{An{AAjc}}}}}{{Od{ce}}}NnOh}`{{{h{c}}}e{}{}}000{{{h{c}}}Fn{}}0{{{h{{Nh{Ol}}}}{h{{An{OlAFb}}}}}Fn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{Nh{c}}}}{h{di}}}{{Bf{{AFn{g}}}}}NnNn{}{{AG`{ceg}}}}{{{h{{Od{ce}}}}{h{dk}}}{{Bf{{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mb{}}000={ce{}{}}000{{{h{{Od{ce}}}}}GbNnOh}{{{h{Mf}}}{{Bf{FnFf}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Ff}}{h{Ff}}}Gb}{{{h{Ff}}{h{dHb}}}Hf}0{AGbFf}{AGdFf}{NlFf}{cc{}}{AGfFf}{AGhFf}{AGjFf}{AGlFf}>{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mb{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AGn}}}AGn}{{{h{AH`}}}AH`}{{{h{AHb}}}AHb}{{{h{Lb}}}Lb}{{{h{AHd}}}AHd}{{{h{ACd}}}ACd}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AHd}{{{h{AGn}}{h{AGn}}}Gb}{{{h{AH`}}{h{AH`}}}Gb}{{{h{AHb}}{h{AHb}}}Gb}{{{h{Lb}}{h{Lb}}}Gb}{{{h{AHd}}{h{AHd}}}Gb}{{{h{AGj}}{h{AGj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000{{{h{AGn}}{h{dHb}}}Hf}{{{h{AH`}}{h{dHb}}}Hf}{{{h{AHb}}{h{dHb}}}Hf}{{{h{Lb}}{h{dHb}}}Hf}{{{h{AHd}}{h{dHb}}}Hf}{{{h{AGj}}{h{dHb}}}Hf}0{{{h{ACd}}{h{dHb}}}Hf}{cc{}}00{GbAHb}1{AH`Lb}222{{{h{Lb}}{h{{An{Fn{N`{ADn}}}}}}}{{Bf{AHdAGj}}}}{{{h{AGn}}{h{dc}}}AbJl}{{{h{AHd}}{h{dc}}}AbJl}{{{h{AH`}}}Fn}`{ce{}{}}000000{{{h{AH`}}}Gb}{{{h{AHb}}}Gb}{{{h{AHd}}}Gb}`{{{h{AHd}}{h{AHd}}}{{Fl{Eh}}}}{{{h{Lb}}}Gb}`{{{h{AGn}}c}BfLj}{{{h{AH`}}c}BfLj}{{{h{AHb}}c}BfLj}{{{h{Lb}}c}BfLj}{{{h{AHd}}c}BfLj}`{{{h{c}}}e{}{}}00000{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mb{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AHfL`}{{Bf{AHhFf}}}}{{{AHj{c}}L`}{{Bf{AHhFf}}}{{AHl{AAn}}}}{{{AHn{c}}L`}{{Bf{AHhFf}}}{{AHl{AB`}}}}{{{AI`{c}}L`}{{Bf{AHhFf}}}{{AHl{AB`}}}}{{{AIb{c}}L`}{{Bf{AHhFf}}}{{AHl{AId}}}}{{{AIf{c}}L`}{{Bf{AHhFf}}}{{AIh{AAn}}}}{{{AIj{c}}L`}{{Bf{AHhFf}}}{{AIh{AAn}}}}{{{AIl{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AIn{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJ`{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJb{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJd{c}}L`}{{Bf{AHhFf}}}{{AIh{AId}}}}{{{AJf{c}}L`}{{Bf{AHhFf}}}{{AIh{AId}}}}{{{h{{AHj{c}}}}}{{AHj{c}}}{Al{AHl{AAn}}}}{{{h{{AHn{c}}}}}{{AHn{c}}}{Al{AHl{AB`}}}}{{{h{{AI`{c}}}}}{{AI`{c}}}{Al{AHl{AB`}}}}{{{h{{AIb{c}}}}}{{AIb{c}}}{Al{AHl{AId}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{AAn}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{AAn}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{AB`}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AB`}}}}{{{h{{AJ`{c}}}}}{{AJ`{c}}}{Al{AIh{AB`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AIh{AB`}}}}{{{h{{AJd{c}}}}}{{AJd{c}}}{Al{AIh{AId}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AIh{AId}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AHj{c}}}}{h{dHb}}}Hf{Hh{AHl{AAn}}}}{{{h{{AHn{c}}}}{h{dHb}}}Hf{Hh{AHl{AB`}}}}{{{h{{AI`{c}}}}{h{dHb}}}Hf{Hh{AHl{AB`}}}}{{{h{{AIb{c}}}}{h{dHb}}}Hf{Hh{AHl{AId}}}}{{{h{{AIf{c}}}}{h{dHb}}}Hf{Hh{AIh{AAn}}}}{{{h{{AIj{c}}}}{h{dHb}}}Hf{Hh{AIh{AAn}}}}{{{h{{AIl{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AIn{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJ`{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJb{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJd{c}}}}{h{dHb}}}Hf{Hh{AIh{AId}}}}{{{h{{AJf{c}}}}{h{dHb}}}Hf{Hh{AIh{AId}}}}{cc{}}00000000000{ce{}{}}00000000000{{AHh{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{c{h{{Lf{Ld}}}}L`}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Ff}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AJh}}}AJh}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AJh}}{h{dHb}}}Hf}0{{{h{Jd}}{h{dHb}}}Hf}0{{{h{Df}}{h{dHb}}}Hf}0={AJhJd}>{AJjJd}{NdJd}{AGjJd}{FfJd}{cc{}}{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Fn{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mb{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AJl}}}{{Fl{Fn}}}}{{{h{AJl}}}Fn}{c{{Bf{AJl}}}G`}{{{h{f}}{h{Mf}}Gb}{{Bf{AJl{h{Mf}}}}}}{{{h{AJl}}{h{dHb}}}Hf}0<{{{h{Mf}}}{{Bf{AJlc}}}{}}<``{{{h{AJl}}c}BfLj};::9=```````````````````````````````````````````{{}AJn}{{}Ob}{{OlBb}{{Bf{OnA@`}}}};;;;;;;;;;;;::::::::::::{{{h{{AK`{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}00000{{{h{c}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}{{{h{{AKb{ce}}}}}{{AKb{ce}}}AlOh}{{{h{Ob}}}Ob}{{{h{AKd}}}AKd}{{{h{{AK`{ce}}}}}{{AK`{ce}}}{AlNn}{AlOh}}{{{h{Ol}}}Ol}{{{h{AFb}}}AFb}{{{h{AKf}}}AKf}{{{h{AKh}}}AKh}{{{h{AKj}}}AKj}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}Eh{ABbNn}{ABbOh}}{{{h{Ol}}{h{Ol}}}Eh}{{{h{AKf}}{h{AKf}}}Eh}{{{h{AKj}}{h{AKj}}}Eh}`{{}AKd}{{{h{{AKb{ce}}}}}{{h{g}}}{}Oh{}}{{OlBb}{{Bf{OnA@`}}}}{c{{Bf{Ol}}}G`}{{{h{{AK`{ce}}}}}Af{O`Nn}Oh}{{{h{Ob}}{h{Ob}}}Gb}{{{h{AGh}}{h{AGh}}}Gb}{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}Gb{GfNn}{GfOh}}{{{h{Ol}}{h{Ol}}}Gb}{{{h{AFb}}{h{AFb}}}Gb}{{{h{AKf}}{h{AKf}}}Gb}{{{h{AKh}}{h{AKh}}}Gb}{{{h{AKj}}{h{AKj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000000000{{{h{{AKl{c}}}}{h{dHb}}}Hf{HhOh}}{{{h{Ob}}{h{dHb}}}Hf}{{{h{AKd}}{h{dHb}}}Hf}{{{h{AGh}}{h{dHb}}}Hf}0{{{h{{AK`{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{Ol}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AFb}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AKf}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKh}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKj}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{AK`{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{AKn{{AL`{c}}}Oh}{ALb{{AL`{c}}}Oh}{cc{}}00000{AGdAGh}{NlAGh}2{OnOl}33333{{OlAJn}{{AKl{c}}}Oh}{{AFbAJn}{{AKl{c}}}Oh}{{{h{Mf}}}{{Bf{Ol}}}}{{{h{Mf}}}{{Bf{AFb}}}}{{{h{ADl}}}{{Bf{{AK`{ce}}Nl}}}{ALdNn}Oh}{{{h{Ol}}}{{Fl{ALf}}}}{{{h{Ol}}}{{N`{ALf}}}}{c{{Bf{{AKb{{ALn{}{{ALh{e}}{ALj{c}}{ALl{g}}}}i}}g}}}{}{{AM`{{Cj{Ch}}}}AMb}HhOh}{{}{{Bf{{AKb{AMdc}}e}}}Oh{}}{{{h{dc}}}{{Bf{{AKb{AMde}}g}}}{AMfAMh}Oh{}}{{c{h{de}}}{{Bf{{AKb{{ALn{}{{ALh{g}}{ALj{c}}{ALl{i}}}}k}}i}}}{}{AMfAMh}{{AM`{{Cj{Ch}}}}AMb}HhOh}{{ce}{{Bf{{AKb{{ALn{}{{ALh{e}}{ALj{c}}{ALl{g}}}}i}}g}}}{}{{AM`{{Cj{Ch}}}}AMb}HhOh}{c{{Bf{{AKb{AMde}}g}}}{}Oh{}}{{{h{{AL`{c}}}}}GbOh}{{{h{Ol}}}Gb}{{{h{{AK`{ce}}}}{h{dg}}}Ab{AEbNn}{AEbOh}Jl}{{{h{Ol}}{h{dc}}}AbJl}{{{h{AKf}}{h{dc}}}AbJl}{{{h{AKj}}{h{dc}}}AbJl}{ce{}{}}00000000000{OlAMj}{AHl{{Bf{{AKl{c}}AGh}}}Oh}{{AIh{Fl{AMl}}ALf}{{Bf{{AKl{c}}AGh}}}Oh}{{{AKb{ec}}{Fl{AMl}}ALf}{{Bf{{AKl{c}}AGh}}}Oh{{AIh{c}}}}{{{AKb{ec}}}{{Bf{{AKl{c}}AGh}}}Oh{{AHl{c}}}}{{{AKl{c}}}{{Bf{{AKl{c}}AGh}}}Oh}{Ol{{Bf{{AKl{c}}AGh}}}Oh}{AFb{{Bf{{AKl{c}}AGh}}}Oh}{AIh{{Bf{{AL`{c}}AGh}}}Oh}{{{AL`{c}}}{{Bf{{AL`{c}}AGh}}}Oh}{{{AKb{ec}}}{{Bf{{AL`{c}}AGh}}}Oh{{AIh{c}}}}{{{AKb{ce}}}c{}Oh}{Ol{{N`{Ol}}}}{AFb{{N`{AFb}}}}{{{AL`{c}}L`}{{Fl{AKn}}}Oh}{{{AL`{c}}L`{h{{Lf{e}}}}}ALbOhAFd}{{{h{Ol}}}Gb}{{}Gb}{{{h{Ob}}}Gb}2{{{h{AFb}}}Gb}212133{{{h{{AK`{ce}}}}}ADnNnOh}``{{{h{{AK`{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{}AJn}{{{h{Ol}}}AMn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}44{{{h{AJn}}{h{AJn}}}AJn}5{{}{{h{Mf}}}}{{ADn{N`{c}}}{{Bf{{AK`{ce}}Nl}}}NnOh}{{{h{Ol}}}ADn}``{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{AKl{c}}AJn}{{AKl{c}}}Oh}{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}{{Fl{Eh}}}{AFfNn}{AFfOh}}{{{h{Ol}}{h{Ol}}}{{Fl{Eh}}}}{{{h{AKf}}{h{AKf}}}{{Fl{Eh}}}}{{{h{AKj}}{h{AKj}}}{{Fl{Eh}}}}{{{h{c}}}ADnNn}{{{h{{AK`{ce}}}}}{{h{{Cj{c}}}}}NnOh}{{{h{{AK`{ce}}}}}{{Bf{AbNl}}}NnOh}{{{h{{AK`{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}{{{h{{AK`{ce}}}}}ADnNnOh}{{{h{Ol}}c}BfLj}{{}AFl}{{{h{{AK`{ce}}}}}{{Of{ce}}}{O`Nn}Oh}{{}AJn}{{{h{c}}}e{}{}}00000000{{{h{AFb}}{h{{Lf{c}}}}}{{Bf{OlAN`}}}AFd}{{{h{c}}}Fn{}}000{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{AK`{ce}}}}{h{dk}}}{{Bf{{AK`{ge}}{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000{ce{}{}}00000000000`{{{h{ANb}}}{{Fl{Dh}}}}{{{h{ANb}}}{{Fl{Dl}}}}{{{h{ANb}}ADn}{{Fl{K`}}}}`{{{h{Fb}}{h{Mf}}{h{{Cj{{h{{Cj{{h{Mf}}}}}}}}}}}{{Bf{AbANd}}}}````````````````````````````````````{{{h{dJf}}ANfl{A`{n}}}{{Fl{{A`{n}}}}}}``{{{h{Jf}}{h{{Lf{Ld}}}}}Kh}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Kh{h{{Nh{Ol}}}}{h{{Lf{Ld}}}}}Jf}{{{h{ANf}}}ANf}{{{h{ANh}}}ANh}{{{h{{ANj{c}}}}}{{ANj{c}}}{AlANlHhAl}}{{{h{l}}}l}{{{h{Jf}}}Jf}{{{h{Gn}}}Gn}{{{h{ANn}}}ANn}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{ANf}}{h{ANf}}}Eh}{{{h{l}}{h{l}}}Eh}{{}l}{{}Jf}{{}Gn}{{}ANn}{{{h{{ANj{c}}}}}{{h{e}}}{ANlHhAl}{}}{{{h{AO`}}}{{Fl{AFb}}}}0{{{h{{ANj{{AOb{AKn}}}}}}}{{Fl{AFb}}}}{{{h{{ANj{{AOd{AKn}}}}}}}{{Fl{AFb}}}}{{{h{{ANj{AOf}}}}}{{Fl{AFb}}}}{{{h{ANf}}{h{ANf}}}Gb}{{{h{ANh}}{h{ANh}}}Gb}{{{h{l}}{h{l}}}Gb}{{{h{ANn}}{h{ANn}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000{{{h{Jf}}ANf}{{Fl{{h{{A`{n}}}}}}}}{{{h{ANf}}{h{dHb}}}Hf}{{{h{H`}}{h{dHb}}}Hf}0{{{h{ANh}}{h{dHb}}}Hf}{{{h{{ANj{c}}}}{h{dHb}}}Hf{HhANlHhAl}}{{{h{l}}{h{dHb}}}Hf}{{{h{Jf}}{h{dHb}}}Hf}{{{h{Gn}}{h{dHb}}}Hf}{{{h{ANn}}{h{dHb}}}Hf}{AAjANf}{AMnANf}{cc{}}0000000{{{h{ANf}}{h{dc}}}AbJl}{{{h{AO`}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{{AOd{AKn}}}}}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{AOf}}}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{{AOb{AKn}}}}}}{h{{Lf{Ld}}}}}ANf}{{{h{Jf}}}{{N`{{h{ANf}}}}}}{ce{}{}}0000000{{cANh}{{ANj{c}}}{ANlHhAl}}{{}Jf}{{{h{ANf}}{h{ANf}}}{{Fl{Eh}}}}{{{h{l}}{h{l}}}{{Fl{Eh}}}}{{{h{dJf}}ANfl}{{Fl{{A`{n}}}}}}{{{h{AOh}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{{AOd{AKn}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{AOf}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{{AOb{AKn}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{n}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{c}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}{}}`{{{h{Jf}}}{{N`{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mb{}}0000000{ce{}{}}0000000````````````````{{{h{d{Dd{c}}}}{h{e}}}{{h{d{Dd{c}}}}}{}{{AOl{AOj}}}}{{{h{d{Dd{c}}}}JjJbAEl}{{Bf{{h{d{Dd{c}}}}AOn}}}{}}{{{h{d{Dd{c}}}}JjJbAElLh}{{Bf{{h{d{Dd{c}}}}AOn}}}{}}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}AfDh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}{h{{Cj{Jj}}}}}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}Gb}{{h{d{Dd{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Dd{c}}}}B@b}{{h{d{Dd{c}}}}}{}}{{{h{{Dd{c}}}}}{{Dd{c}}}Al}{{{h{B@d}}}B@d}{{{h{B@b}}}B@b}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@b}}{h{B@b}}}Eh}{{{Dd{c}}e}{{Dd{e}}}{}Mn}{{{h{d{Dd{c}}}}Bb}{{h{d{Dd{c}}}}}{}}{{}B@d}{{}B@b}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Af}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}Lh}{{h{d{Dd{c}}}}}{}}{{{h{B@b}}{h{B@b}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0{{{h{d{Dd{c}}}}Dh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Dl}{{h{d{Dd{c}}}}}{}}{{{Dd{c}}}{{Bf{GlJd}}}Mn}{{{Dd{c}}{h{de}}}{{Bf{GlJd}}}MnAMh}{{{h{{Dd{c}}}}{h{dHb}}}HfHh}{{{h{B@`}}{h{dHb}}}Hf}0{{{h{AOn}}{h{dHb}}}Hf}0{{{h{B@d}}{h{dHb}}}Hf}{{{h{B@b}}{h{dHb}}}Hf}{cc{}}0000{{{h{B@b}}{h{dc}}}AbJl}?{ce{}{}}0000{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@f}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}B@d}{{h{d{Dd{c}}}}}{}}{{{h{B@b}}{h{B@b}}}{{Fl{Eh}}}}{{{h{d{Dd{c}}}}{An{Fn{N`{ADn}}}}j}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}{N`{{C`{AfDh}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}J`}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{dBl}}}Ab}{{{h{B@d}}{h{dBl}}{h{dc}}}AbAMh}{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mb{}}0000{{{h{d{Dd{c}}}}{N`{Jj}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@h}{{h{d{Dd{c}}}}}{}}?????````","D":"G@`","p":[[5,"Balance",0,1934],[0,"mut"],[5,"Wallet",0,1935],[1,"reference"],[6,"KeychainKind",0,1936],[5,"SignerOrdering",1628,1937],[10,"TransactionSigner",1628,1937],[5,"Arc",1938],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1939],[8,"Indexed",1940],[10,"Iterator",1941],[10,"Clone",1942],[5,"BTreeMap",1943],[5,"Block",1944],[1,"u32"],[5,"CannotConnectError",1945],[6,"Result",1946],[5,"BlockId",1947],[6,"ApplyHeaderError",1945],[5,"Transaction",1948],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1949],[5,"Update",0,1935],[10,"Into",1950],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1947],[5,"TxGraph",1951],[5,"Txid",1948],[8,"DefaultCoinSelectionAlgorithm",446,1952],[5,"TxBuilder",1815,1953],[6,"BuildFeeBumpError",1206,1954],[5,"Amount",1955],[6,"CalculateFeeError",1951],[5,"FeeRate",1956],[5,"CheckPointIter",1945],[5,"LocalOutput",0,1936],[5,"WeightedUtxo",0,1936],[6,"Utxo",0,1936],[5,"ChangeSet",0,1957],[6,"Ordering",1958],[5,"Connection",1959],[5,"CreateParams",0,1960],[10,"IntoWalletDescriptor",545],[5,"Store",1961],[5,"Transaction",1962],[8,"PersistedWallet",0,1963],[6,"Error",806],[5,"LoadParams",0,1960],[5,"AddressInfo",0,1935],[6,"Option",1964],[5,"String",1965],[10,"Deserializer",1966],[1,"bool"],[6,"LoadWithPersistError",0,1963],[10,"PartialEq",1958],[6,"LoadError",0,1935],[6,"LoadMismatch",0,1935],[5,"Psbt",1967],[5,"SignOptions",1628,1937],[6,"SignerError",1628,1937],[5,"Formatter",1968],[5,"Error",1968],[8,"Result",1968],[10,"Debug",1968],[10,"Display",1968],[6,"CreateWithPersistError",0,1963],[6,"ApplyBlockError",0,1935],[5,"ChangeSet",1945],[5,"ChangeSet",1951],[5,"ChangeSet",1969],[5,"ChangeSet",1970],[5,"SyncResult",1971],[5,"FullScanResult",1971],[8,"Result",1959],[5,"BlockHash",1944],[5,"PsbtSighashType",1972],[5,"Input",1972],[6,"CreateTxError",1206,1954],[5,"SignersContainer",1628,1937],[5,"CanonicalTx",1951],[5,"OutPoint",1948],[10,"Hasher",1973],[5,"AlterCheckPointError",1945],[5,"TxOut",1948],[10,"IsDust",0,1974],[5,"Script",1975],[8,"ExtendedDescriptor",545],[8,"KeyMap",1306,1976],[5,"CheckPoint",1945],[10,"DoubleEndedIterator",1977],[5,"LocalChain",1945],[6,"Network",1978],[5,"Policy",839],[6,"All",1979],[5,"Secp256k1",1980],[5,"Sequence",1948],[10,"Serializer",1981],[5,"KeychainTxOutIndex",1969],[5,"FullScanRequest",1971],[5,"SyncRequest",1971],[5,"TypeId",1982],[5,"TxNode",1951],[1,"str"],[5,"LargestFirstCoinSelection",446,1952],[5,"OldestFirstCoinSelection",446,1952],[5,"BranchAndBoundCoinSelection",446,1952],[10,"CoinSelectionAlgorithm",446,1952],[5,"Vec",1983],[5,"CoinSelectionResult",446,1952],[6,"Error",446,1952],[6,"Excess",446,1952],[6,"Descriptor",545,1976],[5,"Address",1984],[6,"Error",1985],[10,"MiniscriptKey",1985],[10,"ToPublicKey",1985],[6,"ScriptContextEnum",1306],[5,"Miniscript",545,1986],[6,"Terminal",1987],[10,"ScriptContext",1306,1988],[6,"Tree",1989],[6,"DescriptorPublicKey",1306,1990],[5,"DefiniteDescriptorKey",1990],[6,"ConversionError",1990],[6,"Placeholder",1991],[5,"Satisfaction",1991],[10,"AssetProvider",1992],[17,"Key"],[6,"ScriptContextError",1988],[17,"Sha256"],[5,"Hash",1993],[17,"Hash256"],[5,"Hash",1994],[17,"Ripemd160"],[5,"Hash",1995],[17,"Hash160"],[5,"Hash",1996],[10,"ParseableKey",1987],[6,"Legacy",545,1988],[6,"Segwitv0",545,1988],[10,"Ord",1958],[5,"PublicKey",1997],[10,"Verification",1998],[6,"DescriptorType",1976],[5,"DescriptorId",1999],[10,"FromStrKey",2000],[5,"ExtParams",2001],[6,"AnalysisError",2001],[10,"ExtractPolicy",545],[6,"BuildSatisfaction",839],[5,"Range",2002],[17,"Output"],[10,"FnMut",2003],[5,"Wpkh",2004],[5,"Sh",2005],[5,"Wsh",2004],[5,"Pkh",2006],[5,"Tr",2007],[5,"Bare",2006],[5,"Type",2008],[5,"ExtData",2009],[5,"Tree",2010],[1,"usize"],[10,"Satisfier",1991],[10,"Hash",1973],[5,"Iter",2011],[5,"PkIter",2011],[6,"Policy",2012],[6,"LiftError",2013],[5,"Weight",2014],[6,"BareCtx",1988],[6,"TapTree",2007],[6,"DescriptorSecretKey",1306,1990],[10,"Signing",1998],[10,"PartialOrd",1958],[5,"Plan",1992],[5,"TxIn",1948],[6,"SigType",1988],[6,"TranslateErr",1985],[10,"Translator",1985],[6,"Error",2015],[6,"Error",2016],[6,"HexToBytesError",2017],[6,"KeyError",1306],[6,"PolicyError",839],[6,"ParsePublicKeyError",1997],[6,"PkOrF",839],[6,"SatisfiableItem",839],[6,"Satisfaction",839],[5,"Condition",839],[10,"DescriptorTemplate",1022],[8,"DescriptorTemplateOut",1022],[5,"P2Pkh",1022],[10,"IntoDescriptorKey",1306],[5,"P2Wpkh_P2Sh",1022],[5,"P2Wpkh",1022],[5,"P2TR",1022],[6,"Tap",1988],[5,"Bip44",1022],[10,"DerivableKey",1306],[5,"Bip44Public",1022],[5,"Bip49",1022],[5,"Bip49Public",1022],[5,"Bip84",1022],[5,"Bip84Public",1022],[5,"Bip86",1022],[5,"Bip86Public",1022],[6,"MiniscriptPsbtError",1206,1954],[6,"Error",2018],[5,"FullyNodedExport",1283,2019],[8,"ValidNetworks",1306],[5,"SortedMultiVec",1306,2020],[5,"GeneratedKey",1306],[5,"PrivateKeyGenerateOptions",1306],[5,"SinglePub",1306,1990],[5,"SinglePriv",1306,1990],[6,"SinglePubKey",1306,1990],[6,"DescriptorKey",1306],[5,"Xpriv",2016],[6,"ExtendedKey",1306],[5,"Xpub",2016],[10,"FromStr",2021],[5,"DerivationPath",2016],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",1306],[10,"AsMut",1950],[10,"Default",2022],[10,"GeneratableDefaultOptions",1306],[10,"CryptoRng",2023],[10,"RngCore",2023],[5,"Assets",1992],[8,"KeySource",2016],[5,"Fingerprint",2016],[5,"DescriptorKeyParseError",1990],[10,"PsbtUtils",1622],[6,"Error",2024],[6,"SignerId",1628,1937],[6,"SignerContext",1628,1937],[5,"SignerWrapper",1628,1937],[10,"Sized",2025],[6,"TapLeavesOptions",1628,1937],[10,"SignerCommon",1628,1937],[5,"DescriptorMultiXKey",1990],[5,"DescriptorXKey",1990],[5,"PrivateKey",1997],[10,"InputSigner",1628,1937],[5,"PushBytes",2026],[10,"AsRef",1950],[6,"AddForeignUtxoError",1815,1953],[6,"AddUtxoError",1815,1953],[6,"ChangeSpendPolicy",1815,1953],[6,"TxOrdering",1815,1953],[6,"LockTime",2027],[1,"i32"],[15,"InvalidTxid",1930],[15,"UnexpectedConnectedToHash",432],[15,"Network",434],[15,"Genesis",434],[15,"Descriptor",434],[15,"Custom",1932],[15,"Foreign",443],[15,"InsufficientFunds",538],[15,"Change",540],[15,"NoChange",540],[8,"DerivedDescriptor",545],[15,"PsbtTimelocks",998],[15,"Complete",1001],[15,"Partial",1001],[15,"PartialComplete",1001],[15,"Sha256Preimage",1012],[15,"Hash256Preimage",1012],[15,"Ripemd160Preimage",1012],[15,"Hash160Preimage",1012],[15,"Thresh",1012],[15,"Multisig",1012],[15,"AbsoluteTimelock",1012],[15,"RelativeTimelock",1012],[15,"RbfSequenceCsv",1277],[15,"LockTime",1277],[15,"FeeTooLow",1277],[15,"FeeRateTooLow",1277],[8,"WalletExport",1283],[10,"ExtScriptContext",1306],[15,"Tap",1814]],"r":[[0,1953],[1,1953],[2,1935],[3,1935],[4,1934],[8,1957],[9,1953],[10,1960],[11,1963],[19,545],[24,1974],[25,1936],[26,1935],[27,1935],[28,1960],[29,1963],[31,1936],[41,1963],[43,1937],[44,1953],[45,1953],[49,1935],[50,1936],[53,1935],[54,1936],[127,1935],[177,1935],[178,1935],[310,1940],[325,1935],[326,1935],[334,545],[386,1935],[429,1935],[448,1952],[450,1952],[451,1952],[452,1952],[453,1952],[454,1952],[456,1952],[458,1952],[481,1952],[549,1976],[551,1990],[558,1988],[559,1986],[564,839],[565,1988],[566,1988],[600,805],[1206,1954],[1209,1954],[1217,1954],[1283,2019],[1284,2019],[1309,1990],[1310,1990],[1325,1976],[1335,1988],[1340,1990],[1341,1990],[1342,1990],[1343,2020],[1626,2028],[1627,2028],[1635,1937],[1652,1937],[1653,1937],[1654,1937],[1655,1937],[1656,1937],[1657,1937],[1658,1937],[1659,1937],[1661,1937],[1662,1937],[1815,1953],[1816,1953],[1819,1953],[1826,1953],[1827,1953]],"b":[[130,"impl-PersistWith%3CConnection%3E-for-Wallet"],[131,"impl-Wallet"],[132,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[133,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[181,"impl-Debug-for-Balance"],[182,"impl-Display-for-Balance"],[188,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[189,"impl-Display-for-LoadWithPersistError%3CE%3E"],[190,"impl-Display-for-CreateWithPersistError%3CE%3E"],[191,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[194,"impl-Display-for-AddressInfo"],[195,"impl-Debug-for-AddressInfo"],[196,"impl-Display-for-LoadError"],[197,"impl-Debug-for-LoadError"],[199,"impl-Display-for-ApplyBlockError"],[200,"impl-Debug-for-ApplyBlockError"],[209,"impl-From%3CChangeSet%3E-for-ChangeSet"],[210,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[211,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[213,"impl-From%3CChangeSet%3E-for-ChangeSet"],[218,"impl-From%3CSyncResult%3E-for-Update"],[220,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[273,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[274,"impl-PersistWith%3CConnection%3E-for-Wallet"],[275,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[276,"impl-Wallet"],[300,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[301,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[302,"impl-PersistWith%3CConnection%3E-for-Wallet"],[328,"impl-Wallet"],[329,"impl-Staged-for-Wallet"],[487,"impl-Display-for-Error"],[488,"impl-Debug-for-Error"],[638,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[639,"impl-Descriptor%3CDescriptorPublicKey%3E"],[666,"impl-Debug-for-Descriptor%3CPk%3E"],[667,"impl-Display-for-Descriptor%3CPk%3E"],[670,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[671,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[674,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[675,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[676,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[677,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[678,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[679,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[823,"impl-Debug-for-Error"],[824,"impl-Display-for-Error"],[825,"impl-From%3CError%3E-for-Error"],[826,"impl-From%3CError%3E-for-Error"],[827,"impl-From%3CError%3E-for-Error"],[829,"impl-From%3CHexToBytesError%3E-for-Error"],[830,"impl-From%3CKeyError%3E-for-Error"],[831,"impl-From%3CPolicyError%3E-for-Error"],[832,"impl-From%3CParsePublicKeyError%3E-for-Error"],[926,"impl-Debug-for-PolicyError"],[927,"impl-Display-for-PolicyError"],[1244,"impl-Debug-for-MiniscriptPsbtError"],[1245,"impl-Display-for-MiniscriptPsbtError"],[1246,"impl-Debug-for-CreateTxError"],[1247,"impl-Display-for-CreateTxError"],[1248,"impl-Debug-for-BuildFeeBumpError"],[1249,"impl-Display-for-BuildFeeBumpError"],[1251,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1253,"impl-From%3CError%3E-for-CreateTxError"],[1254,"impl-From%3CError%3E-for-CreateTxError"],[1255,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1256,"impl-From%3CError%3E-for-CreateTxError"],[1293,"impl-Display-for-FullyNodedExport"],[1294,"impl-Debug-for-FullyNodedExport"],[1439,"impl-Debug-for-KeyError"],[1440,"impl-Display-for-KeyError"],[1441,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1442,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1443,"impl-Debug-for-DescriptorPublicKey"],[1444,"impl-Display-for-DescriptorPublicKey"],[1445,"impl-Debug-for-DescriptorSecretKey"],[1446,"impl-Display-for-DescriptorSecretKey"],[1451,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1452,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1459,"impl-From%3CError%3E-for-KeyError"],[1460,"impl-From%3CError%3E-for-KeyError"],[1502,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1503,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1709,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1710,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1711,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1726,"impl-Display-for-SignerError"],[1727,"impl-Debug-for-SignerError"],[1734,"impl-From%3CHash%3E-for-SignerId"],[1735,"impl-From%3CFingerprint%3E-for-SignerId"],[1746,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1747,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1748,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1764,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1765,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1766,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1874,"impl-Debug-for-AddUtxoError"],[1875,"impl-Display-for-AddUtxoError"],[1876,"impl-Display-for-AddForeignUtxoError"],[1877,"impl-Debug-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAH4CyALUAgUFhAXsBQ==","e":"OzAAAAEAAA4EgwAUAAAAOAAAAEMAAQBHACAAbQAAAHEADgCDAAAAhQABAIsABACYABkAtAAAALYAEwDSAAIA1gABANsAAADdAAAA4AAAAOsAAQAEAQAAEgECACABAAArAQAALQECADYBAAA8AQUARwEAAEoBAABPAQ0AYwEfAIgBDwCeAQ8AzAERAN8BAgDjAQIA6AEGAP8BGwAnAgAANQIAAEkCAQBMAgAATgIHAFkCAABbAgEAXgIAAGECAQBkAgEAaAIBAGsCAQBuAgEAcQILAIICAwCHAgsAmAIBAJsCDQCvAgAAvAIDAMcCAADNAgEA0QIBANgCAQDuAgMA8wIBAAEDAQAEAwEACAMFABMDBwAcAwMAIQMDADUDBwA+AwMAQwMEAGsDGQCHAxoApQMAAKcDAACsAwEAuwMAAL4DBADEAyIADQQXACYELwBuBEgA1QQNAOQEAADmBAMA7gQPAAgFAQAMBQAADgUBABEFAAAVBQUASQUXAGsFFQCCBQEAhQUAAIcFJgC0BQEAtwUAAL8FAQDMBQMA3AUAAN8FBADlBQEA9QUBAPoFAAAEBgAACQYDABIGAAAWBggAIAYDACcGLwCGBg8AlwYUAK4GDgC+BgoA0QYAANMGAgDhBgEA5QYCAOkGAADtBgcA9wYfADAHCQA7BwYARAcBAEsHAgBSBwYAXgcAAGoHAABwBxMAhgcEAA=="}],\ +["bdk_wallet",{"t":"GGFGFPPPFGFGPPPPPPPEPPPPKGGGFGPFPPPPPPPPPIPFFGPPPFGTTFFNNONOONNNNNNNONDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNDOONNNNNNNNNNNNNNNNCOONNNNNNNNNNNNNNNONCNOQNNNNNNNNNNNNNNNNNNNNNNNNNNNCCNDNNNNNNNNNNNNNNNNNNNNNQNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNOOONNNNNNNNNNNNNNNNNNNMNNOOONNNCONNNNNNNNNNNNNONNNNDNNNONNNNNNONNNNNNNCNNNECONNNDDNNNNNNNOCENNNNNNOENNNNNNNNNNNNNNNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONONNNNNNNNNNNNNNNNNNNOOHNNNNNNNNNNNNNNNNHOOOOOOOOOOOOOOOOPPFPKFIGGPFPFNNNNNNNNNNNNNNNNNNMNNNHNNNOONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOPPPIGEGIKTIKRGFPPPPEKGPPPPTIPPPPPPPPPPNNNNNNNNNNNNNNNNNENNNNNNNNNNNNNMNNMNNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNONMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNONNNNNNNNNMNNNNCNNNNNNNNNNNMNNNCNNNNNNNNNNNNNNNNNNNONNNNNNNNNNHPPGPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNPPPGPFIPPIPPPPPPPPPPPGFGPPPPPGGPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNONNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOFFFFFFFFKIFFFFNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNGPPGPPPPPPPGPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOFIOONNNNNNNNNNNOONNNNNNPKGGGRRKGPKKFKPPPRGIPPPPPRPFPKGPPPFFGFPIPPPHMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNOONHNMNNHNMNNOONNNNNNMNNNNNMNHNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNKMMMSHPPPPPPPKPPPPPPPPPPPPPPPPFKGGGFFFPGKPNOONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNMNONONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOGGPPGPPPPPPFGPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOO","n":["AddForeignUtxoError","AddUtxoError","AddressInfo","ApplyBlockError","Balance","CannotConnect","ChangeAllowed","ChangeForbidden","ChangeSet","ChangeSpendPolicy","CreateParams","CreateWithPersistError","Custom","Descriptor","Descriptor","Descriptor","External","Foreign","Genesis","HdKeyPaths","Internal","InvalidChangeSet","InvalidOutpoint","InvalidTxid","IsDust","KeychainKind","LoadError","LoadMismatch","LoadParams","LoadWithPersistError","Local","LocalOutput","Mismatch","MissingDescriptor","MissingGenesis","MissingNetwork","MissingUtxo","Network","OnlyChange","Persist","Persist","PersistedWallet","Shuffle","SignOptions","TxBuilder","TxOrdering","UnexpectedConnectedToHash","UnknownUtxo","Untouched","Update","Utxo","WALLET_SCHEMA_NAME","WALLET_TABLE_NAME","Wallet","WeightedUtxo","add","add_signer","address","all_unbounded_spk_iters","allow_all_sighashes","allow_grinding","apply_block","apply_block_connected_to","apply_unconfirmed_txs","apply_update","as_byte","as_ref","as_ref","assume_height","balance","bitcoin","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build_fee_bump","build_tx","calculate_fee","calculate_fee_rate","cancel_tx","chain","chain","change_descriptor","checkpoints","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","coin_selection","confirmation_time","confirmed","create","create","create","create","create_single","create_wallet","create_wallet_async","create_wallet_no_persist","create_with_params","default","default","default","default","deref","derivation_index","derivation_index","derivation_of_spk","descriptor","descriptor","descriptor","descriptor","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","fragment","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_sqlite","genesis_hash","genesis_hash","get_psbt_input","get_signers","get_tx","get_utxo","graph","hash","hash","immature","index","indexer","insert_checkpoint","insert_tx","insert_txout","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","is_dust","is_empty","is_mine","is_spent","keychain","keychain","keychains","keymap","keymap","keys","last_active_indices","latest_checkpoint","list_output","list_unspent","list_unused_addresses","load","load","load","load","load_wallet","load_wallet_async","load_wallet_no_persist","load_with_params","local_chain","local_chain","lookahead","lookahead","mark_used","merge","miniscript","network","network","network","network","new","new","new_single","next_derivation_index","next_unused_address","outpoint","outpoint","partial_cmp","peek_address","persist","persist","persist","persist_to_sqlite","policies","psbt","public_descriptor","reveal_addresses_to","reveal_next_address","rusqlite","rusqlite_impl","satisfaction_weight","secp_ctx","sent_and_received","sequence","serde","serde_json","serialize","serialize","serialize","serialize","set_keymap","set_keymaps","sign","sign_with_tap_internal_key","signer","signer","spk_index","staged","staged","start_full_scan","start_sync_with_revealed_spks","take_staged","tap_leaves_options","template","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","total","transactions","trust_witness_utxo","trusted_pending","trusted_spendable","try_finalize","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","tx_builder","tx_graph","tx_graph","txout","txout","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unbounded_spk_iter","unbroadcast_transactions","unmark_used","untrusted_pending","utxo","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wallet_name_from_descriptor","foreign_utxo","input_txid","connected_to_hash","expected_hash","expected","expected","expected","keychain","loaded","loaded","loaded","input_sort","output_sort","outpoint","psbt_input","sequence","BnBNoExactMatch","BnBTotalTriesExceeded","BranchAndBoundCoinSelection","Change","CoinSelectionAlgorithm","CoinSelectionResult","DefaultCoinSelectionAlgorithm","Error","Excess","InsufficientFunds","LargestFirstCoinSelection","NoChange","OldestFirstCoinSelection","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","coin_select","coin_select","coin_select","coin_select","decide_change","default","default","default","excess","fee_amount","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","into","into","into","into","into","into","local_selected_amount","new","selected","selected_amount","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","available","needed","amount","change_fee","dust_threshold","fee","remaining_amount","Bare","Bare","Bare","DerivedDescriptor","Descriptor","DescriptorError","DescriptorPublicKey","ExtendedDescriptor","ExtractPolicy","FALSE","HdKeyPaths","IntoWalletDescriptor","Key","Legacy","Miniscript","MultiXPub","Pkh","Pkh","Pkh","Policy","ScriptContext","Segwitv0","Sh","Sh","Sh","Single","TRUE","TapKeyOrigins","Tr","Tr","Tr","Wpkh","Wpkh","Wpkh","Wsh","Wsh","Wsh","XPub","address","as_enum","as_enum","as_inner","as_node","at_derivation_index","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branches","build_template","build_template_mall","calc_checksum","check_global_consensus_validity","check_global_consensus_validity","check_global_consensus_validity","check_global_policy_validity","check_global_policy_validity","check_global_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_consensus_validity","check_local_policy_validity","check_local_policy_validity","check_local_policy_validity","check_local_validity","check_pk","check_pk","check_pk","check_terminal_non_malleable","check_terminal_non_malleable","check_terminal_non_malleable","check_witness","check_witness","check_witness","checksum","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","contains_raw_pkh","derive","derived_descriptor","derived_descriptor","desc_type","descriptor_id","deserialize","deserialize","dust_value","encode","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","error","explicit_script","ext","ext_check","extract_policy","extract_policy","extract_policy","find_derivation_index_for_spk","fmt","fmt","fmt","fmt","fmt","fmt","for_each_key","for_each_key","from","from","from","from","from","from","from","from","from","from","from_ast","from_components_unchecked","from_str","from_str","from_str_ext","from_str_insane","from_tree","from_tree","get_nth_child","get_nth_pk","get_satisfaction","get_satisfaction_mall","has_mixed_timelocks","has_repeated_keys","has_wildcard","hash","hash","hash","hash","into","into","into","into","into_inner","into_single_descriptors","into_wallet_descriptor","into_wallet_descriptor","is_deriveable","is_multipath","is_non_malleable","iter","iter_pk","lift","lift","lift_check","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_size","max_satisfaction_weight","max_satisfaction_witness_elements","max_weight_to_satisfy","name_str","name_str","name_str","new_bare","new_pk","new_pkh","new_sh","new_sh_sortedmulti","new_sh_with_wpkh","new_sh_with_wsh","new_sh_wpkh","new_sh_wsh","new_sh_wsh_sortedmulti","new_tr","new_wpkh","new_wsh","new_wsh_sortedmulti","node","other_top_level_checks","parse","parse_descriptor","parse_insane","parse_with_ext","partial_cmp","partial_cmp","partial_cmp","partial_cmp","pk_len","pk_len","pk_len","plan","plan_mall","policy","requires_sig","sanity_check","sanity_check","satisfy","satisfy","satisfy_malleable","script_code","script_pubkey","script_size","serialize","serialize","sig_type","sig_type","sig_type","substitute_raw_pkh","template","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string_with_secret","top_level_checks","top_level_type_check","translate_pk","translate_pk","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","ty","type_id","type_id","type_id","type_id","unsigned_script_sig","vzip","vzip","vzip","vzip","within_resource_limits","calc_checksum","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"],[433,"bdk_wallet::AddForeignUtxoError"],[435,"bdk_wallet::ApplyBlockError"],[437,"bdk_wallet::LoadMismatch"],[444,"bdk_wallet::TxOrdering"],[446,"bdk_wallet::Utxo"],[449,"bdk_wallet::coin_selection"],[541,"bdk_wallet::coin_selection::Error"],[543,"bdk_wallet::coin_selection::Excess"],[548,"bdk_wallet::descriptor"],[808,"bdk_wallet::descriptor::checksum"],[809,"bdk_wallet::descriptor::error"],[842,"bdk_wallet::descriptor::policy"],[1001,"bdk_wallet::descriptor::policy::BuildSatisfaction"],[1004,"bdk_wallet::descriptor::policy::Satisfaction"],[1015,"bdk_wallet::descriptor::policy::SatisfiableItem"],[1025,"bdk_wallet::descriptor::template"],[1209,"bdk_wallet::error"],[1280,"bdk_wallet::error::CreateTxError"],[1286,"bdk_wallet::export"],[1309,"bdk_wallet::keys"],[1625,"bdk_wallet::psbt"],[1629,"bdk_wallet::rusqlite_impl"],[1631,"bdk_wallet::signer"],[1817,"bdk_wallet::signer::SignerContext"],[1818,"bdk_wallet::tx_builder"],[1933,"bdk_wallet::tx_builder::AddForeignUtxoError"],[1935,"bdk_wallet::tx_builder::TxOrdering"],[1937,"bdk_chain::balance"],[1938,"bdk_wallet::wallet"],[1939,"bdk_wallet::types"],[1940,"bdk_wallet::wallet::signer"],[1941,"alloc::sync"],[1942,"bitcoin::blockdata::script::owned"],[1943,"bdk_chain"],[1944,"core::iter::traits::iterator"],[1945,"core::clone"],[1946,"alloc::collections::btree::map"],[1947,"bitcoin::blockdata::block"],[1948,"bdk_chain::local_chain"],[1949,"core::result"],[1950,"bdk_chain::chain_data"],[1951,"bitcoin::blockdata::transaction"],[1952,"core::iter::traits::collect"],[1953,"core::convert"],[1954,"bdk_chain::tx_graph"],[1955,"bdk_wallet::wallet::coin_selection"],[1956,"bdk_wallet::wallet::tx_builder"],[1957,"bdk_wallet::wallet::error"],[1958,"bitcoin_units::amount"],[1959,"bitcoin_units::fee_rate"],[1960,"bdk_wallet::wallet::changeset"],[1961,"core::cmp"],[1962,"bdk_wallet::wallet::params"],[1963,"rusqlite::transaction"],[1964,"bdk_file_store::store"],[1965,"rusqlite"],[1966,"bdk_wallet::wallet::persisted"],[1967,"core::option"],[1968,"alloc::string"],[1969,"serde::de"],[1970,"bitcoin::psbt"],[1971,"core::fmt"],[1972,"bdk_chain::indexer::keychain_txout"],[1973,"bdk_chain::indexed_tx_graph"],[1974,"bdk_chain::spk_client"],[1975,"bitcoin::psbt::map::input"],[1976,"core::hash"],[1977,"bdk_wallet::wallet::utils"],[1978,"bitcoin::blockdata::script::borrowed"],[1979,"miniscript::descriptor"],[1980,"core::iter::traits::double_ended"],[1981,"bitcoin::network"],[1982,"secp256k1::context::alloc_only"],[1983,"secp256k1"],[1984,"serde::ser"],[1985,"core::any"],[1986,"alloc::vec"],[1987,"bitcoin::address"],[1988,"miniscript"],[1989,"miniscript::miniscript::private"],[1990,"miniscript::miniscript::decode"],[1991,"miniscript::miniscript::context"],[1992,"miniscript::iter::tree"],[1993,"miniscript::descriptor::key"],[1994,"miniscript::miniscript::satisfy"],[1995,"miniscript::plan"],[1996,"bitcoin_hashes::sha256"],[1997,"miniscript::miniscript::hash256"],[1998,"bitcoin_hashes::ripemd160"],[1999,"bitcoin_hashes::hash160"],[2000,"bitcoin::crypto::key"],[2001,"secp256k1::context"],[2002,"bdk_chain::descriptor_ext"],[2003,"miniscript::blanket_traits"],[2004,"miniscript::miniscript::analyzable"],[2005,"core::ops::range"],[2006,"core::ops::function"],[2007,"miniscript::descriptor::bare"],[2008,"miniscript::descriptor::sh"],[2009,"miniscript::descriptor::segwitv0"],[2010,"miniscript::descriptor::tr"],[2011,"miniscript::miniscript::types"],[2012,"miniscript::miniscript::types::extra_props"],[2013,"miniscript::expression"],[2014,"miniscript::miniscript::iter"],[2015,"miniscript::policy::semantic"],[2016,"miniscript::policy"],[2017,"bitcoin_units::weight"],[2018,"bitcoin::bip32"],[2019,"base58ck::error"],[2020,"hex_conservative::error"],[2021,"bitcoin::psbt::error"],[2022,"bdk_wallet::wallet::export"],[2023,"miniscript::descriptor::sortedmulti"],[2024,"core::str::traits"],[2025,"core::default"],[2026,"rand_core"],[2027,"rusqlite::error"],[2028,"core::marker"],[2029,"bitcoin::blockdata::script::push_bytes::primitive"],[2030,"bitcoin::blockdata::locktime::absolute"],[2031,"bdk_chain::rusqlite_impl"]],"i":[0,0,0,0,0,71,257,257,0,0,0,0,258,70,60,61,5,42,61,0,5,58,255,255,0,0,0,0,0,0,42,0,60,60,60,60,255,61,257,58,70,0,258,0,0,0,71,256,258,0,0,43,43,0,0,1,3,53,3,63,63,3,3,3,3,5,5,3,63,3,0,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,3,3,0,26,43,3,1,5,40,41,42,43,26,1,5,40,41,42,43,26,5,0,40,1,3,3,3,3,3,45,45,45,3,52,1,43,26,53,3,40,3,0,52,43,0,3,1,5,40,43,1,5,40,41,42,43,58,53,60,61,1,1,5,5,40,40,41,41,42,42,53,53,0,0,52,0,3,1,1,5,40,41,42,43,58,58,70,70,3,26,53,53,60,60,61,71,71,0,45,52,1,5,40,41,42,43,43,43,43,43,58,58,70,3,26,26,26,53,60,60,61,71,43,45,52,3,3,3,3,26,5,40,1,53,43,3,3,3,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,89,43,3,40,40,53,3,45,52,0,26,3,3,3,3,3,3,3,3,52,52,52,3,3,43,45,52,3,43,0,45,52,3,43,45,52,45,3,3,42,40,5,3,3,3,3,43,3,0,3,3,3,0,0,41,3,3,42,0,0,1,5,40,43,3,3,3,63,0,0,3,3,3,3,3,3,63,0,1,5,40,41,42,43,26,1,58,70,53,60,71,1,3,63,1,1,63,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,3,43,42,40,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,3,3,3,1,41,0,45,52,1,5,40,41,42,43,58,70,3,26,53,60,61,71,0,261,261,262,262,263,264,265,265,263,264,265,266,266,267,267,267,114,114,0,115,0,0,0,0,0,114,0,115,0,114,115,113,108,109,110,114,115,113,108,109,110,108,109,110,108,109,110,111,108,109,110,0,108,109,110,113,113,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,113,110,113,113,108,109,110,114,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,114,115,113,108,109,110,268,268,269,270,270,269,270,91,271,116,0,0,0,0,0,0,122,0,0,124,0,0,126,91,271,116,0,0,0,91,271,116,126,122,0,91,271,116,91,271,116,91,271,116,126,116,143,144,122,122,116,116,143,144,122,116,143,144,122,122,122,122,0,124,143,144,124,144,124,124,143,144,124,143,144,124,124,143,144,124,143,144,124,143,144,0,116,143,144,122,116,143,144,122,116,143,144,122,122,116,116,116,116,116,116,122,116,122,116,143,144,122,116,116,143,143,144,144,122,122,0,116,122,122,153,116,122,116,116,116,143,144,122,122,116,122,116,116,116,116,116,116,116,143,144,122,122,122,116,122,122,122,116,122,122,122,116,116,122,122,116,116,143,144,122,116,143,144,122,122,116,46,91,116,116,122,122,122,116,122,122,124,143,144,122,116,122,116,124,143,144,116,116,116,116,116,116,116,116,116,116,116,116,116,116,122,124,122,116,122,122,116,143,144,122,124,143,144,116,116,0,122,116,122,116,122,122,116,116,122,116,122,124,143,144,122,0,116,143,144,122,116,122,116,124,124,116,122,116,143,144,122,116,143,144,122,122,116,143,144,122,116,116,143,144,122,122,0,51,51,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,192,185,185,0,193,0,0,192,191,0,192,192,185,185,185,192,193,154,185,193,193,0,0,0,154,154,191,192,192,0,0,192,192,192,191,191,192,193,97,194,185,154,191,192,193,97,194,185,154,191,192,193,97,194,154,191,192,193,97,194,154,97,194,194,191,192,193,97,194,185,191,191,192,192,193,193,97,97,194,194,185,185,191,192,193,97,194,185,185,154,191,192,193,193,97,97,194,185,154,97,191,194,192,97,191,192,193,97,194,185,154,192,193,194,97,194,97,97,191,192,193,97,194,194,191,192,193,97,194,154,185,191,192,193,97,194,185,154,191,192,193,97,194,185,154,191,192,193,97,194,185,154,191,192,193,97,194,185,154,272,272,272,273,274,275,274,275,274,275,274,275,274,275,276,277,278,279,280,281,281,280,282,283,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,195,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,196,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,197,199,200,201,203,205,206,207,208,209,210,211,0,82,212,0,82,82,35,82,35,82,82,0,82,82,82,82,82,212,82,82,82,82,82,35,35,82,35,212,82,82,212,82,35,212,82,35,212,212,212,212,82,82,35,35,212,82,82,82,82,82,82,35,212,82,35,212,212,82,35,212,82,35,212,82,35,212,82,35,212,82,35,284,284,285,285,286,287,0,0,288,214,214,214,214,214,214,214,214,214,214,214,214,288,214,214,214,214,214,214,214,187,0,0,0,0,231,231,0,0,221,0,0,0,0,187,187,187,124,0,0,121,187,187,177,126,231,224,0,224,0,0,121,126,177,0,0,0,0,121,0,221,177,126,0,289,126,224,217,222,121,218,187,216,126,177,219,220,221,224,217,222,121,218,187,216,126,177,219,220,221,216,124,124,124,124,124,124,124,124,124,217,121,218,216,126,177,219,220,221,217,121,218,216,126,177,219,220,221,216,126,219,221,218,218,217,126,126,216,121,187,216,126,177,219,220,221,121,121,216,216,126,126,177,177,219,219,220,220,221,221,222,121,218,187,187,216,216,126,126,177,177,219,220,221,216,224,224,224,217,222,121,218,187,187,187,216,126,126,177,219,220,221,222,222,126,177,216,126,126,231,234,234,231,231,234,224,126,216,126,219,221,224,217,222,121,218,187,216,126,177,219,220,221,126,198,204,217,217,222,126,177,204,224,217,217,126,177,224,224,126,289,121,126,177,289,121,289,121,126,126,216,219,220,216,0,126,124,216,216,0,216,124,216,126,219,220,124,222,216,126,219,221,124,216,216,216,216,126,124,216,0,217,121,218,216,126,177,219,220,221,177,187,216,126,177,124,124,216,224,217,222,121,218,187,216,126,177,219,220,221,224,217,222,121,218,187,216,126,177,219,220,221,224,217,222,121,218,187,216,126,177,219,220,221,224,217,222,121,218,187,216,126,177,219,220,221,0,241,241,241,0,0,247,243,247,64,243,247,64,0,64,64,64,244,64,64,64,64,64,64,64,247,243,64,244,64,0,0,0,0,0,0,0,0,244,0,0,64,83,63,63,83,63,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,83,243,244,245,6,83,63,247,243,244,245,6,83,63,247,243,6,6,83,63,247,245,248,248,245,245,245,243,244,6,247,243,243,244,244,6,6,247,247,83,243,64,64,244,245,6,83,63,247,243,243,243,64,244,245,6,83,63,247,243,248,245,245,245,83,243,64,244,245,6,83,63,247,245,83,243,6,83,252,245,245,245,7,245,63,83,63,243,244,245,6,83,63,247,64,63,63,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,243,64,244,245,6,83,63,247,290,0,0,257,257,0,258,255,255,255,257,258,0,0,256,258,34,34,34,34,34,34,34,34,34,34,256,255,258,257,34,256,255,258,257,34,34,258,257,34,258,257,257,34,34,258,257,34,34,34,34,34,257,257,257,34,34,34,34,34,256,256,255,255,258,257,34,256,255,258,257,257,34,34,256,255,258,257,34,34,34,34,34,257,34,34,34,258,258,34,258,257,256,255,34,256,255,258,257,34,256,255,258,257,34,256,255,258,257,34,34,34,256,255,258,257,261,261,266,266],"f":"```````````````````````````````````````````````````````{{bb}b}{{{h{df}}jl{A`{n}}}Ab}`{{{h{f}}}{{An{j{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}}}``{{{h{df}}{h{B`}}Bb}{{Bf{AbBd}}}}{{{h{df}}{h{B`}}BbBh}{{Bf{AbBj}}}}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{{h{Bl}}Bn}}}}}}}}{{{h{df}}c}{{Bf{AbBd}}}{{Cf{Cd}}}}{{{h{j}}}Ch}{{{h{j}}}{{h{{Cj{Ch}}}}}}{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{f}}}b}`{{{h{c}}}{{h{e}}}{}{}}000000000000000{{{h{dc}}}{{h{de}}}{}{}}000000000000000{{{h{df}}D`}{{Bf{{Dd{Db}}Df}}}}{{{h{df}}}{{Dd{Db}}}}{{{h{f}}{h{Bl}}}{{Bf{DhDj}}}}{{{h{f}}{h{Bl}}}{{Bf{DlDj}}}}{{{h{df}}{h{Bl}}}Ab}```{{{h{f}}}Dn}{{{h{b}}}b}{{{h{j}}}j}{{{h{E`}}}E`}{{{h{Eb}}}Eb}{{{h{Ed}}}Ed}{{{h{Ef}}}Ef}{{{h{Cd}}}Cd}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{j}}{h{j}}}Eh}```{{cc}Ej{ElAl}}{{{h{dEn}}c}{{Bf{fe}}}{}{}}{{{h{d{F`{Ef}}}}c}{{Bf{fe}}}{}{}}{{{h{dFb}}c}{{Bf{fe}}}{}{}}{cEj{ElAl}}{{Ej{h{dc}}}{{Bf{Fd}}}{}}0{Ej{{Bf{fFf}}}}0{{}Fh}{{}b}{{}Ef}{{}Cd}{{{h{Fj}}}{{h{c}}}{}}{{{h{f}}j}{{Fl{Bb}}}}`{{{h{f}}Af}{{Fl{{C`{jBb}}}}}}`{{Fhj{Fl{c}}}FhEl}``{{{h{f}}j}Fn}{c{{Bf{b}}}G`}{c{{Bf{j}}}G`}{c{{Bf{E`}}}G`}{c{{Bf{Ef}}}G`}{{{h{b}}{h{b}}}Gb}{{{h{j}}{h{j}}}Gb}{{{h{E`}}{h{E`}}}Gb}{{{h{Eb}}{h{Eb}}}Gb}{{{h{Ed}}{h{Ed}}}Gb}{{{h{Ef}}{h{Ef}}}Gb}{{{h{{Gd{c}}}}{h{{Gd{c}}}}}GbGf}{{{h{Fj}}{h{Fj}}}Gb}{{{h{Gh}}{h{Gh}}}Gb}{{{h{Gj}}{h{Gj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000``{FhFh}`{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}{{{h{b}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{j}}{h{dHb}}}Hf}{{{h{E`}}{h{dHb}}}Hf}{{{h{Eb}}{h{dHb}}}Hf}{{{h{Ed}}{h{dHb}}}Hf}{{{h{Ef}}{h{dHb}}}Hf}{{{h{{Gd{c}}}}{h{dHb}}}HfHh}{{{h{{Gd{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHj}{{{h{{Hl{c}}}}{h{dHb}}}HfHh}{{{h{f}}{h{dHb}}}Hf}{{{h{Cd}}{h{dHb}}}Hf}{{{h{Fj}}{h{dHb}}}Hf}0{{{h{Gh}}{h{dHb}}}Hf}0{{{h{Gj}}{h{dHb}}}Hf}{{{h{Hn}}{h{dHb}}}Hf}0`{cc{}}000000{{{Ib{ClI`}}}Ef}{IdEf}{I`Ef}3{{{If{Cl}}}Ef}{Gj{{Gd{c}}}{}}555{{{Ih{j}}}Cd}{IjCd}77{GjGh}888{{{h{En}}}{{Il{Ef}}}}{{EjIn}Ej}{{FhIn}Fh}{{{h{f}}E`{Fl{J`}}Gb}{{Bf{JbJd}}}}{{{h{f}}j}{{A`{Jf}}}}{{{h{f}}D`}{{Fl{{Jh{{A`{Bl}}Cl}}}}}}{{{h{f}}Jj}{{Fl{E`}}}}`{{{h{j}}{h{dc}}}AbJl}{{{h{E`}}{h{dc}}}AbJl}```{{{h{df}}Bh}{{Bf{GbJn}}}}{{{h{df}}Bl}Gb}{{{h{df}}JjK`}Ab}{ce{}{}}000000000000000{{{h{Kb}}{h{Kd}}}Gb}{{{h{Ef}}}Gb}{{{h{f}}Af}Gb}```{{{h{f}}}{{`{{Aj{}{{Ad{{C`{j{h{Kf}}}}}}}}}}}}{{EjjKh}Ej}{{FhjKh}Fh}``{{{h{f}}}Kj}{{{h{f}}}{{`{{Aj{}{{Ad{E`}}}}}}}}0{{{h{f}}j}{{`{{Kl{}{{Ad{Fj}}}}}}}}{{{h{dFb}}c}{{Bf{{Fl{f}}e}}}{}{}}{{}Fh}{{{h{dEn}}c}{{Bf{{Fl{f}}e}}}{}{}}{{{h{d{F`{Ef}}}}c}{{Bf{{Fl{f}}e}}}{}{}}{{Fh{h{dc}}}{{Bf{{Fl{Fd}}}}}{}}0{{FhEf}{{Bf{{Fl{f}}Gh}}}}{{EfFh}{{Bf{{Fl{f}}Gh}}}}{{{h{f}}}{{h{Kn}}}}`{{EjBb}Ej}{{FhBb}Fh}{{{h{df}}jBb}Gb}{{{h{dEf}}Ef}Ab}`{{EjL`}Ej}{{FhL`}Fh}{{{h{f}}}L`}`{{cc}EjEl}>{cEjEl}{{{h{f}}j}Bb}{{{h{df}}j}Fj}{{{h{Ed}}}Jj}`{{{h{j}}{h{j}}}{{Fl{Eh}}}}{{{h{f}}jBb}Fj}{{{h{dEn}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{d{F`{Ef}}}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{dFb}}{h{c}}}{{Bf{Abe}}}{}{}}{{{h{Ef}}{h{En}}}{{Il{Ab}}}}{{{h{f}}j}{{Bf{{Fl{Lb}}Ff}}}}`{{{h{f}}j}{{h{Kf}}}}{{{h{df}}jBb}{{`{{Aj{}{{Ad{Fj}}}}}}}}:```{{{h{f}}}{{h{{Lf{Ld}}}}}}{{{h{f}}{h{Bl}}}{{C`{DhDh}}}}{{{h{Ed}}}{{Fl{Lh}}}}``{{{h{b}}c}BfLj}{{{h{j}}c}BfLj}{{{h{E`}}c}BfLj}{{{h{Ef}}c}BfLj}{{{h{df}}jKh}Ab}{{{h{df}}c}Ab{{Cb{}{{Ad{{C`{jKh}}}}}}}}{{{h{f}}{h{dGl}}Gn}{{Bf{GbH`}}}}```{{{h{f}}}{{h{{Ll{j}}}}}}{{{h{df}}}{{h{dc}}}{}}{{{h{f}}}{{Fl{{h{Ef}}}}}}{{{h{f}}}{{Ln{j}}}}{{{h{f}}}M`}{{{h{df}}}{{Fl{Ef}}}}``{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}00000{{{h{b}}}Dh}{{{h{f}}}{{`{{Aj{}{{Ad{{Jh{{A`{Bl}}Cl}}}}}}}}}}``1`{c{{Bf{e}}}{}{}}0000000000000000000000000000000`{{{h{f}}}{{h{{Cn{Cl}}}}}}`{{{h{Ed}}}{{h{K`}}}}`{{{h{c}}}Mb{}}000000000000000{{{h{f}}j}{{`{{Aj{}{{Ad{{Ah{Af}}}}}}Al}}}}{{{h{f}}}{{`{{Aj{}{{Ad{{Md{{A`{Bl}}Cl}}}}}}}}}}{{{h{df}}jBb}Gb}``{{}{{h{Mf}}}}{ce{}{}}000000000000000{{c{Fl{c}}L`{h{{Lf{Ld}}}}}{{Bf{FnFf}}}El}`````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000{{{h{dc}}}{{h{de}}}{}{}}00000{{{h{Mh}}}Mh}{{{h{Mj}}}Mj}{{{h{Ml}}}Ml}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{Mn}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mh}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Mj}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{{h{Ml}}{N`{Eb}}{N`{Eb}}DlBn{h{Kd}}}{{Bf{NbNd}}}}{{BnDl{h{Kd}}}Nf}{{}Mh}{{}Mj}{{}Ml}``{{{h{Nd}}{h{dHb}}}Hf}0{{{h{Nf}}{h{dHb}}}Hf}{{{h{Nb}}{h{dHb}}}Hf}{{{h{Mh}}{h{dHb}}}Hf}{{{h{Mj}}{h{dHb}}}Hf}{{{h{Ml}}{h{dHb}}}Hf}{cc{}}00000{ce{}{}}00000{{{h{Nb}}}Bn}{BnMl}`1{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}00000000000{{{h{c}}}Mb{}}00000666666`````````````````````````````````````````````{{{h{{Nh{c}}}}L`}{{Bf{NjNl}}}{NnO`}}{{}Ob}0{{{h{{Od{ce}}}}}{{h{{Of{ce}}}}}NnOh}{{{h{{h{{Od{ce}}}}}}}{{Oj{{h{{Od{ce}}}}}}}NnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{c}}}{{h{e}}}{}{}}000{{{h{dc}}}{{h{de}}}{}{}}000{{{h{{Od{ce}}}}}{{N`{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}0`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Od{cAB`}}}}}{{Bf{AbA@j}}}Nn}2022102102{{{h{c}}}{{Bf{AbA@j}}}Nn}00{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Of{cAAn}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{cAB`}}}}}{{Bf{AbA@j}}}Nn}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}00`{{{h{{Nh{c}}}}}{{Nh{c}}}{AlNn}}{{{h{AAn}}}AAn}{{{h{AB`}}}AB`}{{{h{{Od{ce}}}}}{{Od{ce}}}{AlNn}{AlOh}}{{{h{c}}{h{de}}}Ab{}{}}000{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Eh{ABbNn}}{{{h{AAn}}{h{AAn}}}Eh}{{{h{AB`}}{h{AB`}}}Eh}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}EhNnOh}{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{Ol}}}}Bb}{{Bf{{Nh{On}}A@`}}}}{{{h{{Nh{On}}}}{h{{Lf{c}}}}}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}Bb}{{Bf{{Nh{ABd}}A@`}}}ABf}{{{h{{Nh{c}}}}}ABhNn}{{{h{{Nh{Ol}}}}}ABj}{c{{Bf{{Nh{e}}}}}G`ABl}{c{{Bf{{Od{eg}}}}}G`ABlOh}{{{h{{Nh{Ol}}}}}Bn}{{{h{{Od{ce}}}}}Af{O`Nn}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}Gb{GfNn}}{{{h{AAn}}{h{AAn}}}Gb}{{{h{AB`}}{h{AB`}}}Gb}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}GbNnOh}{{{h{c}}{h{e}}}Gb{}{}}0000000`{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}`{{{h{{Od{ce}}}}{h{ABn}}}{{Bf{AbAC`}}}NnOh}{{{h{ACb}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Nh{Ol}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}}{{{h{{Od{Olc}}}}{h{Jf}}ACd{h{{Lf{Ld}}}}}{{Bf{{Fl{Lb}}Ff}}}Oh}{{{h{{Nh{Ol}}}}{h{{Lf{c}}}}{h{Kd}}{ACf{Bb}}}{{Bf{{Fl{{C`{Bb{Nh{ABd}}}}}}A@`}}}ABf}{{{h{{Nh{c}}}}{h{dHb}}}{{Bf{AbHd}}}Nn}0{{{h{AAn}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AB`}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{Od{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{{Nh{c}}}}e}GbNn{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{h{{Od{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{{{ACl{c}}}{{Nh{c}}}Nn}{cc{}}{{{ACn{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}{{{ADb{c}}}{{Nh{c}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}{{{ADf{c}}}{{Nh{c}}}Nn}555{{{Of{ce}}}{{Bf{{Od{ce}}Nl}}}NnOh}{{{Of{ce}}ADhADj}{{Od{ce}}}NnOh}{{{h{Mf}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{Mf}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{Mf}}{h{ABn}}}{{Bf{{Od{ce}}Nl}}}ABlOh}1{{{h{ADl}}}{{Bf{{Nh{c}}Nl}}}ABl}{{{h{ADl}}}{{Bf{{Od{ce}}Nl}}}ABlOh}{{{h{{Od{ce}}}}ADn}{{Fl{{h{{Od{ce}}}}}}}NnOh}{{{h{{Od{ce}}}}ADn}{{Fl{c}}}NnOh}{{{h{{Nh{c}}}}e}{{Bf{{C`{{N`{{N`{Ch}}}}Af}}Nl}}}{NnO`}{{AE`{c}}}}0{{{h{{Od{ce}}}}}GbNnOh}0{{{h{{Nh{Ol}}}}}Gb}{{{h{{Nh{c}}}}{h{de}}}Ab{AEbNn}Jl}{{{h{AAn}}{h{dc}}}AbJl}{{{h{AB`}}{h{dc}}}AbJl}{{{h{{Od{ce}}}}{h{dg}}}AbNnOhJl}{ce{}{}}000{{{Od{ce}}}{{Of{ce}}}NnOh}{{{Nh{Ol}}}{{Bf{{N`{{Nh{Ol}}}}Nl}}}}{{El{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{Kf{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}99:{{{h{{Od{ce}}}}}{{AEd{ce}}}NnOh}{{{h{{Od{ce}}}}}{{AEf{ce}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{{AEh{c}}Nl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{{h{{Od{ce}}}}}{{Bf{AbAEj}}}NnOh}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Od{cAAn}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{cAB`}}}}}{{Fl{ADn}}}Nn}{{{h{{Od{ce}}}}}{{Bf{ADnNl}}}NnOh}{{{h{{Nh{c}}}}}{{Bf{ADnNl}}}Nn}1{{{h{{Nh{c}}}}}{{Bf{AElNl}}}Nn}{{}{{h{Mf}}}}00{{{Od{cAEn}}}{{Bf{{Nh{c}}Nl}}}Nn}{c{{Nh{c}}}Nn}{c{{Bf{{Nh{c}}Nl}}}Nn}{{{Od{cAAn}}}{{Bf{{Nh{c}}Nl}}}Nn}{{ADn{N`{c}}}{{Bf{{Nh{c}}Nl}}}Nn}{{{ADd{c}}}{{Nh{c}}}Nn}{{{AD`{c}}}{{Nh{c}}}Nn}4{{{Od{cAB`}}}{{Bf{{Nh{c}}Nl}}}Nn}3{{c{Fl{{AF`{c}}}}}{{Bf{{Nh{c}}Nl}}}Nn}614`{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{Kd}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Lf{c}}}}{h{Mf}}}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Nl}}}AFd}1{{{h{Kd}}{h{ABn}}}{{Bf{{Od{c}}Nl}}}Oh}{{{h{{Nh{c}}}}{h{{Nh{c}}}}}{{Fl{Eh}}}{AFfNn}}{{{h{AAn}}{h{AAn}}}{{Fl{Eh}}}}{{{h{AB`}}{h{AB`}}}{{Fl{Eh}}}}{{{h{{Od{ce}}}}{h{{Od{ce}}}}}{{Fl{Eh}}}NnOh}{{{h{c}}}ADnNn}00{{{Nh{On}}{h{c}}}{{Bf{AFh{Nh{On}}}}}{{A@f{On}}}}0`{{{h{{Od{ce}}}}}GbNnOh}{{{h{{Nh{c}}}}}{{Bf{AbNl}}}Nn}{{{h{{Od{ce}}}}}{{Bf{AbAC`}}}NnOh}{{{h{{Nh{c}}}}{h{dAFj}}e}{{Bf{AbNl}}}{NnO`}{{AE`{c}}}}{{{h{{Od{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}0{{{h{{Nh{c}}}}}{{Bf{AfNl}}}{NnO`}}{{{h{{Nh{c}}}}}Af{NnO`}}{{{h{{Od{ce}}}}}ADnNnOh}{{{h{{Nh{c}}}}e}BfNnLj}{{{h{{Od{ce}}}}g}BfNnOhLj}{{}AFl}00{{{h{{Od{ce}}}}{h{{An{AAjc}}}}}{{Od{ce}}}NnOh}`{{{h{c}}}e{}{}}000{{{h{c}}}Fn{}}0{{{h{{Nh{Ol}}}}{h{{An{OlAFb}}}}}Fn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{Nh{c}}}}{h{di}}}{{Bf{{AFn{g}}}}}NnNn{}{{AG`{ceg}}}}{{{h{{Od{ce}}}}{h{dk}}}{{Bf{{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}0000000`{{{h{c}}}Mb{}}000={ce{}{}}000{{{h{{Od{ce}}}}}GbNnOh}{{{h{Mf}}}{{Bf{FnFf}}}}``````````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{Ff}}{h{Ff}}}Gb}{{{h{Ff}}{h{dHb}}}Hf}0{AGbFf}{AGdFf}{AGfFf}{AGhFf}{cc{}}{AGjFf}{AGlFf}{NlFf}>{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0{{{h{c}}}Mb{}}{ce{}{}}```````````````````````````````````???????>>>>>>>{{{h{AGn}}}AGn}{{{h{AH`}}}AH`}{{{h{AHb}}}AHb}{{{h{Lb}}}Lb}{{{h{AHd}}}AHd}{{{h{ACd}}}ACd}{{{h{c}}{h{de}}}Ab{}{}}00000``{{}AHd}{{{h{AGn}}{h{AGn}}}Gb}{{{h{AH`}}{h{AH`}}}Gb}{{{h{AHb}}{h{AHb}}}Gb}{{{h{Lb}}{h{Lb}}}Gb}{{{h{AHd}}{h{AHd}}}Gb}{{{h{AGb}}{h{AGb}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}00000000000{{{h{AGn}}{h{dHb}}}Hf}{{{h{AH`}}{h{dHb}}}Hf}{{{h{AHb}}{h{dHb}}}Hf}{{{h{Lb}}{h{dHb}}}Hf}{{{h{AHd}}{h{dHb}}}Hf}{{{h{AGb}}{h{dHb}}}Hf}0{{{h{ACd}}{h{dHb}}}Hf}{cc{}}0{GbAHb}11{AH`Lb}222{{{h{Lb}}{h{{An{Fn{N`{ADn}}}}}}}{{Bf{AHdAGb}}}}{{{h{AGn}}{h{dc}}}AbJl}{{{h{AHd}}{h{dc}}}AbJl}{{{h{AH`}}}Fn}`{ce{}{}}000000{{{h{AH`}}}Gb}{{{h{AHb}}}Gb}{{{h{AHd}}}Gb}`{{{h{AHd}}{h{AHd}}}{{Fl{Eh}}}}{{{h{Lb}}}Gb}`{{{h{AGn}}c}BfLj}{{{h{AH`}}c}BfLj}{{{h{AHb}}c}BfLj}{{{h{Lb}}c}BfLj}{{{h{AHd}}c}BfLj}`{{{h{c}}}e{}{}}00000{{{h{c}}}Fn{}}{c{{Bf{e}}}{}{}}0000000000000{{{h{c}}}Mb{}}000000>>>>>>>``````````````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00000000000{{{h{dc}}}{{h{de}}}{}{}}00000000000{{AHfL`}{{Bf{AHhFf}}}}{{{AHj{c}}L`}{{Bf{AHhFf}}}{{AHl{AAn}}}}{{{AHn{c}}L`}{{Bf{AHhFf}}}{{AHl{AB`}}}}{{{AI`{c}}L`}{{Bf{AHhFf}}}{{AHl{AB`}}}}{{{AIb{c}}L`}{{Bf{AHhFf}}}{{AHl{AId}}}}{{{AIf{c}}L`}{{Bf{AHhFf}}}{{AIh{AAn}}}}{{{AIj{c}}L`}{{Bf{AHhFf}}}{{AIh{AAn}}}}{{{AIl{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AIn{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJ`{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJb{c}}L`}{{Bf{AHhFf}}}{{AIh{AB`}}}}{{{AJd{c}}L`}{{Bf{AHhFf}}}{{AIh{AId}}}}{{{AJf{c}}L`}{{Bf{AHhFf}}}{{AIh{AId}}}}{{{h{{AHj{c}}}}}{{AHj{c}}}{Al{AHl{AAn}}}}{{{h{{AHn{c}}}}}{{AHn{c}}}{Al{AHl{AB`}}}}{{{h{{AI`{c}}}}}{{AI`{c}}}{Al{AHl{AB`}}}}{{{h{{AIb{c}}}}}{{AIb{c}}}{Al{AHl{AId}}}}{{{h{{AIf{c}}}}}{{AIf{c}}}{Al{AIh{AAn}}}}{{{h{{AIj{c}}}}}{{AIj{c}}}{Al{AIh{AAn}}}}{{{h{{AIl{c}}}}}{{AIl{c}}}{Al{AIh{AB`}}}}{{{h{{AIn{c}}}}}{{AIn{c}}}{Al{AIh{AB`}}}}{{{h{{AJ`{c}}}}}{{AJ`{c}}}{Al{AIh{AB`}}}}{{{h{{AJb{c}}}}}{{AJb{c}}}{Al{AIh{AB`}}}}{{{h{{AJd{c}}}}}{{AJd{c}}}{Al{AIh{AId}}}}{{{h{{AJf{c}}}}}{{AJf{c}}}{Al{AIh{AId}}}}{{{h{c}}{h{de}}}Ab{}{}}00000000000{{{h{{AHj{c}}}}{h{dHb}}}Hf{Hh{AHl{AAn}}}}{{{h{{AHn{c}}}}{h{dHb}}}Hf{Hh{AHl{AB`}}}}{{{h{{AI`{c}}}}{h{dHb}}}Hf{Hh{AHl{AB`}}}}{{{h{{AIb{c}}}}{h{dHb}}}Hf{Hh{AHl{AId}}}}{{{h{{AIf{c}}}}{h{dHb}}}Hf{Hh{AIh{AAn}}}}{{{h{{AIj{c}}}}{h{dHb}}}Hf{Hh{AIh{AAn}}}}{{{h{{AIl{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AIn{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJ`{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJb{c}}}}{h{dHb}}}Hf{Hh{AIh{AB`}}}}{{{h{{AJd{c}}}}{h{dHb}}}Hf{Hh{AIh{AId}}}}{{{h{{AJf{c}}}}{h{dHb}}}Hf{Hh{AIh{AId}}}}{cc{}}00000000000{ce{}{}}00000000000{{AHh{h{{Lf{Ld}}}}L`}{{Bf{{C`{KfKh}}Ff}}}}{{c{h{{Lf{Ld}}}}L`}{{Bf{{C`{{Nh{Ol}}{An{OlAFb}}}}Ff}}}{}}00000000000{{{h{c}}}e{}{}}00000000000{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000555555555555``````````````````````````````{{{h{c}}}{{h{e}}}{}{}}00{{{h{dc}}}{{h{de}}}{}{}}00{{{h{AJh}}}AJh}{{{h{c}}{h{de}}}Ab{}{}}{{{h{AJh}}{h{dHb}}}Hf}0{{{h{Jd}}{h{dHb}}}Hf}0{{{h{Df}}{h{dHb}}}Hf}0={AJjJd}{FfJd}{AGbJd}{NdJd}{AJhJd}{cc{}}0{ce{}{}}00{{{h{c}}}e{}{}}{{{h{c}}}Fn{}}00{c{{Bf{e}}}{}{}}00000{{{h{c}}}Mb{}}00444``````````{{{h{c}}}{{h{e}}}{}{}}{{{h{dc}}}{{h{de}}}{}{}}{{{h{AJl}}}{{Fl{Fn}}}}{{{h{AJl}}}Fn}{c{{Bf{AJl}}}G`}{{{h{f}}{h{Mf}}Gb}{{Bf{AJl{h{Mf}}}}}}{{{h{AJl}}{h{dHb}}}Hf}0<{{{h{Mf}}}{{Bf{AJlc}}}{}}<``{{{h{AJl}}c}BfLj};::9=```````````````````````````````````````````{{}AJn}{{}Ob}{{OlBb}{{Bf{OnA@`}}}};;;;;;;;;;;;::::::::::::{{{h{{AK`{ce}}}}{h{g}}}{{A@d{{A@b{c}}}}}{O`Nn}Oh{{A@f{c}}}}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}00000{{{h{c}}}{{Bf{AbA@j}}}Nn}{{{h{{Of{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbA@j}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{h{{Cj{{N`{Ch}}}}}}}{{Bf{AbA@j}}}}{{{h{{AKb{ce}}}}}{{AKb{ce}}}AlOh}{{{h{Ob}}}Ob}{{{h{AKd}}}AKd}{{{h{{AK`{ce}}}}}{{AK`{ce}}}{AlNn}{AlOh}}{{{h{Ol}}}Ol}{{{h{AFb}}}AFb}{{{h{AKf}}}AKf}{{{h{AKh}}}AKh}{{{h{AKj}}}AKj}{{{h{c}}{h{de}}}Ab{}{}}00000000{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}Eh{ABbNn}{ABbOh}}{{{h{Ol}}{h{Ol}}}Eh}{{{h{AKf}}{h{AKf}}}Eh}{{{h{AKj}}{h{AKj}}}Eh}`{{}AKd}{{{h{{AKb{ce}}}}}{{h{g}}}{}Oh{}}{{OlBb}{{Bf{OnA@`}}}}{c{{Bf{Ol}}}G`}{{{h{{AK`{ce}}}}}Af{O`Nn}Oh}{{{h{Ob}}{h{Ob}}}Gb}{{{h{AGf}}{h{AGf}}}Gb}{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}Gb{GfNn}{GfOh}}{{{h{Ol}}{h{Ol}}}Gb}{{{h{AFb}}{h{AFb}}}Gb}{{{h{AKf}}{h{AKf}}}Gb}{{{h{AKh}}{h{AKh}}}Gb}{{{h{AKj}}{h{AKj}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000000000{{{h{{AKl{c}}}}{h{dHb}}}Hf{HhOh}}{{{h{Ob}}{h{dHb}}}Hf}{{{h{AKd}}{h{dHb}}}Hf}{{{h{AGf}}{h{dHb}}}Hf}0{{{h{{AK`{ce}}}}{h{dHb}}}{{Bf{AbHd}}}NnOh}0{{{h{Ol}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AFb}}{h{dHb}}}{{Bf{AbHd}}}}0{{{h{AKf}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKh}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{AKj}}{h{dHb}}}{{Bf{AbHd}}}}{{{h{{AK`{ce}}}}g}GbNnOh{{ACj{{h{c}}}{{ACh{Gb}}}}}}{cc{}}{AKn{{AL`{c}}}Oh}{ALb{{AL`{c}}}Oh}2222{AGhAGf}3{NlAGf}4{OnOl}55555{{OlAJn}{{AKl{c}}}Oh}{{AFbAJn}{{AKl{c}}}Oh}{{{h{Mf}}}{{Bf{Ol}}}}{{{h{Mf}}}{{Bf{AFb}}}}{{{h{ADl}}}{{Bf{{AK`{ce}}Nl}}}{ALdNn}Oh}{{{h{Ol}}}{{Fl{ALf}}}}{{{h{Ol}}}{{N`{ALf}}}}{c{{Bf{{AKb{{ALn{}{{ALh{e}}{ALj{c}}{ALl{g}}}}i}}g}}}{}{{AM`{{Cj{Ch}}}}AMb}HhOh}{{}{{Bf{{AKb{AMdc}}e}}}Oh{}}{{{h{dc}}}{{Bf{{AKb{AMde}}g}}}{AMfAMh}Oh{}}{{c{h{de}}}{{Bf{{AKb{{ALn{}{{ALh{g}}{ALj{c}}{ALl{i}}}}k}}i}}}{}{AMfAMh}{{AM`{{Cj{Ch}}}}AMb}HhOh}{{ce}{{Bf{{AKb{{ALn{}{{ALh{e}}{ALj{c}}{ALl{g}}}}i}}g}}}{}{{AM`{{Cj{Ch}}}}AMb}HhOh}{c{{Bf{{AKb{AMde}}g}}}{}Oh{}}{{{h{{AL`{c}}}}}GbOh}{{{h{Ol}}}Gb}{{{h{{AK`{ce}}}}{h{dg}}}Ab{AEbNn}{AEbOh}Jl}{{{h{Ol}}{h{dc}}}AbJl}{{{h{AKf}}{h{dc}}}AbJl}{{{h{AKj}}{h{dc}}}AbJl}{ce{}{}}00000000000{OlAMj}{AHl{{Bf{{AKl{c}}AGf}}}Oh}{{AIh{Fl{AMl}}ALf}{{Bf{{AKl{c}}AGf}}}Oh}{{{AKb{ec}}{Fl{AMl}}ALf}{{Bf{{AKl{c}}AGf}}}Oh{{AIh{c}}}}{{{AKb{ec}}}{{Bf{{AKl{c}}AGf}}}Oh{{AHl{c}}}}{{{AKl{c}}}{{Bf{{AKl{c}}AGf}}}Oh}{Ol{{Bf{{AKl{c}}AGf}}}Oh}{AFb{{Bf{{AKl{c}}AGf}}}Oh}{AIh{{Bf{{AL`{c}}AGf}}}Oh}{{{AL`{c}}}{{Bf{{AL`{c}}AGf}}}Oh}{{{AKb{ec}}}{{Bf{{AL`{c}}AGf}}}Oh{{AIh{c}}}}{{{AKb{ce}}}c{}Oh}{Ol{{N`{Ol}}}}{AFb{{N`{AFb}}}}{{{AL`{c}}L`}{{Fl{AKn}}}Oh}{{{AL`{c}}L`{h{{Lf{e}}}}}ALbOhAFd}{{{h{Ol}}}Gb}{{}Gb}{{{h{Ob}}}Gb}2{{{h{AFb}}}Gb}212133{{{h{{AK`{ce}}}}}ADnNnOh}``{{{h{{AK`{ce}}}}}{{Bf{{AEh{c}}Nl}}}NnOh}{{}AJn}{{{h{Ol}}}AMn}{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Fl{ADn}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}44{{{h{AJn}}{h{AJn}}}AJn}5{{}{{h{Mf}}}}{{ADn{N`{c}}}{{Bf{{AK`{ce}}Nl}}}NnOh}{{{h{Ol}}}ADn}``{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}{{{AKl{c}}AJn}{{AKl{c}}}Oh}{{{h{{AK`{ce}}}}{h{{AK`{ce}}}}}{{Fl{Eh}}}{AFfNn}{AFfOh}}{{{h{Ol}}{h{Ol}}}{{Fl{Eh}}}}{{{h{AKf}}{h{AKf}}}{{Fl{Eh}}}}{{{h{AKj}}{h{AKj}}}{{Fl{Eh}}}}{{{h{c}}}ADnNn}{{{h{{AK`{ce}}}}}{{h{{Cj{c}}}}}NnOh}{{{h{{AK`{ce}}}}}{{Bf{AbNl}}}NnOh}{{{h{{AK`{ce}}}}g}{{Bf{{N`{{N`{Ch}}}}Nl}}}{O`Nn}Oh{{AE`{c}}}}{{{h{{AK`{ce}}}}}ADnNnOh}{{{h{Ol}}c}BfLj}{{}AFl}{{{h{{AK`{ce}}}}}{{Of{ce}}}{O`Nn}Oh}{{}AJn}{{{h{c}}}e{}{}}00000000{{{h{AFb}}{h{{Lf{c}}}}}{{Bf{OlAN`}}}AFd}{{{h{c}}}Fn{}}000{{{h{{Od{c{Oh{}{{A@h{e}}}}}}}}}{{Bf{AbNl}}}Nn{{AAl{}{{A@l{A@n}}{AA`{AAb}}{AAd{AAf}}{AAh{AAj}}}}NnNnNnNn}}0{{{h{{AK`{ce}}}}{h{dk}}}{{Bf{{AK`{ge}}{AFn{i}}}}}NnOhNn{}{{AG`{cgi}}}}{c{{Bf{e}}}{}{}}00000000000000000000000{{{h{c}}}Mb{}}00000000000{ce{}{}}00000000000`{{{h{ANb}}}{{Fl{Dh}}}}{{{h{ANb}}}{{Fl{Dl}}}}{{{h{ANb}}ADn}{{Fl{K`}}}}`{{{h{En}}{h{Mf}}{h{{Cj{{h{{Cj{{h{Mf}}}}}}}}}}}{{Bf{AbANd}}}}````````````````````````````````````{{{h{dJf}}ANfl{A`{n}}}{{Fl{{A`{n}}}}}}``{{{h{Jf}}{h{{Lf{Ld}}}}}Kh}`{{{h{c}}}{{h{e}}}{}{}}0000000{{{h{dc}}}{{h{de}}}{}{}}0000000{{Kh{h{{Nh{Ol}}}}{h{{Lf{Ld}}}}}Jf}{{{h{ANf}}}ANf}{{{h{ANh}}}ANh}{{{h{{ANj{c}}}}}{{ANj{c}}}{AlANlHhAl}}{{{h{l}}}l}{{{h{Jf}}}Jf}{{{h{Gn}}}Gn}{{{h{ANn}}}ANn}{{{h{c}}{h{de}}}Ab{}{}}000000{{{h{ANf}}{h{ANf}}}Eh}{{{h{l}}{h{l}}}Eh}{{}l}{{}Jf}{{}Gn}{{}ANn}{{{h{{ANj{c}}}}}{{h{e}}}{ANlHhAl}{}}{{{h{AO`}}}{{Fl{AFb}}}}0{{{h{{ANj{AOb}}}}}{{Fl{AFb}}}}{{{h{{ANj{{AOd{AKn}}}}}}}{{Fl{AFb}}}}{{{h{{ANj{{AOf{AKn}}}}}}}{{Fl{AFb}}}}{{{h{ANf}}{h{ANf}}}Gb}{{{h{ANh}}{h{ANh}}}Gb}{{{h{l}}{h{l}}}Gb}{{{h{ANn}}{h{ANn}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0000000{{{h{Jf}}ANf}{{Fl{{h{{A`{n}}}}}}}}{{{h{ANf}}{h{dHb}}}Hf}{{{h{H`}}{h{dHb}}}Hf}0{{{h{ANh}}{h{dHb}}}Hf}{{{h{{ANj{c}}}}{h{dHb}}}Hf{HhANlHhAl}}{{{h{l}}{h{dHb}}}Hf}{{{h{Jf}}{h{dHb}}}Hf}{{{h{Gn}}{h{dHb}}}Hf}{{{h{ANn}}{h{dHb}}}Hf}{AMnANf}{AAjANf}{cc{}}0000000{{{h{ANf}}{h{dc}}}AbJl}{{{h{AO`}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{{AOd{AKn}}}}}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{AOb}}}}{h{{Lf{Ld}}}}}ANf}{{{h{{ANj{{AOf{AKn}}}}}}{h{{Lf{Ld}}}}}ANf}{{{h{Jf}}}{{N`{{h{ANf}}}}}}{ce{}{}}0000000{{cANh}{{ANj{c}}}{ANlHhAl}}{{}Jf}{{{h{ANf}}{h{ANf}}}{{Fl{Eh}}}}{{{h{l}}{h{l}}}{{Fl{Eh}}}}{{{h{dJf}}ANfl}{{Fl{{A`{n}}}}}}{{{h{AOh}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{{AOf{AKn}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{AOb}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{{ANj{{AOd{AKn}}}}}}{h{dGl}}ADn{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{n}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}}{{{h{c}}{h{dGl}}{h{Gn}}{h{{Lf{Ld}}}}}{{Bf{AbH`}}}{}}`{{{h{Jf}}}{{N`{{h{{A`{n}}}}}}}}`{{{h{c}}}e{}{}}000000{{{h{c}}}Fn{}}``{c{{Bf{e}}}{}{}}000000000000000{{{h{c}}}Mb{}}0000000{ce{}{}}0000000````````````````{{{h{d{Dd{c}}}}{h{e}}}{{h{d{Dd{c}}}}}{}{{AOl{AOj}}}}{{{h{d{Dd{c}}}}JjJbAEl}{{Bf{{h{d{Dd{c}}}}AOn}}}{}}{{{h{d{Dd{c}}}}JjJbAElLh}{{Bf{{h{d{Dd{c}}}}AOn}}}{}}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}AfDh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Jj}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}{h{{Cj{Jj}}}}}{{Bf{{h{d{Dd{c}}}}B@`}}}{}}{{{h{d{Dd{c}}}}Gb}{{h{d{Dd{c}}}}}{}}{{{h{c}}}{{h{e}}}{}{}}0000{{{h{dc}}}{{h{de}}}{}{}}0000{{{h{d{Dd{c}}}}B@b}{{h{d{Dd{c}}}}}{}}{{{h{{Dd{c}}}}}{{Dd{c}}}Al}{{{h{B@d}}}B@d}{{{h{B@b}}}B@b}{{{h{c}}{h{de}}}Ab{}{}}00{{{h{B@b}}{h{B@b}}}Eh}{{{Dd{c}}e}{{Dd{e}}}{}Mn}{{{h{d{Dd{c}}}}Bb}{{h{d{Dd{c}}}}}{}}{{}B@d}{{}B@b}{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Af}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}Lh}{{h{d{Dd{c}}}}}{}}{{{h{B@b}}{h{B@b}}}Gb}{{{h{c}}{h{e}}}Gb{}{}}0{{{h{d{Dd{c}}}}Dh}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}Dl}{{h{d{Dd{c}}}}}{}}{{{Dd{c}}}{{Bf{GlJd}}}Mn}{{{Dd{c}}{h{de}}}{{Bf{GlJd}}}MnAMh}{{{h{{Dd{c}}}}{h{dHb}}}HfHh}{{{h{B@`}}{h{dHb}}}Hf}0{{{h{AOn}}{h{dHb}}}Hf}0{{{h{B@d}}{h{dHb}}}Hf}{{{h{B@b}}{h{dHb}}}Hf}{cc{}}0000{{{h{B@b}}{h{dc}}}AbJl}?{ce{}{}}0000{{{h{d{Dd{c}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@f}{{h{d{Dd{c}}}}}{}}11{{{h{d{Dd{c}}}}B@d}{{h{d{Dd{c}}}}}{}}{{{h{B@b}}{h{B@b}}}{{Fl{Eh}}}}{{{h{d{Dd{c}}}}{An{Fn{N`{ADn}}}}j}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}{N`{{C`{AfDh}}}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}J`}{{h{d{Dd{c}}}}}{}}{{{h{B@d}}{h{dBl}}}Ab}{{{h{B@d}}{h{dBl}}{h{dc}}}AbAMh}{{{h{c}}}e{}{}}00{{{h{c}}}Fn{}}0{c{{Bf{e}}}{}{}}000000000{{{h{c}}}Mb{}}0000{{{h{d{Dd{c}}}}{N`{Jj}}}{{h{d{Dd{c}}}}}{}}{{{h{d{Dd{c}}}}B@h}{{h{d{Dd{c}}}}}{}}?????````","D":"G@f","p":[[5,"Balance",0,1937],[0,"mut"],[5,"Wallet",0,1938],[1,"reference"],[6,"KeychainKind",0,1939],[5,"SignerOrdering",1631,1940],[10,"TransactionSigner",1631,1940],[5,"Arc",1941],[1,"unit"],[17,"Item"],[5,"ScriptBuf",1942],[8,"Indexed",1943],[10,"Iterator",1944],[10,"Clone",1945],[5,"BTreeMap",1946],[5,"Block",1947],[1,"u32"],[5,"CannotConnectError",1948],[6,"Result",1949],[5,"BlockId",1950],[6,"ApplyHeaderError",1948],[5,"Transaction",1951],[1,"u64"],[1,"tuple"],[10,"IntoIterator",1952],[5,"Update",0,1938],[10,"Into",1953],[1,"u8"],[1,"slice"],[5,"ConfirmationBlockTime",1950],[5,"TxGraph",1954],[5,"Txid",1951],[8,"DefaultCoinSelectionAlgorithm",449,1955],[5,"TxBuilder",1818,1956],[6,"BuildFeeBumpError",1209,1957],[5,"Amount",1958],[6,"CalculateFeeError",1954],[5,"FeeRate",1959],[5,"CheckPointIter",1948],[5,"LocalOutput",0,1939],[5,"WeightedUtxo",0,1939],[6,"Utxo",0,1939],[5,"ChangeSet",0,1960],[6,"Ordering",1961],[5,"CreateParams",0,1962],[10,"IntoWalletDescriptor",548],[5,"Transaction",1963],[5,"Store",1964],[5,"Connection",1965],[8,"PersistedWallet",0,1966],[6,"Error",809],[5,"LoadParams",0,1962],[5,"AddressInfo",0,1938],[6,"Option",1967],[5,"String",1968],[10,"Deserializer",1969],[1,"bool"],[6,"LoadWithPersistError",0,1966],[10,"PartialEq",1961],[6,"LoadError",0,1938],[6,"LoadMismatch",0,1938],[5,"Psbt",1970],[5,"SignOptions",1631,1940],[6,"SignerError",1631,1940],[5,"Formatter",1971],[5,"Error",1971],[8,"Result",1971],[10,"Debug",1971],[10,"Display",1971],[6,"CreateWithPersistError",0,1966],[6,"ApplyBlockError",0,1938],[5,"ChangeSet",1972],[5,"ChangeSet",1973],[5,"ChangeSet",1948],[5,"ChangeSet",1954],[5,"FullScanResult",1974],[5,"SyncResult",1974],[8,"Result",1965],[5,"BlockHash",1947],[5,"PsbtSighashType",1975],[5,"Input",1975],[6,"CreateTxError",1209,1957],[5,"SignersContainer",1631,1940],[5,"CanonicalTx",1954],[5,"OutPoint",1951],[10,"Hasher",1976],[5,"AlterCheckPointError",1948],[5,"TxOut",1951],[10,"IsDust",0,1977],[5,"Script",1978],[8,"ExtendedDescriptor",548],[8,"KeyMap",1309,1979],[5,"CheckPoint",1948],[10,"DoubleEndedIterator",1980],[5,"LocalChain",1948],[6,"Network",1981],[5,"Policy",842],[6,"All",1982],[5,"Secp256k1",1983],[5,"Sequence",1951],[10,"Serializer",1984],[5,"KeychainTxOutIndex",1972],[5,"FullScanRequest",1974],[5,"SyncRequest",1974],[5,"TypeId",1985],[5,"TxNode",1954],[1,"str"],[5,"LargestFirstCoinSelection",449,1955],[5,"OldestFirstCoinSelection",449,1955],[5,"BranchAndBoundCoinSelection",449,1955],[10,"CoinSelectionAlgorithm",449,1955],[5,"Vec",1986],[5,"CoinSelectionResult",449,1955],[6,"Error",449,1955],[6,"Excess",449,1955],[6,"Descriptor",548,1979],[5,"Address",1987],[6,"Error",1988],[10,"MiniscriptKey",1988],[10,"ToPublicKey",1988],[6,"ScriptContextEnum",1309],[5,"Miniscript",548,1989],[6,"Terminal",1990],[10,"ScriptContext",1309,1991],[6,"Tree",1992],[6,"DescriptorPublicKey",1309,1993],[5,"DefiniteDescriptorKey",1993],[6,"ConversionError",1993],[6,"Placeholder",1994],[5,"Satisfaction",1994],[10,"AssetProvider",1995],[17,"Key"],[6,"ScriptContextError",1991],[17,"Sha256"],[5,"Hash",1996],[17,"Hash256"],[5,"Hash",1997],[17,"Ripemd160"],[5,"Hash",1998],[17,"Hash160"],[5,"Hash",1999],[10,"ParseableKey",1990],[6,"Legacy",548,1991],[6,"Segwitv0",548,1991],[10,"Ord",1961],[5,"PublicKey",2000],[10,"Verification",2001],[6,"DescriptorType",1979],[5,"DescriptorId",2002],[10,"FromStrKey",2003],[5,"ExtParams",2004],[6,"AnalysisError",2004],[10,"ExtractPolicy",548],[6,"BuildSatisfaction",842],[5,"Range",2005],[17,"Output"],[10,"FnMut",2006],[5,"Pkh",2007],[5,"Sh",2008],[5,"Wsh",2009],[5,"Tr",2010],[5,"Wpkh",2009],[5,"Bare",2007],[5,"Type",2011],[5,"ExtData",2012],[5,"Tree",2013],[1,"usize"],[10,"Satisfier",1994],[10,"Hash",1976],[5,"Iter",2014],[5,"PkIter",2014],[6,"Policy",2015],[6,"LiftError",2016],[5,"Weight",2017],[6,"BareCtx",1991],[6,"TapTree",2010],[6,"DescriptorSecretKey",1309,1993],[10,"Signing",2001],[10,"PartialOrd",1961],[5,"Plan",1995],[5,"TxIn",1951],[6,"SigType",1991],[6,"TranslateErr",1988],[10,"Translator",1988],[6,"PolicyError",842],[6,"ParsePublicKeyError",2000],[6,"KeyError",1309],[6,"Error",2018],[6,"Error",2019],[6,"HexToBytesError",2020],[6,"PkOrF",842],[6,"SatisfiableItem",842],[6,"Satisfaction",842],[5,"Condition",842],[10,"DescriptorTemplate",1025],[8,"DescriptorTemplateOut",1025],[5,"P2Pkh",1025],[10,"IntoDescriptorKey",1309],[5,"P2Wpkh_P2Sh",1025],[5,"P2Wpkh",1025],[5,"P2TR",1025],[6,"Tap",1991],[5,"Bip44",1025],[10,"DerivableKey",1309],[5,"Bip44Public",1025],[5,"Bip49",1025],[5,"Bip49Public",1025],[5,"Bip84",1025],[5,"Bip84Public",1025],[5,"Bip86",1025],[5,"Bip86Public",1025],[6,"MiniscriptPsbtError",1209,1957],[6,"Error",2021],[5,"FullyNodedExport",1286,2022],[8,"ValidNetworks",1309],[5,"SortedMultiVec",1309,2023],[5,"GeneratedKey",1309],[5,"PrivateKeyGenerateOptions",1309],[5,"SinglePub",1309,1993],[5,"SinglePriv",1309,1993],[6,"SinglePubKey",1309,1993],[6,"DescriptorKey",1309],[5,"Xpriv",2018],[6,"ExtendedKey",1309],[5,"Xpub",2018],[10,"FromStr",2024],[5,"DerivationPath",2018],[17,"Entropy"],[17,"Options"],[17,"Error"],[10,"GeneratableKey",1309],[10,"AsMut",1953],[10,"Default",2025],[10,"GeneratableDefaultOptions",1309],[10,"CryptoRng",2026],[10,"RngCore",2026],[5,"Assets",1995],[8,"KeySource",2018],[5,"Fingerprint",2018],[5,"DescriptorKeyParseError",1993],[10,"PsbtUtils",1625],[6,"Error",2027],[6,"SignerId",1631,1940],[6,"SignerContext",1631,1940],[5,"SignerWrapper",1631,1940],[10,"Sized",2028],[6,"TapLeavesOptions",1631,1940],[10,"SignerCommon",1631,1940],[5,"PrivateKey",2000],[5,"DescriptorXKey",1993],[5,"DescriptorMultiXKey",1993],[10,"InputSigner",1631,1940],[5,"PushBytes",2029],[10,"AsRef",1953],[6,"AddForeignUtxoError",1818,1956],[6,"AddUtxoError",1818,1956],[6,"ChangeSpendPolicy",1818,1956],[6,"TxOrdering",1818,1956],[6,"LockTime",2030],[1,"i32"],[15,"InvalidTxid",1933],[15,"UnexpectedConnectedToHash",435],[15,"Network",437],[15,"Genesis",437],[15,"Descriptor",437],[15,"Custom",1935],[15,"Foreign",446],[15,"InsufficientFunds",541],[15,"Change",543],[15,"NoChange",543],[8,"DerivedDescriptor",548],[15,"PsbtTimelocks",1001],[15,"Complete",1004],[15,"Partial",1004],[15,"PartialComplete",1004],[15,"Sha256Preimage",1015],[15,"Hash256Preimage",1015],[15,"Ripemd160Preimage",1015],[15,"Hash160Preimage",1015],[15,"Thresh",1015],[15,"Multisig",1015],[15,"AbsoluteTimelock",1015],[15,"RelativeTimelock",1015],[15,"RbfSequenceCsv",1280],[15,"LockTime",1280],[15,"FeeTooLow",1280],[15,"FeeRateTooLow",1280],[8,"WalletExport",1286],[10,"ExtScriptContext",1309],[15,"Tap",1817]],"r":[[0,1956],[1,1956],[2,1938],[3,1938],[4,1937],[8,1960],[9,1956],[10,1962],[11,1966],[19,548],[24,1977],[25,1939],[26,1938],[27,1938],[28,1962],[29,1966],[31,1939],[41,1966],[43,1940],[44,1956],[45,1956],[49,1938],[50,1939],[53,1938],[54,1939],[127,1938],[178,1938],[179,1938],[313,1943],[328,1938],[329,1938],[337,548],[389,1938],[432,1938],[451,1955],[453,1955],[454,1955],[455,1955],[456,1955],[457,1955],[459,1955],[461,1955],[484,1955],[552,1979],[554,1993],[561,1991],[562,1989],[567,842],[568,1991],[569,1991],[603,808],[1209,1957],[1212,1957],[1220,1957],[1286,2022],[1287,2022],[1312,1993],[1313,1993],[1328,1979],[1338,1991],[1343,1993],[1344,1993],[1345,1993],[1346,2023],[1629,2031],[1630,2031],[1638,1940],[1655,1940],[1656,1940],[1657,1940],[1658,1940],[1659,1940],[1660,1940],[1661,1940],[1662,1940],[1664,1940],[1665,1940],[1818,1956],[1819,1956],[1822,1956],[1829,1956],[1830,1956]],"b":[[130,"impl-Wallet"],[131,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[132,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[133,"impl-PersistWith%3CConnection%3E-for-Wallet"],[183,"impl-Display-for-Balance"],[184,"impl-Debug-for-Balance"],[190,"impl-Debug-for-LoadWithPersistError%3CE%3E"],[191,"impl-Display-for-LoadWithPersistError%3CE%3E"],[192,"impl-Display-for-CreateWithPersistError%3CE%3E"],[193,"impl-Debug-for-CreateWithPersistError%3CE%3E"],[196,"impl-Debug-for-AddressInfo"],[197,"impl-Display-for-AddressInfo"],[198,"impl-Display-for-LoadError"],[199,"impl-Debug-for-LoadError"],[201,"impl-Debug-for-ApplyBlockError"],[202,"impl-Display-for-ApplyBlockError"],[211,"impl-From%3CChangeSet%3CConfirmationBlockTime,+ChangeSet%3E%3E-for-ChangeSet"],[212,"impl-From%3CChangeSet%3E-for-ChangeSet"],[213,"impl-From%3CChangeSet%3E-for-ChangeSet"],[215,"impl-From%3CChangeSet%3CConfirmationBlockTime%3E%3E-for-ChangeSet"],[220,"impl-From%3CFullScanResult%3CKeychainKind%3E%3E-for-Update"],[221,"impl-From%3CSyncResult%3E-for-Update"],[275,"impl-PersistWith%3CConnection%3E-for-Wallet"],[276,"impl-Wallet"],[277,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[278,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[303,"impl-PersistWith%3CTransaction%3C\'c%3E%3E-for-Wallet"],[304,"impl-PersistWith%3CStore%3CChangeSet%3E%3E-for-Wallet"],[305,"impl-PersistWith%3CConnection%3E-for-Wallet"],[331,"impl-Staged-for-Wallet"],[332,"impl-Wallet"],[490,"impl-Display-for-Error"],[491,"impl-Debug-for-Error"],[641,"impl-Descriptor%3CDefiniteDescriptorKey%3E"],[642,"impl-Descriptor%3CDescriptorPublicKey%3E"],[669,"impl-Debug-for-Descriptor%3CPk%3E"],[670,"impl-Display-for-Descriptor%3CPk%3E"],[673,"impl-Debug-for-Miniscript%3CPk,+Ctx%3E"],[674,"impl-Display-for-Miniscript%3CPk,+Ctx%3E"],[677,"impl-From%3CPkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[679,"impl-From%3CSh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[680,"impl-From%3CWsh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[681,"impl-From%3CTr%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[682,"impl-From%3CWpkh%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[683,"impl-From%3CBare%3CPk%3E%3E-for-Descriptor%3CPk%3E"],[826,"impl-Debug-for-Error"],[827,"impl-Display-for-Error"],[828,"impl-From%3CPolicyError%3E-for-Error"],[829,"impl-From%3CParsePublicKeyError%3E-for-Error"],[830,"impl-From%3CKeyError%3E-for-Error"],[831,"impl-From%3CError%3E-for-Error"],[833,"impl-From%3CError%3E-for-Error"],[834,"impl-From%3CHexToBytesError%3E-for-Error"],[835,"impl-From%3CError%3E-for-Error"],[929,"impl-Display-for-PolicyError"],[930,"impl-Debug-for-PolicyError"],[1247,"impl-Display-for-MiniscriptPsbtError"],[1248,"impl-Debug-for-MiniscriptPsbtError"],[1249,"impl-Debug-for-CreateTxError"],[1250,"impl-Display-for-CreateTxError"],[1251,"impl-Debug-for-BuildFeeBumpError"],[1252,"impl-Display-for-BuildFeeBumpError"],[1254,"impl-From%3CError%3E-for-CreateTxError"],[1255,"impl-From%3CError%3E-for-CreateTxError"],[1256,"impl-From%3CPolicyError%3E-for-CreateTxError"],[1257,"impl-From%3CError%3E-for-CreateTxError"],[1258,"impl-From%3CMiniscriptPsbtError%3E-for-CreateTxError"],[1296,"impl-Display-for-FullyNodedExport"],[1297,"impl-Debug-for-FullyNodedExport"],[1442,"impl-Display-for-KeyError"],[1443,"impl-Debug-for-KeyError"],[1444,"impl-Display-for-SortedMultiVec%3CPk,+Ctx%3E"],[1445,"impl-Debug-for-SortedMultiVec%3CPk,+Ctx%3E"],[1446,"impl-Display-for-DescriptorPublicKey"],[1447,"impl-Debug-for-DescriptorPublicKey"],[1448,"impl-Debug-for-DescriptorSecretKey"],[1449,"impl-Display-for-DescriptorSecretKey"],[1455,"impl-From%3CXpriv%3E-for-ExtendedKey%3CCtx%3E"],[1456,"impl-From%3CXpub%3E-for-ExtendedKey%3CCtx%3E"],[1461,"impl-From%3CError%3E-for-KeyError"],[1463,"impl-From%3CError%3E-for-KeyError"],[1505,"impl-DerivableKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1506,"impl-IntoDescriptorKey%3CCtx%3E-for-GeneratedKey%3CK,+Ctx%3E"],[1712,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1713,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1714,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1729,"impl-Debug-for-SignerError"],[1730,"impl-Display-for-SignerError"],[1737,"impl-From%3CFingerprint%3E-for-SignerId"],[1738,"impl-From%3CHash%3E-for-SignerId"],[1749,"impl-SignerCommon-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1750,"impl-SignerCommon-for-SignerWrapper%3CPrivateKey%3E"],[1751,"impl-SignerCommon-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1767,"impl-InputSigner-for-SignerWrapper%3CDescriptorMultiXKey%3CXpriv%3E%3E"],[1768,"impl-InputSigner-for-SignerWrapper%3CPrivateKey%3E"],[1769,"impl-InputSigner-for-SignerWrapper%3CDescriptorXKey%3CXpriv%3E%3E"],[1877,"impl-Debug-for-AddUtxoError"],[1878,"impl-Display-for-AddUtxoError"],[1879,"impl-Debug-for-AddForeignUtxoError"],[1880,"impl-Display-for-AddForeignUtxoError"]],"c":"OjAAAAEAAAAAAAUAEAAAAIECywLXAggFhwXvBQ==","e":"OzAAAAEAAA4EhAAUAAAAOAAAAEMAAQBHACAAbQAAAHEADgCEAAIAjAAEAJkAGQC2AAAAuAATANQAAgDYAAEA3QABAOEAAADtAAEABgEAABQBAAAWAQEAIgEAAC4BAAAwAQIAOQEAAD8BBQBKAQAATAEAAFIBDQBmAR8AiwEPAKEBDwDPAREA4gECAOYBAgDrAQYAAgIbACoCAAA4AgAATAIBAE8CAABRAgcAXAIAAF4CAQBhAgAAZAIBAGcCAQBrAgEAbgIBAHECAQB0AgsAhQIDAIoCCwCbAgEAngIIAKgCBACyAgAAvwIDAMoCAADQAgEA1AIBANsCAQDxAgMA9gIBAAQDAQAHAwEACwMFABYDBwAfAwMAJAMDADgDCABCAwIARgMEAG4DGQCKAxoApwMAAKoDAACvAwEAvgMAAMEDBADHAyIAEAQXACkELwBxBEgA2AQNAOcEBADxBA8ACwUBAA8FAAARBQEAFAUAABgFBQBMBRcAbgUVAIUFAQCIBQAAigUkALAFAQC2BQAAuAUAALoFAADCBQEAzwUDAN8FAADiBQQA6AUBAPgFAQD9BQAABwYAAAwGAwAVBgAAGQYIACMGAwAqBi8AiQYPAJoGFACxBg4AwQYKANQGAADWBgIA5AYBAOgGAgDsBgAA8AYHAPoGHwAzBwkAPgcGAEcHAQBOBwIAVQcGAGEHAABtBwAAcwcTAIkHBAA="}],\ ["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_chain/bdk_chain-desc-0-.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js index 4ace40f39a..6430ecae25 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/search.desc/bdk_chain/bdk_chain-desc-0-.js @@ -1 +1 @@ -searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn Anchor that can be constructed from a given block, …\nMaximum BIP32 derivation index.\nBalance, differentiated into various categories.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nType for staged changes.\nAn Anchor implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nThe chain data is seen as confirmed, and in anchored by A.\nThe transaction is confirmed\nError type of PersistWith::create.\nError type of PersistAsyncWith::create.\nParameters for PersistWith::create.\nParameters for PersistAsyncWith::create.\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA TxOut with as much data as we can retrieve about it\nA wrapper that we use to impl remote traits for types in …\nA tuple of keychain index and T representing the indexed …\nA tuple of keychain K, derivation index (u32) and a T …\nError type of PersistWith::load.\nError type of PersistAsyncWith::load.\nParameters for PersistWith::load.\nParameters for PersistAsyncWith::load.\nTrait that makes an object mergeable.\nTrait that persists the type with an async Db.\nError type of PersistWith::persist.\nError type of PersistAsyncWith::persist.\nTrait that persists the type with Db.\nRepresents a persisted T.\nAn iterator for derived script pubkeys.\nRepresents a type that contains staged changes.\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nReturns the BlockId that the associated blockchain data is …\nReturns a reference to the inner hash (sha256, sh256d …\nThe anchor block.\nThe position of the transaction in outpoint in the overall …\nMaps a ChainPosition<&A> into a ChainPosition<A> by …\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nConfirmed and immediately spendable balance\nInitialize the Db and create Self.\nInitialize the Db and create Self.\nCreate a new persisted T.\nCreate a new persisted T with async Db.\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given block, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nAll coinbase outputs not yet matured\nContains the IndexedTxGraph and associated types. Refer to …\nIndexer provides utilities for indexing transaction data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nDetermines whether block of BlockId exists as an ancestor …\nReturns whether ChainPosition is confirmed or not.\nReturns whether ConfirmationTime is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain tip.\nReturns whether the structure is considered empty.\nWhether the txout is considered mature.\nWhether this output is on a coinbase transaction.\nInitialize the Db and load a previously-persisted Self.\nInitialize the Db and load a previously-persisted Self.\nConstruct a persisted T from Db.\nConstruct a persisted T from an async Db.\nThe LocalChain is a local implementation of ChainOracle.\nMerge another object of the same type onto self.\nCreate a new script pubkey iterator from descriptor.\nCreate a new script pubkey iterator from descriptor and a …\nThe location of the TxOut.\nPersist changes to the Db.\nPersist changes to the Db.\nPersist staged changes of T into Db.\nPersist staged changes of T into an async Db.\nModule for stuff\nThe txid and chain position of the transaction (if any) …\nHelper types for spk-based blockchain clients.\nGet mutable reference of staged changes.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nGet the whole balance visible to the wallet.\nConvert an iterator of Results into FallibleIterator by …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nModule for structures that store and traverse transactions.\nThe TxOut.\nConstruct an unconfirmed variant using the given last_seen …\nUnconfirmed UTXOs received from an external wallet\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an IndexedTxGraph.\nThe IndexedTxGraph combines a TxGraph and an Indexer …\nBatch insert all transactions of the given block of height.\nBatch insert all transactions of the given block of height…\nApplies the ChangeSet to the IndexedTxGraph.\nApply an update directly.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\nTransaction index.\nIndexer changeset.\nDetermines the ChangeSet between self and an empty …\nInsert an anchor for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating txout of given outpoint.\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new IndexedTxGraph with a given index.\nTxGraph changeset.\nThe resultant “changeset” when new transaction data is …\nUtilities for indexing transaction data.\nApply changeset to itself.\nScans a transaction for relevant outpoints, which are …\nScan and index the given outpoint and txout.\nDetermines the ChangeSet between self and an empty Indexer.\nDetermines whether the transaction should be included in …\nKeychainTxOutIndex controls how script pubkeys are …\nSpkTxOutIndex is an index storing TxOuts that have a …\nRepresents updates to the derivation index of a …\nThe default lookahead for a KeychainTxOutIndex\nThe descriptor has already been assigned to a keychain so …\nError returned from KeychainTxOutIndex::insert_descriptor\nThe keychain is already assigned to a descriptor so you can…\nKeychainTxOutIndex controls how script pubkeys are …\nName for table that stores last revealed indices per …\nSchema name for the changeset.\nGet unbounded spk iterators for all keychains.\nApplies the ChangeSet<K> to the KeychainTxOutIndex<K>\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct KeychainTxOutIndex from sqlite database and …\nGets the descriptor associated with the keychain. Returns …\nReturns the keychain and keychain index associated with …\nReturn a reference to the internal SpkTxOutIndex.\nInsert a descriptor with a keychain associated to it.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the changeset are empty.\nReturns whether the spk under the keychain’s index has …\nIterate over all OutPoints that have TxOuts with script …\nIterate over OutPoints that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for keychain. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the keychain where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until target_index (inclusive).\nMarks the script pubkey at index as used even though the …\nMerge another ChangeSet into self.\nComputes the net value that this transaction gives to the …\nConstruct a KeychainTxOutIndex with the given lookahead.\nGet the next derivation index for keychain. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nPersist changeset to the sqlite database.\nAttempts to reveal the next script pubkey for keychain.\nReveals script pubkeys of the keychain’s descriptor up …\nConvenience method to call Self::reveal_to_target on …\nIterate over revealed spks of the given keychain with …\nIterate over revealed spks of keychains in range\nComputes the total value transfer effect tx has on the …\nReturn the script that exists under the given keychain’s …\nReturn the TxOut of outpoint if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given keychain. …\nUndoes the effect of mark_used. Returns whether the index …\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nAn index storing TxOuts that have a script pubkey that …\nThe script pubkeys that are being tracked by the index.\nReturns the argument unchanged.\nReturns the index associated with the script pubkey.\nAdds a script pubkey to scan for. Returns false and does …\nCalls U::from(self).\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at index has been used …\nMarks the script pubkey at index as used even though it …\nComputes the net value transfer effect of tx on the script …\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single TxOut for a matching script pubkey and …\nComputes the total value transfer effect tx has on the …\nReturns the script that has been inserted at the index.\nReturns the txout and script pubkey index of the TxOut at …\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nUndoes the effect of mark_used. Returns whether the index …\nIterates over all unused script pubkeys in an index range.\nRepresents a failure when trying to insert/remove a …\nThe error type for LocalChain::apply_header_connected_to.\nName of sqlite table that stores blocks of LocalChain.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe ChangeSet represents changes to LocalChain.\nA LocalChain checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when connected_to block conflicts with either the …\nThis is a local implementation of ChainOracle.\nAn error which occurs when a LocalChain is constructed …\nSchema name for the changeset.\nApply the given changeset.\nUpdate the chain with a given Header connecting it with …\nUpdate the chain with a given Header at height which you …\nApplies the given update to the chain.\nGet the BlockId of the checkpoint.\nChanges to the LocalChain blocks.\nRemoves blocks from (and inclusive of) the given block_id.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of BlockIds in …\nConstructs a LocalChain from a BTreeMap of height to …\nConstruct a LocalChain from an initial changeset.\nConstruct LocalChain from genesis hash.\nConstruct a checkpoint from the given header and block …\nConstruct a LocalChain from sqlite database.\nConstruct a LocalChain from a given checkpoint tip.\nGet the genesis hash.\nGet checkpoint at height.\nGet checkpoint at given height (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nDerives an initial ChangeSet, meaning that it can be …\nInserts block_id at its height within the chain.\nInsert a BlockId.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nPersist changeset to the sqlite database.\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nConvert an iterator of Results into FallibleIterator by …\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the original_block hash.\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client full scan.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client sync.\nChain on additional OutPoints that will be synced against.\nChain on additional Scripts that will be synced against.\nChain on additional Scripts that will be synced against.\nA checkpoint for the current chain LocalChain::tip. The …\nA checkpoint for the current LocalChain::tip. The full …\nChain on additional Txids that will be synced against.\nThe update to apply to the receiving LocalChain.\nThe update to apply to the receiving TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a new SyncRequest from a given cp tip.\nConstruct a new FullScanRequest from a given chain_tip.\nConstruct a new FullScanRequest from a given chain_tip and …\nThe update to apply to the receiving TxGraph.\nThe update to apply to the receiving LocalChain.\nAdd a closure that will be called for OutPoints previously …\nAdd a closure that will be called for Scripts previously …\nAdd a closure that will be called for every Script …\nAdd a closure that will be called for every Script …\nAdd a closure that will be called for Txids previously …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nLast active indices for the corresponding keychains (K).\nTransactions with these outpoints or spent from these …\nPopulate the request with revealed script pubkeys from …\nSet the OutPoints that will be synced against.\nSet the Scripts that will be synced against.\nSet the Scripts for a given keychain.\nSet the Txids that will be synced against.\nTransactions that spend from or to these indexed script …\nIterators of script pubkeys indexed by the keychain index.\nTransactions with these txids.\nName of table that stores Anchors.\nErrors returned by TxGraph::calculate_fee.\nA transaction that is included in the chain, or is still …\nThe ChangeSet represents changes to a TxGraph.\nMissing TxOut for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nSchema name for tx_graph::ChangeSet.\nName of table that stores floating txouts.\nName of table that stores full transactions and last_seen …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the TxGraph.\nGet all transaction anchors known by TxGraph.\nIterate over all tx outputs known by TxGraph.\nIterates over the heights of that the new transaction …\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies ChangeSet to TxGraph.\nExtends this graph with another so that self becomes the …\nGet the total balance of outpoints that are in chain of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a TxGraph from an sqlite database.\nIterate over all full transactions in the graph.\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns Some for full …\nGet a transaction node by txid. This only returns Some for …\nObtains a single tx output (if any) at the specified …\nDetermines the ChangeSet between self and an empty TxGraph.\nInserts the given anchor into TxGraph.\nInserts the given seen_at for txid into TxGraph.\nInserts the given transaction into TxGraph.\nInserts the given TxOut at OutPoint.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nConvert an iterator of anything into FallibleIterator by …\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in chain with chain_tip.\nTransform the TxGraph to have Anchors of another type.\nTransform the ChangeSet to have Anchors of another type.\nConstruct a new TxGraph from a list of transactions.\nThe transactions spending from this output.\nPersist changeset to the sqlite database.\nConvert an iterator of Results into FallibleIterator by …\nConvert an iterator of Results into FallibleIterator by …\nGet the total balance of outpoints that are in chain of …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in chain with chain_tip.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given txid.\nIterates over the transactions spending from txid.\nTxid of the transaction.\nIterates over all outpoints contained within ChangeSet.\nAdded txouts.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nUpdate the last seen time for all unconfirmed transactions.\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …") \ No newline at end of file +searchState.loadedDescShard("bdk_chain", 0, "This crate is a collection of core structures for Bitcoin …\nTrait that “anchors” blockchain data to a specific …\nAn Anchor that can be constructed from a given block, …\nMaximum BIP32 derivation index.\nBalance, differentiated into various categories.\nA reference to a block in the canonical chain.\nHow many confirmations are needed f or a coinbase output …\nRepresents a service that tracks the blockchain.\nRepresents the observed position of some chain data.\nType for staged changes.\nAn Anchor implementation that also records the exact …\nBlock height and timestamp at which a transaction is …\nThe chain data is seen as confirmed, and in anchored by A.\nThe transaction is confirmed\nError type of PersistWith::create.\nError type of PersistAsyncWith::create.\nParameters for PersistWith::create.\nParameters for PersistAsyncWith::create.\nA trait to extend the functionality of a miniscript …\nRepresents the unique ID of a descriptor.\nError type.\nA TxOut with as much data as we can retrieve about it\nA wrapper that we use to impl remote traits for types in …\nA tuple of keychain index and T representing the indexed …\nA tuple of keychain K, derivation index (u32) and a T …\nError type of PersistWith::load.\nError type of PersistAsyncWith::load.\nParameters for PersistWith::load.\nParameters for PersistAsyncWith::load.\nTrait that makes an object mergeable.\nTrait that persists the type with an async Db.\nError type of PersistWith::persist.\nError type of PersistAsyncWith::persist.\nTrait that persists the type with Db.\nRepresents a persisted T.\nAn iterator for derived script pubkeys.\nRepresents a type that contains staged changes.\nThe chain data is not confirmed and last seen in the …\nThe transaction is unconfirmed\nReturns the BlockId that the associated blockchain data is …\nReturns a reference to the inner hash (sha256, sh256d …\nThe anchor block.\nThe position of the transaction in outpoint in the overall …\nMaps a ChainPosition<&A> into a ChainPosition<A> by …\nGet the upper bound of the chain data’s confirmation …\nGet the upper bound of the chain data’s confirmation …\nDetermines the upper bound of the confirmation height.\nThe confirmation time of the transaction being anchored.\nConfirmed and immediately spendable balance\nInitialize the Db and create Self.\nInitialize the Db and create Self.\nCreate a new persisted T.\nCreate a new persisted T with async Db.\nGet a reference to the internal descriptor.\nReturns the descriptor ID, calculated as the sha256 hash …\nReturns the minimum value (in satoshis) at which an output …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct the anchor from a given block, block height and …\nCreates this wrapper type from the inner hash type.\nGet the best chain’s chain tip.\nThe hash of the block.\nThe height of the block.\nAll coinbase outputs not yet matured\nContains the IndexedTxGraph and associated types. Refer to …\nIndexer provides utilities for indexing transaction data.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nReturns the inner T.\nDetermines whether block of BlockId exists as an ancestor …\nReturns whether ChainPosition is confirmed or not.\nReturns whether ConfirmationTime is the confirmed variant.\nWhether the utxo is/was/will be spendable with chain tip.\nReturns whether the structure is considered empty.\nWhether the txout is considered mature.\nWhether this output is on a coinbase transaction.\nInitialize the Db and load a previously-persisted Self.\nInitialize the Db and load a previously-persisted Self.\nConstruct a persisted T from Db.\nConstruct a persisted T from an async Db.\nThe LocalChain is a local implementation of ChainOracle.\nMerge another object of the same type onto self.\nCreate a new script pubkey iterator from descriptor.\nCreate a new script pubkey iterator from descriptor and a …\nThe location of the TxOut.\nPersist changes to the Db.\nPersist changes to the Db.\nPersist staged changes of T into Db.\nPersist staged changes of T into an async Db.\nModule for stuff\nThe txid and chain position of the transaction (if any) …\nHelper types for spk-based blockchain clients.\nGet mutable reference of staged changes.\nTake the value, replacing it with the default value.\nTake the value, replacing it with the default value.\nReturns the inner hash (sha256, sh256d etc.).\nGet the whole balance visible to the wallet.\nConvert an iterator of Results into FallibleIterator by …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nModule for structures that store and traverse transactions.\nThe TxOut.\nConstruct an unconfirmed variant using the given last_seen …\nUnconfirmed UTXOs received from an external wallet\nConfirmation height.\nThe last-seen timestamp in unix seconds.\nConfirmation time in unix seconds.\nRepresents changes to an IndexedTxGraph.\nThe IndexedTxGraph combines a TxGraph and an Indexer …\nBatch insert all transactions of the given block of height.\nBatch insert all transactions of the given block of height…\nApplies the ChangeSet to the IndexedTxGraph.\nApply an update directly.\nBatch insert transactions, filtering out those that are …\nBatch insert unconfirmed transactions, filtering out those …\nBatch insert unconfirmed transactions.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet a reference of the internal transaction graph.\nTransaction index.\nIndexer changeset.\nDetermines the ChangeSet between self and an empty …\nInsert an anchor for a given transaction.\nInsert a unix timestamp of when a transaction is seen in …\nInsert and index a transaction into the graph.\nInsert a floating txout of given outpoint.\nCalls U::from(self).\nCalls U::from(self).\nConstruct a new IndexedTxGraph with a given index.\nTxGraph changeset.\nThe resultant “changeset” when new transaction data is …\nUtilities for indexing transaction data.\nApply changeset to itself.\nScans a transaction for relevant outpoints, which are …\nScan and index the given outpoint and txout.\nDetermines the ChangeSet between self and an empty Indexer.\nDetermines whether the transaction should be included in …\nKeychainTxOutIndex controls how script pubkeys are …\nSpkTxOutIndex is an index storing TxOuts that have a …\nRepresents updates to the derivation index of a …\nThe default lookahead for a KeychainTxOutIndex\nThe descriptor has already been assigned to a keychain so …\nError returned from KeychainTxOutIndex::insert_descriptor\nThe keychain is already assigned to a descriptor so you can…\nKeychainTxOutIndex controls how script pubkeys are …\nName for table that stores last revealed indices per …\nSchema name for the changeset.\nGet unbounded spk iterators for all keychains.\nApplies the ChangeSet<K> to the KeychainTxOutIndex<K>\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct KeychainTxOutIndex from sqlite database and …\nGets the descriptor associated with the keychain. Returns …\nReturns the keychain and keychain index associated with …\nReturn a reference to the internal SpkTxOutIndex.\nInsert a descriptor with a keychain associated to it.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the changeset are empty.\nReturns whether the spk under the keychain’s index has …\nIterate over all OutPoints that have TxOuts with script …\nIterate over OutPoints that have script pubkeys derived …\nReturn all keychains and their corresponding descriptors.\nContains for each descriptor_id the last revealed index of …\nGet the last derivation index revealed for keychain. …\nGet the last derivation index that is revealed for each …\nReturns the highest derivation index of the keychain where …\nReturns the highest derivation index of each keychain that …\nGet the lookahead setting.\nStore lookahead scripts until target_index (inclusive).\nMarks the script pubkey at index as used even though the …\nMerge another ChangeSet into self.\nComputes the net value that this transaction gives to the …\nConstruct a KeychainTxOutIndex with the given lookahead.\nGet the next derivation index for keychain. The next index …\nGets the next unused script pubkey in the keychain. I.e., …\nGet the set of indexed outpoints, corresponding to tracked …\nPersist changeset to the sqlite database.\nAttempts to reveal the next script pubkey for keychain.\nReveals script pubkeys of the keychain’s descriptor up …\nConvenience method to call Self::reveal_to_target on …\nIterate over revealed spks of the given keychain with …\nIterate over revealed spks of keychains in range\nComputes the total value transfer effect tx has on the …\nReturn the script that exists under the given keychain’s …\nReturn the TxOut of outpoint if it has been indexed, and …\nIterate over known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nGet an unbounded spk iterator over a given keychain. …\nUndoes the effect of mark_used. Returns whether the index …\nIterate over revealed, but unused, spks of the given …\nIterate over revealed, but unused, spks of all keychains.\nThe descriptor you have attempted to reassign\nThe keychain that the descriptor is already assigned to\nThe descriptor that the keychain is already assigned to\nThe keychain that you have attempted to reassign\nAn index storing TxOuts that have a script pubkey that …\nThe script pubkeys that are being tracked by the index.\nReturns the argument unchanged.\nReturns the index associated with the script pubkey.\nAdds a script pubkey to scan for. Returns false and does …\nCalls U::from(self).\nWhether any of the inputs of this transaction spend a …\nReturns whether the script pubkey at index has been used …\nMarks the script pubkey at index as used even though it …\nComputes the net value transfer effect of tx on the script …\nGet a reference to the set of indexed outpoints.\nIterates over all the outputs with script pubkeys in an …\nScans a transaction’s outputs for matching script …\nScan a single TxOut for a matching script pubkey and …\nComputes the total value transfer effect tx has on the …\nReturns the script that has been inserted at the index.\nReturns the txout and script pubkey index of the TxOut at …\nIterate over all known txouts that spend to tracked script …\nFinds all txouts on a transaction that has previously been …\nUndoes the effect of mark_used. Returns whether the index …\nIterates over all unused script pubkeys in an index range.\nRepresents a failure when trying to insert/remove a …\nThe error type for LocalChain::apply_header_connected_to.\nName of sqlite table that stores blocks of LocalChain.\nOccurs when the update cannot connect with the original …\nOccurs when an update does not have a common checkpoint …\nThe ChangeSet represents changes to LocalChain.\nA LocalChain checkpoint is used to find the agreement …\nIterates over checkpoints backwards.\nOccurs when connected_to block conflicts with either the …\nThis is a local implementation of ChainOracle.\nAn error which occurs when a LocalChain is constructed …\nSchema name for the changeset.\nApply the given changeset.\nUpdate the chain with a given Header connecting it with …\nUpdate the chain with a given Header at height which you …\nApplies the given update to the chain.\nGet the BlockId of the checkpoint.\nChanges to the LocalChain blocks.\nRemoves blocks from (and inclusive of) the given block_id.\nExtends the checkpoint linked list by a iterator of block …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a checkpoint from a list of BlockIds in …\nConstructs a LocalChain from a BTreeMap of height to …\nConstruct a LocalChain from an initial changeset.\nConstruct LocalChain from genesis hash.\nConstruct a checkpoint from the given header and block …\nConstruct a LocalChain from sqlite database.\nConstruct a LocalChain from a given checkpoint tip.\nGet the genesis hash.\nGet checkpoint at height.\nGet checkpoint at given height (if it exists).\nGet the block hash of the checkpoint.\nGet the height of the checkpoint.\nThe checkpoint’s height.\nDerives an initial ChangeSet, meaning that it can be …\nInserts block_id at its height within the chain.\nInsert a BlockId.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nIterate from this checkpoint in descending height.\nIterate over checkpoints in descending height order.\nConstruct a new base block at the front of a linked list.\nThe original checkpoint’s block hash which cannot be …\nPersist changeset to the sqlite database.\nGet the previous checkpoint in the chain\nPuts another checkpoint onto the linked list representing …\nIterate checkpoints over a height range.\nIterate checkpoints over a height range.\nGet the highest checkpoint.\nConvert an iterator of Results into FallibleIterator by …\nThe suggested checkpoint to include to connect the two …\nThe attempted update to the original_block hash.\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client full scan.\nData required to perform a spk-based blockchain client …\nData returned from a spk-based blockchain client sync.\nChain on additional OutPoints that will be synced against.\nChain on additional Scripts that will be synced against.\nChain on additional Scripts that will be synced against.\nA checkpoint for the current chain LocalChain::tip. The …\nA checkpoint for the current LocalChain::tip. The full …\nChain on additional Txids that will be synced against.\nThe update to apply to the receiving LocalChain.\nThe update to apply to the receiving TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a new SyncRequest from a given cp tip.\nConstruct a new FullScanRequest from a given chain_tip.\nConstruct a new FullScanRequest from a given chain_tip and …\nThe update to apply to the receiving TxGraph.\nThe update to apply to the receiving LocalChain.\nAdd a closure that will be called for OutPoints previously …\nAdd a closure that will be called for Scripts previously …\nAdd a closure that will be called for every Script …\nAdd a closure that will be called for every Script …\nAdd a closure that will be called for Txids previously …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nLast active indices for the corresponding keychains (K).\nTransactions with these outpoints or spent from these …\nPopulate the request with revealed script pubkeys from …\nSet the OutPoints that will be synced against.\nSet the Scripts that will be synced against.\nSet the Scripts for a given keychain.\nSet the Txids that will be synced against.\nTransactions that spend from or to these indexed script …\nIterators of script pubkeys indexed by the keychain index.\nTransactions with these txids.\nName of table that stores Anchors.\nErrors returned by TxGraph::calculate_fee.\nA transaction that is included in the chain, or is still …\nThe ChangeSet represents changes to a TxGraph.\nMissing TxOut for one or more of the inputs of the tx\nWhen the transaction is invalid according to the graph it …\nSchema name for tx_graph::ChangeSet.\nName of table that stores floating txouts.\nName of table that stores full transactions and last_seen …\nAn iterator that traverses ancestors of a given root …\nAn iterator that traverses transaction descendants.\nA graph of transactions and spends.\nA transaction node in the TxGraph.\nGet all transaction anchors known by TxGraph.\nIterate over all tx outputs known by TxGraph.\nIterates over the heights of that the new transaction …\nThe blocks that the transaction is “anchored” in.\nAdded anchors.\nApplies ChangeSet to TxGraph.\nExtends this graph with another so that self becomes the …\nGet the total balance of outpoints that are in chain of …\nBatch insert unconfirmed transactions.\nCalculates the fee of a given transaction. Returns …\nHow the transaction is observed as (confirmed or …\nGiven a transaction, return an iterator of txids that …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nIterate over floating txouts known by TxGraph.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConstruct a TxGraph from an sqlite database.\nIterate over all full transactions in the graph.\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nGet a transaction by txid. This only returns Some for full …\nGet a transaction node by txid. This only returns Some for …\nObtains a single tx output (if any) at the specified …\nDetermines the ChangeSet between self and an empty TxGraph.\nInserts the given anchor into TxGraph.\nInserts the given seen_at for txid into TxGraph.\nInserts the given transaction into TxGraph.\nInserts the given TxOut at OutPoint.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nConvert an iterator of anything into FallibleIterator by …\nConvert an iterator of anything into FallibleIterator by …\nWhether the graph has any transactions or outputs in it.\nAdded last-seen unix timestamps of transactions.\nThe last-seen unix timestamp of the transaction as …\nList graph transactions that are in chain with chain_tip.\nTransform the TxGraph to have Anchors of another type.\nTransform the ChangeSet to have Anchors of another type.\nConstruct a new TxGraph from a list of transactions.\nThe transactions spending from this output.\nPersist changeset to the sqlite database.\nConvert an iterator of Results into FallibleIterator by …\nConvert an iterator of Results into FallibleIterator by …\nGet the total balance of outpoints that are in chain of …\nGet a filtered list of outputs from the given outpoints …\nGet a filtered list of unspent outputs (UTXOs) from the …\nGet the position of the transaction in chain with tip …\nGet the txid of the spending transaction and where the …\nList graph transactions that are in chain with chain_tip.\nA partial or full representation of the transaction.\nThe transaction node (as part of the graph).\nReturns known outputs of a given txid.\nIterates over the transactions spending from txid.\nTxid of the transaction.\nIterates over all outpoints contained within ChangeSet.\nAdded txouts.\nAdded transactions.\nIterate over graph transactions with no anchors or …\nUpdate the last seen time for all unconfirmed transactions.\nCreates an iterator that filters and maps ancestor …\nCreates an iterator that both filters and maps conflicting …\nCreates an iterator that filters and maps descendants from …") \ No newline at end of file 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 6cb2cefc7d..ec3a72a106 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.\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\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nExternal keychain, used for deriving recipient addresses.\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\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.\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\nA Utxo with its satisfaction_weight.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nDescriptor for change addresses.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nBuild a new Wallet.\nCreate PersistedWallet with the given Db.\nCreate PersistedWallet with the given async Db.\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\nDescriptor for recipient addresses.\nMacro to write full descriptors with code\nReturn the checksum of the public descriptor associated to …\nChecks that descriptor of keychain matches this, and …\nErrors that can be thrown by the Wallet\nWallet export\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.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nCheck for a genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\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).\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.\nBuild Wallet by loading from persistence or ChangeSet.\nLoad PersistedWallet with the given Db.\nLoad PersistedWallet with the given async Db.\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.\nCheck for network.\nGet the Bitcoin network the wallet is using.\nStores the network type of the transaction data.\nConstruct parameters with provided descriptor, …\nConstruct parameters with default values.\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 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 are yet to be …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file +searchState.loadedDescShard("bdk_wallet", 0, "BDK Wallet\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nA derived address and the index it was found at. For …\nAn error that may occur when applying a block to Wallet.\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\nOccurs when the loaded changeset cannot construct Wallet.\nThere was a problem with the passed-in descriptor(s).\nDescriptor’s DescriptorId does not match.\nExternal keychain, used for deriving recipient addresses.\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\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.\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\nA Utxo with its satisfaction_weight.\nAdd an external signer\nAddress\nGet unbounded script pubkey iterators for both Internal …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nIntroduces a block of height to the wallet, and tries to …\nApplies relevant transactions from block of height to the …\nApply relevant unconfirmed transactions to the wallet.\nApplies an update to the wallet and stages the changes …\nReturn KeychainKind as a byte\nWhether the wallet should assume a specific height has …\nReturn the balance, separated into available, …\nBump the fee of a transaction previously created with this …\nStart building a transaction.\nCalculates the fee of a given transaction. Returns …\nCalculate the FeeRate for a given transaction.\nInforms the wallet that you no longer intend to broadcast …\nUpdate for the wallet’s internal LocalChain.\nDescriptor for change addresses.\nGet all the checkpoints the wallet is currently storing …\nCoin selection\nThe confirmation time for transaction containing this utxo\nConfirmed and immediately spendable balance\nBuild a new Wallet.\nBuild a new single descriptor Wallet.\nCreate PersistedWallet with the given Db.\nCreate PersistedWallet with the given async Db.\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.\nRecover a ChangeSet from sqlite database.\nUse a custom genesis_hash.\nCheck for a genesis_hash.\nget the corresponding PSBT Input for a LocalUtxo\nGet the signers\nGet a single transaction from the wallet as a CanonicalTx …\nReturns the utxo owned by this wallet corresponding to …\nUpdate for the wallet’s internal TxGraph.\nAll coinbase outputs not yet matured\nChild index of this address\nChanges to KeychainTxOutIndex.\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).\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.\nBuild Wallet by loading from persistence or ChangeSet.\nLoad PersistedWallet with the given Db.\nLoad PersistedWallet with the given async Db.\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.\nCheck for 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 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 are yet to be …\nCreate a `FullScanRequest for this wallet.\nCreate a partial SyncRequest for this wallet for all …\nTake the staged ChangeSet to be persisted now (if any).\nSpecifies which Taproot script-spend leaves we should sign …\nGet the whole balance visible to the wallet.\nIterate over the transactions in the wallet.\nWhether the signer should trust the witness_utxo, if the …\nUnconfirmed UTXOs generated by a wallet tx\nGet sum of trusted_pending and confirmed coins.\nWhether to try finalizing the PSBT after the inputs are …\nTransaction builder\nGet a reference to the inner TxGraph.\nChanges to TxGraph.\nGet the TxOut of the UTXO\nTransaction output\nGet an unbounded script pubkey iterator for the given …\nIterate over transactions in the wallet that are unseen …\nUndoes the effect of mark_used and returns whether the …\nUnconfirmed UTXOs received from an external wallet\nThe UTXO\nGet the version of bdk_wallet at runtime.\nDeterministically generate a unique name given the …\nForeign UTXO outpoint\nPSBT input txid\nBlock hash of connected_to.\nExpected block hash of connected_to, as derived from block.\nThe expected network.\nThe expected genesis hash.\nThe expected descriptor.\nKeychain identifying the descriptor.\nThe network that is loaded.\nThe genesis hash that is loaded.\nThe loaded descriptor.\nTransaction inputs sort function\nTransaction outputs sort function\nThe location of the output.\nThe information about the input we require to add it to a …\nThe nSequence value to set for this input.\nBranch and bound coin selection tries to avoid needing a …\nBranch and bound coin selection possible attempts with …\nBranch and bound coin selection\nIt’s possible to create spendable output from excess …\nTrait for generalized coin selection algorithms\nResult of a successful coin selection\nDefault coin selection algorithm used by TxBuilder if not …\nErrors that can be thrown by the coin_selection module\nRemaining amount after performing coin selection\nWallet’s UTXO set is not enough to cover recipient’s …\nSimple and dumb coin selection\nIt’s not possible to create spendable output from excess …\nOldestFirstCoinSelection always picks the utxo with the …\nPerform the coin selection\nDecide if change can be created\nRemaining amount after deducing fees and outgoing outputs\nTotal fee amount for the selected utxos in satoshis\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nThe total value of the inputs selected from the local …\nCreate new instance with target size for change output\nList of outputs selected for use as inputs\nThe total value of the inputs selected.\nSats available for spending\nSats needed for some transaction\nEffective amount available to create change after …\nThe calculated fee for the drain TxOut with the selected …\nThreshold to consider amount as dust for this particular …\nThe deducted change output fee\nExceeding amount of current selection over outgoing value …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nA raw scriptpubkey (including pay-to-pubkey) under Legacy …\nAlias for a Descriptor that contains extended derived keys\nScript descriptor\nThe descriptor pubkey, either a single pubkey or an xpub.\nAlias for a Descriptor that can contain extended keys …\nTrait implemented on Descriptors to add a method to …\nThe 0 combinator.\nAlias for the type of maps that represent derivation paths …\nTrait for types which can be converted into an …\nThe consensus key associated with the type. Must be a …\nLegacy ScriptContext To be used as P2SH scripts For …\nThe top-level miniscript abstract syntax tree (AST).\nMultiple extended public keys.\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nPay-to-PubKey-Hash\nThe ScriptContext for Miniscript. Additional type …\nSegwitv0 ScriptContext\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nPay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)\nSingle public key.\nThe 1 combinator.\nAlias for the type of maps that represent taproot key …\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Taproot\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-PubKey-Hash\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nPay-to-Witness-ScriptHash with Segwitv0 context\nExtended public key (xpub).\nComputes the Bitcoin address of the descriptor, if one …\nGet a reference to the inner AstElem representing the root …\nReplaces all wildcards (i.e. /*) in the descriptor with a …\nEnumerates all child nodes of the current AST node (self) …\nAttempt to produce a non-malleable witness template given …\nAttempt to produce a malleable witness template given the …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nDescriptor checksum\nWhether the given miniscript contains a raw pkh fragment\nDeprecated name for Self::at_derivation_index.\nConvert all the public keys in the descriptor to …\nConvert all the public keys in the descriptor to …\nGet the DescriptorType of Descriptor\nEncode as a Bitcoin script\nDescriptor errors\nComputes the the underlying script before any hashing is …\nAdditional information helpful for extra analysis.\nCheck whether the miniscript follows the given Extra …\nExtract the spending policy\nUtility method for deriving the descriptor at each index …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nAdd type information(Type and Extdata) to Miniscript based …\nCreate a new Miniscript from a Terminal node and a Type …\nParse a Miniscript from string and perform sanity checks …\nAttempt to parse an Miniscripts that don’t follow the …\nAttempt to parse an insane(scripts don’t clear sanity …\nParse an expression tree into a descriptor.\nParse an expression tree into a Miniscript. As a general …\nReturns child node with given index, if any\nReturns Option::Some with cloned n’th public key from …\nReturns satisfying non-malleable witness and scriptSig to …\nReturns a possilbly mallable satisfying non-malleable …\nWhether the miniscript contains a combination of timelocks\nWhether the miniscript has repeated Pk or Pkh\nWhether or not the descriptor has any wildcards i.e. /*.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nExtracts the AstElem representing the root of the …\nGet as many descriptors as different paths in this …\nConvert to wallet descriptor\nWhether or not the descriptor has any wildcards\nWhether this descriptor contains a key that has multiple …\nWhether the miniscript is malleable\nCreates a new Iter iterator that will iterate over all …\nCreates a new PkIter iterator that will iterate over all …\nLifting corresponds to conversion of a miniscript into a …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. For …\nComputes an upper bound on the weight of a satisfying …\nMaximum number of witness elements used to satisfy the …\nComputes an upper bound on the difference between a …\nLocal helper function to display error messages with …\nCreate a new bare descriptor from witness script Errors …\nCreate a new pk descriptor\nCreate a new PkH descriptor\nCreate a new sh for a given redeem script Errors when …\nCreate a new sh sortedmulti descriptor with threshold k …\nCreate a new sh wrapper for the given wpkh descriptor\nCreate a new sh wrapper for the given wsh descriptor\nCreate a new sh wrapped wpkh from Pk. Errors when …\nCreate a new sh wrapped wsh descriptor with witness script …\nCreate a new sh wrapped wsh sortedmulti descriptor from …\nCreate new tr descriptor Errors when miniscript exceeds …\nCreate a new Wpkh descriptor Will return Err if …\nCreate a new wsh descriptor from witness script Errors …\nCreate a new wsh sorted multi descriptor Errors when …\nA node in the AST.\nOther top level checks that are context specific\nAttempt to parse a Script into Miniscript representation.\nParse a descriptor that may contain secret keys\nAttempt to parse an insane(scripts don’t clear sanity …\nAttempt to parse an miniscript with extra features that …\nGet the len of public key when serialized based on context …\nReturns a plan if the provided assets are sufficient to …\nReturns a plan if the provided assets are sufficient to …\nDescriptor policy\nWhether all spend paths of miniscript require a signature\nChecks whether the descriptor is safe.\nCheck whether the underlying Miniscript is safe under the …\nAttempts to produce a non-malleable satisfying witness and …\nAttempt to produce non-malleable satisfying witness for the\nAttempt to produce a malleable satisfying witness for the …\nComputes the scriptCode of a transaction output.\nComputes the scriptpubkey of the descriptor.\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nSubstitutes raw public keys hashes with the public keys as …\nDescriptor templates\nSerialize a descriptor to string with its secret keys\nCheck top level consensus rules.\nCheck whether the top-level is type B\nConverts a descriptor using abstract keys to one using …\nTranslates a struct from one generic to another where the …\nThe correctness and malleability type information for the …\nComputes the scriptSig that will be in place for an …\nWhether the miniscript can exceed the resource …\nCompute the checksum of a descriptor, excludes any …\nError during base58 decoding\nBIP32 error\nErrors related to the parsing and usage of descriptors\nThe provided wallet descriptors are identical\nThe descriptor contains hardened derivation steps on …\nHex decoding error\nInvalid byte found in the descriptor checksum\nThe provided descriptor doesn’t match its checksum\nInvalid HD Key path, such as having a wildcard but a …\nError thrown while working with keys\nMiniscript error\nThe descriptor contains multipath keys\nKey-related error\nError while extracting and manipulating policies\nReturns the argument unchanged.\nCalls U::from(self).\nAbsolute timeclock timestamp\nCan not add to an item that is Satisfaction::None or …\nCan not add to an item that is …\nOptions to build the satisfaction field in the policy\nCan satisfy the policy item\nAn extra condition that must be satisfied but that is out …\nType for a map of sets of Condition items keyed by each set…\nECDSA Signature for a raw public key\nAn extended key fingerprint\nType for a map of folded sets of Condition items keyed by …\nSHA256 then RIPEMD160 preimage hash\nDouble SHA256 preimage hash\nIncompatible conditions (not currently used)\nIndex out of range for an item to satisfy a …\nCan not merge CSV or timelock values unless both are less …\nMulti-signature public keys with threshold count\nCannot satisfy or contribute to the policy item\nDon’t generate satisfaction field\nNot enough items are selected to satisfy a …\nOnly a partial satisfaction of some kind of threshold …\nCan reach the threshold of some kind of threshold policy\nA unique identifier for a key\nDescriptor spending policy\nErrors that can happen while extracting and manipulating …\nAnalyze the given PSBT to check for existing signatures\nLike Psbt variant and also check for expired timelocks\nA legacy public key\nRelative timelock locktime\nRIPEMD160 preimage hash\nRepresent if and how much a policy item is satisfied by …\nAn item that needs to be satisfied\nSchnorr Signature for a raw public key\nSHA256 preimage hash\nThreshold items with threshold count\nA x-only public key\nHow the wallet’s descriptor can satisfy this policy node\nOptional CheckSequenceVerify condition\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the conditions that are set by the spending policy …\nReturns a unique id for the SatisfiableItem\nIdentifier for this policy node\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nReturns whether the SatisfiableItem is a leaf item\nReturns whether the Satisfaction is a leaf item\nReturns true if there are no extra conditions to verify\nType of this policy node\nReturn whether or not a specific path in the policy tree …\nHow much a given PSBT already satisfies this policy node …\nOptional timelock condition\nCurrent blockchain height\nThe highest confirmation height between the inputs CSV …\nGiven PSBT\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nExtra conditions that also need to be satisfied\nThe items that can be satisfied by the descriptor or are …\nThe items that can be satisfied by the descriptor\nThreshold\nThreshold\nTotal number of items\nTotal number of items\nWhether the items are sorted in lexicographic order (used …\nWhether the items are sorted in lexicographic order (used …\nThe digest value\nThe digest value\nThe digest value\nThe digest value\nThe policy items\nThe raw public key or extended key fingerprint\nThe required threshold count\nThe required threshold count\nThe timelock value\nThe timelock value\nBIP44 template. Expands to pkh(key/44'/{0,1}'/0'/{0,1}/*)\nBIP44 public template. Expands to pkh(key/{0,1}/*)\nBIP49 template. Expands to …\nBIP49 public template. Expands to sh(wpkh(key/{0,1}/*))\nBIP84 template. Expands to wpkh(key/84'/{0,1}'/0'/{0,1}/*)\nBIP84 public template. Expands to wpkh(key/{0,1}/*)\nBIP86 template. Expands to tr(key/86'/{0,1}'/0'/{0,1}/*)\nBIP86 public template. Expands to tr(key/{0,1}/*)\nTrait for descriptor templates that can be built into a …\nType alias for the return type of DescriptorTemplate, …\nP2PKH template. Expands to a descriptor pkh(key)\nP2TR template. Expands to a descriptor tr(key)\nP2WPKH template. Expands to a descriptor wpkh(key)\nP2WPKH-P2SH template. Expands to a descriptor sh(wpkh(key))\nBuild the complete descriptor\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nError returned from Wallet::build_fee_bump\nThere was an error with coin selection\nDescriptor key conversion error\nError returned from TxBuilder::finish\nThere was a problem with the descriptors passed in\nWhen bumping a tx the fee rate requested is lower than …\nNode doesn’t have data to estimate a fee rate\nWhen bumping a tx the absolute fee requested is lower than …\nTrying to replace a tx that has a sequence >= 0xFFFFFFFE\nRequested LockTime is less than is required to spend from …\nMiniscript PSBT error\nErrors returned by miniscript when updating inconsistent …\nIn order to use the TxBuilder::add_global_xpubs option …\nMissing non_witness_utxo on foreign utxo for given OutPoint\nCannot build a tx without recipients\nmanually_selected_only option is selected but no utxo has …\nOutput created is under the dust limit, 546 satoshis\nReturn error type for …\nThere was a problem while extracting and manipulating …\nPartially signed bitcoin transaction error\nCannot enable RBF with a Sequence >= 0xFFFFFFFE\nCannot enable RBF with Sequence given a required OP_CSV\nSpending policy is not compatible with this KeychainKind\nHappens when trying to bump a transaction that is already …\nThrown when a tx is not found in the internal database\nHappens when trying to spend an UTXO that is not in the …\nHappens when trying to spend an UTXO that is not in the …\nReturn error type for PsbtExt::update_input_with_descriptor\nRequested invalid transaction version ‘0’\nRequested transaction version 1, but at least 2 is needed …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nRequired OP_CSV Sequence\nGiven RBF Sequence\nRequested LockTime\nRequired LockTime\nRequired fee absolute value Amount\nRequired fee rate\nStructure that contains the export of a wallet\nAlias for FullyNodedExport\nEarliest block to rescan when looking for the wallet’s …\nEarliest block to rescan when looking for the wallet’s …\nReturn the internal descriptor, if present\nReturn the external descriptor\nExport a wallet\nReturns the argument unchanged.\nCalls U::from(self).\nArbitrary label for the wallet\nArbitrary label for the wallet\nBIP32 error\nTrait for keys that can be derived.\nContainer for public or secret keys\nThe descriptor pubkey, either a single pubkey or an xpub.\nThe descriptor secret key, either a single private key or …\nType specifying the amount of entropy required e.g. [u8;32]\nReturned error in case of failure\nTrait that adds extra useful methods to ScriptContexts\nEnum for extended keys that can be either xprv or xpub\nA bitcoin public key (compressed or uncompressed).\nTrait that allows generating a key with the default options\nTrait for keys that can be generated\nOutput of a GeneratableKey key generation\nTrait for objects that can be turned into a public or …\nThe key has an invalid checksum\nThe key is not valid for the given network\nThe key cannot exist in the given script context\nThe consensus key associated with the type. Must be a …\nErrors thrown while working with keys\nAlias type for a map of public key to secret key\nLegacy scripts\nCustom error message\nMiniscript error\nMultiple extended private keys.\nMultiple extended public keys.\nExtra options required by the generate_with_entropy\nA private extended key, aka an xprv\nOptions for generating a PrivateKey\nA public extended key, aka an xpub\nThe ScriptContext for Miniscript. Additional type …\nEnum representation of the known valid ScriptContexts\nSegwitv0 scripts\nSingle public key.\nSingle private key.\nA descriptor bitcoin::PrivateKey with optional origin …\nA descriptor SinglePubKey with optional origin information.\nSingle public key without any origin or range information.\nContents of a “sortedmulti” descriptor\nTaproot scripts\nSet of valid networks for a key\nAn xonly public key.\nExtended private key (xpriv).\nExtended public key (xpub).\nCreate a set containing mainnet, testnet, signet, and …\nReturns the ScriptContext as a ScriptContextEnum\nReplaces any wildcard (i.e. /*) in the key with a …\nAttempt to produce a witness template given the assets …\nDepending on script Context, some of the Terminals might …\nDepending on script Context, some of the script resource …\nCheck the consensus + policy(if not disabled) rules that …\nConsensus rules at the Miniscript satisfaction time. It is …\nPolicy rules at the Miniscript satisfaction time. It is …\nCheck the consensus + policy(if not disabled) rules …\nEach context has slightly different rules on what Pks are …\nDepending on ScriptContext, fragments can be malleable. …\nCheck whether the given satisfaction is valid under the …\nWhether the generated key should be “compressed” or not\nDeprecated name for Self::at_derivation_index.\nEncode as a Bitcoin script\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCreate an instance given a public key and a set of valid …\nCreate an instance given a secret key and a set of valid …\nParse an expression tree into a SortedMultiVec\nFull path, from the master key\nReturns a vector containing the full derivation paths from …\nGenerate a key given the options with random entropy.\nGenerate a key with the default options and a random …\nGenerate a key with the default options and a random …\nGenerate a key given the options with random entropy.\nGenerate a key given the extra options and the entropy\nGenerate a key with the default options and a given entropy\nReturn whether or not the key contains the private data\nWhether or not the key has a wildcard\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nTurn the key into a DescriptorKey within the requested …\nConsume self and turn it into a DescriptorKey by adding …\nConsume self and turn it into an ExtendedKey\nConsumes self and returns the key\nGet as many keys as derivation paths in this key.\nGet as many keys as derivation paths in this key.\nTransform the ExtendedKey into an Xpriv for the given …\nTransform the ExtendedKey into an Xpub for the given …\nWhether or not the key has a wildcard\nReturns whether the script context is Legacy\nReturns whether the script context is …\nWhether or not this key has multiple derivation paths.\nWhether or not this key has multiple derivation paths.\nReturns whether the script context is Segwitv0\nReturns whether the script context is …\nReturns whether the script context is Tap, aka Taproot or …\nReturns whether the script context is …\nThe threshold value for the multisig.\nThe public key.\nThe private key.\nCreate a set only containing mainnet\nThe fingerprint of the master key associated with this …\nDepending on script context, the size of a satifaction …\nMaximum size, in bytes, of a satisfying witness. In …\nMaximum number of witness elements used to satisfy the …\nCompute the intersection of two sets\nThe number of keys in the multisig.\nLocal helper function to display error messages with …\nCreate a new instance of SortedMultiVec given a list of …\nOrigin information (fingerprint and derivation path).\nOrigin information (fingerprint and derivation path).\nOther top level checks that are context specific\nOverride the computed set of valid networks\nGet the len of public key when serialized based on context …\nAccessor for the public keys in the multisig.\nutility function to sanity a sorted multi vec\nAttempt to produce a satisfying witness for the witness …\nSize, in bytes of the script-pubkey. If this Miniscript is …\nThe type of signature required for satisfaction\nCreate Terminal::Multi containing sorted pubkeys\nCreate a set containing testnet and regtest\nReturns the public version of this key.\nCheck top level consensus rules.\nCheck whether the top-level is type B\nThis will panic if fpk returns an uncompressed key when …\nTrait to add functions to extract utxos and calculate fees.\nThe total transaction fee amount, sum of input amounts …\nThe transaction’s fee rate. This value will only be …\nGet the TxOut for the specified input index, if it doesn’…\nTable name for schemas.\nRuns logic that initializes/migrates the table schemas.\nThe signer will sign all the leaves it has a key for.\nDummy identifier\nThe signer won’t sign the specified leaves.\nTo be used only by external libraries implementing …\nThe fingerprint of a BIP32 extended key\nThe signer won’t sign leaves other than the ones …\nInput index is out of range\nPSBT Input signer\nThe private key in use has the right fingerprint but …\nThe non_witness_utxo specified is invalid\nInvalid SIGHASH for the signing context in use\nLegacy context\nMiniscript PSBT error\nThe fingerprint and derivation path are missing from the …\nThe private key is missing for the required public key\nThe non_witness_utxo field of the transaction is required …\nThe witness_script field of the transaction is required to …\nThe witness_utxo field of the transaction is required to …\nThe psbt contains a non-SIGHASH_ALL sighash in one of its …\nThe signer won’t sign any leaf.\nBitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …\nPSBT sign error.\nSegwit v0 context (BIP 143)\nError while computing the hash to sign a Taproot input.\nOptions for a software signer\nCommon signer methods\nSigning context\nSigning error\nIdentifier of a signer in the SignersContainers. Used as a …\nDefines the order in which signers are called\nWrapper to pair a signer with its context\nContainer for multiple signers\nTaproot context (BIP 340)\nCustomize which taproot script-path leaves the signer …\nPSBT signer\nThe user canceled the operation\nAdds an external signer to the container for the specified …\nWhether the signer should use the sighash_type set in the …\nWhether we should grind ECDSA signature to ensure signing …\nCreate a map of public keys to secret keys\nWhether the wallet should assume a specific height has …\nBuild a new signer container from a KeyMap\nReturn the secret key for the signer\nReturn the secret key for the signer\nFinds the signer with lowest ordering for a given id in …\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturn the SignerId for this signer\nReturns the list of identifiers of all the signers in the …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCreate a wrapped signer from a signer and a context\nDefault constructor\nRemoves a signer from the container and returns it\nSign a single psbt input\nSign all the inputs of the psbt\nWhether we should try to sign a taproot transaction with …\nReturns the list of signers in the container, sorted by …\nSpecifies which Taproot script-spend leaves we should sign …\nWhether the signer should trust the witness_utxo, if the …\nWhether to try finalizing the PSBT after the inputs are …\nWhether the signer can sign for the internal key or not\nError returned from TxBuilder::add_foreign_utxo.\nError returned from TxBuilder::add_utxo and …\nUse both change and non-change outputs (default)\nOnly use non-change outputs (see …\nPolicy regarding the use of change outputs when creating a …\nProvide custom comparison functions for sorting\nRequested outpoint doesn’t exist in the tx (vout greater …\nForeign utxo outpoint txid does not match PSBT input txid\nForeign utxo missing witness_utxo or non_witness_utxo\nOnly use change outputs (see TxBuilder::only_spend_change)\nRandomized (default)\nA transaction builder\nOrdering of the transaction’s inputs and outputs\nHappens when trying to spend an UTXO that is not in the …\nUnchanged\nAdd data as an output, using OP_RETURN\nAdd a foreign UTXO i.e. a UTXO not owned by this wallet.\nSame as add_foreign_utxo but allows to set the nSequence …\nFill-in the PSBT_GLOBAL_XPUB field with the extended keys …\nAdd a recipient to the internal list\nAdd a utxo to the internal list of unspendable utxos\nAdd a utxo to the internal list of utxos that must be spent\nAdd the list of outpoints to the internal list of UTXOs …\nSet whether or not the dust limit is checked.\nSet a specific ChangeSpendPolicy. See …\nChoose the coin selection algorithm\nSet the current blockchain height.\nDo not spend change outputs\nSets the address to drain excess coins to.\nSpend all the available inputs. This respects filters like …\nEnable signaling RBF\nEnable signaling RBF with a specific nSequence value\nSet an absolute fee The fee_absolute method refers to the …\nSet a custom fee rate.\nFinish building the transaction.\nFinish building the transaction.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nFill-in the psbt::Output::redeem_script and …\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nCalls U::from(self).\nOnly spend utxos added by add_utxo.\nUse a specific nLockTime while creating the transaction\nOnly spend change outputs\nOnly Fill-in the psbt::Input::witness_utxo field when …\nChoose the ordering for inputs and outputs of the …\nSet the policy path to use while creating the transaction …\nReplace the recipients already added with a new list\nSign with a specific sig hash\nSort transaction inputs and outputs by TxOrdering variant.\nSort transaction inputs and outputs by TxOrdering variant.\nReplace the internal list of unspendable utxos with a new …\nBuild a transaction with a specific version\nForeign UTXO outpoint\nPSBT input txid\nTransaction inputs sort function\nTransaction outputs sort function") \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html index d9d3b0bc4b..0a3b100ef5 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_chain/lib.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html index 4220ce75f0..f64c867814 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_chain/lib.rs.html @@ -126,6 +126,13 @@ 126 127 128 +129 +130 +131 +132 +133 +134 +135
//! This crate is a collection of core structures for [Bitcoin Dev Kit].
 //!
 //! The goal of this crate is to give wallets the mechanisms needed to:
@@ -241,6 +248,13 @@
 /// A wrapper that we use to impl remote traits for types in our crate or dependency crates.
 pub struct Impl<T>(pub T);
 
+impl<T> Impl<T> {
+    /// Returns the inner `T`.
+    pub fn into_inner(self) -> T {
+        self.0
+    }
+}
+
 impl<T> From<T> for Impl<T> {
     fn from(value: T) -> Self {
         Self(value)
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/changeset.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/changeset.rs.html
index 2033f7386f..fb592c886a 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/changeset.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/changeset.rs.html
@@ -207,6 +207,8 @@
 207
 208
 209
+210
+211
 
use bdk_chain::{
     indexed_tx_graph, keychain_txout, local_chain, tx_graph, ConfirmationBlockTime, Merge,
 };
@@ -312,16 +314,18 @@
         let row = wallet_statement
             .query_row([], |row| {
                 Ok((
-                    row.get::<_, Impl<Descriptor<DescriptorPublicKey>>>("descriptor")?,
-                    row.get::<_, Impl<Descriptor<DescriptorPublicKey>>>("change_descriptor")?,
-                    row.get::<_, Impl<bitcoin::Network>>("network")?,
+                    row.get::<_, Option<Impl<Descriptor<DescriptorPublicKey>>>>("descriptor")?,
+                    row.get::<_, Option<Impl<Descriptor<DescriptorPublicKey>>>>(
+                        "change_descriptor",
+                    )?,
+                    row.get::<_, Option<Impl<bitcoin::Network>>>("network")?,
                 ))
             })
             .optional()?;
-        if let Some((Impl(desc), Impl(change_desc), Impl(network))) = row {
-            changeset.descriptor = Some(desc);
-            changeset.change_descriptor = Some(change_desc);
-            changeset.network = Some(network);
+        if let Some((desc, change_desc, network)) = row {
+            changeset.descriptor = desc.map(Impl::into_inner);
+            changeset.change_descriptor = change_desc.map(Impl::into_inner);
+            changeset.network = network.map(Impl::into_inner);
         }
 
         changeset.local_chain = local_chain::ChangeSet::from_sqlite(db_tx)?;
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 e29f93d331..5fdd02946b 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
@@ -2471,6 +2471,126 @@
 2471
 2472
 2473
+2474
+2475
+2476
+2477
+2478
+2479
+2480
+2481
+2482
+2483
+2484
+2485
+2486
+2487
+2488
+2489
+2490
+2491
+2492
+2493
+2494
+2495
+2496
+2497
+2498
+2499
+2500
+2501
+2502
+2503
+2504
+2505
+2506
+2507
+2508
+2509
+2510
+2511
+2512
+2513
+2514
+2515
+2516
+2517
+2518
+2519
+2520
+2521
+2522
+2523
+2524
+2525
+2526
+2527
+2528
+2529
+2530
+2531
+2532
+2533
+2534
+2535
+2536
+2537
+2538
+2539
+2540
+2541
+2542
+2543
+2544
+2545
+2546
+2547
+2548
+2549
+2550
+2551
+2552
+2553
+2554
+2555
+2556
+2557
+2558
+2559
+2560
+2561
+2562
+2563
+2564
+2565
+2566
+2567
+2568
+2569
+2570
+2571
+2572
+2573
+2574
+2575
+2576
+2577
+2578
+2579
+2580
+2581
+2582
+2583
+2584
+2585
+2586
+2587
+2588
+2589
+2590
+2591
+2592
+2593
 
// Bitcoin Dev Kit
 // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
 //
@@ -2719,9 +2839,9 @@
         /// Keychain identifying the descriptor.
         keychain: KeychainKind,
         /// The loaded descriptor.
-        loaded: ExtendedDescriptor,
+        loaded: Option<ExtendedDescriptor>,
         /// The expected descriptor.
-        expected: ExtendedDescriptor,
+        expected: Option<ExtendedDescriptor>,
     },
 }
 
@@ -2771,6 +2891,53 @@
 impl std::error::Error for ApplyBlockError {}
 
 impl Wallet {
+    /// Build a new single descriptor [`Wallet`].
+    ///
+    /// If you have previously created a wallet, use [`load`](Self::load) instead.
+    ///
+    /// # Note
+    ///
+    /// Only use this method when creating a wallet designed to be used with a single
+    /// descriptor and keychain. Otherwise the recommended way to construct a new wallet is
+    /// by using [`Wallet::create`]. It's worth noting that not all features are available
+    /// with single descriptor wallets, for example setting a [`change_policy`] on [`TxBuilder`]
+    /// and related methods such as [`do_not_spend_change`]. This is because all payments are
+    /// received on the external keychain (including change), and without a change keychain
+    /// BDK lacks enough information to distinguish between change and outside payments.
+    ///
+    /// Additionally because this wallet has no internal (change) keychain, all methods that
+    /// require a [`KeychainKind`] as input, e.g. [`reveal_next_address`] should only be called
+    /// using the [`External`] variant. In most cases passing [`Internal`] is treated as the
+    /// equivalent of [`External`] but can lead to confusing results.
+    ///
+    /// # Example
+    ///
+    /// ```rust
+    /// # use bdk_wallet::Wallet;
+    /// # use bitcoin::Network;
+    /// # const EXTERNAL_DESC: &str = "wpkh(tprv8ZgxMBicQKsPdy6LMhUtFHAgpocR8GC6QmwMSFpZs7h6Eziw3SpThFfczTDh5rW2krkqffa11UpX3XkeTTB2FvzZKWXqPY54Y6Rq4AQ5R8L/84'/1'/0'/0/*)";
+    /// # let temp_dir = tempfile::tempdir().expect("must create tempdir");
+    /// # let file_path = temp_dir.path().join("store.db");
+    /// // Create a wallet that is persisted to SQLite database.
+    /// use bdk_wallet::rusqlite::Connection;
+    /// let mut conn = Connection::open(file_path)?;
+    /// let wallet = Wallet::create_single(EXTERNAL_DESC)
+    ///     .network(Network::Testnet)
+    ///     .create_wallet(&mut conn)?;
+    /// # Ok::<_, anyhow::Error>(())
+    /// ```
+    /// [`change_policy`]: TxBuilder::change_policy
+    /// [`do_not_spend_change`]: TxBuilder::do_not_spend_change
+    /// [`External`]: KeychainKind::External
+    /// [`Internal`]: KeychainKind::Internal
+    /// [`reveal_next_address`]: Self::reveal_next_address
+    pub fn create_single<D>(descriptor: D) -> CreateParams
+    where
+        D: IntoWalletDescriptor + Clone + 'static,
+    {
+        CreateParams::new_single(descriptor)
+    }
+
     /// Build a new [`Wallet`].
     ///
     /// If you have previously created a wallet, use [`load`](Self::load) instead.
@@ -2820,20 +2987,26 @@
         let (descriptor, mut descriptor_keymap) = (params.descriptor)(&secp, network)?;
         descriptor_keymap.extend(params.descriptor_keymap);
 
-        let (change_descriptor, mut change_descriptor_keymap) =
-            (params.change_descriptor)(&secp, network)?;
-        change_descriptor_keymap.extend(params.change_descriptor_keymap);
-
         let signers = Arc::new(SignersContainer::build(
             descriptor_keymap,
             &descriptor,
             &secp,
         ));
-        let change_signers = Arc::new(SignersContainer::build(
-            change_descriptor_keymap,
-            &change_descriptor,
-            &secp,
-        ));
+
+        let (change_descriptor, change_signers) = match params.change_descriptor {
+            Some(make_desc) => {
+                let (change_descriptor, mut internal_keymap) = make_desc(&secp, network)?;
+                internal_keymap.extend(params.change_descriptor_keymap);
+                let change_signers = Arc::new(SignersContainer::build(
+                    internal_keymap,
+                    &change_descriptor,
+                    &secp,
+                ));
+                (Some(change_descriptor), change_signers)
+            }
+            None => (None, Arc::new(SignersContainer::new())),
+        };
+
         let index = create_indexer(descriptor, change_descriptor, params.lookahead)?;
 
         let descriptor = index.get_descriptor(KeychainKind::External).cloned();
@@ -2863,10 +3036,11 @@
 
     /// Build [`Wallet`] by loading from persistence or [`ChangeSet`].
     ///
-    /// Note that the descriptor secret keys are not persisted to the db. You can either add
-    /// signers after-the-fact with [`Wallet::add_signer`] or [`Wallet::set_keymap`]. Or you can
-    /// add keys when building the wallet using [`LoadParams::keymap`] and/or
-    /// [`LoadParams::descriptors`].
+    /// 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
+    /// you can check the wallet's descriptors are what you expect with [`LoadParams::descriptor`]
+    /// which will try to populate signers if [`LoadParams::extract_keys`] is enabled.
     ///
     /// # Synopsis
     ///
@@ -2891,7 +3065,9 @@
     /// let mut conn = bdk_wallet::rusqlite::Connection::open(file_path)?;
     /// let mut wallet = Wallet::load()
     ///     // check loaded descriptors matches these values and extract private keys
-    ///     .descriptors(EXTERNAL_DESC, INTERNAL_DESC)
+    ///     .descriptor(KeychainKind::External, Some(EXTERNAL_DESC))
+    ///     .descriptor(KeychainKind::Internal, Some(INTERNAL_DESC))
+    ///     .extract_keys()
     ///     // you can also manually add private keys
     ///     .keymap(KeychainKind::External, external_keymap)
     ///     .keymap(KeychainKind::Internal, internal_keymap)
@@ -2923,20 +3099,7 @@
         let chain = LocalChain::from_changeset(changeset.local_chain)
             .map_err(|_| LoadError::MissingGenesis)?;
 
-        let mut descriptor_keymap = params.descriptor_keymap;
-        let descriptor = changeset
-            .descriptor
-            .ok_or(LoadError::MissingDescriptor(KeychainKind::External))?;
-        check_wallet_descriptor(&descriptor).map_err(LoadError::Descriptor)?;
-
-        let mut change_descriptor_keymap = params.change_descriptor_keymap;
-        let change_descriptor = changeset
-            .change_descriptor
-            .ok_or(LoadError::MissingDescriptor(KeychainKind::Internal))?;
-        check_wallet_descriptor(&change_descriptor).map_err(LoadError::Descriptor)?;
-
-        // checks
-        if let Some(exp_network) = params.check_network {
+        if let Some(exp_network) = params.check_network {
             if network != exp_network {
                 return Err(LoadError::Mismatch(LoadMismatch::Network {
                     loaded: network,
@@ -2952,43 +3115,88 @@
                 }));
             }
         }
-        if let Some(exp_descriptor) = params.check_descriptor {
-            let (exp_descriptor, keymap) =
-                (exp_descriptor)(&secp, network).map_err(LoadError::Descriptor)?;
-            descriptor_keymap.extend(keymap);
 
-            if descriptor.descriptor_id() != exp_descriptor.descriptor_id() {
+        let descriptor = changeset
+            .descriptor
+            .ok_or(LoadError::MissingDescriptor(KeychainKind::External))?;
+        check_wallet_descriptor(&descriptor).map_err(LoadError::Descriptor)?;
+        let mut external_keymap = params.descriptor_keymap;
+
+        if let Some(expected) = params.check_descriptor {
+            if let Some(make_desc) = expected {
+                let (exp_desc, keymap) =
+                    make_desc(&secp, network).map_err(LoadError::Descriptor)?;
+                if descriptor.descriptor_id() != exp_desc.descriptor_id() {
+                    return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
+                        keychain: KeychainKind::External,
+                        loaded: Some(descriptor),
+                        expected: Some(exp_desc),
+                    }));
+                }
+                if params.extract_keys {
+                    external_keymap.extend(keymap);
+                }
+            } else {
                 return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
                     keychain: KeychainKind::External,
-                    loaded: descriptor,
-                    expected: exp_descriptor,
+                    loaded: Some(descriptor),
+                    expected: None,
                 }));
             }
         }
-        if let Some(exp_change_descriptor) = params.check_change_descriptor {
-            let (exp_change_descriptor, keymap) =
-                (exp_change_descriptor)(&secp, network).map_err(LoadError::Descriptor)?;
-            change_descriptor_keymap.extend(keymap);
-
-            if change_descriptor.descriptor_id() != exp_change_descriptor.descriptor_id() {
-                return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
-                    keychain: KeychainKind::Internal,
-                    loaded: change_descriptor,
-                    expected: exp_change_descriptor,
-                }));
+        let signers = Arc::new(SignersContainer::build(external_keymap, &descriptor, &secp));
+
+        let (mut change_descriptor, mut change_signers) = (None, Arc::new(SignersContainer::new()));
+        match (changeset.change_descriptor, params.check_change_descriptor) {
+            // empty signer
+            (None, None) => {}
+            (None, Some(expect)) => {
+                // expected desc but none loaded
+                if let Some(make_desc) = expect {
+                    let (exp_desc, _) = make_desc(&secp, network).map_err(LoadError::Descriptor)?;
+                    return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
+                        keychain: KeychainKind::Internal,
+                        loaded: None,
+                        expected: Some(exp_desc),
+                    }));
+                }
+            }
+            // nothing expected
+            (Some(desc), None) => {
+                check_wallet_descriptor(&desc).map_err(LoadError::Descriptor)?;
+                change_descriptor = Some(desc);
             }
+            (Some(desc), Some(expect)) => match expect {
+                // expected none for existing
+                None => {
+                    return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
+                        keychain: KeychainKind::Internal,
+                        loaded: Some(desc),
+                        expected: None,
+                    }))
+                }
+                // parameters must match
+                Some(make_desc) => {
+                    let (exp_desc, keymap) =
+                        make_desc(&secp, network).map_err(LoadError::Descriptor)?;
+                    if desc.descriptor_id() != exp_desc.descriptor_id() {
+                        return Err(LoadError::Mismatch(LoadMismatch::Descriptor {
+                            keychain: KeychainKind::Internal,
+                            loaded: Some(desc),
+                            expected: Some(exp_desc),
+                        }));
+                    }
+                    let mut internal_keymap = params.change_descriptor_keymap;
+                    if params.extract_keys {
+                        internal_keymap.extend(keymap);
+                    }
+                    change_signers =
+                        Arc::new(SignersContainer::build(internal_keymap, &desc, &secp));
+                    change_descriptor = Some(desc);
+                }
+            },
         }
 
-        let signers = Arc::new(SignersContainer::build(
-            descriptor_keymap,
-            &descriptor,
-            &secp,
-        ));
-        let change_signers = Arc::new(SignersContainer::build(
-            change_descriptor_keymap,
-            &change_descriptor,
-            &secp,
-        ));
         let index = create_indexer(descriptor, change_descriptor, params.lookahead)
             .map_err(LoadError::Descriptor)?;
 
@@ -3028,6 +3236,7 @@
     /// This panics when the caller requests for an address of derivation index greater than the
     /// [BIP32](https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki) max index.
     pub fn peek_address(&self, keychain: KeychainKind, mut index: u32) -> AddressInfo {
+        let keychain = self.map_keychain(keychain);
         let mut spk_iter = self
             .indexed_graph
             .index
@@ -3073,6 +3282,7 @@
     /// # Ok::<(), anyhow::Error>(())
     /// ```
     pub fn reveal_next_address(&mut self, keychain: KeychainKind) -> AddressInfo {
+        let keychain = self.map_keychain(keychain);
         let index = &mut self.indexed_graph.index;
         let stage = &mut self.stage;
 
@@ -3104,6 +3314,7 @@
         keychain: KeychainKind,
         index: u32,
     ) -> impl Iterator<Item = AddressInfo> + '_ {
+        let keychain = self.map_keychain(keychain);
         let (spks, index_changeset) = self
             .indexed_graph
             .index
@@ -3128,6 +3339,7 @@
     /// **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`].
     pub fn next_unused_address(&mut self, keychain: KeychainKind) -> AddressInfo {
+        let keychain = self.map_keychain(keychain);
         let index = &mut self.indexed_graph.index;
 
         let ((index, spk), index_changeset) = index
@@ -3175,7 +3387,7 @@
     ) -> impl DoubleEndedIterator<Item = AddressInfo> + '_ {
         self.indexed_graph
             .index
-            .unused_keychain_spks(keychain)
+            .unused_keychain_spks(self.map_keychain(keychain))
             .map(move |(index, spk)| AddressInfo {
                 index,
                 address: Address::from_script(spk.as_script(), self.network)
@@ -3257,7 +3469,7 @@
     ) -> impl Iterator<Item = Indexed<ScriptBuf>> + Clone {
         self.indexed_graph
             .index
-            .unbounded_spk_iter(keychain)
+            .unbounded_spk_iter(self.map_keychain(keychain))
             .expect("keychain must exist")
     }
 
@@ -3526,17 +3738,17 @@
     }
 
     /// 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.
     pub fn set_keymap(&mut self, keychain: KeychainKind, keymap: KeyMap) {
         let wallet_signers = match keychain {
             KeychainKind::External => Arc::make_mut(&mut self.signers),
             KeychainKind::Internal => Arc::make_mut(&mut self.change_signers),
         };
-        let descriptor = self
-            .indexed_graph
-            .index
-            .get_descriptor(keychain)
-            .expect("keychain must exist");
-        *wallet_signers = SignersContainer::build(keymap, descriptor, &self.secp);
+        if let Some(descriptor) = self.indexed_graph.index.get_descriptor(keychain) {
+            *wallet_signers = SignersContainer::build(keymap, descriptor, &self.secp)
+        }
     }
 
     /// Set the keymap for each keychain.
@@ -3616,14 +3828,19 @@
     ) -> Result<Psbt, CreateTxError> {
         let keychains: BTreeMap<_, _> = self.indexed_graph.index.keychains().collect();
         let external_descriptor = keychains.get(&KeychainKind::External).expect("must exist");
-        let internal_descriptor = keychains.get(&KeychainKind::Internal).expect("must exist");
+        let internal_descriptor = keychains.get(&KeychainKind::Internal);
 
         let external_policy = external_descriptor
             .extract_policy(&self.signers, BuildSatisfaction::None, &self.secp)?
             .unwrap();
         let internal_policy = internal_descriptor
-            .extract_policy(&self.change_signers, BuildSatisfaction::None, &self.secp)?
-            .unwrap();
+            .map(|desc| {
+                Ok::<_, CreateTxError>(
+                    desc.extract_policy(&self.change_signers, BuildSatisfaction::None, &self.secp)?
+                        .unwrap(),
+                )
+            })
+            .transpose()?;
 
         // The policy allows spending external outputs, but it requires a policy path that hasn't been
         // provided
@@ -3636,14 +3853,16 @@
             ));
         };
         // Same for the internal_policy path
-        if params.change_policy != tx_builder::ChangeSpendPolicy::ChangeForbidden
-            && internal_policy.requires_path()
-            && params.internal_policy_path.is_none()
-        {
-            return Err(CreateTxError::SpendingPolicyRequired(
-                KeychainKind::Internal,
-            ));
-        };
+        if let Some(internal_policy) = &internal_policy {
+            if params.change_policy != tx_builder::ChangeSpendPolicy::ChangeForbidden
+                && internal_policy.requires_path()
+                && params.internal_policy_path.is_none()
+            {
+                return Err(CreateTxError::SpendingPolicyRequired(
+                    KeychainKind::Internal,
+                ));
+            };
+        }
 
         let external_requirements = external_policy.get_condition(
             params
@@ -3651,14 +3870,21 @@
                 .as_ref()
                 .unwrap_or(&BTreeMap::new()),
         )?;
-        let internal_requirements = internal_policy.get_condition(
-            params
-                .internal_policy_path
-                .as_ref()
-                .unwrap_or(&BTreeMap::new()),
-        )?;
+        let internal_requirements = internal_policy
+            .map(|policy| {
+                Ok::<_, CreateTxError>(
+                    policy.get_condition(
+                        params
+                            .internal_policy_path
+                            .as_ref()
+                            .unwrap_or(&BTreeMap::new()),
+                    )?,
+                )
+            })
+            .transpose()?;
 
-        let requirements = external_requirements.merge(&internal_requirements)?;
+        let requirements =
+            external_requirements.merge(&internal_requirements.unwrap_or_default())?;
 
         let version = match params.version {
             Some(tx_builder::Version(0)) => return Err(CreateTxError::Version0),
@@ -3824,7 +4050,7 @@
         let drain_script = match params.drain_to {
             Some(ref drain_recipient) => drain_recipient.clone(),
             None => {
-                let change_keychain = KeychainKind::Internal;
+                let change_keychain = self.map_keychain(KeychainKind::Internal);
                 let ((index, spk), index_changeset) = self
                     .indexed_graph
                     .index
@@ -4201,14 +4427,14 @@
     }
 
     /// 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.
     pub fn public_descriptor(&self, keychain: KeychainKind) -> &ExtendedDescriptor {
         self.indexed_graph
             .index
-            .get_descriptor(keychain)
+            .get_descriptor(self.map_keychain(keychain))
             .expect("keychain must exist")
     }
 
@@ -4324,7 +4550,7 @@
     pub fn next_derivation_index(&self, keychain: KeychainKind) -> u32 {
         self.indexed_graph
             .index
-            .next_index(keychain)
+            .next_index(self.map_keychain(keychain))
             .expect("keychain must exist")
             .0
     }
@@ -4450,7 +4676,7 @@
 
         let mut i = 0;
         may_spend.retain(|u| {
-            let retain = change_policy.is_satisfied_by(&u.0)
+            let retain = (self.keychains().count() == 1 || change_policy.is_satisfied_by(&u.0))
                 && !unspendable.contains(&u.0.outpoint)
                 && satisfies_confirmed[i];
             i += 1;
@@ -4783,6 +5009,18 @@
             .batch_insert_relevant_unconfirmed(unconfirmed_txs);
         self.stage.merge(indexed_graph_changeset.into());
     }
+
+    /// Used internally to ensure that all methods requiring a [`KeychainKind`] will use a
+    /// keychain with an associated descriptor. For example in case the wallet was created
+    /// with only one keychain, passing [`KeychainKind::Internal`] here will instead return
+    /// [`KeychainKind::External`].
+    fn map_keychain(&self, keychain: KeychainKind) -> KeychainKind {
+        if self.keychains().count() == 1 {
+            KeychainKind::External
+        } else {
+            keychain
+        }
+    }
 }
 
 /// Methods to construct sync/full-scan requests for spk-based chain sources.
@@ -4862,7 +5100,7 @@
 
 fn create_indexer(
     descriptor: ExtendedDescriptor,
-    change_descriptor: ExtendedDescriptor,
+    change_descriptor: Option<ExtendedDescriptor>,
     lookahead: u32,
 ) -> Result<KeychainTxOutIndex<KeychainKind>, DescriptorError> {
     let mut indexer = KeychainTxOutIndex::<KeychainKind>::new(lookahead);
@@ -4875,19 +5113,21 @@
 
     // let (descriptor, keymap) = change_descriptor;
     // let change_signers = Arc::new(SignersContainer::build(keymap, &descriptor, secp));
-    assert!(indexer
-        .insert_descriptor(KeychainKind::Internal, change_descriptor)
-        .map_err(|e| {
-            use bdk_chain::indexer::keychain_txout::InsertDescriptorError;
-            match e {
-                InsertDescriptorError::DescriptorAlreadyAssigned { .. } => {
-                    crate::descriptor::error::Error::ExternalAndInternalAreTheSame
-                }
-                InsertDescriptorError::KeychainAlreadyAssigned { .. } => {
-                    unreachable!("this is the first time we're assigning internal")
+    if let Some(change_descriptor) = change_descriptor {
+        assert!(indexer
+            .insert_descriptor(KeychainKind::Internal, change_descriptor)
+            .map_err(|e| {
+                use bdk_chain::indexer::keychain_txout::InsertDescriptorError;
+                match e {
+                    InsertDescriptorError::DescriptorAlreadyAssigned { .. } => {
+                        crate::descriptor::error::Error::ExternalAndInternalAreTheSame
+                    }
+                    InsertDescriptorError::KeychainAlreadyAssigned { .. } => {
+                        unreachable!("this is the first time we're assigning internal")
+                    }
                 }
-            }
-        })?);
+            })?);
+    }
 
     Ok(indexer)
 }
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/params.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/params.rs.html
index f979d485b9..ea73abca09 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/params.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/params.rs.html
@@ -211,6 +211,47 @@
 211
 212
 213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
 
use alloc::boxed::Box;
 use bdk_chain::{keychain_txout::DEFAULT_LOOKAHEAD, PersistAsyncWith, PersistWith};
 use bitcoin::{BlockHash, Network};
@@ -245,7 +286,7 @@
 pub struct CreateParams {
     pub(crate) descriptor: DescriptorToExtract,
     pub(crate) descriptor_keymap: KeyMap,
-    pub(crate) change_descriptor: DescriptorToExtract,
+    pub(crate) change_descriptor: Option<DescriptorToExtract>,
     pub(crate) change_descriptor_keymap: KeyMap,
     pub(crate) network: Network,
     pub(crate) genesis_hash: Option<BlockHash>,
@@ -253,14 +294,39 @@
 }
 
 impl CreateParams {
-    /// Construct parameters with provided `descriptor`, `change_descriptor` and `network`.
+    /// Construct parameters with provided `descriptor`.
     ///
-    /// Default values: `genesis_hash` = `None`, `lookahead` = [`DEFAULT_LOOKAHEAD`]
+    /// Default values:
+    /// * `change_descriptor` = `None`
+    /// * `network` = [`Network::Bitcoin`]
+    /// * `genesis_hash` = `None`
+    /// * `lookahead` = [`DEFAULT_LOOKAHEAD`]
+    ///
+    /// Use this method only when building a wallet with a single descriptor. See
+    /// also [`Wallet::create_single`].
+    pub fn new_single<D: IntoWalletDescriptor + 'static>(descriptor: D) -> Self {
+        Self {
+            descriptor: make_descriptor_to_extract(descriptor),
+            descriptor_keymap: KeyMap::default(),
+            change_descriptor: None,
+            change_descriptor_keymap: KeyMap::default(),
+            network: Network::Bitcoin,
+            genesis_hash: None,
+            lookahead: DEFAULT_LOOKAHEAD,
+        }
+    }
+
+    /// Construct parameters with provided `descriptor` and `change_descriptor`.
+    ///
+    /// Default values:
+    /// * `network` = [`Network::Bitcoin`]
+    /// * `genesis_hash` = `None`
+    /// * `lookahead` = [`DEFAULT_LOOKAHEAD`]
     pub fn new<D: IntoWalletDescriptor + 'static>(descriptor: D, change_descriptor: D) -> Self {
         Self {
             descriptor: make_descriptor_to_extract(descriptor),
             descriptor_keymap: KeyMap::default(),
-            change_descriptor: make_descriptor_to_extract(change_descriptor),
+            change_descriptor: Some(make_descriptor_to_extract(change_descriptor)),
             change_descriptor_keymap: KeyMap::default(),
             network: Network::Bitcoin,
             genesis_hash: None,
@@ -332,8 +398,9 @@
     pub(crate) lookahead: u32,
     pub(crate) check_network: Option<Network>,
     pub(crate) check_genesis_hash: Option<BlockHash>,
-    pub(crate) check_descriptor: Option<DescriptorToExtract>,
-    pub(crate) check_change_descriptor: Option<DescriptorToExtract>,
+    pub(crate) check_descriptor: Option<Option<DescriptorToExtract>>,
+    pub(crate) check_change_descriptor: Option<Option<DescriptorToExtract>>,
+    pub(crate) extract_keys: bool,
 }
 
 impl LoadParams {
@@ -349,6 +416,7 @@
             check_genesis_hash: None,
             check_descriptor: None,
             check_change_descriptor: None,
+            extract_keys: false,
         }
     }
 
@@ -362,14 +430,21 @@
         self
     }
 
-    /// Checks that `descriptor` of `keychain` matches this, and extracts private keys (if
-    /// available).
-    pub fn descriptors<D>(mut self, descriptor: D, change_descriptor: D) -> Self
+    /// Checks the `expected_descriptor` matches exactly what is loaded for `keychain`.
+    ///
+    /// # Note
+    ///
+    /// You must also specify [`extract_keys`](Self::extract_keys) if you wish to add a signer
+    /// for an expected descriptor containing secrets.
+    pub fn descriptor<D>(mut self, keychain: KeychainKind, expected_descriptor: Option<D>) -> Self
     where
         D: IntoWalletDescriptor + 'static,
     {
-        self.check_descriptor = Some(make_descriptor_to_extract(descriptor));
-        self.check_change_descriptor = Some(make_descriptor_to_extract(change_descriptor));
+        let expected = expected_descriptor.map(|d| make_descriptor_to_extract(d));
+        match keychain {
+            KeychainKind::External => self.check_descriptor = Some(expected),
+            KeychainKind::Internal => self.check_change_descriptor = Some(expected),
+        }
         self
     }
 
@@ -391,6 +466,13 @@
         self
     }
 
+    /// Whether to try extracting private keys from the *provided descriptors* upon loading.
+    /// See also [`LoadParams::descriptor`].
+    pub fn extract_keys(mut self) -> Self {
+        self.extract_keys = true;
+        self
+    }
+
     /// Load [`PersistedWallet`] with the given `Db`.
     pub fn load_wallet<Db>(
         self,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
index 81fe353016..daf3902620 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/tx_builder.rs.html
@@ -1113,6 +1113,9 @@
 1113
 1114
 1115
+1116
+1117
+1118
 
// Bitcoin Dev Kit
 // Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
 //
@@ -1596,7 +1599,8 @@
     /// Do not spend change outputs
     ///
     /// This effectively adds all the change outputs to the "unspendable" list. See
-    /// [`TxBuilder::unspendable`].
+    /// [`TxBuilder::unspendable`]. This method assumes the presence of an internal
+    /// keychain, otherwise it has no effect.
     pub fn do_not_spend_change(&mut self) -> &mut Self {
         self.params.change_policy = ChangeSpendPolicy::ChangeForbidden;
         self
@@ -1605,14 +1609,16 @@
     /// Only spend change outputs
     ///
     /// This effectively adds all the non-change outputs to the "unspendable" list. See
-    /// [`TxBuilder::unspendable`].
+    /// [`TxBuilder::unspendable`]. This method assumes the presence of an internal
+    /// keychain, otherwise it has no effect.
     pub fn only_spend_change(&mut self) -> &mut Self {
         self.params.change_policy = ChangeSpendPolicy::OnlyChange;
         self
     }
 
     /// Set a specific [`ChangeSpendPolicy`]. See [`TxBuilder::do_not_spend_change`] and
-    /// [`TxBuilder::only_spend_change`] for some shortcuts.
+    /// [`TxBuilder::only_spend_change`] for some shortcuts. This method assumes the presence
+    /// of an internal keychain, otherwise it has no effect.
     pub fn change_policy(&mut self, change_policy: ChangeSpendPolicy) -> &mut Self {
         self.params.change_policy = change_policy;
         self
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
index 7a71b089e0..abc59f6243 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_electrum_example/main.rs.html
@@ -103,6 +103,8 @@
 103
 104
 105
+106
+107
 
use bdk_wallet::file_store::Store;
 use bdk_wallet::Wallet;
 use std::io::Write;
@@ -131,8 +133,10 @@
     let mut db = Store::<bdk_wallet::ChangeSet>::open_or_create_new(DB_MAGIC.as_bytes(), db_path)?;
 
     let wallet_opt = Wallet::load()
-        .descriptors(EXTERNAL_DESC, INTERNAL_DESC)
         .network(NETWORK)
+        .descriptor(KeychainKind::External, Some(EXTERNAL_DESC))
+        .descriptor(KeychainKind::Internal, Some(INTERNAL_DESC))
+        .extract_keys()
         .load_wallet(&mut db)?;
     let mut wallet = match wallet_opt {
         Some(wallet) => wallet,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
index 65fc0cd5f8..e0b30fdfe2 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_async/main.rs.html
@@ -90,6 +90,8 @@
 90
 91
 92
+93
+94
 
use std::{collections::BTreeSet, io::Write};
 
 use anyhow::Ok;
@@ -115,8 +117,10 @@
     let mut conn = Connection::open(DB_PATH)?;
 
     let wallet_opt = Wallet::load()
-        .descriptors(EXTERNAL_DESC, INTERNAL_DESC)
         .network(NETWORK)
+        .descriptor(KeychainKind::External, Some(EXTERNAL_DESC))
+        .descriptor(KeychainKind::Internal, Some(INTERNAL_DESC))
+        .extract_keys()
         .load_wallet(&mut conn)?;
     let mut wallet = match wallet_opt {
         Some(wallet) => wallet,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
index 0f8f2267d8..f6697fd071 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_esplora_blocking/main.rs.html
@@ -92,6 +92,8 @@
 92
 93
 94
+95
+96
 
use std::{collections::BTreeSet, io::Write};
 
 use bdk_esplora::{esplora_client, EsploraExt};
@@ -116,8 +118,10 @@
     let mut db = Store::<bdk_wallet::ChangeSet>::open_or_create_new(DB_MAGIC.as_bytes(), DB_PATH)?;
 
     let wallet_opt = Wallet::load()
-        .descriptors(EXTERNAL_DESC, INTERNAL_DESC)
         .network(NETWORK)
+        .descriptor(KeychainKind::External, Some(EXTERNAL_DESC))
+        .descriptor(KeychainKind::Internal, Some(INTERNAL_DESC))
+        .extract_keys()
         .load_wallet(&mut db)?;
     let mut wallet = match wallet_opt {
         Some(wallet) => wallet,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_rpc/main.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_rpc/main.rs.html
index 28707b6059..371f352653 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_rpc/main.rs.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/wallet_rpc/main.rs.html
@@ -186,6 +186,8 @@
 186
 187
 188
+189
+190
 
use bdk_bitcoind_rpc::{
     bitcoincore_rpc::{Auth, Client, RpcApi},
     Emitter,
@@ -193,7 +195,7 @@
 use bdk_wallet::{
     bitcoin::{Block, Network, Transaction},
     file_store::Store,
-    Wallet,
+    KeychainKind, Wallet,
 };
 use clap::{self, Parser};
 use std::{path::PathBuf, sync::mpsc::sync_channel, thread::spawn, time::Instant};
@@ -277,8 +279,10 @@
     let mut db =
         Store::<bdk_wallet::ChangeSet>::open_or_create_new(DB_MAGIC.as_bytes(), args.db_path)?;
     let wallet_opt = Wallet::load()
-        .descriptors(args.descriptor.clone(), args.change_descriptor.clone())
         .network(args.network)
+        .descriptor(KeychainKind::External, Some(args.descriptor.clone()))
+        .descriptor(KeychainKind::Internal, Some(args.change_descriptor.clone()))
+        .extract_keys()
         .load_wallet(&mut db)?;
     let mut wallet = match wallet_opt {
         Some(wallet) => wallet,
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.SignerCommon.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.SignerCommon.js
index e2be123c6f..b941023d12 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.SignerCommon.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.SignerCommon.js
@@ -1,4 +1,4 @@
 (function() {var implementors = {
-"bdk_hwi":[["impl SignerCommon for HWISigner"]],
+"bdk_hwi":[["impl SignerCommon for HWISigner"]],
 "bdk_wallet":[]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.TransactionSigner.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.TransactionSigner.js
index 54cf1ae9be..4974266e47 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.TransactionSigner.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_wallet/wallet/signer/trait.TransactionSigner.js
@@ -1,4 +1,4 @@
 (function() {var implementors = {
-"bdk_hwi":[["impl TransactionSigner for HWISigner"]],
+"bdk_hwi":[["impl TransactionSigner for HWISigner"]],
 "bdk_wallet":[]
 };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html
index 42b814952f..6e7fa5a93d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/fn.main.html
@@ -1 +1 @@
-main in wallet_electrum_example - Rust

Function wallet_electrum_example::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file +main in wallet_electrum_example - Rust

Function wallet_electrum_example::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html index 97ede053c2..b714e904d3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_electrum_example/index.html @@ -1 +1 @@ -wallet_electrum_example - Rust

Crate wallet_electrum_example

source ·

Constants§

Functions§

\ No newline at end of file +wallet_electrum_example - Rust

Crate wallet_electrum_example

source ·

Constants§

Functions§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html index e9307d2193..34c2601c6c 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/fn.main.html @@ -1 +1 @@ -main in wallet_esplora_async - Rust

Function wallet_esplora_async::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file +main in wallet_esplora_async - Rust

Function wallet_esplora_async::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html index 6075f09ab7..a7cb554501 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_async/index.html @@ -1 +1 @@ -wallet_esplora_async - Rust

Crate wallet_esplora_async

source ·

Constants§

Functions§

\ No newline at end of file +wallet_esplora_async - Rust

Crate wallet_esplora_async

source ·

Constants§

Functions§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html index c25c1f34d6..b84c9fc32b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/fn.main.html @@ -1 +1 @@ -main in wallet_esplora_blocking - Rust

Function wallet_esplora_blocking::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file +main in wallet_esplora_blocking - Rust

Function wallet_esplora_blocking::main

source ·
pub(crate) fn main() -> Result<(), Error>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html index a5d8ed7b7f..60666c71dc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_esplora_blocking/index.html @@ -1 +1 @@ -wallet_esplora_blocking - Rust

Crate wallet_esplora_blocking

source ·

Constants§

Functions§

\ No newline at end of file +wallet_esplora_blocking - Rust

Crate wallet_esplora_blocking

source ·

Constants§

Functions§

\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/fn.main.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/fn.main.html index 47b471569d..bfcc678766 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/fn.main.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/fn.main.html @@ -1 +1 @@ -main in wallet_rpc - Rust

Function wallet_rpc::main

source ·
pub(crate) fn main() -> Result<()>
\ No newline at end of file +main in wallet_rpc - Rust

Function wallet_rpc::main

source ·
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/index.html index b02f66c952..f926a75286 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/wallet_rpc/index.html @@ -1 +1 @@ -wallet_rpc - Rust

Crate wallet_rpc

source ·

Structs§

  • Bitcoind RPC example using bdk_wallet::Wallet.

Enums§

Constants§

Functions§

\ No newline at end of file +wallet_rpc - Rust

Crate wallet_rpc

source ·

Structs§

  • Bitcoind RPC example using bdk_wallet::Wallet.

Enums§

Constants§

Functions§

\ No newline at end of file -- 2.49.0