From 383fc9fdc40d7c7465e18cf45fc634ba6aaf5fdd Mon Sep 17 00:00:00 2001 From: github-actions Date: Thu, 18 Feb 2021 04:12:33 +0000 Subject: [PATCH] Publish autogenerated nightly docs --- .../docs-rs/bdk/nightly/latest/bdk/all.html | 2 +- .../blockchain/any/enum.AnyBlockchain.html | 16 +-- .../any/enum.AnyBlockchainConfig.html | 16 +-- .../enum.CompactFiltersError.html | 16 +-- .../struct.BitcoinPeerConfig.html | 16 +-- .../struct.CompactFiltersBlockchain.html | 16 +-- ...struct.CompactFiltersBlockchainConfig.html | 16 +-- .../compact_filters/struct.Mempool.html | 16 +-- .../compact_filters/struct.Peer.html | 16 +-- .../electrum/struct.ElectrumBlockchain.html | 16 +-- .../struct.ElectrumBlockchainConfig.html | 16 +-- .../bdk/blockchain/enum.Capability.html | 16 +-- .../blockchain/esplora/enum.EsploraError.html | 16 +-- .../esplora/struct.EsploraBlockchain.html | 16 +-- .../struct.EsploraBlockchainConfig.html | 16 +-- .../bdk/blockchain/struct.LogProgress.html | 16 +-- .../bdk/blockchain/struct.NoopProgress.html | 16 +-- .../bdk/database/any/enum.AnyBatch.html | 16 +-- .../bdk/database/any/enum.AnyDatabase.html | 16 +-- .../database/any/enum.AnyDatabaseConfig.html | 16 +-- .../any/struct.SledDbConfiguration.html | 16 +-- .../memory/struct.MemoryDatabase.html | 16 +-- .../bdk/descriptor/enum.Descriptor.html | 18 +-- .../latest/bdk/descriptor/enum.Legacy.html | 16 +-- .../latest/bdk/descriptor/enum.Segwitv0.html | 16 +-- .../bdk/descriptor/error/enum.Error.html | 40 +++--- .../latest/bdk/descriptor/error/index.html | 2 +- .../nightly/latest/bdk/descriptor/index.html | 2 +- .../descriptor/policy/enum.PolicyError.html | 38 +++--- .../descriptor/policy/enum.Satisfaction.html | 16 +-- .../policy/enum.SatisfiableItem.html | 18 +-- .../latest/bdk/descriptor/policy/index.html | 2 +- .../descriptor/policy/struct.Condition.html | 16 +-- .../bdk/descriptor/policy/struct.PKOrF.html | 16 +-- .../bdk/descriptor/policy/struct.Policy.html | 22 +-- .../struct.DerivedDescriptorKey.html | 16 +-- .../bdk/descriptor/struct.Miniscript.html | 18 +-- .../bdk/descriptor/template/struct.BIP44.html | 16 +-- .../template/struct.BIP44Public.html | 16 +-- .../bdk/descriptor/template/struct.BIP49.html | 16 +-- .../template/struct.BIP49Public.html | 16 +-- .../bdk/descriptor/template/struct.BIP84.html | 16 +-- .../template/struct.BIP84Public.html | 16 +-- .../bdk/descriptor/template/struct.P2PKH.html | 16 +-- .../descriptor/template/struct.P2WPKH.html | 16 +-- .../template/struct.P2WPKH_P2SH.html | 16 +-- .../bdk/descriptor/trait.ExtractPolicy.html | 6 +- .../bdk/nightly/latest/bdk/enum.Error.html | 16 +-- .../nightly/latest/bdk/enum.KeychainKind.html | 16 +-- .../docs-rs/bdk/nightly/latest/bdk/index.html | 4 +- .../latest/bdk/keys/bip39/enum.Language.html | 16 +-- .../bdk/keys/bip39/enum.MnemonicType.html | 16 +-- .../bdk/keys/bip39/struct.Mnemonic.html | 16 +-- .../latest/bdk/keys/bip39/struct.Seed.html | 16 +-- .../latest/bdk/keys/enum.DescriptorKey.html | 16 +-- .../bdk/keys/enum.DescriptorPublicKey.html | 16 +-- .../bdk/keys/enum.DescriptorSecretKey.html | 16 +-- .../latest/bdk/keys/enum.ExtendedKey.html | 16 +-- .../latest/bdk/keys/enum.KeyError.html | 18 +-- .../bdk/keys/enum.ScriptContextEnum.html | 16 +-- .../bdk/keys/struct.DescriptorSinglePriv.html | 16 +-- .../bdk/keys/struct.DescriptorSinglePub.html | 16 +-- .../latest/bdk/keys/struct.GeneratedKey.html | 16 +-- .../struct.PrivateKeyGenerateOptions.html | 16 +-- .../bdk/keys/struct.SortedMultiVec.html | 16 +-- .../nightly/latest/bdk/struct.FeeRate.html | 16 +-- .../latest/bdk/struct.TransactionDetails.html | 16 +-- .../bdk/nightly/latest/bdk/struct.UTXO.html | 16 +-- .../enum.AddressValidatorError.html | 16 +-- .../struct.BranchAndBoundCoinSelection.html | 16 +-- .../struct.CoinSelectionResult.html | 16 +-- .../struct.LargestFirstCoinSelection.html | 16 +-- .../wallet/export/struct.WalletExport.html | 16 +-- .../bdk/nightly/latest/bdk/wallet/index.html | 2 +- .../bdk/wallet/signer/enum.SignerError.html | 16 +-- .../bdk/wallet/signer/enum.SignerId.html | 16 +-- .../wallet/signer/struct.SignerOrdering.html | 16 +-- .../signer/struct.SignersContainer.html | 16 +-- .../latest/bdk/wallet/struct.Wallet.html | 64 ++++----- .../tx_builder/enum.ChangeSpendPolicy.html | 16 +-- .../wallet/tx_builder/enum.TxOrdering.html | 16 +-- .../bdk/wallet/tx_builder/struct.BumpFee.html | 16 +-- .../wallet/tx_builder/struct.CreateTx.html | 16 +-- .../wallet/tx_builder/struct.TxBuilder.html | 16 +-- .../latest/implementors/core/cmp/trait.Eq.js | 2 +- .../implementors/core/cmp/trait.PartialEq.js | 2 +- .../core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- static/docs-rs/bdk/nightly/latest/main.js | 4 +- .../bdk/nightly/latest/search-index.js | 2 +- .../latest/src/bdk/descriptor/error.rs.html | 4 + .../latest/src/bdk/descriptor/mod.rs.html | 88 ++++++++++++ .../latest/src/bdk/descriptor/policy.rs.html | 126 +++++++++++++++--- .../bdk/nightly/latest/src/bdk/lib.rs.html | 2 +- .../nightly/latest/src/bdk/wallet/mod.rs.html | 10 +- static/docs-rs/bdk/nightly/latest/storage.js | 2 +- 96 files changed, 899 insertions(+), 707 deletions(-) diff --git a/static/docs-rs/bdk/nightly/latest/bdk/all.html b/static/docs-rs/bdk/nightly/latest/bdk/all.html index 325336e1aa..d3beefed2b 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/all.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/all.html @@ -1,6 +1,6 @@ List of all items in this crate -

Module bdk::descriptor::error[][src]

Descriptor errors

Enums

Error

Errors related to the parsing and usage of descriptors

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/index.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/index.html index d1c9ad341c..786d4bbb2b 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/index.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/index.html @@ -1,7 +1,7 @@ bdk::descriptor - Rust

Module bdk::descriptor[][src]

Descriptors

+ Change settings

Module bdk::descriptor[][src]

Descriptors

This module contains generic utilities to work with descriptors, plus some re-exported types from [miniscript].

Re-exports

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.PolicyError.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.PolicyError.html index c213ac2aa1..4a1fdfb9c0 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.PolicyError.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.PolicyError.html @@ -1,9 +1,8 @@ bdk::descriptor::policy::PolicyError - Rust -

Enum bdk::descriptor::policy::PolicyError[][src]

pub enum PolicyError {
+

Enum bdk::descriptor::policy::PolicyError[][src]

pub enum PolicyError {
     NotEnoughItemsSelected(String),
-    TooManyItemsSelected(String),
     IndexOutOfRange(usize),
     AddOnLeaf,
     AddOnPartialComplete,
@@ -12,33 +11,36 @@
 }

Errors that can happen while extracting and manipulating policies

Variants

-
NotEnoughItemsSelected(String)

Not enough items are selected to satisfy a SatisfiableItem::Thresh

-
TooManyItemsSelected(String)

Too many items are selected to satisfy a SatisfiableItem::Thresh

-
IndexOutOfRange(usize)

Index out of range for an item to satisfy a SatisfiableItem::Thresh

+
NotEnoughItemsSelected(String)

Not enough items are selected to satisfy a SatisfiableItem::Thresh or a SatisfiableItem::Multisig

+
IndexOutOfRange(usize)

Index out of range for an item to satisfy a SatisfiableItem::Thresh or a SatisfiableItem::Multisig

AddOnLeaf

Can not add to an item that is Satisfaction::None or Satisfaction::Complete

AddOnPartialComplete

Can not add to an item that is Satisfaction::PartialComplete

MixedTimelockUnits

Can not merge CSV or timelock values unless both are less than or both are equal or greater than 500_000_000

IncompatibleConditions

Incompatible conditions (not currently used)

Trait Implementations

impl Debug for PolicyError[src]

impl Display for PolicyError[src]

impl Error for PolicyError[src]

impl Display for PolicyError[src]

impl Eq for PolicyError[src]

impl Error for PolicyError[src]

impl From<PolicyError> for Error[src]

impl From<PolicyError> for Error[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl From<PolicyError> for Error[src]

impl PartialEq<PolicyError> for PolicyError[src]

impl StructuralEq for PolicyError[src]

impl StructuralPartialEq for PolicyError[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.Satisfaction.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.Satisfaction.html index f5e36eebfb..9bd7c5f1c6 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.Satisfaction.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.Satisfaction.html @@ -48,14 +48,14 @@

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.SatisfiableItem.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.SatisfiableItem.html index 089e6c8c08..26365897ec 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.SatisfiableItem.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/enum.SatisfiableItem.html @@ -58,20 +58,20 @@

Trait Implementations

impl Clone for SatisfiableItem[src]

impl Debug for SatisfiableItem[src]

impl From<SatisfiableItem> for Policy[src]

impl From<SatisfiableItem> for Policy[src]

impl Serialize for SatisfiableItem[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/index.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/index.html index ed9eec722c..549dffd658 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/index.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/index.html @@ -1,7 +1,7 @@ bdk::descriptor::policy - Rust

Module bdk::descriptor::policy[][src]

Descriptor policy

+ Change settings

Module bdk::descriptor::policy[][src]

Descriptor policy

This module implements the logic to extract and represent the spending policies of a descriptor in a more human-readable format.

This is an EXPERIMENTAL feature, API and other major changes are expected.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Condition.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Condition.html index 340fd0cfe5..76695c6b7a 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Condition.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Condition.html @@ -35,14 +35,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.PKOrF.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.PKOrF.html index 335e9be9dc..09b6a1b1d5 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.PKOrF.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.PKOrF.html @@ -11,14 +11,14 @@

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Policy.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Policy.html index 3621cbbaf2..f37184ee60 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Policy.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/struct.Policy.html @@ -12,30 +12,30 @@
item: SatisfiableItem

Type of this policy node

satisfaction: Satisfaction

How a much given PSBT already satisfies this polcy node (currently unused)

contribution: Satisfaction

How the wallet's descriptor can satisfy this policy node

-

Implementations

impl Policy[src]

pub fn requires_path(&self) -> bool[src]

Return whether or not a specific path in the policy tree is required to unambiguously +

Implementations

impl Policy[src]

pub fn requires_path(&self) -> bool[src]

Return whether or not a specific path in the policy tree is required to unambiguously create a transaction

What this means is that for some spending policies the user should select which paths in the tree it intends to satisfy while signing, because the transaction must be created differently based on that.

-

pub fn get_condition(
    &self,
    path: &BTreeMap<String, Vec<usize>>
) -> Result<Condition, PolicyError>
[src]

Return the conditions that are set by the spending policy for a given path in the +

pub fn get_condition(
    &self,
    path: &BTreeMap<String, Vec<usize>>
) -> Result<Condition, PolicyError>
[src]

Return the conditions that are set by the spending policy for a given path in the policy tree

Trait Implementations

impl Clone for Policy[src]

impl Debug for Policy[src]

impl From<SatisfiableItem> for Policy[src]

impl From<SatisfiableItem> for Policy[src]

impl Serialize for Policy[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.DerivedDescriptorKey.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.DerivedDescriptorKey.html index 4e391c59d4..e3d92e108a 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.DerivedDescriptorKey.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.DerivedDescriptorKey.html @@ -53,14 +53,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.Miniscript.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.Miniscript.html index 669e99e33a..5d53e16cd3 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.Miniscript.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/struct.Miniscript.html @@ -136,7 +136,7 @@ This can occur if the miniscript contains a

impl<Pk, Ctx> Eq for Miniscript<Pk, Ctx> where
    Ctx: ScriptContext,
    Pk: MiniscriptKey, 

Eq of Miniscript must depend only on node and not the type information. The type information and extra_properties can be deterministically determined by the ast.

-

impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]

impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]

impl<Pk, Ctx> ForEachKey<Pk> for Miniscript<Pk, Ctx> where
    Ctx: ScriptContext,
    Pk: MiniscriptKey, 

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/template/struct.BIP44.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/template/struct.BIP44.html index 46bc99fa41..97c69d23e2 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/template/struct.BIP44.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/template/struct.BIP44.html @@ -23,14 +23,14 @@

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoWalletDescriptor for T where
    T: DescriptorTemplate
[src]

impl<T> Pointable for T

Required methods

fn extract_policy(
    &self,
    signers: &SignersContainer,
    secp: &Secp256k1<All>
) -> Result<Option<Policy>, DescriptorError>
[src]

Extract the spending policy

+
Loading content...

Implementors

impl ExtractPolicy for Descriptor<DescriptorPublicKey>[src]

impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]

Loading content...
\ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/bdk/enum.Error.html b/static/docs-rs/bdk/nightly/latest/bdk/enum.Error.html index b843c007bc..1c049dcd44 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/enum.Error.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/enum.Error.html @@ -125,14 +125,14 @@ explicit origin provided

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/enum.KeychainKind.html b/static/docs-rs/bdk/nightly/latest/bdk/enum.KeychainKind.html index 2c423a74f8..393376320f 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/enum.KeychainKind.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/enum.KeychainKind.html @@ -29,14 +29,14 @@ by ==. check_base32(
    self
) -> Result<Vec<u5, Global>, <T as CheckBase32<Vec<u5, Global>>>::Err>

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/index.html b/static/docs-rs/bdk/nightly/latest/bdk/index.html index 00cdebe98a..f2de8112cb 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/index.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/index.html @@ -1,6 +1,6 @@ bdk - Rust -

Module bdk::wallet[][src]

Wallet

This module defines the Wallet structure.

Modules

address_validator

Address validation callbacks

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerError.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerError.html index 69d4e7eaa2..8737989e52 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerError.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerError.html @@ -40,14 +40,14 @@ by ==. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerId.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerId.html index b90f9411a1..c697a1578c 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerId.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/enum.SignerId.html @@ -38,14 +38,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignerOrdering.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignerOrdering.html index 5d945024cb..56c3ed63b1 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignerOrdering.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignerOrdering.html @@ -28,14 +28,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignersContainer.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignersContainer.html index fae95de35c..557e9b2b0c 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignersContainer.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/signer/struct.SignersContainer.html @@ -19,14 +19,14 @@ signer that was previously in the container, if any

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/struct.Wallet.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/struct.Wallet.html index 7ce0ecfee2..37d2d2c5d1 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/struct.Wallet.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/struct.Wallet.html @@ -1,7 +1,7 @@ bdk::wallet::Wallet - Rust

Struct bdk::wallet::Wallet[][src]

pub struct Wallet<B, D> { /* fields omitted */ }

A Bitcoin wallet

+ Change settings

Struct bdk::wallet::Wallet[][src]

pub struct Wallet<B, D> { /* fields omitted */ }

A Bitcoin wallet

A wallet takes descriptors, a database and a blockchain and implements the basic functions that a Bitcoin wallets needs to operate, like generating addresses, returning the balance, @@ -9,27 +9,27 @@ needs to operate, like blockchain type provided implements Blockchain, or "offline" if it is the unit type (). Offline wallets only expose methods that don't need any interaction with the blockchain to work.

-

Implementations

impl<D> Wallet<(), D> where
    D: BatchDatabase
[src]

pub fn new_offline<E: IntoWalletDescriptor>(
    descriptor: E,
    change_descriptor: Option<E>,
    network: Network,
    database: D
) -> Result<Self, Error>
[src]

Create a new "offline" wallet

-

impl<B, D> Wallet<B, D> where
    D: BatchDatabase
[src]

pub fn get_new_address(&self) -> Result<Address, Error>[src]

Return a newly generated address using the external descriptor

-

pub fn is_mine(&self, script: &Script) -> Result<bool, Error>[src]

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

-

pub fn list_unspent(&self) -> Result<Vec<UTXO>, Error>[src]

Return the list of unspent outputs of this wallet

+

Implementations

impl<D> Wallet<(), D> where
    D: BatchDatabase
[src]

pub fn new_offline<E: IntoWalletDescriptor>(
    descriptor: E,
    change_descriptor: Option<E>,
    network: Network,
    database: D
) -> Result<Self, Error>
[src]

Create a new "offline" wallet

+

impl<B, D> Wallet<B, D> where
    D: BatchDatabase
[src]

pub fn get_new_address(&self) -> Result<Address, Error>[src]

Return a newly generated address using the external descriptor

+

pub fn is_mine(&self, script: &Script) -> Result<bool, Error>[src]

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

+

pub fn list_unspent(&self) -> Result<Vec<UTXO>, Error>[src]

Return the list of unspent outputs of this wallet

Note that this methods only operate on the internal database, which first needs to be Wallet::sync manually.

-

pub fn get_utxo(&self, outpoint: OutPoint) -> Result<Option<UTXO>, Error>[src]

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

pub fn get_utxo(&self, outpoint: OutPoint) -> Result<Option<UTXO>, Error>[src]

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

-

pub fn list_transactions(
    &self,
    include_raw: bool
) -> Result<Vec<TransactionDetails>, Error>
[src]

Return the list of transactions made and received by the wallet

+

pub fn list_transactions(
    &self,
    include_raw: bool
) -> Result<Vec<TransactionDetails>, Error>
[src]

Return the list of transactions made and received by the wallet

Optionally fill the TransactionDetails::transaction field with the raw transaction if include_raw is true.

Note that this methods only operate on the internal database, which first needs to be Wallet::sync manually.

-

pub fn get_balance(&self) -> Result<u64, Error>[src]

Return the balance, meaning the sum of this wallet's unspent outputs' values

+

pub fn get_balance(&self) -> Result<u64, Error>[src]

Return the balance, meaning the sum of this wallet's unspent outputs' values

Note that this methods only operate on the internal database, which first needs to be Wallet::sync manually.

-

pub fn add_signer(
    &mut self,
    keychain: KeychainKind,
    ordering: SignerOrdering,
    signer: Arc<dyn Signer>
)
[src]

Add an external signer

+

pub fn add_signer(
    &mut self,
    keychain: KeychainKind,
    ordering: SignerOrdering,
    signer: Arc<dyn Signer>
)
[src]

Add an external signer

See the signer module for an example.

-

pub fn add_address_validator(&mut self, validator: Arc<dyn AddressValidator>)[src]

Add an address validator

+

pub fn add_address_validator(&mut self, validator: Arc<dyn AddressValidator>)[src]

Add an address validator

See the address_validator module for an example.

-

pub fn build_tx(
    &self
) -> TxBuilder<'_, B, D, DefaultCoinSelectionAlgorithm, CreateTx>
[src]

Start building a transaction.

+

pub fn build_tx(
    &self
) -> TxBuilder<'_, B, D, DefaultCoinSelectionAlgorithm, CreateTx>
[src]

Start building a transaction.

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

Example

@@ -41,7 +41,7 @@ wallet's database.

}; // sign and broadcast ...
-

pub fn build_fee_bump(
    &self,
    txid: Txid
) -> Result<TxBuilder<'_, B, D, DefaultCoinSelectionAlgorithm, BumpFee>, Error>
[src]

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

+

pub fn build_fee_bump(
    &self,
    txid: Txid
) -> Result<TxBuilder<'_, B, D, DefaultCoinSelectionAlgorithm, BumpFee>, Error>
[src]

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

@@ -70,7 +70,7 @@ only output's value in order to increase the fees.

let (psbt, _) = wallet.sign(psbt, None)?; let fee_bumped_tx = psbt.extract_tx(); // broadcast fee_bumped_tx to replace original
-

pub fn sign(
    &self,
    psbt: PSBT,
    assume_height: Option<u32>
) -> Result<(PSBT, bool), Error>
[src]

Sign a transaction with all the wallet's signers, in the order specified by every signer's +

pub fn sign(
    &self,
    psbt: PSBT,
    assume_height: Option<u32>
) -> Result<(PSBT, bool), Error>
[src]

Sign a transaction with all the wallet's signers, in the order specified by every signer's SignerOrdering

Example

@@ -81,31 +81,31 @@ only output's value in order to increase the fees.

}; let (signed_psbt, finalized) = wallet.sign(psbt, None)?; assert!(finalized, "we should have signed all the inputs");
-

pub fn policies(&self, keychain: KeychainKind) -> Result<Option<Policy>, Error>[src]

Return the spending policies for the wallet's descriptor

-

pub fn public_descriptor(
    &self,
    keychain: KeychainKind
) -> Result<Option<ExtendedDescriptor>, Error>
[src]

Return the "public" version of the wallet's descriptor, meaning a new descriptor that has +

pub fn policies(&self, keychain: KeychainKind) -> Result<Option<Policy>, Error>[src]

Return the spending policies for the wallet's descriptor

+

pub fn public_descriptor(
    &self,
    keychain: KeychainKind
) -> Result<Option<ExtendedDescriptor>, Error>
[src]

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

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

-

pub fn finalize_psbt(
    &self,
    psbt: PSBT,
    assume_height: Option<u32>
) -> Result<(PSBT, bool), Error>
[src]

Try to finalize a PSBT

-

pub fn secp_ctx(&self) -> &Secp256k1<All>[src]

Return the secp256k1 context used for all signing operations

-

pub fn get_descriptor_for_keychain(
    &self,
    keychain: KeychainKind
) -> &ExtendedDescriptor
[src]

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

-

impl<B, D> Wallet<B, D> where
    B: Blockchain,
    D: BatchDatabase
[src]

pub fn new<E: IntoWalletDescriptor>(
    descriptor: E,
    change_descriptor: Option<E>,
    network: Network,
    database: D,
    client: B
) -> Result<Self, Error>
[src]

Create a new "online" wallet

-

pub fn sync<P: 'static + Progress>(
    &self,
    progress_update: P,
    max_address_param: Option<u32>
) -> Result<(), Error>
[src]

Sync the internal database with the blockchain

-

pub fn client(&self) -> &B[src]

Return a reference to the internal blockchain client

-

pub fn network(&self) -> Network[src]

Get the Bitcoin network the wallet is using.

-

pub fn broadcast(&self, tx: Transaction) -> Result<Txid, Error>[src]

Broadcast a transaction to the network

-

Trait Implementations

impl<B: Debug, D: Debug> Debug for Wallet<B, D>[src]

pub fn finalize_psbt(
    &self,
    psbt: PSBT,
    assume_height: Option<u32>
) -> Result<(PSBT, bool), Error>
[src]

Try to finalize a PSBT

+

pub fn secp_ctx(&self) -> &Secp256k1<All>[src]

Return the secp256k1 context used for all signing operations

+

pub fn get_descriptor_for_keychain(
    &self,
    keychain: KeychainKind
) -> &ExtendedDescriptor
[src]

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

+

impl<B, D> Wallet<B, D> where
    B: Blockchain,
    D: BatchDatabase
[src]

pub fn new<E: IntoWalletDescriptor>(
    descriptor: E,
    change_descriptor: Option<E>,
    network: Network,
    database: D,
    client: B
) -> Result<Self, Error>
[src]

Create a new "online" wallet

+

pub fn sync<P: 'static + Progress>(
    &self,
    progress_update: P,
    max_address_param: Option<u32>
) -> Result<(), Error>
[src]

Sync the internal database with the blockchain

+

pub fn client(&self) -> &B[src]

Return a reference to the internal blockchain client

+

pub fn network(&self) -> Network[src]

Get the Bitcoin network the wallet is using.

+

pub fn broadcast(&self, tx: Transaction) -> Result<Txid, Error>[src]

Broadcast a transaction to the network

+

Trait Implementations

impl<B: Debug, D: Debug> Debug for Wallet<B, D>[src]

Auto Trait Implementations

impl<B, D> !RefUnwindSafe for Wallet<B, D>[src]

impl<B, D> Send for Wallet<B, D> where
    B: Send,
    D: Send
[src]

impl<B, D> !Sync for Wallet<B, D>[src]

impl<B, D> Unpin for Wallet<B, D> where
    B: Unpin,
    D: Unpin
[src]

impl<B, D> !UnwindSafe for Wallet<B, D>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html index fce10728da..6b4be43a75 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.ChangeSpendPolicy.html @@ -36,14 +36,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.TxOrdering.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.TxOrdering.html index cc902c47f9..46fd3ce7e1 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.TxOrdering.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/enum.TxOrdering.html @@ -37,14 +37,14 @@ operator. impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    Q: Eq + ?Sized,
    K: Borrow<Q> + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.BumpFee.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.BumpFee.html index 4afdb6fd9e..bb78810f49 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.BumpFee.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.BumpFee.html @@ -10,14 +10,14 @@

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.CreateTx.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.CreateTx.html index 4b5a0f9992..d3ae5149d1 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.CreateTx.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.CreateTx.html @@ -11,14 +11,14 @@ to bumping the fee of an existing one).

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.TxBuilder.html b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.TxBuilder.html index 51547aca18..fba547491f 100644 --- a/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.TxBuilder.html +++ b/static/docs-rs/bdk/nightly/latest/bdk/wallet/tx_builder/struct.TxBuilder.html @@ -161,14 +161,14 @@ be added; the existing output will simply grow in value.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

diff --git a/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.Eq.js b/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.Eq.js index 7c7aa538f3..5028ade5c6 100644 --- a/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.Eq.js +++ b/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.Eq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["bdk"] = [{"text":"impl Eq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl<'s> Eq for DerivedDescriptorKey<'s>","synthetic":false,"types":["bdk::descriptor::derived::DerivedDescriptorKey"]},{"text":"impl Eq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl Eq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl Eq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl Eq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl Eq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl Eq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl Eq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl Eq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl Eq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl Eq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl Eq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; +implementors["bdk"] = [{"text":"impl Eq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl<'s> Eq for DerivedDescriptorKey<'s>","synthetic":false,"types":["bdk::descriptor::derived::DerivedDescriptorKey"]},{"text":"impl Eq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl Eq for PolicyError","synthetic":false,"types":["bdk::descriptor::policy::PolicyError"]},{"text":"impl Eq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl Eq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl Eq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl Eq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl Eq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl Eq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl Eq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl Eq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl Eq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl Eq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js b/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js index 7674918f2a..bf382458c6 100644 --- a/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js +++ b/static/docs-rs/bdk/nightly/latest/implementors/core/cmp/trait.PartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["bdk"] = [{"text":"impl PartialEq<Capability> for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl<'s> PartialEq<DerivedDescriptorKey<'s>> for DerivedDescriptorKey<'s>","synthetic":false,"types":["bdk::descriptor::derived::DerivedDescriptorKey"]},{"text":"impl PartialEq<Condition> for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl PartialEq<ScriptContextEnum> for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl PartialEq<KeychainKind> for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl PartialEq<FeeRate> for FeeRate","synthetic":false,"types":["bdk::types::FeeRate"]},{"text":"impl PartialEq<UTXO> for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl PartialEq<TransactionDetails> for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl PartialEq<AddressValidatorError> for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl PartialEq<SignerId> for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl PartialEq<SignerError> for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl PartialEq<SignerOrdering> for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl PartialEq<TxOrdering> for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl PartialEq<ChangeSpendPolicy> for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; +implementors["bdk"] = [{"text":"impl PartialEq<Capability> for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl<'s> PartialEq<DerivedDescriptorKey<'s>> for DerivedDescriptorKey<'s>","synthetic":false,"types":["bdk::descriptor::derived::DerivedDescriptorKey"]},{"text":"impl PartialEq<Condition> for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl PartialEq<PolicyError> for PolicyError","synthetic":false,"types":["bdk::descriptor::policy::PolicyError"]},{"text":"impl PartialEq<ScriptContextEnum> for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl PartialEq<KeychainKind> for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl PartialEq<FeeRate> for FeeRate","synthetic":false,"types":["bdk::types::FeeRate"]},{"text":"impl PartialEq<UTXO> for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl PartialEq<TransactionDetails> for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl PartialEq<AddressValidatorError> for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl PartialEq<SignerId> for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl PartialEq<SignerError> for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl PartialEq<SignerOrdering> for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl PartialEq<TxOrdering> for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl PartialEq<ChangeSpendPolicy> for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralEq.js b/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralEq.js index 96096c5c70..fc6c86a2ab 100644 --- a/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralEq.js +++ b/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["bdk"] = [{"text":"impl StructuralEq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl StructuralEq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl StructuralEq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl StructuralEq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl StructuralEq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl StructuralEq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl StructuralEq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl StructuralEq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl StructuralEq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl StructuralEq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl StructuralEq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl StructuralEq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; +implementors["bdk"] = [{"text":"impl StructuralEq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl StructuralEq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl StructuralEq for PolicyError","synthetic":false,"types":["bdk::descriptor::policy::PolicyError"]},{"text":"impl StructuralEq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl StructuralEq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl StructuralEq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl StructuralEq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl StructuralEq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl StructuralEq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl StructuralEq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl StructuralEq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl StructuralEq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl StructuralEq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js b/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js index 1b4e931bec..f8054dfd13 100644 --- a/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js +++ b/static/docs-rs/bdk/nightly/latest/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["bdk"] = [{"text":"impl StructuralPartialEq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl StructuralPartialEq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl StructuralPartialEq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl StructuralPartialEq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl StructuralPartialEq for FeeRate","synthetic":false,"types":["bdk::types::FeeRate"]},{"text":"impl StructuralPartialEq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl StructuralPartialEq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl StructuralPartialEq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl StructuralPartialEq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl StructuralPartialEq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl StructuralPartialEq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl StructuralPartialEq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl StructuralPartialEq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; +implementors["bdk"] = [{"text":"impl StructuralPartialEq for Capability","synthetic":false,"types":["bdk::blockchain::Capability"]},{"text":"impl StructuralPartialEq for Condition","synthetic":false,"types":["bdk::descriptor::policy::Condition"]},{"text":"impl StructuralPartialEq for PolicyError","synthetic":false,"types":["bdk::descriptor::policy::PolicyError"]},{"text":"impl StructuralPartialEq for ScriptContextEnum","synthetic":false,"types":["bdk::keys::ScriptContextEnum"]},{"text":"impl StructuralPartialEq for KeychainKind","synthetic":false,"types":["bdk::types::KeychainKind"]},{"text":"impl StructuralPartialEq for FeeRate","synthetic":false,"types":["bdk::types::FeeRate"]},{"text":"impl StructuralPartialEq for UTXO","synthetic":false,"types":["bdk::types::UTXO"]},{"text":"impl StructuralPartialEq for TransactionDetails","synthetic":false,"types":["bdk::types::TransactionDetails"]},{"text":"impl StructuralPartialEq for AddressValidatorError","synthetic":false,"types":["bdk::wallet::address_validator::AddressValidatorError"]},{"text":"impl StructuralPartialEq for SignerId","synthetic":false,"types":["bdk::wallet::signer::SignerId"]},{"text":"impl StructuralPartialEq for SignerError","synthetic":false,"types":["bdk::wallet::signer::SignerError"]},{"text":"impl StructuralPartialEq for SignerOrdering","synthetic":false,"types":["bdk::wallet::signer::SignerOrdering"]},{"text":"impl StructuralPartialEq for TxOrdering","synthetic":false,"types":["bdk::wallet::tx_builder::TxOrdering"]},{"text":"impl StructuralPartialEq for ChangeSpendPolicy","synthetic":false,"types":["bdk::wallet::tx_builder::ChangeSpendPolicy"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/main.js b/static/docs-rs/bdk/nightly/latest/main.js index 7217fe8e90..d6dc491d0a 100644 --- a/static/docs-rs/bdk/nightly/latest/main.js +++ b/static/docs-rs/bdk/nightly/latest/main.js @@ -1,8 +1,8 @@ if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position}}if(!String.prototype.endsWith){String.prototype.endsWith=function(suffix,length){var l=length||this.length;return this.indexOf(suffix,l-suffix.length)!==-1}}if(!DOMTokenList.prototype.add){DOMTokenList.prototype.add=function(className){if(className&&!hasClass(this,className)){if(this.className&&this.className.length>0){this.className+=" "+className}else{this.className=className}}}}if(!DOMTokenList.prototype.remove){DOMTokenList.prototype.remove=function(className){if(className&&this.className){this.className=(" "+this.className+" ").replace(" "+className+" "," ").trim()}}}(function(){var rustdocVars=document.getElementById("rustdoc-vars");if(rustdocVars){window.rootPath=rustdocVars.attributes["data-root-path"].value;window.currentCrate=rustdocVars.attributes["data-current-crate"].value}var sidebarVars=document.getElementById("sidebar-vars");if(sidebarVars){window.sidebarCurrent={name:sidebarVars.attributes["data-name"].value,ty:sidebarVars.attributes["data-ty"].value,relpath:sidebarVars.attributes["data-relpath"].value,}}}());function getVirtualKey(ev){if("key"in ev&&typeof ev.key!="undefined"){return ev.key}var c=ev.charCode||ev.keyCode;if(c==27){return"Escape"}return String.fromCharCode(c)}function getSearchInput(){return document.getElementsByClassName("search-input")[0]}function getSearchElement(){return document.getElementById("search")}function getThemesElement(){return document.getElementById("theme-choices")}function getThemePickerElement(){return document.getElementById("theme-picker")}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function focusSearchBar(){getSearchInput().focus()}function defocusSearchBar(){getSearchInput().blur()}(function(){"use strict";var itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias"];var disableShortcuts=getSettingValue("disable-shortcuts")==="true";var search_input=getSearchInput();var searchTimeout=null;var toggleAllDocsId="toggle-all-docs";var currentTab=0;var mouseMovedAfterSearch=true;var titleBeforeSearch=document.title;var searchTitle=null;function clearInputTimeout(){if(searchTimeout!==null){clearTimeout(searchTimeout);searchTimeout=null}}function getPageId(){if(window.location.hash){var tmp=window.location.hash.replace(/^#/,"");if(tmp.length>0){return tmp}}return null}function showSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){addClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];if(sidebar){addClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(!filler){var div=document.createElement("div");div.id="sidebar-filler";sidebar.appendChild(div)}}}function hideSidebar(){var elems=document.getElementsByClassName("sidebar-elems")[0];if(elems){removeClass(elems,"show-it")}var sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"mobile");var filler=document.getElementById("sidebar-filler");if(filler){filler.remove()}document.getElementsByTagName("body")[0].style.marginTop=""}function showSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(main,"hidden");removeClass(search,"hidden");mouseMovedAfterSearch=false;document.title=searchTitle}function hideSearchResults(search){if(search===null||typeof search==='undefined'){search=getSearchElement()}addClass(search,"hidden");removeClass(main,"hidden");document.title=titleBeforeSearch}var TY_PRIMITIVE=itemTypes.indexOf("primitive");var TY_KEYWORD=itemTypes.indexOf("keyword");function getQueryStringParams(){var params={};window.location.search.substring(1).split("&").map(function(s){var pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function isHidden(elem){return elem.offsetHeight===0}var main=document.getElementById("main");var savedHash="";function handleHashes(ev){var elem;var search=getSearchElement();if(ev!==null&&search&&!hasClass(search,"hidden")&&ev.newURL){hideSearchResults(search);var hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(hash,"",getNakedUrl()+window.location.search+"#"+hash)}elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}if(savedHash!==window.location.hash){savedHash=window.location.hash;if(savedHash.length===0){return}elem=document.getElementById(savedHash.slice(1));if(!elem||!isHidden(elem)){return}var parent=elem.parentNode;if(parent&&hasClass(parent,"impl-items")){onEachLazy(parent.getElementsByClassName("collapsed"),function(e){if(e.parentNode===parent){e.click();return true}});if(isHidden(elem)){if(hasClass(parent.lastElementChild,"collapse-toggle")){parent.lastElementChild.click()}}}}}function highlightSourceLines(match,ev){if(typeof match==="undefined"){hideSidebar();match=window.location.hash.match(/^#?(\d+)(?:-(\d+))?$/)}if(!match){return}var from=parseInt(match[1],10);var to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to0){collapseDocs(collapses[0],"show")}}}}function getHelpElement(){buildHelperPopup();return document.getElementById("help")}function displayHelp(display,ev,help){help=help?help:getHelpElement();if(display===true){if(hasClass(help,"hidden")){ev.preventDefault();removeClass(help,"hidden");addClass(document.body,"blur")}}else if(hasClass(help,"hidden")===false){ev.preventDefault();addClass(help,"hidden");removeClass(document.body,"blur")}}function handleEscape(ev){var help=getHelpElement();var search=getSearchElement();if(hasClass(help,"hidden")===false){displayHelp(false,ev,help)}else if(hasClass(search,"hidden")===false){clearInputTimeout();ev.preventDefault();hideSearchResults(search)}defocusSearchBar();hideThemeButtonState()}function handleShortcut(ev){if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts===true){return}if(document.activeElement.tagName==="INPUT"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":displayHelp(false,ev);ev.preventDefault();focusSearchBar();break;case"+":case"-":ev.preventDefault();toggleAllDocs();break;case"?":displayHelp(true,ev);break;case"t":case"T":displayHelp(false,ev);ev.preventDefault();var themePicker=getThemePickerElement();themePicker.click();themePicker.focus();break;default:var themePicker=getThemePickerElement();if(themePicker.parentNode.contains(ev.target)){handleThemeKeyDown(ev)}}}}function handleThemeKeyDown(ev){var active=document.activeElement;var themes=getThemesElement();switch(getVirtualKey(ev)){case"ArrowUp":ev.preventDefault();if(active.previousElementSibling&&ev.target.id!=="theme-picker"){active.previousElementSibling.focus()}else{showThemeButtonState();themes.lastElementChild.focus()}break;case"ArrowDown":ev.preventDefault();if(active.nextElementSibling&&ev.target.id!=="theme-picker"){active.nextElementSibling.focus()}else{showThemeButtonState();themes.firstElementChild.focus()}break;case"Enter":case"Return":case"Space":if(ev.target.id==="theme-picker"&&themes.style.display==="none"){ev.preventDefault();showThemeButtonState();themes.firstElementChild.focus()}break;case"Home":ev.preventDefault();themes.firstElementChild.focus();break;case"End":ev.preventDefault();themes.lastElementChild.focus();break}}function findParentElement(elem,tagName){do{if(elem&&elem.tagName===tagName){return elem}elem=elem.parentNode}while(elem);return null}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);document.addEventListener("mousemove",function(){mouseMovedAfterSearch=true});var handleSourceHighlight=(function(){var prev_line_id=0;var set_fragment=function(name){var x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSourceLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return function(ev){var cur_line_id=parseInt(ev.target.id,10);ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){var tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());document.addEventListener("click",function(ev){if(hasClass(ev.target,"help-button")){displayHelp(true,ev)}else if(hasClass(ev.target,"collapse-toggle")){collapseDocs(ev.target,"toggle")}else if(hasClass(ev.target.parentNode,"collapse-toggle")){collapseDocs(ev.target.parentNode,"toggle")}else if(ev.target.tagName==="SPAN"&&hasClass(ev.target.parentNode,"line-numbers")){handleSourceHighlight(ev)}else if(hasClass(getHelpElement(),"hidden")===false){var help=getHelpElement();var is_inside_help_popup=ev.target!==help&&help.contains(ev.target);if(is_inside_help_popup===false){addClass(help,"hidden");removeClass(document.body,"blur")}}else{var a=findParentElement(ev.target,"A");if(a&&a.hash){expandSection(a.hash.replace(/^#/,""))}}});(function(){var x=document.getElementsByClassName("version-selector");if(x.length>0){x[0].onchange=function(){var i,match,url=document.location.href,stripped="",len=window.rootPath.match(/\.\.\//g).length+1;for(i=0;i-1){var obj=searchIndex[results[i].id];obj.lev=results[i].lev;if(isType!==true||obj.type){var res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}}return out}function sortResults(results,isType){var ar=[];for(var entry in results){if(hasOwnProperty(results,entry)){ar.push(results[entry])}}results=ar;var i,len,result;for(i=0,len=results.length;ib?+1:-1)}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});for(i=0,len=results.length;i"));return{name:val.substring(0,val.indexOf("<")),generics:values.split(/\s*,\s*/),}}return{name:val,generics:[],}}function getObjectFromId(id){if(typeof id==="number"){return searchIndex[id]}return{'name':id}}function checkGenerics(obj,val){var lev_distance=MAX_LEV_DISTANCE+1;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var total=0;var done=0;var vlength=val.generics.length;for(var y=0;yGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=obj[GENERICS_DATA].slice(0);var allFound=true;len=val.generics.length;for(y=0;allFound===true&&yGENERICS_DATA&&obj[GENERICS_DATA].length!==0){var tmp_lev=checkGenerics(obj,val);if(tmp_lev<=MAX_LEV_DISTANCE){return tmp_lev}}else{return 0}}if(literalSearch===true){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){return obj[GENERICS_DATA].some(function(name){return name===val.name})}return false}lev_distance=Math.min(levenshtein(obj[NAME],val.name),lev_distance);if(lev_distance<=MAX_LEV_DISTANCE){lev_distance=Math.ceil((checkGenerics(obj,val)+lev_distance)/2)}else if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>0){var olength=obj[GENERICS_DATA].length;for(x=0;x0){var length=obj.type[INPUTS_DATA].length;for(var i=0;iOUTPUT_DATA){var ret=obj.type[OUTPUT_DATA];if(typeof ret[0]==="string"){ret=[ret]}for(var x=0,len=ret.length;xlength){return MAX_LEV_DISTANCE+1}for(var i=0;ilength){break}var lev_total=0;var aborted=false;for(var x=0;xMAX_LEV_DISTANCE){aborted=true;break}lev_total+=lev}if(aborted===false){ret_lev=Math.min(ret_lev,Math.round(lev_total/clength))}}return ret_lev}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER)return true;if(filter===type)return true;var name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function generateId(ty){if(ty.parent&&ty.parent.name){return itemTypes[ty.ty]+ty.path+ty.parent.name+ty.name}return itemTypes[ty.ty]+ty.path+ty.name}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,}}function handleAliases(ret,query,filterCrates){var aliases=[];var crateAliases=[];if(filterCrates!==undefined){if(ALIASES[filterCrates]&&ALIASES[filterCrates][query.search]){var query_aliases=ALIASES[filterCrates][query.search];var len=query_aliases.length;for(var i=0;iMAX_RESULTS){ret.others.pop()}};onEach(aliases,pushFunc);onEach(crateAliases,pushFunc)}var nSearchWords=searchWords.length;var i,it;var ty;var fullId;var returned;var in_args;var len;if((val.charAt(0)==="\""||val.charAt(0)==="'")&&val.charAt(val.length-1)===val.charAt(0)){val=extractGenerics(val.substr(1,val.length-2));for(i=0;i")>-1){var trimmer=function(s){return s.trim()};var parts=val.split("->").map(trimmer);var input=parts[0];var inputs=input.split(",").map(trimmer).sort();for(i=0,len=inputs.length;i1?paths.length-1:1);var lev;for(j=0;j1){lev=checkPath(contains,paths[paths.length-1],ty);if(lev>MAX_LEV_DISTANCE){continue}else if(lev>0){lev_add=lev/10}}returned=MAX_LEV_DISTANCE+1;in_args=MAX_LEV_DISTANCE+1;var index=-1;lev=MAX_LEV_DISTANCE+1;fullId=generateId(ty);if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||searchWords[j].replace(/_/g,"").indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=searchWords[j].replace(/_/g,"").indexOf(val)}}if((lev=levenshtein(searchWords[j],val))<=MAX_LEV_DISTANCE){if(typePassesFilter(typeFilter,ty.ty)===false){lev=MAX_LEV_DISTANCE+1}else{lev+=1}}in_args=findArg(ty,valGenerics,false,typeFilter);returned=checkReturned(ty,valGenerics,false,typeFilter);lev+=lev_add;if(lev>0&&val.length>3&&searchWords[j].indexOf(val)>-1){if(val.length<6){lev-=1}else{lev=0}}if(in_args<=MAX_LEV_DISTANCE){if(results_in_args[fullId]===undefined){results_in_args[fullId]={id:j,index:index,lev:in_args,}}results_in_args[fullId].lev=Math.min(results_in_args[fullId].lev,in_args)}if(returned<=MAX_LEV_DISTANCE){if(results_returned[fullId]===undefined){results_returned[fullId]={id:j,index:index,lev:returned,}}results_returned[fullId].lev=Math.min(results_returned[fullId].lev,returned)}if(index!==-1||lev<=MAX_LEV_DISTANCE){if(index!==-1&&paths.length<2){lev=0}if(results[fullId]===undefined){results[fullId]={id:j,index:index,lev:lev,}}results[fullId].lev=Math.min(results[fullId].lev,lev)}}}var ret={"in_args":sortResults(results_in_args,true),"returned":sortResults(results_returned,true),"others":sortResults(results),};handleAliases(ret,query,filterCrates);return ret}function validateResult(name,path,keys,parent){for(var i=0,len=keys.length;i-1||path.indexOf(keys[i])>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(keys[i])>-1)||levenshtein(name,keys[i])<=MAX_LEV_DISTANCE)){return false}}return true}function getQuery(raw){var matches,type,query;query=raw;matches=query.match(/^(fn|mod|struct|enum|trait|type|const|macro)\s*:\s*/i);if(matches){type=matches[1].replace(/^const$/,"constant");query=query.substring(matches[0].length)}return{raw:raw,query:query,type:type,id:query+type}}function initSearchNav(){var hoverTimeout;var click_func=function(e){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}var dst=e.target.getElementsByTagName("a");if(dst.length<1){return}dst=dst[0];if(window.location.pathname===dst.pathname){hideSearchResults();document.location.href=dst.href}};var mouseover_func=function(e){if(mouseMovedAfterSearch){var el=e.target;while(el.tagName!=="TR"){el=el.parentNode}clearTimeout(hoverTimeout);hoverTimeout=setTimeout(function(){onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){removeClass(i_e,"highlighted")})});addClass(el,"highlighted")},20)}};onEachLazy(document.getElementsByClassName("search-results"),function(e){onEachLazy(e.getElementsByClassName("result"),function(i_e){i_e.onclick=click_func;i_e.onmouseover=mouseover_func})});search_input.onkeydown=function(e){var actives=[[],[],[]];var current=0;onEachLazy(document.getElementById("results").childNodes,function(e){onEachLazy(e.getElementsByClassName("highlighted"),function(h_e){actives[current].push(h_e)});current+=1});if(e.which===38){if(e.ctrlKey){printTab(currentTab>0?currentTab-1:2)}else{if(!actives[currentTab].length||!actives[currentTab][0].previousElementSibling){return}addClass(actives[currentTab][0].previousElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===40){if(e.ctrlKey){printTab(currentTab>1?0:currentTab+1)}else if(!actives[currentTab].length){var results=document.getElementById("results").childNodes;if(results.length>0){var res=results[currentTab].getElementsByClassName("result");if(res.length>0){addClass(res[0],"highlighted")}}}else if(actives[currentTab][0].nextElementSibling){addClass(actives[currentTab][0].nextElementSibling,"highlighted");removeClass(actives[currentTab][0],"highlighted")}e.preventDefault()}else if(e.which===13){if(actives[currentTab].length){document.location.href=actives[currentTab][0].getElementsByTagName("a")[0].href}}else if(e.which===16){}else if(actives[currentTab].length>0){removeClass(actives[currentTab][0],"highlighted")}}}function buildHrefAndPath(item){var displayPath;var href;var type=itemTypes[item.ty];var name=item.name;var path=item.path;if(type==="mod"){displayPath=path+"::";href=window.rootPath+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="primitive"||type==="keyword"){displayPath="";href=window.rootPath+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=window.rootPath+name+"/index.html"}else if(item.parent!==undefined){var myparent=item.parent;var anchor="#"+type+"."+name;var parentType=itemTypes[myparent.ty];var pageType=parentType;var pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){var splitPath=item.path.split("::");var enumName=splitPath.pop();path=splitPath.join("::");displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=window.rootPath+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=window.rootPath+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function escape(content){var h1=document.createElement("h1");h1.textContent=content;return h1.innerHTML}function pathSplitter(path){var tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){var extraStyle="";if(display===false){extraStyle=" style=\"display: none;\""}var output="";var duplicates={};var length=0;if(array.length>0){output="";array.forEach(function(item){var name,type;name=item.name;type=itemTypes[item.ty];if(item.is_alias!==true){if(duplicates[item.fullPath]){return}duplicates[item.fullPath]=true}length+=1;output+=""});output+="
"+""+(item.is_alias===true?(""+item.alias+"  - see "):"")+item.displayPath+""+name+""+""+""+item.desc+" 
"}else{output="
No results :(
"+"Try on DuckDuckGo?

"+"Or try looking in one of these:
"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){if(currentTab===tabNb){return""}return""}function showResults(results){var search=getSearchElement();if(results.others.length===1&&getSettingValue("go-to-only-result")==="true"&&(!search.firstChild||search.firstChild.innerText!==getSearchLoadingText())){var elem=document.createElement("a");elem.href=results.others[0].href;elem.style.display="none";document.body.appendChild(elem);elem.click();return}var query=getQuery(search_input.value);currentResults=query.id;var ret_others=addTab(results.others,query);var ret_in_args=addTab(results.in_args,query,false);var ret_returned=addTab(results.returned,query,false);if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}var output="

Results for "+escape(query.query)+(query.type?" (type: "+escape(query.type)+")":"")+"

"+"
"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"
"+ret_others[0]+ret_in_args[0]+ret_returned[0]+"
";search.innerHTML=output;showSearchResults(search);initSearchNav();var elems=document.getElementById("titles").childNodes;elems[0].onclick=function(){printTab(0)};elems[1].onclick=function(){printTab(1)};elems[2].onclick=function(){printTab(2)};printTab(currentTab)}function execSearch(query,searchWords,filterCrates){function getSmallest(arrays,positions,notDuplicates){var start=null;for(var it=0,len=positions.length;itpositions[it]&&(start===null||start>arrays[it][positions[it]].lev)&&!notDuplicates[arrays[it][positions[it]].fullPath]){start=arrays[it][positions[it]].lev}}return start}function mergeArrays(arrays){var ret=[];var positions=[];var notDuplicates={};for(var x=0,arrays_len=arrays.length;xpositions[x]&&arrays[x][positions[x]].lev===smallest&&!notDuplicates[arrays[x][positions[x]].fullPath]){ret.push(arrays[x][positions[x]]);notDuplicates[arrays[x][positions[x]].fullPath]=true;positions[x]+=1}}}return ret}var queries=query.raw.split(",");var results={"in_args":[],"returned":[],"others":[],};for(var i=0,len=queries.length;i1){return{"in_args":mergeArrays(results.in_args),"returned":mergeArrays(results.returned),"others":mergeArrays(results.others),}}return{"in_args":results.in_args[0],"returned":results.returned[0],"others":results.others[0],}}function getFilterCrates(){var elem=document.getElementById("crate-search");if(elem&&elem.value!=="All crates"&&hasOwnProperty(rawSearchIndex,elem.value)){return elem.value}return undefined}function search(e,forced){var params=getQueryStringParams();var query=getQuery(search_input.value.trim());if(e){e.preventDefault()}if(query.query.length===0){return}if(forced!==true&&query.id===currentResults){if(query.query.length>0){putBackSearch(search_input)}return}searchTitle="Results for "+query.query+" - Rust";if(browserSupportsHistoryApi()){var newURL=getNakedUrl()+"?search="+encodeURIComponent(query.raw)+window.location.hash;if(!history.state&&!params.search){history.pushState(query,"",newURL)}else{history.replaceState(query,"",newURL)}}var filterCrates=getFilterCrates();showResults(execSearch(query,index,filterCrates))}function buildIndex(rawSearchIndex){searchIndex=[];var searchWords=[];var i;var currentIndex=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);searchIndex.push({crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,type:null,});currentIndex+=1;var items=rawSearchIndex[crate].i;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}search()}index=buildIndex(rawSearchIndex);startSearch();if(window.rootPath==="../"||window.rootPath==="./"){var sidebar=document.getElementsByClassName("sidebar-elems")[0];if(sidebar){var div=document.createElement("div");div.className="block crate";div.innerHTML="

Crates

";var ul=document.createElement("ul");div.appendChild(ul);var crates=[];for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}crates.push(crate)}crates.sort();for(var i=0;i','`').replace('','`');return x.innerText}window.initSidebarItems=function(items){var sidebar=document.getElementsByClassName("sidebar-elems")[0];var current=window.sidebarCurrent;function block(shortty,longty){var filtered=items[shortty];if(!filtered){return}var div=document.createElement("div");div.className="block "+shortty;var h3=document.createElement("h3");h3.textContent=longty;div.appendChild(h3);var ul=document.createElement("ul");for(var i=0,len=filtered.length;i"+""+"
"+code.outerHTML+"
";list.appendChild(display)}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function labelForToggleButton(sectionIsCollapsed){if(sectionIsCollapsed){return"+"}return"\u2212"}function onEveryMatchingChild(elem,className,func){if(elem&&className&&func){var length=elem.childNodes.length;var nodes=elem.childNodes;for(var i=0;i"+labelForToggleButton(sectionIsCollapsed)+"
]";return toggle}function createToggle(toggle,otherMessage,fontSize,extraClass,show){var span=document.createElement("span");span.className="toggle-label";if(show){span.style.display="none"}if(!otherMessage){span.innerHTML=" Expand description"}else{span.innerHTML=otherMessage}if(fontSize){span.style.fontSize=fontSize}var mainToggle=toggle.cloneNode(true);mainToggle.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper";if(!show){addClass(wrapper,"collapsed");var inner=mainToggle.getElementsByClassName("inner");if(inner&&inner.length>0){inner[0].innerHTML="+"}}if(extraClass){addClass(wrapper,extraClass)}wrapper.appendChild(mainToggle);return wrapper}(function(){var toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}var toggle=createSimpleToggle(false);var hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";var hideImplementors=getSettingValue("auto-collapse-implementors")!=="false";var func=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(!next){return}if(hasClass(next,"docblock")){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideMethodDocs===true&&hasClass(e,"method")===true){collapseDocs(newToggle,"hide")}}};var funcImpl=function(e){var next=e.nextElementSibling;if(next&&hasClass(next,"item-info")){next=next.nextElementSibling}if(next&&hasClass(next,"docblock")){next=next.nextElementSibling}if(!next){return}if(hasClass(e,"impl")&&(next.getElementsByClassName("method").length>0||next.getElementsByClassName("associatedconstant").length>0)){var newToggle=toggle.cloneNode(true);insertAfter(newToggle,e.childNodes[e.childNodes.length-1]);if(hideImplementors===true&&e.parentNode.id==="implementors-list"){collapseDocs(newToggle,"hide")}}};onEachLazy(document.getElementsByClassName("method"),func);onEachLazy(document.getElementsByClassName("associatedconstant"),func);onEachLazy(document.getElementsByClassName("impl"),funcImpl);var impl_call=function(){};if(hideMethodDocs===true){impl_call=function(e,newToggle){if(e.id.match(/^impl(?:-\d+)?$/)===null){if(hasClass(e,"impl")===true){collapseDocs(newToggle,"hide")}}}}var newToggle=document.createElement("a");newToggle.href="javascript:void(0)";newToggle.className="collapse-toggle hidden-default collapsed";newToggle.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items";function toggleClicked(){if(hasClass(this,"collapsed")){removeClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("hidden"),function(x){if(hasClass(x,"content")===false){removeClass(x,"hidden");addClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(false)+"] Hide undocumented items"}else{addClass(this,"collapsed");onEachLazy(this.parentNode.getElementsByClassName("x"),function(x){if(hasClass(x,"content")===false){addClass(x,"hidden");removeClass(x,"x")}},true);this.innerHTML="["+labelForToggleButton(true)+"] Show hidden undocumented items"}}onEachLazy(document.getElementsByClassName("impl-items"),function(e){onEachLazy(e.getElementsByClassName("associatedconstant"),func);var hiddenElems=Array.prototype.slice.call(e.getElementsByClassName("hidden"));var needToggle=hiddenElems.some(function(hiddenElem){return hasClass(hiddenElem,"content")===false&&hasClass(hiddenElem,"docblock")===false});if(needToggle===true){var inner_toggle=newToggle.cloneNode(true);inner_toggle.onclick=toggleClicked;e.insertBefore(inner_toggle,e.firstChild);impl_call(e.previousSibling,inner_toggle)}});var currentType=document.getElementsByClassName("type-decl")[0];var className=null;if(currentType){currentType=currentType.getElementsByClassName("rust")[0];if(currentType){currentType.classList.forEach(function(item){if(item!=="main"){className=item;return true}})}}var showItemDeclarations=getSettingValue("auto-hide-"+className);if(showItemDeclarations===null){if(className==="enum"||className==="macro"){showItemDeclarations="false"}else if(className==="struct"||className==="union"||className==="trait"){showItemDeclarations="true"}else{showItemDeclarations=getSettingValue("auto-hide-declarations")}}showItemDeclarations=showItemDeclarations==="false";function buildToggleWrapper(e){if(hasClass(e,"autohide")){var wrap=e.previousElementSibling;if(wrap&&hasClass(wrap,"toggle-wrapper")){var inner_toggle=wrap.childNodes[0];var extra=e.childNodes[0].tagName==="H3";e.style.display="none";addClass(wrap,"collapsed");onEachLazy(inner_toggle.getElementsByClassName("inner"),function(e){e.innerHTML=labelForToggleButton(true)});onEachLazy(inner_toggle.getElementsByClassName("toggle-label"),function(e){e.style.display="inline-block";if(extra===true){e.innerHTML=" Show "+e.childNodes[0].innerHTML}})}}if(e.parentNode.id==="main"){var otherMessage="";var fontSize;var extraClass;if(hasClass(e,"type-decl")){fontSize="20px";otherMessage=" Show declaration";if(showItemDeclarations===false){extraClass="collapsed"}}else if(hasClass(e,"sub-variant")){otherMessage=" Show fields"}else if(hasClass(e,"non-exhaustive")){otherMessage=" This ";if(hasClass(e,"non-exhaustive-struct")){otherMessage+="struct"}else if(hasClass(e,"non-exhaustive-enum")){otherMessage+="enum"}else if(hasClass(e,"non-exhaustive-variant")){otherMessage+="enum variant"}else if(hasClass(e,"non-exhaustive-type")){otherMessage+="type"}otherMessage+=" is marked as non-exhaustive"}else if(hasClass(e.childNodes[0],"impl-items")){extraClass="marg-left"}e.parentNode.insertBefore(createToggle(toggle,otherMessage,fontSize,extraClass,hasClass(e,"type-decl")===false||showItemDeclarations===true),e);if(hasClass(e,"type-decl")===true&&showItemDeclarations===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}if(hasClass(e,"non-exhaustive")===true){collapseDocs(e.previousSibling.childNodes[0],"toggle")}}}onEachLazy(document.getElementsByClassName("docblock"),buildToggleWrapper);onEachLazy(document.getElementsByClassName("sub-variant"),buildToggleWrapper);autoCollapse(getSettingValue("collapse")==="true");var pageId=getPageId();if(pageId!==null){expandSection(pageId)}}());function createToggleWrapper(tog){var span=document.createElement("span");span.className="toggle-label";span.style.display="none";span.innerHTML=" Expand attributes";tog.appendChild(span);var wrapper=document.createElement("div");wrapper.className="toggle-wrapper toggle-attributes";wrapper.appendChild(tog);return wrapper}(function(){var itemAttributesFunc=function(){};if(getSettingValue("auto-hide-attributes")!=="false"){itemAttributesFunc=function(x){collapseDocs(x.previousSibling.childNodes[0],"toggle")}}var attributesToggle=createToggleWrapper(createSimpleToggle(false));onEachLazy(main.getElementsByClassName("attributes"),function(i_e){var attr_tog=attributesToggle.cloneNode(true);if(hasClass(i_e,"top-attr")===true){addClass(attr_tog,"top-attr")}i_e.parentNode.insertBefore(attr_tog,i_e);itemAttributesFunc(i_e)})}());(function(){var lineNumbersFunc=function(){};if(getSettingValue("line-numbers")==="true"){lineNumbersFunc=function(x){var count=x.textContent.split("\n").length;var elems=[];for(var i=0;i"+getSearchLoadingText()+"";showSearchResults(search)}var sidebar_menu=document.getElementsByClassName("sidebar-menu")[0];if(sidebar_menu){sidebar_menu.onclick=function(){var sidebar=document.getElementsByClassName("sidebar")[0];if(hasClass(sidebar,"mobile")===true){hideSidebar()}else{showSidebar()}}}if(main){onEachLazy(main.getElementsByClassName("loading-content"),function(e){e.remove()});onEachLazy(main.childNodes,function(e){if(e.tagName==="H2"||e.tagName==="H3"){var nextTagName=e.nextElementSibling.tagName;if(nextTagName=="H2"||nextTagName=="H3"){e.nextElementSibling.style.display="flex"}else{e.nextElementSibling.style.display="block"}}})}function enableSearchInput(){if(search_input){search_input.removeAttribute('disabled')}}window.addSearchOptions=function(crates){var elem=document.getElementById("crate-search");if(!elem){enableSearchInput();return}var crates_text=[];if(Object.keys(crates).length>1){for(var crate in crates){if(hasOwnProperty(crates,crate)){crates_text.push(crate)}}}crates_text.sort(function(a,b){var lower_a=a.toLowerCase();var lower_b=b.toLowerCase();if(lower_alower_b){return 1}return 0});var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates_text.length;ithe rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"
"+x[0].split(" ").map((y,index)=>(index&1)===0?""+y+"":" "+y+" ").join("")+"
"+x[1]+"
").join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ + the rustdoc book.";var container=document.createElement("div");var shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["T","Focus the theme picker menu"],["↑","Move up in search results"],["↓","Move down in search results"],["ctrl + ↑ / ↓","Switch result tab"],["⏎","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(function(x){return"
"+x[0].split(" ").map(function(y,index){return(index&1)===0?""+y+"":" "+y+" "}).join("")+"
"+x[1]+"
"}).join("");var div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="

Keyboard Shortcuts

"+shortcuts+"
";var infos=["Prefix searches with a type followed by a colon (e.g., fn:) to \ restrict the search to a given item kind.","Accepted kinds are: fn, mod, struct, \ enum, trait, type, macro, \ and const.","Search functions by type signature (e.g., vec -> usize or \ * -> vec)","Search multiple things at once by splitting your query with comma (e.g., \ str,u8 or String,struct:Vec,test)","You can look for items with an exact name by putting double quotes around \ - your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(x=>"

"+x+"

").join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}onHashChange(null);window.onhashchange=onHashChange}());window.onunload=function(){} \ No newline at end of file + your request: \"string\"","Look for items inside another one by searching for a path: vec::Vec",].map(function(x){return"

"+x+"

"}).join("");var div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="

Search Tricks

"+infos;container.appendChild(book_info);container.appendChild(div_shortcuts);container.appendChild(div_infos);popup.appendChild(container);insertAfter(popup,getSearchElement());buildHelperPopup=function(){}}onHashChange(null);window.onhashchange=onHashChange}());window.onunload=function(){} \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/search-index.js b/static/docs-rs/bdk/nightly/latest/search-index.js index def0bde1e6..2195ed2d3b 100644 --- a/static/docs-rs/bdk/nightly/latest/search-index.js +++ b/static/docs-rs/bdk/nightly/latest/search-index.js @@ -1,4 +1,4 @@ var searchIndex = JSON.parse('{\ -"bdk":{"doc":"A modern, lightweight, descriptor-based wallet library …","i":[[0,"blockchain","bdk","Blockchain backends",null,null],[0,"any","bdk::blockchain","Runtime-checked blockchain types",null,null],[4,"AnyBlockchain","bdk::blockchain::any","Type that can contain any of the [Blockchain] types …",null,null],[13,"Electrum","","Electrum client",0,null],[13,"Esplora","","Esplora client",0,null],[13,"CompactFilters","","Compact filters client",0,null],[4,"AnyBlockchainConfig","","Type that can contain any of the blockchain …",null,null],[13,"Electrum","","Electrum client",1,null],[13,"Esplora","","Esplora client",1,null],[13,"CompactFilters","","Compact filters client",1,null],[0,"electrum","bdk::blockchain","Electrum",null,null],[3,"ElectrumBlockchain","bdk::blockchain::electrum","Wrapper over an Electrum Client that implements the …",null,null],[3,"ElectrumBlockchainConfig","","Configuration for an [ElectrumBlockchain]",null,null],[12,"url","","URL of the Electrum server (such as ElectrumX, Esplora, …",2,null],[12,"socks5","","URL of the socks5 proxy server or a Tor service",2,null],[12,"retry","","Request retry count",2,null],[12,"timeout","","Request timeout (seconds)",2,null],[0,"esplora","bdk::blockchain","Esplora",null,null],[3,"EsploraBlockchain","bdk::blockchain::esplora","Structure that implements the logic to sync with Esplora",null,null],[11,"new","","Create a new instance of the client from a base URL",3,[[["u8",15],["option",4],["str",15]]]],[3,"EsploraBlockchainConfig","","Configuration for an [EsploraBlockchain]",null,null],[12,"base_url","","Base URL of the esplora service",4,null],[12,"concurrency","","Number of parallel requests sent to the esplora service …",4,null],[4,"EsploraError","","Errors that can happen during a sync with […",null,null],[13,"Reqwest","","Error with the HTTP call",5,null],[13,"Parsing","","Invalid number returned",5,null],[13,"BitcoinEncoding","","Invalid Bitcoin data returned",5,null],[13,"Hex","","Invalid Hex data returned",5,null],[13,"TransactionNotFound","","Transaction not found",5,null],[13,"HeaderHeightNotFound","","Header height not found",5,null],[13,"HeaderHashNotFound","","Header hash not found",5,null],[0,"compact_filters","bdk::blockchain","Compact Filters",null,null],[3,"Mempool","bdk::blockchain::compact_filters","Container for unconfirmed, but valid Bitcoin transactions",null,null],[3,"Peer","","A Bitcoin peer",null,null],[3,"CompactFiltersBlockchain","","Structure implementing the required blockchain traits",null,null],[11,"new","","Construct a new instance given a list of peers, a path to …",6,[[["peer",3],["asref",8],["usize",15],["path",3],["option",4],["vec",3]],[["result",4],["compactfilterserror",4]]]],[3,"BitcoinPeerConfig","","Data to connect to a Bitcoin P2P peer",null,null],[12,"address","","Peer address such as 127.0.0.1:18333",7,null],[12,"socks5","","Optional socks5 proxy",7,null],[12,"socks5_credentials","","Optional socks5 proxy credentials",7,null],[3,"CompactFiltersBlockchainConfig","","Configuration for a [CompactFiltersBlockchain]",null,null],[12,"peers","","List of peers to try to connect to for asking headers and …",8,null],[12,"network","","Network used",8,null],[12,"storage_dir","","Storage dir to save partially downloaded headers and full …",8,null],[12,"skip_blocks","","Optionally skip initial skip_blocks blocks (default: 0)",8,null],[4,"CompactFiltersError","","An error that can occur during sync with a […",null,null],[13,"InvalidResponse","","A peer sent an invalid or unexpected response",9,null],[13,"InvalidHeaders","","The headers returned are invalid",9,null],[13,"InvalidFilterHeader","","The compact filter headers returned are invalid",9,null],[13,"InvalidFilter","","The compact filter returned is invalid",9,null],[13,"MissingBlock","","The peer is missing a block in the valid chain",9,null],[13,"DataCorruption","","The data stored in the block filters storage are corrupted",9,null],[13,"NotConnected","","A peer is not connected",9,null],[13,"Timeout","","A peer took too long to reply to one of our messages",9,null],[13,"PeerBloomDisabled","","The peer doesn\'t advertise the BLOOM service flag",9,null],[13,"NoPeers","","No peers have been specified",9,null],[13,"DB","","Internal database error",9,null],[13,"IO","","Internal I/O error",9,null],[13,"BIP158","","Invalid BIP158 filter",9,null],[13,"Time","","Internal system time error",9,null],[13,"Global","","Wrapper for [crate::error::Error]",9,null],[4,"Capability","bdk::blockchain","Capabilities that can be supported by a [Blockchain] …",null,null],[13,"FullHistory","","Can recover the full history of a wallet and not only the …",10,null],[13,"GetAnyTx","","Can fetch any historical transaction given its txid",10,null],[13,"AccurateFees","","Can compute accurate fees for the transactions found …",10,null],[8,"Blockchain","","Trait that defines the actions that must be supported by …",null,null],[10,"get_capabilities","","Return the set of [Capability] supported by this backend",11,[[],[["hashset",3],["capability",4]]]],[10,"setup","","Setup the backend and populate the internal database for …",11,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"sync","","Populate the internal database with transactions and UTXOs",11,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[10,"get_tx","","Fetch a transaction from the blockchain given its txid",11,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[10,"broadcast","","Broadcast a transaction",11,[[["transaction",3]],[["result",4],["error",4]]]],[10,"get_height","","Return the current height",11,[[],[["u32",15],["error",4],["result",4]]]],[10,"estimate_fee","","Estimate the fee rate required to confirm a transaction …",11,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[8,"ConfigurableBlockchain","","Trait for [Blockchain] types that can be created given a …",null,null],[16,"Config","","Type that contains the configuration",12,null],[10,"from_config","","Create a new instance given a configuration",12,[[],[["error",4],["result",4]]]],[6,"ProgressData","","Data sent with a progress update over a [channel]",null,null],[8,"Progress","","Trait for types that can receive and process progress …",null,null],[10,"update","","Send a new progress update",13,[[["string",3],["f32",15],["option",4]],[["result",4],["error",4]]]],[5,"progress","","Shortcut to create a [channel] (pair of [Sender] and […",null,[[]]],[3,"NoopProgress","","Type that implements [Progress] and drops every update …",null,null],[5,"noop_progress","","Create a new instance of [NoopProgress]",null,[[],["noopprogress",3]]],[3,"LogProgress","","Type that implements [Progress] and logs at level INFO …",null,null],[5,"log_progress","","Create a nwe instance of [LogProgress]",null,[[],["logprogress",3]]],[0,"database","bdk","Database types",null,null],[0,"any","bdk::database","Runtime-checked database types",null,null],[4,"AnyDatabase","bdk::database::any","Type that can contain any of the [Database] types defined …",null,null],[13,"Memory","","In-memory ephemeral database",14,null],[13,"Sled","","Simple key-value embedded database based on [sled]",14,null],[4,"AnyBatch","","Type that contains any of the [BatchDatabase::Batch] …",null,null],[13,"Memory","","In-memory ephemeral database",15,null],[13,"Sled","","Simple key-value embedded database based on [sled]",15,null],[3,"SledDbConfiguration","","Configuration type for a [sled::Tree] database",null,null],[12,"path","","Main directory of the db",16,null],[12,"tree_name","","Name of the database tree, a separated namespace for the …",16,null],[4,"AnyDatabaseConfig","","Type that can contain any of the database configurations …",null,null],[13,"Memory","","Memory database has no config",17,null],[13,"Sled","","Simple key-value embedded database based on [sled]",17,null],[0,"memory","bdk::database","In-memory ephemeral database",null,null],[3,"MemoryDatabase","bdk::database::memory","In-memory ephemeral database",null,null],[11,"new","","Create a new empty database",18,[[]]],[8,"BatchOperations","bdk::database","Trait for operations that can be batched",null,null],[10,"set_script_pubkey","","Store a script_pubkey along with its keychain and child …",19,[[["u32",15],["script",3],["keychainkind",4]],[["result",4],["error",4]]]],[10,"set_utxo","","Store a [UTXO]",19,[[["utxo",3]],[["result",4],["error",4]]]],[10,"set_raw_tx","","Store a raw transaction",19,[[["transaction",3]],[["result",4],["error",4]]]],[10,"set_tx","","Store the metadata of a transaction",19,[[["transactiondetails",3]],[["result",4],["error",4]]]],[10,"set_last_index","","Store the last derivation index for a given keychain.",19,[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]]],[10,"del_script_pubkey_from_path","","Delete a script_pubkey given the keychain and its child …",19,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[10,"del_path_from_script_pubkey","","Delete the data related to a specific script_pubkey, …",19,[[["script",3]],[["result",4],["option",4],["error",4]]]],[10,"del_utxo","","Delete a [UTXO] given its [OutPoint]",19,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[10,"del_raw_tx","","Delete a raw transaction given its [Txid]",19,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[10,"del_tx","","Delete the metadata of a transaction and optionally the …",19,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[10,"del_last_index","","Delete the last derivation index for a keychain.",19,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[8,"Database","","Trait for reading data from a database",null,null],[10,"check_descriptor_checksum","","Read and checks the descriptor checksum for a given …",20,[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]]],[10,"iter_script_pubkeys","","Return the list of script_pubkeys",20,[[["option",4],["keychainkind",4]],[["result",4],["vec",3],["error",4]]]],[10,"iter_utxos","","Return the list of [UTXO]s",20,[[],[["result",4],["error",4],["vec",3]]]],[10,"iter_raw_txs","","Return the list of raw transactions",20,[[],[["error",4],["vec",3],["result",4]]]],[10,"iter_txs","","Return the list of transactions metadata",20,[[["bool",15]],[["error",4],["result",4],["vec",3]]]],[10,"get_script_pubkey_from_path","","Fetch a script_pubkey given the child number of a …",20,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[10,"get_path_from_script_pubkey","","Fetch the keychain and child number of a given …",20,[[["script",3]],[["result",4],["option",4],["error",4]]]],[10,"get_utxo","","Fetch a [UTXO] given its [OutPoint]",20,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[10,"get_raw_tx","","Fetch a raw transaction given its [Txid]",20,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[10,"get_tx","","Fetch the transaction metadata and optionally also the …",20,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[10,"get_last_index","","Return the last defivation index for a keychain.",20,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[10,"increment_last_index","","Increment the last derivation index for a keychain and …",20,[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]]],[8,"BatchDatabase","","Trait for a database that supports batch operations",null,null],[16,"Batch","","Container for the operations",21,null],[10,"begin_batch","","Create a new batch container",21,[[]]],[10,"commit_batch","","Consume and apply a batch of operations",21,[[],[["result",4],["error",4]]]],[8,"ConfigurableDatabase","","Trait for [Database] types that can be created given a …",null,null],[16,"Config","","Type that contains the configuration",22,null],[10,"from_config","","Create a new instance given a configuration",22,[[],[["error",4],["result",4]]]],[0,"descriptor","bdk","Descriptors",null,null],[0,"checksum","bdk::descriptor","Descriptor checksum",null,null],[5,"get_checksum","bdk::descriptor::checksum","Compute the checksum of a descriptor",null,[[["str",15]],[["descriptorerror",4],["result",4],["string",3]]]],[0,"error","bdk::descriptor","Descriptor errors",null,null],[4,"Error","bdk::descriptor::error","Errors related to the parsing and usage of descriptors",null,null],[13,"InvalidHDKeyPath","","Invalid HD Key path, such as having a wildcard but a …",23,null],[13,"InvalidDescriptorChecksum","","The provided descriptor doesn\'t match its checksum",23,null],[13,"Key","","Error thrown while working with keys",23,null],[13,"Policy","","Error while extracting and manipulating policies",23,null],[13,"InvalidDescriptorCharacter","","Invalid character found in the descriptor checksum",23,null],[13,"BIP32","","BIP32 error",23,null],[13,"Base58","","Error during base58 decoding",23,null],[13,"PK","","Key-related error",23,null],[13,"Miniscript","","Miniscript error",23,null],[13,"Hex","","Hex decoding error",23,null],[0,"policy","bdk::descriptor","Descriptor policy",null,null],[3,"PKOrF","bdk::descriptor::policy","Raw public key or extended key fingerprint",null,null],[4,"SatisfiableItem","","An item that needs to be satisfied",null,null],[13,"Signature","","Signature for a raw public key",24,null],[13,"SignatureKey","","Signature for an extended key fingerprint",24,null],[13,"SHA256Preimage","","SHA256 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",25,null],[13,"HASH256Preimage","bdk::descriptor::policy","Double SHA256 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",26,null],[13,"RIPEMD160Preimage","bdk::descriptor::policy","RIPEMD160 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",27,null],[13,"HASH160Preimage","bdk::descriptor::policy","SHA256 then RIPEMD160 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",28,null],[13,"AbsoluteTimelock","bdk::descriptor::policy","Absolute timeclock timestamp",24,null],[12,"value","bdk::descriptor::policy::SatisfiableItem","The timestamp value",29,null],[13,"RelativeTimelock","bdk::descriptor::policy","Relative timelock locktime",24,null],[12,"value","bdk::descriptor::policy::SatisfiableItem","The locktime value",30,null],[13,"Multisig","bdk::descriptor::policy","Multi-signature public keys with threshold count",24,null],[12,"keys","bdk::descriptor::policy::SatisfiableItem","The raw public key or extended key fingerprint",31,null],[12,"threshold","","The required threshold count",31,null],[13,"Thresh","bdk::descriptor::policy","Threshold items with threshold count",24,null],[12,"items","bdk::descriptor::policy::SatisfiableItem","The policy items",32,null],[12,"threshold","","The required threshold count",32,null],[11,"is_leaf","bdk::descriptor::policy","Returns whether the [SatisfiableItem] is a leaf item",24,[[],["bool",15]]],[11,"id","","Returns a unique id for the [SatisfiableItem]",24,[[],["string",3]]],[6,"ConditionMap","","Type for a map of sets of [Condition] items keyed by each …",null,null],[6,"FoldedConditionMap","","Type for a map of folded sets of [Condition] items keyed …",null,null],[4,"Satisfaction","","Represent if and how much a policy item is satisfied by …",null,null],[13,"Partial","","Only a partial satisfaction of some kind of threshold …",33,null],[12,"n","bdk::descriptor::policy::Satisfaction","Total number of items",34,null],[12,"m","","Threshold",34,null],[12,"items","","The items that can be satisfied by the descriptor",34,null],[12,"sorted","","Whether the items are sorted in lexicographic order (used …",34,null],[12,"conditions","","Extra conditions that also need to be satisfied",34,null],[13,"PartialComplete","bdk::descriptor::policy","Can reach the threshold of some kind of threshold policy",33,null],[12,"n","bdk::descriptor::policy::Satisfaction","Total number of items",35,null],[12,"m","","Threshold",35,null],[12,"items","","The items that can be satisfied by the descriptor",35,null],[12,"sorted","","Whether the items are sorted in lexicographic order (used …",35,null],[12,"conditions","","Extra conditions that also need to be satisfied",35,null],[13,"Complete","bdk::descriptor::policy","Can satisfy the policy item",33,null],[12,"condition","bdk::descriptor::policy::Satisfaction","Extra conditions that also need to be satisfied",36,null],[13,"None","bdk::descriptor::policy","Cannot satisfy or contribute to the policy item",33,null],[11,"is_leaf","","Returns whether the [Satisfaction] is a leaf item",33,[[],["bool",15]]],[3,"Policy","","Descriptor spending policy",null,null],[12,"id","","Identifier for this policy node",37,null],[12,"item","","Type of this policy node",37,null],[12,"satisfaction","","How a much given PSBT already satisfies this polcy node …",37,null],[12,"contribution","","How the wallet\'s descriptor can satisfy this policy node",37,null],[3,"Condition","","An extra condition that must be satisfied but that is out …",null,null],[12,"csv","","Optional CheckSequenceVerify condition",38,null],[12,"timelock","","Optional timelock condition",38,null],[11,"is_null","","Returns true if there are no extra conditions to verify",38,[[],["bool",15]]],[4,"PolicyError","","Errors that can happen while extracting and manipulating …",null,null],[13,"NotEnoughItemsSelected","","Not enough items are selected to satisfy a […",39,null],[13,"TooManyItemsSelected","","Too many items are selected to satisfy a […",39,null],[13,"IndexOutOfRange","","Index out of range for an item to satisfy a […",39,null],[13,"AddOnLeaf","","Can not add to an item that is [Satisfaction::None] or […",39,null],[13,"AddOnPartialComplete","","Can not add to an item that is […",39,null],[13,"MixedTimelockUnits","","Can not merge CSV or timelock values unless both are less …",39,null],[13,"IncompatibleConditions","","Incompatible conditions (not currently used)",39,null],[11,"requires_path","","Return whether or not a specific path in the policy tree …",37,[[],["bool",15]]],[11,"get_condition","","Return the conditions that are set by the spending policy …",37,[[["btreemap",3]],[["condition",3],["result",4],["policyerror",4]]]],[0,"template","bdk::descriptor","Descriptor templates",null,null],[6,"DescriptorTemplateOut","bdk::descriptor::template","Type alias for the return type of [DescriptorTemplate], …",null,null],[8,"DescriptorTemplate","","Trait for descriptor templates that can be built into a …",null,null],[10,"build","","Build the complete descriptor",40,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[3,"P2PKH","","P2PKH template. Expands to a descriptor pkh(key)",null,null],[12,"0","","",41,null],[3,"P2WPKH_P2SH","","P2WPKH-P2SH template. Expands to a descriptor …",null,null],[12,"0","","",42,null],[3,"P2WPKH","","P2WPKH template. Expands to a descriptor wpkh(key)",null,null],[12,"0","","",43,null],[3,"BIP44","","BIP44 template. Expands to pkh(key/44\'/0\'/0\'/{0,1}/*)",null,null],[12,"0","","",44,null],[12,"1","","",44,null],[3,"BIP44Public","","BIP44 public template. Expands to pkh(key/{0,1}/*)",null,null],[12,"0","","",45,null],[12,"1","","",45,null],[12,"2","","",45,null],[3,"BIP49","","BIP49 template. Expands to sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))",null,null],[12,"0","","",46,null],[12,"1","","",46,null],[3,"BIP49Public","","BIP49 public template. Expands to sh(wpkh(key/{0,1}/*))",null,null],[12,"0","","",47,null],[12,"1","","",47,null],[12,"2","","",47,null],[3,"BIP84","","BIP84 template. Expands to wpkh(key/84\'/0\'/0\'/{0,1}/*)",null,null],[12,"0","","",48,null],[12,"1","","",48,null],[3,"BIP84Public","","BIP84 public template. Expands to wpkh(key/{0,1}/*)",null,null],[12,"0","","",49,null],[12,"1","","",49,null],[12,"2","","",49,null],[6,"KeyMap","bdk::descriptor","Alias type for a map of public key to secret key",null,null],[4,"Descriptor","","Script descriptor",null,null],[13,"Bare","","A raw scriptpubkey (including pay-to-pubkey) under Legacy …",50,null],[13,"Pkh","","Pay-to-PubKey-Hash",50,null],[13,"Wpkh","","Pay-to-Witness-PubKey-Hash",50,null],[13,"Sh","","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)",50,null],[13,"Wsh","","Pay-to-Witness-ScriptHash with Segwitv0 context",50,null],[4,"Legacy","","Legacy ScriptContext To be used as P2SH scripts For …",null,null],[3,"Miniscript","","Top-level script AST type",null,null],[12,"node","","A node in the Abstract Syntax Tree(",51,null],[12,"ty","","The correctness and malleability type information for the …",51,null],[12,"ext","","Additional information helpful for extra analysis.",51,null],[8,"ScriptContext","","The ScriptContext for Miniscript. Additional type …",null,null],[10,"check_terminal_non_malleable","","Depending on ScriptContext, fragments can be malleable. …",52,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]]],[11,"check_witness","","Check whether the given satisfaction is valid under the …",52,[[],[["result",4],["scriptcontexterror",4]]]],[10,"max_satisfaction_size","","Depending on script context, the size of a satifaction …",52,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["result",4],["error",4]]]],[4,"Segwitv0","","Segwitv0 ScriptContext",null,null],[3,"DerivedDescriptorKey","","Extended [DescriptorPublicKey] that has been derived",null,null],[6,"ExtendedDescriptor","","Alias for a [Descriptor] that can contain extended keys …",null,null],[6,"DerivedDescriptor","","Alias for a [Descriptor] that contains extended derived …",null,null],[6,"HDKeyPaths","","Alias for the type of maps that represent derivation …",null,null],[8,"IntoWalletDescriptor","","Trait for types which can be converted into an […",null,null],[10,"into_wallet_descriptor","","Convert to wallet descriptor",53,[[["network",4],["secp256k1",3]],[["descriptorerror",4],["result",4]]]],[8,"ExtractPolicy","","Trait implemented on [Descriptor]s to add a method to …",null,null],[10,"extract_policy","","Extract the spending [policy]",54,[[["secp256k1",3],["signerscontainer",3]],[["descriptorerror",4],["option",4],["result",4]]]],[0,"keys","bdk","Key formats",null,null],[0,"bip39","bdk::keys","BIP-0039",null,null],[4,"Language","bdk::keys::bip39","The language determines which words will be used in a …",null,null],[13,"English","","",55,null],[13,"ChineseSimplified","","",55,null],[13,"ChineseTraditional","","",55,null],[13,"French","","",55,null],[13,"Italian","","",55,null],[13,"Japanese","","",55,null],[13,"Korean","","",55,null],[13,"Spanish","","",55,null],[3,"Mnemonic","","The primary type in this crate, most tasks require …",null,null],[4,"MnemonicType","","Determines the number of words that will be present in a …",null,null],[13,"Words12","","",56,null],[13,"Words15","","",56,null],[13,"Words18","","",56,null],[13,"Words21","","",56,null],[13,"Words24","","",56,null],[3,"Seed","","The secret value used to derive HD wallet addresses from …",null,null],[6,"MnemonicWithPassphrase","","Type for a BIP39 mnemonic with an optional passphrase",null,null],[4,"DescriptorPublicKey","bdk::keys","The MiniscriptKey corresponding to Descriptors. This can …",null,null],[13,"SinglePub","","Single Public Key",57,null],[13,"XPub","","Xpub",57,null],[4,"DescriptorSecretKey","","A Secret Key that can be either a single key or an Xprv",null,null],[13,"SinglePriv","","Single Secret Key",58,null],[13,"XPrv","","Xprv",58,null],[3,"DescriptorSinglePriv","","A Single Descriptor Secret Key with optional origin …",null,null],[12,"origin","","Origin information",59,null],[12,"key","","The key",59,null],[3,"DescriptorSinglePub","","A Single Descriptor Key with optional origin information",null,null],[12,"origin","","Origin information",60,null],[12,"key","","The key",60,null],[6,"KeyMap","","Alias type for a map of public key to secret key",null,null],[3,"SortedMultiVec","","Contents of a \\\"sortedmulti\\\" descriptor",null,null],[12,"k","","signatures required",61,null],[12,"pks","","public keys inside sorted Multi",61,null],[8,"ScriptContext","","The ScriptContext for Miniscript. Additional type …",null,null],[10,"check_terminal_non_malleable","","Depending on ScriptContext, fragments can be malleable. …",52,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]]],[11,"check_witness","","Check whether the given satisfaction is valid under the …",52,[[],[["result",4],["scriptcontexterror",4]]]],[10,"max_satisfaction_size","","Depending on script context, the size of a satifaction …",52,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["result",4],["error",4]]]],[6,"ValidNetworks","","Set of valid networks for a key",null,null],[5,"any_network","","Create a set containing mainnet, testnet and regtest",null,[[],["validnetworks",6]]],[5,"mainnet_network","","Create a set only containing mainnet",null,[[],["validnetworks",6]]],[5,"test_networks","","Create a set containing testnet and regtest",null,[[],["validnetworks",6]]],[5,"merge_networks","","Compute the intersection of two sets",null,[[["validnetworks",6]],["validnetworks",6]]],[4,"DescriptorKey","","Container for public or secret keys",null,null],[11,"from_public","","Create an instance given a public key and a set of valid …",62,[[["descriptorpublickey",4],["validnetworks",6]]]],[11,"from_secret","","Create an instance given a secret key and a set of valid …",62,[[["descriptorsecretkey",4],["validnetworks",6]]]],[11,"override_valid_networks","","Override the computed set of valid networks",62,[[["validnetworks",6]]]],[4,"ScriptContextEnum","","Enum representation of the known valid [ScriptContext]s",null,null],[13,"Legacy","","Legacy scripts",63,null],[13,"Segwitv0","","Segwitv0 scripts",63,null],[11,"is_legacy","","Returns whether the script context is […",63,[[],["bool",15]]],[11,"is_segwit_v0","","Returns whether the script context is […",63,[[],["bool",15]]],[8,"ExtScriptContext","","Trait that adds extra useful methods to [ScriptContext]s",null,null],[10,"as_enum","","Returns the [ScriptContext] as a [ScriptContextEnum]",64,[[],["scriptcontextenum",4]]],[11,"is_legacy","","Returns whether the script context is Legacy",64,[[],["bool",15]]],[11,"is_segwit_v0","","Returns whether the script context is Segwitv0",64,[[],["bool",15]]],[8,"IntoDescriptorKey","","Trait for objects that can be turned into a public or …",null,null],[10,"into_descriptor_key","","Turn the key into a [DescriptorKey] within the requested […",65,[[],[["result",4],["descriptorkey",4],["keyerror",4]]]],[4,"ExtendedKey","","Enum for extended keys that can be either xprv or xpub",null,null],[13,"Private","","A private extended key, aka an xprv",66,null],[13,"Public","","A public extended key, aka an xpub",66,null],[11,"has_secret","","Return whether or not the key contains the private data",66,[[],["bool",15]]],[11,"into_xprv","","Transform the [ExtendedKey] into an ExtendedPrivKey for …",66,[[["network",4]],[["option",4],["extendedprivkey",3]]]],[11,"into_xpub","","Transform the [ExtendedKey] into an ExtendedPubKey for the…",66,[[["secp256k1",3],["network",4]],["extendedpubkey",3]]],[8,"DerivableKey","","Trait for keys that can be derived.",null,null],[10,"into_extended_key","","Consume self and turn it into an [ExtendedKey]",67,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","Consume self and turn it into a [DescriptorKey] by adding …",67,[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["descriptorkey",4],["keyerror",4]]]],[3,"GeneratedKey","","Output of a [GeneratableKey] key generation",null,null],[11,"into_key","","Consumes self and returns the key",68,[[]]],[8,"GeneratableKey","","Trait for keys that can be generated",null,null],[16,"Entropy","","Type specifying the amount of entropy required e.g. …",69,null],[16,"Options","","Extra options required by the generate_with_entropy",69,null],[16,"Error","","Returned error in case of failure",69,null],[10,"generate_with_entropy","","Generate a key given the extra options and the entropy",69,[[],[["result",4],["generatedkey",3]]]],[11,"generate","","Generate a key given the options with a random entropy",69,[[],[["result",4],["generatedkey",3]]]],[8,"GeneratableDefaultOptions","","Trait that allows generating a key with the default …",null,null],[11,"generate_with_entropy_default","","Generate a key with the default options and a given …",70,[[],[["result",4],["generatedkey",3]]]],[11,"generate_default","","Generate a key with the default options and a random …",70,[[],[["result",4],["generatedkey",3]]]],[3,"PrivateKeyGenerateOptions","","Options for generating a [PrivateKey]",null,null],[12,"compressed","","Whether the generated key should be \\\"compressed\\\" or not",71,null],[4,"KeyError","","Errors thrown while working with keys",null,null],[13,"InvalidScriptContext","","The key cannot exist in the given script context",72,null],[13,"InvalidNetwork","","The key is not valid for the given network",72,null],[13,"InvalidChecksum","","The key has an invalid checksum",72,null],[13,"Message","","Custom error message",72,null],[13,"BIP32","","BIP32 error",72,null],[13,"Miniscript","","Miniscript error",72,null],[0,"wallet","bdk","Wallet",null,null],[0,"address_validator","bdk::wallet","Address validation callbacks",null,null],[4,"AddressValidatorError","bdk::wallet::address_validator","Errors that can be returned to fail the validation of an …",null,null],[13,"UserRejected","","User rejected the address",73,null],[13,"ConnectionError","","Network connection error",73,null],[13,"TimeoutError","","Network request timeout error",73,null],[13,"InvalidScript","","Invalid script",73,null],[13,"Message","","A custom error message",73,null],[8,"AddressValidator","","Trait to build address validators",null,null],[10,"validate","","Validate or inspect an address",74,[[["script",3],["keychainkind",4],["hdkeypaths",6]],[["result",4],["addressvalidatorerror",4]]]],[0,"coin_selection","bdk::wallet","Coin selection",null,null],[6,"DefaultCoinSelectionAlgorithm","bdk::wallet::coin_selection","Default coin selection algorithm used by TxBuilder if not …",null,null],[3,"CoinSelectionResult","","Result of a successful coin selection",null,null],[12,"selected","","List of outputs selected for use as inputs",75,null],[12,"selected_amount","","Sum of the selected inputs\' value",75,null],[12,"fee_amount","","Total fee amount in satoshi",75,null],[8,"CoinSelectionAlgorithm","","Trait for generalized coin selection algorithms",null,null],[10,"coin_select","","Perform the coin selection",76,[[["f32",15],["u64",15],["vec",3],["feerate",3]],[["error",4],["coinselectionresult",3],["result",4]]]],[3,"LargestFirstCoinSelection","","Simple and dumb coin selection",null,null],[3,"BranchAndBoundCoinSelection","","Branch and bound coin selection",null,null],[11,"new","","Create new instance with target size for change output",77,[[["u64",15]]]],[0,"export","bdk::wallet","Wallet export",null,null],[3,"WalletExport","bdk::wallet::export","Structure that contains the export of a wallet",null,null],[12,"blockheight","","Earliest block to rescan when looking for the wallet\'s …",78,null],[12,"label","","Arbitrary label for the wallet",78,null],[11,"export_wallet","","Export a wallet",78,[[["str",15],["bool",15],["wallet",3]],[["result",4],["str",15]]]],[11,"descriptor","","Return the external descriptor",78,[[],["string",3]]],[11,"change_descriptor","","Return the internal descriptor, if present",78,[[],[["option",4],["string",3]]]],[0,"signer","bdk::wallet","Generalized signers",null,null],[4,"SignerId","bdk::wallet::signer","Identifier of a signer in the SignersContainers. Used as …",null,null],[13,"PkHash","","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …",79,null],[13,"Fingerprint","","The fingerprint of a BIP32 extended key",79,null],[13,"Dummy","","Dummy identifier",79,null],[4,"SignerError","","Signing error",null,null],[13,"MissingKey","","The private key is missing for the required public key",80,null],[13,"InvalidKey","","The private key in use has the right fingerprint but …",80,null],[13,"UserCanceled","","The user canceled the operation",80,null],[13,"InputIndexOutOfRange","","Input index is out of range",80,null],[13,"MissingNonWitnessUtxo","","The non_witness_utxo field of the transaction is required …",80,null],[13,"InvalidNonWitnessUtxo","","The non_witness_utxo specified is invalid",80,null],[13,"MissingWitnessUtxo","","The witness_utxo field of the transaction is required to …",80,null],[13,"MissingWitnessScript","","The witness_script field of the transaction is requied to …",80,null],[13,"MissingHDKeypath","","The fingerprint and derivation path are missing from the …",80,null],[8,"Signer","","Trait for signers",null,null],[10,"sign","","Sign a PSBT",81,[[["usize",15],["secp256k1",3],["option",4],["partiallysignedtransaction",3]],[["result",4],["signererror",4]]]],[10,"sign_whole_tx","","Return whether or not the signer signs the whole …",81,[[],["bool",15]]],[10,"id","","Return the [SignerId] for this signer",81,[[["secp256k1",3]],["signerid",4]]],[11,"descriptor_secret_key","","Return the secret key for the signer",81,[[],[["option",4],["descriptorsecretkey",4]]]],[3,"SignerOrdering","","Defines the order in which signers are called",null,null],[12,"0","","",82,null],[3,"SignersContainer","","Container for multiple signers",null,null],[11,"as_key_map","","Create a map of public keys to secret keys",83,[[["secp256k1",3]],["keymap",6]]],[11,"new","","Default constructor",83,[[]]],[11,"add_external","","Adds an external signer to the container for the …",83,[[["arc",3],["signerordering",3],["signer",8],["signerid",4]],[["option",4],["arc",3]]]],[11,"remove","","Removes a signer from the container and returns it",83,[[["signerordering",3],["signerid",4]],[["option",4],["arc",3]]]],[11,"ids","","Returns the list of identifiers of all the signers in the …",83,[[],[["vec",3],["signerid",4]]]],[11,"signers","","Returns the list of signers in the container, sorted by …",83,[[],[["vec",3],["arc",3]]]],[11,"find","","Finds the signer with lowest ordering for a given id in …",83,[[["signerid",4]],[["option",4],["arc",3]]]],[0,"time","bdk::wallet","Cross-platform time",null,null],[5,"get_timestamp","bdk::wallet::time","Return the current timestamp in seconds",null,[[],["u64",15]]],[0,"tx_builder","bdk::wallet","Transaction builder",null,null],[8,"TxBuilderContext","bdk::wallet::tx_builder","Context in which the [TxBuilder] is valid",null,null],[3,"CreateTx","","Marker type to indicate the [TxBuilder] is being used to …",null,null],[3,"BumpFee","","Marker type to indicate the [TxBuilder] is being used to …",null,null],[3,"TxBuilder","","A transaction builder",null,null],[11,"fee_rate","","Set a custom fee rate",84,[[["feerate",3]]]],[11,"fee_absolute","","Set an absolute fee",84,[[["u64",15]]]],[11,"policy_path","","Set the policy path to use while creating the transaction …",84,[[["keychainkind",4],["btreemap",3],["vec",3],["string",3]]]],[11,"add_utxos","","Add the list of outpoints to the internal list of UTXOs …",84,[[],[["result",4],["error",4]]]],[11,"add_utxo","","Add a utxo to the internal list of utxos that must be …",84,[[["outpoint",3]],[["result",4],["error",4]]]],[11,"manually_selected_only","","Only spend utxos added by add_utxo.",84,[[]]],[11,"unspendable","","Replace the internal list of unspendable utxos with a new …",84,[[["outpoint",3],["vec",3]]]],[11,"add_unspendable","","Add a utxo to the internal list of unspendable utxos",84,[[["outpoint",3]]]],[11,"sighash","","Sign with a specific sig hash",84,[[["sighashtype",4]]]],[11,"ordering","","Choose the ordering for inputs and outputs of the …",84,[[["txordering",4]]]],[11,"nlocktime","","Use a specific nLockTime while creating the transaction",84,[[["u32",15]]]],[11,"version","","Build a transaction with a specific version",84,[[["i32",15]]]],[11,"do_not_spend_change","","Do not spend change outputs",84,[[]]],[11,"only_spend_change","","Only spend change outputs",84,[[]]],[11,"change_policy","","Set a specific [ChangeSpendPolicy]. See […",84,[[["changespendpolicy",4]]]],[11,"force_non_witness_utxo","","Fill-in the psbt::Input::non_witness_utxo field even if …",84,[[]]],[11,"include_output_redeem_witness_script","","Fill-in the psbt::Output::redeem_script and …",84,[[]]],[11,"add_global_xpubs","","Fill-in the PSBT_GLOBAL_XPUB field with the extended keys …",84,[[]]],[11,"drain_wallet","","Spend all the available inputs. This respects filters …",84,[[]]],[11,"coin_selection","","Choose the coin selection algorithm",84,[[["coinselectionalgorithm",8]],[["coinselectionalgorithm",8],["txbuilder",3]]]],[11,"finish","","Finish the building the transaction.",84,[[],[["result",4],["error",4]]]],[11,"set_recipients","","Replace the recipients already added with a new list",84,[[["vec",3]]]],[11,"add_recipient","","Add a recipient to the internal list",84,[[["script",3],["u64",15]]]],[11,"set_single_recipient","","Set a single recipient that will get all the selected …",84,[[["script",3]]]],[11,"enable_rbf","","Enable signaling RBF",84,[[]]],[11,"enable_rbf_with_sequence","","Enable signaling RBF with a specific nSequence value",84,[[["u32",15]]]],[11,"maintain_single_recipient","","Bump the fees of a transaction made with …",84,[[],[["result",4],["error",4]]]],[4,"TxOrdering","","Ordering of the transaction\'s inputs and outputs",null,null],[13,"Shuffle","","Randomized (default)",85,null],[13,"Untouched","","Unchanged",85,null],[13,"BIP69Lexicographic","","BIP69 / Lexicographic",85,null],[11,"sort_tx","","Sort transaction inputs and outputs by [TxOrdering] …",85,[[["transaction",3]]]],[4,"ChangeSpendPolicy","","Policy regarding the use of change outputs when creating …",null,null],[13,"ChangeAllowed","","Use both change and non-change outputs (default)",86,null],[13,"OnlyChange","","Only use change outputs (see [TxBuilder::only_spend_change…",86,null],[13,"ChangeForbidden","","Only use non-change outputs (see […",86,null],[8,"IsDust","bdk::wallet","Trait to check if a value is below the dust limit",null,null],[10,"is_dust","","Check whether or not a value is below dust limit",87,[[],["bool",15]]],[3,"Wallet","","A Bitcoin wallet",null,null],[11,"new_offline","","Create a new \\\"offline\\\" wallet",88,[[["intowalletdescriptor",8],["option",4],["network",4]],[["error",4],["result",4]]]],[11,"get_new_address","","Return a newly generated address using the external …",88,[[],[["address",3],["result",4],["error",4]]]],[11,"is_mine","","Return whether or not a script is part of this wallet …",88,[[["script",3]],[["bool",15],["error",4],["result",4]]]],[11,"list_unspent","","Return the list of unspent outputs of this wallet",88,[[],[["result",4],["error",4],["vec",3]]]],[11,"get_utxo","","Returns the UTXO owned by this wallet corresponding to …",88,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"list_transactions","","Return the list of transactions made and received by the …",88,[[["bool",15]],[["error",4],["result",4],["vec",3]]]],[11,"get_balance","","Return the balance, meaning the sum of this wallet\'s …",88,[[],[["error",4],["result",4],["u64",15]]]],[11,"add_signer","","Add an external signer",88,[[["keychainkind",4],["arc",3],["signerordering",3],["signer",8]]]],[11,"add_address_validator","","Add an address validator",88,[[["arc",3],["addressvalidator",8]]]],[11,"build_tx","","Start building a transaction.",88,[[],[["txbuilder",3],["createtx",3],["defaultcoinselectionalgorithm",6]]]],[11,"build_fee_bump","","Bump the fee of a transaction previously created with …",88,[[["txid",3]],[["result",4],["txbuilder",3],["error",4]]]],[11,"sign","","Sign a transaction with all the wallet\'s signers, in the …",88,[[["psbt",3],["option",4],["u32",15]],[["result",4],["error",4]]]],[11,"policies","","Return the spending policies for the wallet\'s descriptor",88,[[["keychainkind",4]],[["option",4],["result",4],["error",4]]]],[11,"public_descriptor","","Return the \\\"public\\\" version of the wallet\'s descriptor, …",88,[[["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"finalize_psbt","","Try to finalize a PSBT",88,[[["psbt",3],["option",4],["u32",15]],[["result",4],["error",4]]]],[11,"secp_ctx","","Return the secp256k1 context used for all signing …",88,[[],["secp256k1",3]]],[11,"get_descriptor_for_keychain","","Returns the descriptor used to create adddresses for a …",88,[[["keychainkind",4]],["extendeddescriptor",6]]],[11,"new","","Create a new \\\"online\\\" wallet",88,[[["intowalletdescriptor",8],["option",4],["network",4]],[["error",4],["result",4]]]],[11,"sync","","Sync the internal database with the blockchain",88,[[["progress",8],["option",4],["u32",15]],[["result",4],["error",4]]]],[11,"client","","Return a reference to the internal blockchain client",88,[[]]],[11,"network","","Get the Bitcoin network the wallet is using.",88,[[],["network",4]]],[11,"broadcast","","Broadcast a transaction to the network",88,[[["transaction",3]],[["error",4],["txid",3],["result",4]]]],[4,"Error","bdk","Errors that can be thrown by the Wallet",null,null],[13,"InvalidU32Bytes","","Wrong number of bytes found when trying to convert to u32",89,null],[13,"Generic","","Generic error",89,null],[13,"ScriptDoesntHaveAddressForm","","This error is thrown when trying to convert Bare and …",89,null],[13,"SingleRecipientMultipleOutputs","","Found multiple outputs when single_recipient option has …",89,null],[13,"SingleRecipientNoInputs","","single_recipient option is selected but neither …",89,null],[13,"NoRecipients","","Cannot build a tx without recipients",89,null],[13,"NoUtxosSelected","","manually_selected_only option is selected but no utxo has …",89,null],[13,"OutputBelowDustLimit","","Output created is under the dust limit, 546 satoshis",89,null],[13,"InsufficientFunds","","Wallet\'s UTXO set is not enough to cover recipient\'s …",89,null],[12,"needed","bdk::Error","Sats needed for some transaction",90,null],[12,"available","","Sats available for spending",90,null],[13,"BnBTotalTriesExceeded","bdk","Branch and bound coin selection possible attempts with …",89,null],[13,"BnBNoExactMatch","","Branch and bound coin selection tries to avoid needing a …",89,null],[13,"UnknownUTXO","","Happens when trying to spend an UTXO that is not in the …",89,null],[13,"TransactionNotFound","","Thrown when a tx is not found in the internal database",89,null],[13,"TransactionConfirmed","","Happens when trying to bump a transaction that is already …",89,null],[13,"IrreplaceableTransaction","","Trying to replace a tx that has a sequence >= 0xFFFFFFFE",89,null],[13,"FeeRateTooLow","","When bumping a tx the fee rate requested is lower than …",89,null],[12,"required","bdk::Error","Required fee rate (satoshi/vbyte)",91,null],[13,"FeeTooLow","bdk","When bumping a tx the absolute fee requested is lower …",89,null],[12,"required","bdk::Error","Required fee absolute value (satoshi)",92,null],[13,"MissingKeyOrigin","bdk","In order to use the TxBuilder::add_global_xpubs option …",89,null],[13,"Key","","Error while working with keys",89,null],[13,"ChecksumMismatch","","Descriptor checksum mismatch",89,null],[13,"SpendingPolicyRequired","","Spending policy is not compatible with this KeychainKind",89,null],[13,"InvalidPolicyPathError","","Error while extracting and manipulating policies",89,null],[13,"Signer","","Signing error",89,null],[13,"InvalidProgressValue","","Progress value must be between 0.0 (included) and 100.0 …",89,null],[13,"ProgressUpdateError","","Progress update error (maybe the channel has been closed)",89,null],[13,"InvalidOutpoint","","Requested outpoint doesn\'t exist in the tx (vout greater …",89,null],[13,"Descriptor","","Error related to the parsing and usage of descriptors",89,null],[13,"AddressValidator","","Error that can be returned to fail the validation of an …",89,null],[13,"Encode","","Encoding error",89,null],[13,"Miniscript","","Miniscript error",89,null],[13,"BIP32","","BIP32 error",89,null],[13,"Secp256k1","","An ECDSA error",89,null],[13,"JSON","","Error serializing or deserializing JSON data",89,null],[13,"Hex","","Hex decoding error",89,null],[13,"PSBT","","Partially signed bitcoin transaction error",89,null],[13,"Electrum","","Electrum client error",89,null],[13,"Esplora","","Esplora client error",89,null],[13,"CompactFilters","","Compact filters client error)",89,null],[13,"Sled","","Sled database error",89,null],[4,"KeychainKind","","Types of keychains",null,null],[13,"External","","External",93,null],[13,"Internal","","Internal, usually used for change outputs",93,null],[3,"FeeRate","","Fee rate",null,null],[3,"UTXO","","A wallet unspent output",null,null],[12,"outpoint","","Reference to a transaction output",94,null],[12,"txout","","Transaction output",94,null],[12,"keychain","","Type of keychain",94,null],[3,"TransactionDetails","","A wallet transaction",null,null],[12,"transaction","","Optional transaction",95,null],[12,"txid","","Transaction id",95,null],[12,"timestamp","","Timestamp",95,null],[12,"received","","Received value (sats)",95,null],[12,"sent","","Sent value (sats)",95,null],[12,"fees","","Fee value (sats)",95,null],[12,"height","","Confirmed in block height, None means unconfirmed",95,null],[5,"version","","Get the version of BDK at runtime",null,[[],["str",15]]],[14,"descriptor","","Macro to write full descriptors with code",null,null],[14,"fragment","","Macro to write descriptor fragments with code",null,null],[11,"from","","",89,[[]]],[11,"into","","",89,[[]]],[11,"to_string","","",89,[[],["string",3]]],[11,"borrow","","",89,[[]]],[11,"borrow_mut","","",89,[[]]],[11,"try_from","","",89,[[],["result",4]]],[11,"try_into","","",89,[[],["result",4]]],[11,"type_id","","",89,[[],["typeid",3]]],[11,"vzip","","",89,[[]]],[11,"init","","",89,[[],["usize",15]]],[11,"deref","","",89,[[["usize",15]]]],[11,"deref_mut","","",89,[[["usize",15]]]],[11,"drop","","",89,[[["usize",15]]]],[11,"from","bdk::blockchain::any","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"init","","",0,[[],["usize",15]]],[11,"deref","","",0,[[["usize",15]]]],[11,"deref_mut","","",0,[[["usize",15]]]],[11,"drop","","",0,[[["usize",15]]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"init","","",1,[[],["usize",15]]],[11,"deref","","",1,[[["usize",15]]]],[11,"deref_mut","","",1,[[["usize",15]]]],[11,"drop","","",1,[[["usize",15]]]],[11,"from","bdk::blockchain::electrum","",96,[[]]],[11,"into","","",96,[[]]],[11,"borrow","","",96,[[]]],[11,"borrow_mut","","",96,[[]]],[11,"try_from","","",96,[[],["result",4]]],[11,"try_into","","",96,[[],["result",4]]],[11,"type_id","","",96,[[],["typeid",3]]],[11,"vzip","","",96,[[]]],[11,"init","","",96,[[],["usize",15]]],[11,"deref","","",96,[[["usize",15]]]],[11,"deref_mut","","",96,[[["usize",15]]]],[11,"drop","","",96,[[["usize",15]]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"init","","",2,[[],["usize",15]]],[11,"deref","","",2,[[["usize",15]]]],[11,"deref_mut","","",2,[[["usize",15]]]],[11,"drop","","",2,[[["usize",15]]]],[11,"from","bdk::blockchain::esplora","",3,[[]]],[11,"into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"init","","",3,[[],["usize",15]]],[11,"deref","","",3,[[["usize",15]]]],[11,"deref_mut","","",3,[[["usize",15]]]],[11,"drop","","",3,[[["usize",15]]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"init","","",4,[[],["usize",15]]],[11,"deref","","",4,[[["usize",15]]]],[11,"deref_mut","","",4,[[["usize",15]]]],[11,"drop","","",4,[[["usize",15]]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_string","","",5,[[],["string",3]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"init","","",5,[[],["usize",15]]],[11,"deref","","",5,[[["usize",15]]]],[11,"deref_mut","","",5,[[["usize",15]]]],[11,"drop","","",5,[[["usize",15]]]],[11,"from","bdk::blockchain::compact_filters","",97,[[]]],[11,"into","","",97,[[]]],[11,"borrow","","",97,[[]]],[11,"borrow_mut","","",97,[[]]],[11,"try_from","","",97,[[],["result",4]]],[11,"try_into","","",97,[[],["result",4]]],[11,"type_id","","",97,[[],["typeid",3]]],[11,"vzip","","",97,[[]]],[11,"init","","",97,[[],["usize",15]]],[11,"deref","","",97,[[["usize",15]]]],[11,"deref_mut","","",97,[[["usize",15]]]],[11,"drop","","",97,[[["usize",15]]]],[11,"from","","",98,[[]]],[11,"into","","",98,[[]]],[11,"borrow","","",98,[[]]],[11,"borrow_mut","","",98,[[]]],[11,"try_from","","",98,[[],["result",4]]],[11,"try_into","","",98,[[],["result",4]]],[11,"type_id","","",98,[[],["typeid",3]]],[11,"vzip","","",98,[[]]],[11,"init","","",98,[[],["usize",15]]],[11,"deref","","",98,[[["usize",15]]]],[11,"deref_mut","","",98,[[["usize",15]]]],[11,"drop","","",98,[[["usize",15]]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"init","","",6,[[],["usize",15]]],[11,"deref","","",6,[[["usize",15]]]],[11,"deref_mut","","",6,[[["usize",15]]]],[11,"drop","","",6,[[["usize",15]]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"init","","",7,[[],["usize",15]]],[11,"deref","","",7,[[["usize",15]]]],[11,"deref_mut","","",7,[[["usize",15]]]],[11,"drop","","",7,[[["usize",15]]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"init","","",8,[[],["usize",15]]],[11,"deref","","",8,[[["usize",15]]]],[11,"deref_mut","","",8,[[["usize",15]]]],[11,"drop","","",8,[[["usize",15]]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"to_string","","",9,[[],["string",3]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"init","","",9,[[],["usize",15]]],[11,"deref","","",9,[[["usize",15]]]],[11,"deref_mut","","",9,[[["usize",15]]]],[11,"drop","","",9,[[["usize",15]]]],[11,"from","bdk::blockchain","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_owned","","",10,[[]]],[11,"clone_into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"equivalent","","",10,[[],["bool",15]]],[11,"init","","",10,[[],["usize",15]]],[11,"deref","","",10,[[["usize",15]]]],[11,"deref_mut","","",10,[[["usize",15]]]],[11,"drop","","",10,[[["usize",15]]]],[11,"from","","",99,[[]]],[11,"into","","",99,[[]]],[11,"to_owned","","",99,[[]]],[11,"clone_into","","",99,[[]]],[11,"borrow","","",99,[[]]],[11,"borrow_mut","","",99,[[]]],[11,"try_from","","",99,[[],["result",4]]],[11,"try_into","","",99,[[],["result",4]]],[11,"type_id","","",99,[[],["typeid",3]]],[11,"vzip","","",99,[[]]],[11,"init","","",99,[[],["usize",15]]],[11,"deref","","",99,[[["usize",15]]]],[11,"deref_mut","","",99,[[["usize",15]]]],[11,"drop","","",99,[[["usize",15]]]],[11,"from","","",100,[[]]],[11,"into","","",100,[[]]],[11,"to_owned","","",100,[[]]],[11,"clone_into","","",100,[[]]],[11,"borrow","","",100,[[]]],[11,"borrow_mut","","",100,[[]]],[11,"try_from","","",100,[[],["result",4]]],[11,"try_into","","",100,[[],["result",4]]],[11,"type_id","","",100,[[],["typeid",3]]],[11,"vzip","","",100,[[]]],[11,"init","","",100,[[],["usize",15]]],[11,"deref","","",100,[[["usize",15]]]],[11,"deref_mut","","",100,[[["usize",15]]]],[11,"drop","","",100,[[["usize",15]]]],[11,"from","bdk::database::any","",14,[[]]],[11,"into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"vzip","","",14,[[]]],[11,"init","","",14,[[],["usize",15]]],[11,"deref","","",14,[[["usize",15]]]],[11,"deref_mut","","",14,[[["usize",15]]]],[11,"drop","","",14,[[["usize",15]]]],[11,"from","","",15,[[]]],[11,"into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"vzip","","",15,[[]]],[11,"init","","",15,[[],["usize",15]]],[11,"deref","","",15,[[["usize",15]]]],[11,"deref_mut","","",15,[[["usize",15]]]],[11,"drop","","",15,[[["usize",15]]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"init","","",16,[[],["usize",15]]],[11,"deref","","",16,[[["usize",15]]]],[11,"deref_mut","","",16,[[["usize",15]]]],[11,"drop","","",16,[[["usize",15]]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"init","","",17,[[],["usize",15]]],[11,"deref","","",17,[[["usize",15]]]],[11,"deref_mut","","",17,[[["usize",15]]]],[11,"drop","","",17,[[["usize",15]]]],[11,"from","bdk::database::memory","",18,[[]]],[11,"into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"init","","",18,[[],["usize",15]]],[11,"deref","","",18,[[["usize",15]]]],[11,"deref_mut","","",18,[[["usize",15]]]],[11,"drop","","",18,[[["usize",15]]]],[11,"from","bdk::descriptor","",50,[[]]],[11,"into","","",50,[[]]],[11,"to_owned","","",50,[[]]],[11,"clone_into","","",50,[[]]],[11,"to_string","","",50,[[],["string",3]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"vzip","","",50,[[]]],[11,"equivalent","","",50,[[],["bool",15]]],[11,"init","","",50,[[],["usize",15]]],[11,"deref","","",50,[[["usize",15]]]],[11,"deref_mut","","",50,[[["usize",15]]]],[11,"drop","","",50,[[["usize",15]]]],[11,"from","bdk::keys","",57,[[]]],[11,"into","","",57,[[]]],[11,"to_owned","","",57,[[]]],[11,"clone_into","","",57,[[]]],[11,"to_string","","",57,[[],["string",3]]],[11,"borrow","","",57,[[]]],[11,"borrow_mut","","",57,[[]]],[11,"try_from","","",57,[[],["result",4]]],[11,"try_into","","",57,[[],["result",4]]],[11,"type_id","","",57,[[],["typeid",3]]],[11,"vzip","","",57,[[]]],[11,"equivalent","","",57,[[],["bool",15]]],[11,"init","","",57,[[],["usize",15]]],[11,"deref","","",57,[[["usize",15]]]],[11,"deref_mut","","",57,[[["usize",15]]]],[11,"drop","","",57,[[["usize",15]]]],[11,"as_enum","bdk::descriptor","",101,[[],["scriptcontextenum",4]]],[11,"from","","",101,[[]]],[11,"into","","",101,[[]]],[11,"to_owned","","",101,[[]]],[11,"clone_into","","",101,[[]]],[11,"borrow","","",101,[[]]],[11,"borrow_mut","","",101,[[]]],[11,"try_from","","",101,[[],["result",4]]],[11,"try_into","","",101,[[],["result",4]]],[11,"type_id","","",101,[[],["typeid",3]]],[11,"vzip","","",101,[[]]],[11,"equivalent","","",101,[[],["bool",15]]],[11,"init","","",101,[[],["usize",15]]],[11,"deref","","",101,[[["usize",15]]]],[11,"deref_mut","","",101,[[["usize",15]]]],[11,"drop","","",101,[[["usize",15]]]],[11,"from","","",51,[[]]],[11,"into","","",51,[[]]],[11,"to_owned","","",51,[[]]],[11,"clone_into","","",51,[[]]],[11,"to_string","","",51,[[],["string",3]]],[11,"borrow","","",51,[[]]],[11,"borrow_mut","","",51,[[]]],[11,"try_from","","",51,[[],["result",4]]],[11,"try_into","","",51,[[],["result",4]]],[11,"type_id","","",51,[[],["typeid",3]]],[11,"vzip","","",51,[[]]],[11,"equivalent","","",51,[[],["bool",15]]],[11,"init","","",51,[[],["usize",15]]],[11,"deref","","",51,[[["usize",15]]]],[11,"deref_mut","","",51,[[["usize",15]]]],[11,"drop","","",51,[[["usize",15]]]],[11,"as_enum","","",102,[[],["scriptcontextenum",4]]],[11,"from","","",102,[[]]],[11,"into","","",102,[[]]],[11,"to_owned","","",102,[[]]],[11,"clone_into","","",102,[[]]],[11,"borrow","","",102,[[]]],[11,"borrow_mut","","",102,[[]]],[11,"try_from","","",102,[[],["result",4]]],[11,"try_into","","",102,[[],["result",4]]],[11,"type_id","","",102,[[],["typeid",3]]],[11,"vzip","","",102,[[]]],[11,"equivalent","","",102,[[],["bool",15]]],[11,"init","","",102,[[],["usize",15]]],[11,"deref","","",102,[[["usize",15]]]],[11,"deref_mut","","",102,[[["usize",15]]]],[11,"drop","","",102,[[["usize",15]]]],[11,"from","","",103,[[]]],[11,"into","","",103,[[]]],[11,"to_owned","","",103,[[]]],[11,"clone_into","","",103,[[]]],[11,"to_string","","",103,[[],["string",3]]],[11,"borrow","","",103,[[]]],[11,"borrow_mut","","",103,[[]]],[11,"try_from","","",103,[[],["result",4]]],[11,"try_into","","",103,[[],["result",4]]],[11,"type_id","","",103,[[],["typeid",3]]],[11,"vzip","","",103,[[]]],[11,"equivalent","","",103,[[],["bool",15]]],[11,"init","","",103,[[],["usize",15]]],[11,"deref","","",103,[[["usize",15]]]],[11,"deref_mut","","",103,[[["usize",15]]]],[11,"drop","","",103,[[["usize",15]]]],[11,"from","bdk::descriptor::error","",23,[[]]],[11,"into","","",23,[[]]],[11,"to_string","","",23,[[],["string",3]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"init","","",23,[[],["usize",15]]],[11,"deref","","",23,[[["usize",15]]]],[11,"deref_mut","","",23,[[["usize",15]]]],[11,"drop","","",23,[[["usize",15]]]],[11,"from","bdk::descriptor::policy","",104,[[]]],[11,"into","","",104,[[]]],[11,"to_owned","","",104,[[]]],[11,"clone_into","","",104,[[]]],[11,"borrow","","",104,[[]]],[11,"borrow_mut","","",104,[[]]],[11,"try_from","","",104,[[],["result",4]]],[11,"try_into","","",104,[[],["result",4]]],[11,"type_id","","",104,[[],["typeid",3]]],[11,"vzip","","",104,[[]]],[11,"init","","",104,[[],["usize",15]]],[11,"deref","","",104,[[["usize",15]]]],[11,"deref_mut","","",104,[[["usize",15]]]],[11,"drop","","",104,[[["usize",15]]]],[11,"from","","",24,[[]]],[11,"into","","",24,[[]]],[11,"to_owned","","",24,[[]]],[11,"clone_into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"init","","",24,[[],["usize",15]]],[11,"deref","","",24,[[["usize",15]]]],[11,"deref_mut","","",24,[[["usize",15]]]],[11,"drop","","",24,[[["usize",15]]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"to_owned","","",33,[[]]],[11,"clone_into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"vzip","","",33,[[]]],[11,"init","","",33,[[],["usize",15]]],[11,"deref","","",33,[[["usize",15]]]],[11,"deref_mut","","",33,[[["usize",15]]]],[11,"drop","","",33,[[["usize",15]]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"to_owned","","",37,[[]]],[11,"clone_into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"init","","",37,[[],["usize",15]]],[11,"deref","","",37,[[["usize",15]]]],[11,"deref_mut","","",37,[[["usize",15]]]],[11,"drop","","",37,[[["usize",15]]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"to_owned","","",38,[[]]],[11,"clone_into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"equivalent","","",38,[[],["bool",15]]],[11,"init","","",38,[[],["usize",15]]],[11,"deref","","",38,[[["usize",15]]]],[11,"deref_mut","","",38,[[["usize",15]]]],[11,"drop","","",38,[[["usize",15]]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_string","","",39,[[],["string",3]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"init","","",39,[[],["usize",15]]],[11,"deref","","",39,[[["usize",15]]]],[11,"deref_mut","","",39,[[["usize",15]]]],[11,"drop","","",39,[[["usize",15]]]],[11,"into_wallet_descriptor","bdk::descriptor::template","",41,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"vzip","","",41,[[]]],[11,"init","","",41,[[],["usize",15]]],[11,"deref","","",41,[[["usize",15]]]],[11,"deref_mut","","",41,[[["usize",15]]]],[11,"drop","","",41,[[["usize",15]]]],[11,"into_wallet_descriptor","","",42,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",42,[[]]],[11,"into","","",42,[[]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"vzip","","",42,[[]]],[11,"init","","",42,[[],["usize",15]]],[11,"deref","","",42,[[["usize",15]]]],[11,"deref_mut","","",42,[[["usize",15]]]],[11,"drop","","",42,[[["usize",15]]]],[11,"into_wallet_descriptor","","",43,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",43,[[]]],[11,"into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"vzip","","",43,[[]]],[11,"init","","",43,[[],["usize",15]]],[11,"deref","","",43,[[["usize",15]]]],[11,"deref_mut","","",43,[[["usize",15]]]],[11,"drop","","",43,[[["usize",15]]]],[11,"into_wallet_descriptor","","",44,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"vzip","","",44,[[]]],[11,"init","","",44,[[],["usize",15]]],[11,"deref","","",44,[[["usize",15]]]],[11,"deref_mut","","",44,[[["usize",15]]]],[11,"drop","","",44,[[["usize",15]]]],[11,"into_wallet_descriptor","","",45,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"vzip","","",45,[[]]],[11,"init","","",45,[[],["usize",15]]],[11,"deref","","",45,[[["usize",15]]]],[11,"deref_mut","","",45,[[["usize",15]]]],[11,"drop","","",45,[[["usize",15]]]],[11,"into_wallet_descriptor","","",46,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",46,[[]]],[11,"into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"vzip","","",46,[[]]],[11,"init","","",46,[[],["usize",15]]],[11,"deref","","",46,[[["usize",15]]]],[11,"deref_mut","","",46,[[["usize",15]]]],[11,"drop","","",46,[[["usize",15]]]],[11,"into_wallet_descriptor","","",47,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",47,[[]]],[11,"into","","",47,[[]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"vzip","","",47,[[]]],[11,"init","","",47,[[],["usize",15]]],[11,"deref","","",47,[[["usize",15]]]],[11,"deref_mut","","",47,[[["usize",15]]]],[11,"drop","","",47,[[["usize",15]]]],[11,"into_wallet_descriptor","","",48,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"vzip","","",48,[[]]],[11,"init","","",48,[[],["usize",15]]],[11,"deref","","",48,[[["usize",15]]]],[11,"deref_mut","","",48,[[["usize",15]]]],[11,"drop","","",48,[[["usize",15]]]],[11,"into_wallet_descriptor","","",49,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"vzip","","",49,[[]]],[11,"init","","",49,[[],["usize",15]]],[11,"deref","","",49,[[["usize",15]]]],[11,"deref_mut","","",49,[[["usize",15]]]],[11,"drop","","",49,[[["usize",15]]]],[11,"from","bdk::keys::bip39","",55,[[]]],[11,"into","","",55,[[]]],[11,"to_owned","","",55,[[]]],[11,"clone_into","","",55,[[]]],[11,"borrow","","",55,[[]]],[11,"borrow_mut","","",55,[[]]],[11,"try_from","","",55,[[],["result",4]]],[11,"try_into","","",55,[[],["result",4]]],[11,"type_id","","",55,[[],["typeid",3]]],[11,"vzip","","",55,[[]]],[11,"init","","",55,[[],["usize",15]]],[11,"deref","","",55,[[["usize",15]]]],[11,"deref_mut","","",55,[[["usize",15]]]],[11,"drop","","",55,[[["usize",15]]]],[11,"from","","",105,[[]]],[11,"into","","",105,[[]]],[11,"to_owned","","",105,[[]]],[11,"clone_into","","",105,[[]]],[11,"to_string","","",105,[[],["string",3]]],[11,"borrow","","",105,[[]]],[11,"borrow_mut","","",105,[[]]],[11,"try_from","","",105,[[],["result",4]]],[11,"try_into","","",105,[[],["result",4]]],[11,"type_id","","",105,[[],["typeid",3]]],[11,"to_hex","","Outputs the hash in hexadecimal form",105,[[],["string",3]]],[11,"vzip","","",105,[[]]],[11,"init","","",105,[[],["usize",15]]],[11,"deref","","",105,[[["usize",15]]]],[11,"deref_mut","","",105,[[["usize",15]]]],[11,"drop","","",105,[[["usize",15]]]],[11,"from","","",56,[[]]],[11,"into","","",56,[[]]],[11,"to_owned","","",56,[[]]],[11,"clone_into","","",56,[[]]],[11,"to_string","","",56,[[],["string",3]]],[11,"borrow","","",56,[[]]],[11,"borrow_mut","","",56,[[]]],[11,"try_from","","",56,[[],["result",4]]],[11,"try_into","","",56,[[],["result",4]]],[11,"type_id","","",56,[[],["typeid",3]]],[11,"vzip","","",56,[[]]],[11,"init","","",56,[[],["usize",15]]],[11,"deref","","",56,[[["usize",15]]]],[11,"deref_mut","","",56,[[["usize",15]]]],[11,"drop","","",56,[[["usize",15]]]],[11,"from","","",106,[[]]],[11,"into","","",106,[[]]],[11,"to_owned","","",106,[[]]],[11,"clone_into","","",106,[[]]],[11,"borrow","","",106,[[]]],[11,"borrow_mut","","",106,[[]]],[11,"try_from","","",106,[[],["result",4]]],[11,"try_into","","",106,[[],["result",4]]],[11,"type_id","","",106,[[],["typeid",3]]],[11,"to_hex","","Outputs the hash in hexadecimal form",106,[[],["string",3]]],[11,"write_base32","","",106,[[],["result",4]]],[11,"base32_len","","",106,[[],["usize",15]]],[11,"check_base32","","",106,[[],[["vec",3],["result",4]]]],[11,"vzip","","",106,[[]]],[11,"init","","",106,[[],["usize",15]]],[11,"deref","","",106,[[["usize",15]]]],[11,"deref_mut","","",106,[[["usize",15]]]],[11,"drop","","",106,[[["usize",15]]]],[11,"from","bdk::keys","",58,[[]]],[11,"into","","",58,[[]]],[11,"to_string","","",58,[[],["string",3]]],[11,"borrow","","",58,[[]]],[11,"borrow_mut","","",58,[[]]],[11,"try_from","","",58,[[],["result",4]]],[11,"try_into","","",58,[[],["result",4]]],[11,"type_id","","",58,[[],["typeid",3]]],[11,"vzip","","",58,[[]]],[11,"init","","",58,[[],["usize",15]]],[11,"deref","","",58,[[["usize",15]]]],[11,"deref_mut","","",58,[[["usize",15]]]],[11,"drop","","",58,[[["usize",15]]]],[11,"from","","",59,[[]]],[11,"into","","",59,[[]]],[11,"borrow","","",59,[[]]],[11,"borrow_mut","","",59,[[]]],[11,"try_from","","",59,[[],["result",4]]],[11,"try_into","","",59,[[],["result",4]]],[11,"type_id","","",59,[[],["typeid",3]]],[11,"vzip","","",59,[[]]],[11,"init","","",59,[[],["usize",15]]],[11,"deref","","",59,[[["usize",15]]]],[11,"deref_mut","","",59,[[["usize",15]]]],[11,"drop","","",59,[[["usize",15]]]],[11,"from","","",60,[[]]],[11,"into","","",60,[[]]],[11,"to_owned","","",60,[[]]],[11,"clone_into","","",60,[[]]],[11,"borrow","","",60,[[]]],[11,"borrow_mut","","",60,[[]]],[11,"try_from","","",60,[[],["result",4]]],[11,"try_into","","",60,[[],["result",4]]],[11,"type_id","","",60,[[],["typeid",3]]],[11,"vzip","","",60,[[]]],[11,"equivalent","","",60,[[],["bool",15]]],[11,"init","","",60,[[],["usize",15]]],[11,"deref","","",60,[[["usize",15]]]],[11,"deref_mut","","",60,[[["usize",15]]]],[11,"drop","","",60,[[["usize",15]]]],[11,"from","","",61,[[]]],[11,"into","","",61,[[]]],[11,"to_owned","","",61,[[]]],[11,"clone_into","","",61,[[]]],[11,"to_string","","",61,[[],["string",3]]],[11,"borrow","","",61,[[]]],[11,"borrow_mut","","",61,[[]]],[11,"try_from","","",61,[[],["result",4]]],[11,"try_into","","",61,[[],["result",4]]],[11,"type_id","","",61,[[],["typeid",3]]],[11,"vzip","","",61,[[]]],[11,"equivalent","","",61,[[],["bool",15]]],[11,"init","","",61,[[],["usize",15]]],[11,"deref","","",61,[[["usize",15]]]],[11,"deref_mut","","",61,[[["usize",15]]]],[11,"drop","","",61,[[["usize",15]]]],[11,"from","","",62,[[]]],[11,"into","","",62,[[]]],[11,"borrow","","",62,[[]]],[11,"borrow_mut","","",62,[[]]],[11,"try_from","","",62,[[],["result",4]]],[11,"try_into","","",62,[[],["result",4]]],[11,"type_id","","",62,[[],["typeid",3]]],[11,"vzip","","",62,[[]]],[11,"init","","",62,[[],["usize",15]]],[11,"deref","","",62,[[["usize",15]]]],[11,"deref_mut","","",62,[[["usize",15]]]],[11,"drop","","",62,[[["usize",15]]]],[11,"from","","",63,[[]]],[11,"into","","",63,[[]]],[11,"to_owned","","",63,[[]]],[11,"clone_into","","",63,[[]]],[11,"borrow","","",63,[[]]],[11,"borrow_mut","","",63,[[]]],[11,"try_from","","",63,[[],["result",4]]],[11,"try_into","","",63,[[],["result",4]]],[11,"type_id","","",63,[[],["typeid",3]]],[11,"vzip","","",63,[[]]],[11,"equivalent","","",63,[[],["bool",15]]],[11,"init","","",63,[[],["usize",15]]],[11,"deref","","",63,[[["usize",15]]]],[11,"deref_mut","","",63,[[["usize",15]]]],[11,"drop","","",63,[[["usize",15]]]],[11,"from","","",66,[[]]],[11,"into","","",66,[[]]],[11,"borrow","","",66,[[]]],[11,"borrow_mut","","",66,[[]]],[11,"try_from","","",66,[[],["result",4]]],[11,"try_into","","",66,[[],["result",4]]],[11,"type_id","","",66,[[],["typeid",3]]],[11,"vzip","","",66,[[]]],[11,"init","","",66,[[],["usize",15]]],[11,"deref","","",66,[[["usize",15]]]],[11,"deref_mut","","",66,[[["usize",15]]]],[11,"drop","","",66,[[["usize",15]]]],[11,"from","","",68,[[]]],[11,"into","","",68,[[]]],[11,"borrow","","",68,[[]]],[11,"borrow_mut","","",68,[[]]],[11,"try_from","","",68,[[],["result",4]]],[11,"try_into","","",68,[[],["result",4]]],[11,"type_id","","",68,[[],["typeid",3]]],[11,"vzip","","",68,[[]]],[11,"init","","",68,[[],["usize",15]]],[11,"deref","","",68,[[["usize",15]]]],[11,"deref_mut","","",68,[[["usize",15]]]],[11,"drop","","",68,[[["usize",15]]]],[11,"from","","",71,[[]]],[11,"into","","",71,[[]]],[11,"to_owned","","",71,[[]]],[11,"clone_into","","",71,[[]]],[11,"borrow","","",71,[[]]],[11,"borrow_mut","","",71,[[]]],[11,"try_from","","",71,[[],["result",4]]],[11,"try_into","","",71,[[],["result",4]]],[11,"type_id","","",71,[[],["typeid",3]]],[11,"vzip","","",71,[[]]],[11,"init","","",71,[[],["usize",15]]],[11,"deref","","",71,[[["usize",15]]]],[11,"deref_mut","","",71,[[["usize",15]]]],[11,"drop","","",71,[[["usize",15]]]],[11,"from","","",72,[[]]],[11,"into","","",72,[[]]],[11,"to_string","","",72,[[],["string",3]]],[11,"borrow","","",72,[[]]],[11,"borrow_mut","","",72,[[]]],[11,"try_from","","",72,[[],["result",4]]],[11,"try_into","","",72,[[],["result",4]]],[11,"type_id","","",72,[[],["typeid",3]]],[11,"vzip","","",72,[[]]],[11,"init","","",72,[[],["usize",15]]],[11,"deref","","",72,[[["usize",15]]]],[11,"deref_mut","","",72,[[["usize",15]]]],[11,"drop","","",72,[[["usize",15]]]],[11,"from","bdk","",93,[[]]],[11,"into","","",93,[[]]],[11,"to_owned","","",93,[[]]],[11,"clone_into","","",93,[[]]],[11,"borrow","","",93,[[]]],[11,"borrow_mut","","",93,[[]]],[11,"try_from","","",93,[[],["result",4]]],[11,"try_into","","",93,[[],["result",4]]],[11,"type_id","","",93,[[],["typeid",3]]],[11,"write_base32","","",93,[[],["result",4]]],[11,"base32_len","","",93,[[],["usize",15]]],[11,"check_base32","","",93,[[],[["vec",3],["result",4]]]],[11,"vzip","","",93,[[]]],[11,"equivalent","","",93,[[],["bool",15]]],[11,"init","","",93,[[],["usize",15]]],[11,"deref","","",93,[[["usize",15]]]],[11,"deref_mut","","",93,[[["usize",15]]]],[11,"drop","","",93,[[["usize",15]]]],[11,"from","","",107,[[]]],[11,"into","","",107,[[]]],[11,"to_owned","","",107,[[]]],[11,"clone_into","","",107,[[]]],[11,"borrow","","",107,[[]]],[11,"borrow_mut","","",107,[[]]],[11,"try_from","","",107,[[],["result",4]]],[11,"try_into","","",107,[[],["result",4]]],[11,"type_id","","",107,[[],["typeid",3]]],[11,"vzip","","",107,[[]]],[11,"init","","",107,[[],["usize",15]]],[11,"deref","","",107,[[["usize",15]]]],[11,"deref_mut","","",107,[[["usize",15]]]],[11,"drop","","",107,[[["usize",15]]]],[11,"from","","",94,[[]]],[11,"into","","",94,[[]]],[11,"to_owned","","",94,[[]]],[11,"clone_into","","",94,[[]]],[11,"borrow","","",94,[[]]],[11,"borrow_mut","","",94,[[]]],[11,"try_from","","",94,[[],["result",4]]],[11,"try_into","","",94,[[],["result",4]]],[11,"type_id","","",94,[[],["typeid",3]]],[11,"vzip","","",94,[[]]],[11,"equivalent","","",94,[[],["bool",15]]],[11,"init","","",94,[[],["usize",15]]],[11,"deref","","",94,[[["usize",15]]]],[11,"deref_mut","","",94,[[["usize",15]]]],[11,"drop","","",94,[[["usize",15]]]],[11,"from","","",95,[[]]],[11,"into","","",95,[[]]],[11,"to_owned","","",95,[[]]],[11,"clone_into","","",95,[[]]],[11,"borrow","","",95,[[]]],[11,"borrow_mut","","",95,[[]]],[11,"try_from","","",95,[[],["result",4]]],[11,"try_into","","",95,[[],["result",4]]],[11,"type_id","","",95,[[],["typeid",3]]],[11,"vzip","","",95,[[]]],[11,"equivalent","","",95,[[],["bool",15]]],[11,"init","","",95,[[],["usize",15]]],[11,"deref","","",95,[[["usize",15]]]],[11,"deref_mut","","",95,[[["usize",15]]]],[11,"drop","","",95,[[["usize",15]]]],[11,"from","bdk::wallet::address_validator","",73,[[]]],[11,"into","","",73,[[]]],[11,"to_owned","","",73,[[]]],[11,"clone_into","","",73,[[]]],[11,"to_string","","",73,[[],["string",3]]],[11,"borrow","","",73,[[]]],[11,"borrow_mut","","",73,[[]]],[11,"try_from","","",73,[[],["result",4]]],[11,"try_into","","",73,[[],["result",4]]],[11,"type_id","","",73,[[],["typeid",3]]],[11,"vzip","","",73,[[]]],[11,"equivalent","","",73,[[],["bool",15]]],[11,"init","","",73,[[],["usize",15]]],[11,"deref","","",73,[[["usize",15]]]],[11,"deref_mut","","",73,[[["usize",15]]]],[11,"drop","","",73,[[["usize",15]]]],[11,"from","bdk::wallet::coin_selection","",75,[[]]],[11,"into","","",75,[[]]],[11,"borrow","","",75,[[]]],[11,"borrow_mut","","",75,[[]]],[11,"try_from","","",75,[[],["result",4]]],[11,"try_into","","",75,[[],["result",4]]],[11,"type_id","","",75,[[],["typeid",3]]],[11,"vzip","","",75,[[]]],[11,"init","","",75,[[],["usize",15]]],[11,"deref","","",75,[[["usize",15]]]],[11,"deref_mut","","",75,[[["usize",15]]]],[11,"drop","","",75,[[["usize",15]]]],[11,"from","","",108,[[]]],[11,"into","","",108,[[]]],[11,"borrow","","",108,[[]]],[11,"borrow_mut","","",108,[[]]],[11,"try_from","","",108,[[],["result",4]]],[11,"try_into","","",108,[[],["result",4]]],[11,"type_id","","",108,[[],["typeid",3]]],[11,"vzip","","",108,[[]]],[11,"init","","",108,[[],["usize",15]]],[11,"deref","","",108,[[["usize",15]]]],[11,"deref_mut","","",108,[[["usize",15]]]],[11,"drop","","",108,[[["usize",15]]]],[11,"from","","",77,[[]]],[11,"into","","",77,[[]]],[11,"borrow","","",77,[[]]],[11,"borrow_mut","","",77,[[]]],[11,"try_from","","",77,[[],["result",4]]],[11,"try_into","","",77,[[],["result",4]]],[11,"type_id","","",77,[[],["typeid",3]]],[11,"vzip","","",77,[[]]],[11,"init","","",77,[[],["usize",15]]],[11,"deref","","",77,[[["usize",15]]]],[11,"deref_mut","","",77,[[["usize",15]]]],[11,"drop","","",77,[[["usize",15]]]],[11,"from","bdk::wallet::export","",78,[[]]],[11,"into","","",78,[[]]],[11,"borrow","","",78,[[]]],[11,"borrow_mut","","",78,[[]]],[11,"try_from","","",78,[[],["result",4]]],[11,"try_into","","",78,[[],["result",4]]],[11,"type_id","","",78,[[],["typeid",3]]],[11,"vzip","","",78,[[]]],[11,"init","","",78,[[],["usize",15]]],[11,"deref","","",78,[[["usize",15]]]],[11,"deref_mut","","",78,[[["usize",15]]]],[11,"drop","","",78,[[["usize",15]]]],[11,"from","bdk::wallet::signer","",79,[[]]],[11,"into","","",79,[[]]],[11,"to_owned","","",79,[[]]],[11,"clone_into","","",79,[[]]],[11,"borrow","","",79,[[]]],[11,"borrow_mut","","",79,[[]]],[11,"try_from","","",79,[[],["result",4]]],[11,"try_into","","",79,[[],["result",4]]],[11,"type_id","","",79,[[],["typeid",3]]],[11,"vzip","","",79,[[]]],[11,"equivalent","","",79,[[],["bool",15]]],[11,"init","","",79,[[],["usize",15]]],[11,"deref","","",79,[[["usize",15]]]],[11,"deref_mut","","",79,[[["usize",15]]]],[11,"drop","","",79,[[["usize",15]]]],[11,"from","","",80,[[]]],[11,"into","","",80,[[]]],[11,"to_owned","","",80,[[]]],[11,"clone_into","","",80,[[]]],[11,"to_string","","",80,[[],["string",3]]],[11,"borrow","","",80,[[]]],[11,"borrow_mut","","",80,[[]]],[11,"try_from","","",80,[[],["result",4]]],[11,"try_into","","",80,[[],["result",4]]],[11,"type_id","","",80,[[],["typeid",3]]],[11,"vzip","","",80,[[]]],[11,"equivalent","","",80,[[],["bool",15]]],[11,"init","","",80,[[],["usize",15]]],[11,"deref","","",80,[[["usize",15]]]],[11,"deref_mut","","",80,[[["usize",15]]]],[11,"drop","","",80,[[["usize",15]]]],[11,"from","","",82,[[]]],[11,"into","","",82,[[]]],[11,"to_owned","","",82,[[]]],[11,"clone_into","","",82,[[]]],[11,"borrow","","",82,[[]]],[11,"borrow_mut","","",82,[[]]],[11,"try_from","","",82,[[],["result",4]]],[11,"try_into","","",82,[[],["result",4]]],[11,"type_id","","",82,[[],["typeid",3]]],[11,"vzip","","",82,[[]]],[11,"equivalent","","",82,[[],["bool",15]]],[11,"init","","",82,[[],["usize",15]]],[11,"deref","","",82,[[["usize",15]]]],[11,"deref_mut","","",82,[[["usize",15]]]],[11,"drop","","",82,[[["usize",15]]]],[11,"from","","",83,[[]]],[11,"into","","",83,[[]]],[11,"to_owned","","",83,[[]]],[11,"clone_into","","",83,[[]]],[11,"borrow","","",83,[[]]],[11,"borrow_mut","","",83,[[]]],[11,"try_from","","",83,[[],["result",4]]],[11,"try_into","","",83,[[],["result",4]]],[11,"type_id","","",83,[[],["typeid",3]]],[11,"vzip","","",83,[[]]],[11,"init","","",83,[[],["usize",15]]],[11,"deref","","",83,[[["usize",15]]]],[11,"deref_mut","","",83,[[["usize",15]]]],[11,"drop","","",83,[[["usize",15]]]],[11,"from","bdk::wallet::tx_builder","",109,[[]]],[11,"into","","",109,[[]]],[11,"to_owned","","",109,[[]]],[11,"clone_into","","",109,[[]]],[11,"borrow","","",109,[[]]],[11,"borrow_mut","","",109,[[]]],[11,"try_from","","",109,[[],["result",4]]],[11,"try_into","","",109,[[],["result",4]]],[11,"type_id","","",109,[[],["typeid",3]]],[11,"vzip","","",109,[[]]],[11,"init","","",109,[[],["usize",15]]],[11,"deref","","",109,[[["usize",15]]]],[11,"deref_mut","","",109,[[["usize",15]]]],[11,"drop","","",109,[[["usize",15]]]],[11,"from","","",110,[[]]],[11,"into","","",110,[[]]],[11,"to_owned","","",110,[[]]],[11,"clone_into","","",110,[[]]],[11,"borrow","","",110,[[]]],[11,"borrow_mut","","",110,[[]]],[11,"try_from","","",110,[[],["result",4]]],[11,"try_into","","",110,[[],["result",4]]],[11,"type_id","","",110,[[],["typeid",3]]],[11,"vzip","","",110,[[]]],[11,"init","","",110,[[],["usize",15]]],[11,"deref","","",110,[[["usize",15]]]],[11,"deref_mut","","",110,[[["usize",15]]]],[11,"drop","","",110,[[["usize",15]]]],[11,"from","","",84,[[]]],[11,"into","","",84,[[]]],[11,"to_owned","","",84,[[]]],[11,"clone_into","","",84,[[]]],[11,"borrow","","",84,[[]]],[11,"borrow_mut","","",84,[[]]],[11,"try_from","","",84,[[],["result",4]]],[11,"try_into","","",84,[[],["result",4]]],[11,"type_id","","",84,[[],["typeid",3]]],[11,"vzip","","",84,[[]]],[11,"init","","",84,[[],["usize",15]]],[11,"deref","","",84,[[["usize",15]]]],[11,"deref_mut","","",84,[[["usize",15]]]],[11,"drop","","",84,[[["usize",15]]]],[11,"from","","",85,[[]]],[11,"into","","",85,[[]]],[11,"to_owned","","",85,[[]]],[11,"clone_into","","",85,[[]]],[11,"borrow","","",85,[[]]],[11,"borrow_mut","","",85,[[]]],[11,"try_from","","",85,[[],["result",4]]],[11,"try_into","","",85,[[],["result",4]]],[11,"type_id","","",85,[[],["typeid",3]]],[11,"vzip","","",85,[[]]],[11,"equivalent","","",85,[[],["bool",15]]],[11,"init","","",85,[[],["usize",15]]],[11,"deref","","",85,[[["usize",15]]]],[11,"deref_mut","","",85,[[["usize",15]]]],[11,"drop","","",85,[[["usize",15]]]],[11,"from","","",86,[[]]],[11,"into","","",86,[[]]],[11,"to_owned","","",86,[[]]],[11,"clone_into","","",86,[[]]],[11,"borrow","","",86,[[]]],[11,"borrow_mut","","",86,[[]]],[11,"try_from","","",86,[[],["result",4]]],[11,"try_into","","",86,[[],["result",4]]],[11,"type_id","","",86,[[],["typeid",3]]],[11,"vzip","","",86,[[]]],[11,"equivalent","","",86,[[],["bool",15]]],[11,"init","","",86,[[],["usize",15]]],[11,"deref","","",86,[[["usize",15]]]],[11,"deref_mut","","",86,[[["usize",15]]]],[11,"drop","","",86,[[["usize",15]]]],[11,"from","bdk::wallet","",88,[[]]],[11,"into","","",88,[[]]],[11,"borrow","","",88,[[]]],[11,"borrow_mut","","",88,[[]]],[11,"try_from","","",88,[[],["result",4]]],[11,"try_into","","",88,[[],["result",4]]],[11,"type_id","","",88,[[],["typeid",3]]],[11,"vzip","","",88,[[]]],[11,"init","","",88,[[],["usize",15]]],[11,"deref","","",88,[[["usize",15]]]],[11,"deref_mut","","",88,[[["usize",15]]]],[11,"drop","","",88,[[["usize",15]]]],[11,"clone","bdk::descriptor","",102,[[],["segwitv0",4]]],[11,"clone","bdk::keys","",60,[[],["descriptorsinglepub",3]]],[11,"clone","bdk::descriptor","",50,[[],["descriptor",4]]],[11,"clone","","",51,[[],["miniscript",3]]],[11,"clone","","",101,[[],["legacy",4]]],[11,"clone","bdk::keys","",61,[[],["sortedmultivec",3]]],[11,"clone","","",57,[[],["descriptorpublickey",4]]],[11,"eq","","",60,[[["descriptorsinglepub",3]],["bool",15]]],[11,"ne","","",60,[[["descriptorsinglepub",3]],["bool",15]]],[11,"eq","bdk::descriptor","",50,[[["descriptor",4]],["bool",15]]],[11,"ne","","",50,[[["descriptor",4]],["bool",15]]],[11,"eq","","",51,[[["miniscript",3]],["bool",15]]],[11,"eq","","",102,[[["segwitv0",4]],["bool",15]]],[11,"eq","bdk::keys","",61,[[["sortedmultivec",3]],["bool",15]]],[11,"ne","","",61,[[["sortedmultivec",3]],["bool",15]]],[11,"eq","bdk::descriptor","",101,[[["legacy",4]],["bool",15]]],[11,"eq","bdk::keys","",57,[[["descriptorpublickey",4]],["bool",15]]],[11,"ne","","",57,[[["descriptorpublickey",4]],["bool",15]]],[11,"check_terminal_non_malleable","bdk::descriptor","",102,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]]],[11,"check_witness","","",102,[[],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_consensus_validity","","",102,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_consensus_validity","","",102,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_policy_validity","","",102,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_policy_validity","","",102,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"max_satisfaction_size","","",102,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_terminal_non_malleable","","",101,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]]],[11,"check_witness","","",101,[[],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_consensus_validity","","",101,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_consensus_validity","","",101,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_policy_validity","","",101,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"max_satisfaction_size","","",101,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"from_str","","",50,[[["str",15]],[["error",4],["result",4],["descriptor",4]]]],[11,"from_str","bdk::keys","",57,[[["str",15]],[["descriptorpublickey",4],["result",4]]]],[11,"from_str","","",58,[[["str",15]],[["result",4],["descriptorsecretkey",4]]]],[11,"from_str","bdk::descriptor","",51,[[["str",15]],[["error",4],["result",4],["miniscript",3]]]],[11,"hash","","",51,[[]]],[11,"hash","","",102,[[]]],[11,"hash","bdk::keys","",57,[[]]],[11,"hash","bdk::descriptor","",101,[[]]],[11,"hash","bdk::keys","",60,[[]]],[11,"from_tree","bdk::descriptor","Parse an expression tree into a descriptor",50,[[["tree",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"from_tree","","Parse an expression tree into a Miniscript. As a general …",51,[[["tree",3]],[["error",4],["result",4],["miniscript",3]]]],[11,"partial_cmp","bdk::keys","",57,[[["descriptorpublickey",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor","",102,[[["segwitv0",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",50,[[["descriptor",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::keys","",60,[[["descriptorsinglepub",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor","",51,[[["miniscript",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",101,[[["legacy",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::keys","",61,[[["sortedmultivec",3]],[["option",4],["ordering",4]]]],[11,"cmp","bdk::descriptor","",102,[[["segwitv0",4]],["ordering",4]]],[11,"cmp","","",101,[[["legacy",4]],["ordering",4]]],[11,"cmp","bdk::keys","",61,[[["sortedmultivec",3]],["ordering",4]]],[11,"cmp","bdk::descriptor","",51,[[["miniscript",3]],["ordering",4]]],[11,"cmp","bdk::keys","",57,[[["descriptorpublickey",4]],["ordering",4]]],[11,"cmp","bdk::descriptor","",50,[[["descriptor",4]],["ordering",4]]],[11,"cmp","bdk::keys","",60,[[["descriptorsinglepub",3]],["ordering",4]]],[11,"is_uncompressed","","",57,[[],["bool",15]]],[11,"to_pubkeyhash","","",57,[[],["descriptorpublickey",4]]],[11,"fmt","bdk::descriptor","",102,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",51,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::keys","",58,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",57,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",61,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::descriptor","",101,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::keys","",60,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",59,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::descriptor","",50,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::keys","",61,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",58,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",57,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","bdk::descriptor","",50,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",51,[[["formatter",3]],[["error",3],["result",4]]]],[11,"sanity_check","","Whether the descriptor is safe Checks whether all the …",50,[[],[["result",4],["error",4]]]],[11,"address","","Computes the Bitcoin address of the descriptor, if one …",50,[[["network",4]],[["result",4],["error",4],["address",3]]]],[11,"script_pubkey","","Computes the scriptpubkey of the descriptor",50,[[],["script",3]]],[11,"unsigned_script_sig","","Computes the scriptSig that will be in place for an …",50,[[],["script",3]]],[11,"explicit_script","","Computes the \\\"witness script\\\" of the descriptor, i.e. the …",50,[[],["script",3]]],[11,"get_satisfaction","","Returns satisfying witness and scriptSig to spend an …",50,[[],[["error",4],["result",4]]]],[11,"max_satisfaction_weight","","Computes an upper bound on the weight of a satisfying …",50,[[],[["usize",15],["result",4],["error",4]]]],[11,"script_code","","Get the scriptCode of a transaction output.",50,[[],["script",3]]],[11,"translate_pk","","This will panic if translatefpk returns an uncompressed …",51,[[],["result",4]]],[11,"translate_pk","","Convert a descriptor using abstract keys to one using …",50,[[],[["result",4],["descriptor",4]]]],[11,"for_each_key","","",50,[[],["bool",15]]],[11,"for_each_key","","",51,[[],["bool",15]]],[11,"for_each_key","bdk::keys","",61,[[],["bool",15]]],[11,"lift","","",61,[[],[["policy",4],["error",4],["result",4]]]],[11,"lift","bdk::descriptor","",50,[[],[["policy",4],["error",4],["result",4]]]],[11,"lift","","",51,[[],[["policy",4],["error",4],["result",4]]]],[11,"default","bdk::keys::bip39","",56,[[],["mnemonictype",4]]],[11,"default","","",55,[[],["language",4]]],[11,"clone","","",56,[[],["mnemonictype",4]]],[11,"clone","","",55,[[],["language",4]]],[11,"clone","","",105,[[],["mnemonic",3]]],[11,"clone","","",106,[[],["seed",3]]],[11,"drop","","",105,[[]]],[11,"drop","","",106,[[]]],[11,"eq","","",55,[[["language",4]],["bool",15]]],[11,"zeroize","","",55,[[]]],[11,"zeroize","","",106,[[]]],[11,"zeroize","","",105,[[]]],[11,"fmt","","",106,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",105,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",105,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",106,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",55,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",56,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",56,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",105,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",106,[[["formatter",3]],[["error",3],["result",4]]]],[11,"fmt","","",105,[[["formatter",3]],[["error",3],["result",4]]]],[11,"as_ref","","",105,[[],["str",15]]],[11,"as_ref","","",106,[[]]],[11,"from_config","bdk::blockchain::any","",0,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::electrum","",96,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::esplora","",3,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::compact_filters","",6,[[],[["error",4],["result",4]]]],[11,"update","bdk::blockchain","",99,[[["string",3],["f32",15],["option",4]],[["result",4],["error",4]]]],[11,"update","","",100,[[["string",3],["f32",15],["option",4]],[["result",4],["error",4]]]],[11,"set_script_pubkey","bdk::database::any","",14,[[["u32",15],["script",3],["keychainkind",4]],[["result",4],["error",4]]]],[11,"set_utxo","","",14,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",14,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",14,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",14,[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",14,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",14,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",14,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",14,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"del_tx","","",14,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[11,"del_last_index","","",14,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[11,"set_script_pubkey","","",15,[[["u32",15],["script",3],["keychainkind",4]],[["result",4],["error",4]]]],[11,"set_utxo","","",15,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",15,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",15,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",15,[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",15,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",15,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",15,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",15,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"del_tx","","",15,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[11,"del_last_index","","",15,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[11,"set_script_pubkey","bdk::database::memory","",18,[[["u32",15],["script",3],["keychainkind",4]],[["result",4],["error",4]]]],[11,"set_utxo","","",18,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",18,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",18,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",18,[[["u32",15],["keychainkind",4]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",18,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",18,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",18,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",18,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"del_tx","","",18,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[11,"del_last_index","","",18,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[11,"check_descriptor_checksum","bdk::database::any","",14,[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]]],[11,"iter_script_pubkeys","","",14,[[["option",4],["keychainkind",4]],[["result",4],["vec",3],["error",4]]]],[11,"iter_utxos","","",14,[[],[["result",4],["error",4],["vec",3]]]],[11,"iter_raw_txs","","",14,[[],[["error",4],["vec",3],["result",4]]]],[11,"iter_txs","","",14,[[["bool",15]],[["error",4],["result",4],["vec",3]]]],[11,"get_script_pubkey_from_path","","",14,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"get_path_from_script_pubkey","","",14,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"get_utxo","","",14,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"get_raw_tx","","",14,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"get_tx","","",14,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[11,"get_last_index","","",14,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[11,"increment_last_index","","",14,[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]]],[11,"check_descriptor_checksum","bdk::database::memory","",18,[[["asref",8],["keychainkind",4]],[["result",4],["error",4]]]],[11,"iter_script_pubkeys","","",18,[[["option",4],["keychainkind",4]],[["result",4],["vec",3],["error",4]]]],[11,"iter_utxos","","",18,[[],[["result",4],["error",4],["vec",3]]]],[11,"iter_raw_txs","","",18,[[],[["error",4],["vec",3],["result",4]]]],[11,"iter_txs","","",18,[[["bool",15]],[["error",4],["result",4],["vec",3]]]],[11,"get_script_pubkey_from_path","","",18,[[["u32",15],["keychainkind",4]],[["result",4],["option",4],["error",4]]]],[11,"get_path_from_script_pubkey","","",18,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"get_utxo","","",18,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"get_raw_tx","","",18,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"get_tx","","",18,[[["txid",3],["bool",15]],[["result",4],["option",4],["error",4]]]],[11,"get_last_index","","",18,[[["keychainkind",4]],[["option",4],["error",4],["result",4]]]],[11,"increment_last_index","","",18,[[["keychainkind",4]],[["u32",15],["error",4],["result",4]]]],[11,"begin_batch","bdk::database::any","",14,[[]]],[11,"commit_batch","","",14,[[],[["result",4],["error",4]]]],[11,"begin_batch","bdk::database::memory","",18,[[]]],[11,"commit_batch","","",18,[[],[["result",4],["error",4]]]],[11,"from_config","bdk::database::any","",14,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::database::memory","",18,[[],[["error",4],["result",4]]]],[11,"build","bdk::descriptor::template","",41,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",42,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",43,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",44,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",45,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",46,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",47,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",48,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"build","","",49,[[],[["result",4],["descriptorerror",4],["descriptortemplateout",6]]]],[11,"into_wallet_descriptor","bdk","",111,[[["network",4],["secp256k1",3]],[["descriptorerror",4],["result",4]]]],[11,"into_wallet_descriptor","","",112,[[["network",4],["secp256k1",3]],[["descriptorerror",4],["result",4]]]],[11,"extract_policy","bdk::descriptor","",51,[[["secp256k1",3],["signerscontainer",3]],[["error",4],["option",4],["result",4]]]],[11,"extract_policy","","",50,[[["secp256k1",3],["signerscontainer",3]],[["error",4],["option",4],["result",4]]]],[11,"into_descriptor_key","bdk::keys","",68,[[],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",62,[[],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",57,[[],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",58,[[],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_extended_key","bdk::keys::bip39","",106,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",106,[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_extended_key","bdk","",113,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",113,[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_extended_key","bdk::keys::bip39","",105,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",105,[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"into_extended_key","bdk::keys","",66,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_extended_key","","",68,[[],[["result",4],["extendedkey",4],["keyerror",4]]]],[11,"into_descriptor_key","","",68,[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["descriptorkey",4],["keyerror",4]]]],[11,"generate_with_entropy","bdk::keys::bip39","",105,[[],[["result",4],["generatedkey",3]]]],[11,"coin_select","bdk::wallet::coin_selection","",108,[[["f32",15],["u64",15],["vec",3],["feerate",3]],[["error",4],["coinselectionresult",3],["result",4]]]],[11,"coin_select","","",77,[[["f32",15],["u64",15],["vec",3],["feerate",3]],[["error",4],["coinselectionresult",3],["result",4]]]],[11,"get_capabilities","bdk::blockchain::any","",0,[[],[["hashset",3],["capability",4]]]],[11,"setup","","",0,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"sync","","",0,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"get_tx","","",0,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"broadcast","","",0,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",0,[[],[["u32",15],["error",4],["result",4]]]],[11,"estimate_fee","","",0,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::electrum","",96,[[],[["hashset",3],["capability",4]]]],[11,"setup","","",96,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"get_tx","","",96,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"broadcast","","",96,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",96,[[],[["u32",15],["error",4],["result",4]]]],[11,"estimate_fee","","",96,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::esplora","",3,[[],[["hashset",3],["capability",4]]]],[11,"setup","","",3,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"get_tx","","",3,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"broadcast","","",3,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",3,[[],[["u32",15],["error",4],["result",4]]]],[11,"estimate_fee","","",3,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::compact_filters","",6,[[],[["hashset",3],["capability",4]]]],[11,"setup","","",6,[[["option",4],["usize",15],["progress",8]],[["result",4],["error",4]]]],[11,"get_tx","","",6,[[["txid",3]],[["result",4],["option",4],["error",4]]]],[11,"broadcast","","",6,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",6,[[],[["u32",15],["error",4],["result",4]]]],[11,"estimate_fee","","",6,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"as_ref","bdk","",93,[[]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["addressvalidatorerror",4]]]],[11,"from","","",89,[[["policyerror",4]]]],[11,"from","","",89,[[["signererror",4]]]],[11,"from","","",89,[[["keyerror",4]],["error",4]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",3]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["esploraerror",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["compactfilterserror",4]]]],[11,"from","bdk::blockchain::any","",0,[[["electrumblockchain",3]]]],[11,"from","","",0,[[["esplorablockchain",3]]]],[11,"from","","",0,[[["compactfiltersblockchain",3]]]],[11,"from","","",1,[[["electrumblockchainconfig",3]]]],[11,"from","","",1,[[["esplorablockchainconfig",3]]]],[11,"from","","",1,[[["compactfiltersblockchainconfig",3]]]],[11,"from","bdk::blockchain::electrum","",96,[[["client",3]]]],[11,"from","bdk::blockchain::esplora","",5,[[["error",3]]]],[11,"from","","",5,[[["parseinterror",3]]]],[11,"from","","",5,[[["error",4]]]],[11,"from","","",5,[[["error",4]]]],[11,"from","bdk::blockchain::compact_filters","",9,[[["error",3]]]],[11,"from","","",9,[[["error",3]]]],[11,"from","","",9,[[["error",4]]]],[11,"from","","",9,[[["systemtimeerror",3]]]],[11,"from","","",9,[[["error",4]]]],[11,"from","bdk::database::any","",14,[[["memorydatabase",3]]]],[11,"from","","",14,[[["tree",3]]]],[11,"from","","",15,[[]]],[11,"from","","",15,[[]]],[11,"from","","",17,[[]]],[11,"from","","",17,[[["sleddbconfiguration",3]]]],[11,"from","bdk::descriptor::error","",23,[[["keyerror",4]],["error",4]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["policyerror",4]]]],[11,"from","bdk::descriptor::policy","",33,[[["bool",15]]]],[11,"from","","",37,[[["satisfiableitem",4]]]],[11,"from","bdk::keys","",66,[[["extendedpubkey",3]]]],[11,"from","","",66,[[["extendedprivkey",3]]]],[11,"from","","",72,[[["error",4]]]],[11,"from","","",72,[[["error",4]]]],[11,"from","bdk::wallet::signer","",79,[[["hash",3]],["signerid",4]]],[11,"from","","",79,[[["fingerprint",3]],["signerid",4]]],[11,"from","","",83,[[["keymap",6]],["signerscontainer",3]]],[11,"clone","bdk::blockchain","",10,[[],["capability",4]]],[11,"clone","","",99,[[],["noopprogress",3]]],[11,"clone","","",100,[[],["logprogress",3]]],[11,"clone","bdk::descriptor","",103,[[],["deriveddescriptorkey",3]]],[11,"clone","bdk::descriptor::policy","",104,[[],["pkorf",3]]],[11,"clone","","",24,[[],["satisfiableitem",4]]],[11,"clone","","",33,[[],["satisfaction",4]]],[11,"clone","","",37,[[],["policy",3]]],[11,"clone","","",38,[[],["condition",3]]],[11,"clone","bdk::keys","",63,[[],["scriptcontextenum",4]]],[11,"clone","","",71,[[],["privatekeygenerateoptions",3]]],[11,"clone","bdk","",93,[[],["keychainkind",4]]],[11,"clone","","",107,[[],["feerate",3]]],[11,"clone","","",94,[[],["utxo",3]]],[11,"clone","","",95,[[],["transactiondetails",3]]],[11,"clone","bdk::wallet::address_validator","",73,[[],["addressvalidatorerror",4]]],[11,"clone","bdk::wallet::signer","",79,[[],["signerid",4]]],[11,"clone","","",80,[[],["signererror",4]]],[11,"clone","","",82,[[],["signerordering",3]]],[11,"clone","","",83,[[],["signerscontainer",3]]],[11,"clone","bdk::wallet::tx_builder","",109,[[],["createtx",3]]],[11,"clone","","",110,[[],["bumpfee",3]]],[11,"clone","","",84,[[],["txbuilder",3]]],[11,"clone","","",85,[[],["txordering",4]]],[11,"clone","","",86,[[],["changespendpolicy",4]]],[11,"default","bdk::blockchain::compact_filters","",97,[[],["mempool",3]]],[11,"default","bdk::database::memory","",18,[[],["memorydatabase",3]]],[11,"default","bdk::descriptor::policy","",104,[[],["pkorf",3]]],[11,"default","","",38,[[],["condition",3]]],[11,"default","bdk::keys","",71,[[]]],[11,"default","bdk","",107,[[]]],[11,"default","","",95,[[],["transactiondetails",3]]],[11,"default","bdk::wallet::coin_selection","",108,[[],["largestfirstcoinselection",3]]],[11,"default","","",77,[[]]],[11,"default","bdk::wallet::signer","",82,[[]]],[11,"default","","",83,[[],["signerscontainer",3]]],[11,"default","bdk::wallet::tx_builder","",109,[[],["createtx",3]]],[11,"default","","",110,[[],["bumpfee",3]]],[11,"default","","",85,[[]]],[11,"default","","",86,[[]]],[11,"cmp","bdk::descriptor","",103,[[],["ordering",4]]],[11,"cmp","bdk::descriptor::policy","",38,[[["condition",3]],["ordering",4]]],[11,"cmp","bdk::wallet::signer","",79,[[["signerid",4]],["ordering",4]]],[11,"cmp","","",82,[[["signerordering",3]],["ordering",4]]],[11,"cmp","bdk::wallet::tx_builder","",85,[[["txordering",4]],["ordering",4]]],[11,"cmp","","",86,[[["changespendpolicy",4]],["ordering",4]]],[11,"eq","bdk::blockchain","",10,[[["capability",4]],["bool",15]]],[11,"eq","bdk::descriptor","",103,[[],["bool",15]]],[11,"eq","bdk::descriptor::policy","",38,[[["condition",3]],["bool",15]]],[11,"ne","","",38,[[["condition",3]],["bool",15]]],[11,"eq","bdk::keys","",63,[[["scriptcontextenum",4]],["bool",15]]],[11,"eq","bdk","",93,[[["keychainkind",4]],["bool",15]]],[11,"eq","","",107,[[["feerate",3]],["bool",15]]],[11,"ne","","",107,[[["feerate",3]],["bool",15]]],[11,"eq","","",94,[[["utxo",3]],["bool",15]]],[11,"ne","","",94,[[["utxo",3]],["bool",15]]],[11,"eq","","",95,[[["transactiondetails",3]],["bool",15]]],[11,"ne","","",95,[[["transactiondetails",3]],["bool",15]]],[11,"eq","bdk::wallet::address_validator","",73,[[["addressvalidatorerror",4]],["bool",15]]],[11,"ne","","",73,[[["addressvalidatorerror",4]],["bool",15]]],[11,"eq","bdk::wallet::signer","",79,[[["signerid",4]],["bool",15]]],[11,"ne","","",79,[[["signerid",4]],["bool",15]]],[11,"eq","","",80,[[["signererror",4]],["bool",15]]],[11,"eq","","",82,[[["signerordering",3]],["bool",15]]],[11,"ne","","",82,[[["signerordering",3]],["bool",15]]],[11,"eq","bdk::wallet::tx_builder","",85,[[["txordering",4]],["bool",15]]],[11,"eq","","",86,[[["changespendpolicy",4]],["bool",15]]],[11,"partial_cmp","bdk::descriptor","",103,[[],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor::policy","",38,[[["condition",3]],[["ordering",4],["option",4]]]],[11,"partial_cmp","bdk","",107,[[["feerate",3]],[["ordering",4],["option",4]]]],[11,"partial_cmp","bdk::wallet::signer","",79,[[["signerid",4]],[["ordering",4],["option",4]]]],[11,"partial_cmp","","",82,[[["signerordering",3]],[["ordering",4],["option",4]]]],[11,"partial_cmp","bdk::wallet::tx_builder","",85,[[["txordering",4]],[["ordering",4],["option",4]]]],[11,"partial_cmp","","",86,[[["changespendpolicy",4]],[["ordering",4],["option",4]]]],[11,"to_string","bdk::wallet::export","",78,[[],["string",3]]],[11,"deref","bdk::descriptor","",103,[[]]],[11,"deref","bdk::keys","",68,[[]]],[11,"fmt","bdk","",89,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::any","",1,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::electrum","",2,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::esplora","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::compact_filters","",97,[[["formatter",3]],["result",6]]],[11,"fmt","","",98,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",9,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain","",10,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::database::any","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::database::memory","",18,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor","",103,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::error","",23,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::policy","",104,[[["formatter",3]],["result",6]]],[11,"fmt","","",24,[[["formatter",3]],["result",6]]],[11,"fmt","","",33,[[["formatter",3]],["result",6]]],[11,"fmt","","",37,[[["formatter",3]],["result",6]]],[11,"fmt","","",38,[[["formatter",3]],["result",6]]],[11,"fmt","","",39,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::keys","",62,[[["formatter",3]],["result",6]]],[11,"fmt","","",63,[[["formatter",3]],["result",6]]],[11,"fmt","","",71,[[["formatter",3]],["result",6]]],[11,"fmt","","",72,[[["formatter",3]],["result",6]]],[11,"fmt","bdk","",93,[[["formatter",3]],["result",6]]],[11,"fmt","","",107,[[["formatter",3]],["result",6]]],[11,"fmt","","",94,[[["formatter",3]],["result",6]]],[11,"fmt","","",95,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::address_validator","",73,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::coin_selection","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",108,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::export","",78,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::signer","",79,[[["formatter",3]],["result",6]]],[11,"fmt","","",80,[[["formatter",3]],["result",6]]],[11,"fmt","","",82,[[["formatter",3]],["result",6]]],[11,"fmt","","",83,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::tx_builder","",109,[[["formatter",3]],["result",6]]],[11,"fmt","","",110,[[["formatter",3]],["result",6]]],[11,"fmt","","",84,[[["formatter",3]],["result",6]]],[11,"fmt","","",85,[[["formatter",3]],["result",6]]],[11,"fmt","","",86,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet","",88,[[["formatter",3]],["result",6]]],[11,"fmt","bdk","",89,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::esplora","",5,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::compact_filters","",9,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor","",103,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::error","",23,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::policy","",39,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::keys","",72,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::address_validator","",73,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::signer","",80,[[["formatter",3]],["result",6]]],[11,"hash","bdk::blockchain","",10,[[]]],[11,"hash","bdk::descriptor","",103,[[]]],[11,"hash","bdk::descriptor::policy","",38,[[]]],[11,"hash","bdk","",93,[[]]],[11,"hash","bdk::wallet::signer","",79,[[]]],[11,"hash","bdk::wallet::tx_builder","",85,[[]]],[11,"hash","","",86,[[]]],[11,"from_str","bdk::wallet::export","",78,[[["str",15]],["result",4]]],[11,"serialize","bdk::blockchain::any","",1,[[],["result",4]]],[11,"serialize","bdk::blockchain::electrum","",2,[[],["result",4]]],[11,"serialize","bdk::blockchain::esplora","",4,[[],["result",4]]],[11,"serialize","bdk::blockchain::compact_filters","",7,[[],["result",4]]],[11,"serialize","","",8,[[],["result",4]]],[11,"serialize","bdk::database::any","",16,[[],["result",4]]],[11,"serialize","","",17,[[],["result",4]]],[11,"serialize","bdk::descriptor::policy","",104,[[],["result",4]]],[11,"serialize","","",24,[[],["result",4]]],[11,"serialize","","",33,[[],["result",4]]],[11,"serialize","","",37,[[],["result",4]]],[11,"serialize","","",38,[[],["result",4]]],[11,"serialize","bdk","",93,[[],["result",4]]],[11,"serialize","","",94,[[],["result",4]]],[11,"serialize","","",95,[[],["result",4]]],[11,"serialize","bdk::wallet::export","",78,[[],["result",4]]],[11,"deserialize","bdk::blockchain::any","",1,[[],["result",4]]],[11,"deserialize","bdk::blockchain::electrum","",2,[[],["result",4]]],[11,"deserialize","bdk::blockchain::esplora","",4,[[],["result",4]]],[11,"deserialize","bdk::blockchain::compact_filters","",7,[[],["result",4]]],[11,"deserialize","","",8,[[],["result",4]]],[11,"deserialize","bdk::database::any","",16,[[],["result",4]]],[11,"deserialize","","",17,[[],["result",4]]],[11,"deserialize","bdk","",93,[[],["result",4]]],[11,"deserialize","","",94,[[],["result",4]]],[11,"deserialize","","",95,[[],["result",4]]],[11,"deserialize","bdk::wallet::export","",78,[[],["result",4]]],[11,"to_pubkeyhash","bdk::descriptor","",103,[[]]],[11,"is_uncompressed","","",103,[[],["bool",15]]],[11,"serialized_len","","",103,[[],["usize",15]]],[11,"to_public_key","","",103,[[],["publickey",3]]],[11,"hash_to_hash160","","",103,[[],["hash",3]]],[11,"new","bdk::blockchain::compact_filters","Create a new empty mempool",97,[[]]],[11,"add_tx","","Add a transaction to the mempool",97,[[["transaction",3]]]],[11,"get_tx","","Look-up a transaction in the mempool given an [Inventory] …",97,[[["inventory",4]],[["option",4],["transaction",3]]]],[11,"has_tx","","Return whether or not the mempool contains a transaction …",97,[[["txid",3]],["bool",15]]],[11,"iter_txs","","Return the list of transactions contained in the mempool",97,[[],[["vec",3],["transaction",3]]]],[11,"connect","","Connect to a peer over a plaintext TCP connection",98,[[["network",4],["mempool",3],["arc",3],["tosocketaddrs",8]],[["result",4],["compactfilterserror",4]]]],[11,"connect_proxy","","Connect to a peer through a SOCKS5 proxy, optionally by …",98,[[["mempool",3],["arc",3],["network",4],["option",4],["totargetaddr",8],["tosocketaddrs",8]],[["result",4],["compactfilterserror",4]]]],[11,"get_version","","Return the [VersionMessage] sent by the peer",98,[[],["versionmessage",3]]],[11,"get_network","","Return the Bitcoin [Network] in use",98,[[],["network",4]]],[11,"get_mempool","","Return the mempool used by this peer",98,[[],[["mempool",3],["arc",3]]]],[11,"is_connected","","Return whether or not the peer is still connected",98,[[],["bool",15]]],[11,"send","","Send a raw Bitcoin message to the peer",98,[[["networkmessage",4]],[["compactfilterserror",4],["result",4]]]],[11,"recv","","Waits for a specific incoming Bitcoin message, optionally …",98,[[["str",15],["option",4],["duration",3]],[["compactfilterserror",4],["result",4],["option",4]]]],[11,"new_pk","bdk::descriptor","Create a new pk descriptor",50,[[],["descriptor",4]]],[11,"new_pkh","","Create a new PkH descriptor",50,[[],["descriptor",4]]],[11,"new_wpkh","","Create a new Wpkh descriptor Will return Err if …",50,[[],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wpkh","","Create a new sh wrapped wpkh from Pk. Errors when …",50,[[],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh","","Create a new sh for a given redeem script Errors when …",50,[[["miniscript",3],["legacy",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_wsh","","Create a new wsh descriptor from witness script Errors …",50,[[["miniscript",3],["segwitv0",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wsh","","Create a new sh wrapped wsh descriptor with witness script…",50,[[["miniscript",3],["segwitv0",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_bare","","Create a new bare descriptor from witness script Errors …",50,[[["miniscript",3],["barectx",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_sortedmulti","","Create a new sh sortedmulti descriptor with threshold k …",50,[[["usize",15],["vec",3],["global",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wsh_sortedmulti","","Create a new sh wrapped wsh sortedmulti descriptor from …",50,[[["usize",15],["vec",3],["global",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_wsh_sortedmulti","","Create a new wsh sorted multi descriptor Errors when …",50,[[["usize",15],["vec",3],["global",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"desc_type","","Get the [DescriptorType] of [Descriptor]",50,[[],["descriptortype",4]]],[11,"is_deriveable","","Whether or not the descriptor has any wildcards",50,[[],["bool",15]]],[11,"derive","","Derives all wildcard keys in the descriptor using the …",50,[[["u32",15]],[["descriptorpublickey",4],["descriptor",4]]]],[11,"parse_descriptor","","Parse a descriptor that may contain secret keys",50,[[["secp256k1",3],["str",15]],[["error",4],["result",4]]]],[11,"to_string_with_secret","","Serialize a descriptor to string with its secret keys",50,[[["hashmap",3]],["string",3]]],[11,"master_fingerprint","bdk::keys","The fingerprint of the master key associated with this key",57,[[],["fingerprint",3]]],[11,"full_derivation_path","","Full path, from the master key",57,[[],["derivationpath",3]]],[11,"is_deriveable","","Whether or not the key has a wildcards",57,[[],["bool",15]]],[11,"derive","","If this public key has a wildcard, replace it by the …",57,[[["u32",15]],["descriptorpublickey",4]]],[11,"derive_public_key","","Computes the public key corresponding to this descriptor …",57,[[["secp256k1",3]],[["conversionerror",4],["publickey",3],["result",4]]]],[11,"requires_sig","bdk::descriptor","Whether all spend paths of miniscript require a signature",51,[[],["bool",15]]],[11,"is_non_malleable","","Whether the miniscript is malleable",51,[[],["bool",15]]],[11,"within_resource_limits","","Whether the miniscript can exceed the resource …",51,[[],["bool",15]]],[11,"has_mixed_timelocks","","Whether the miniscript contains a combination of timelocks",51,[[],["bool",15]]],[11,"has_repeated_keys","","Whether the miniscript has repeated Pk or Pkh",51,[[],["bool",15]]],[11,"sanity_check","","Check whether the underlying Miniscript is safe under the …",51,[[],[["result",4],["analysiserror",4]]]],[11,"iter","","Creates a new [Iter] iterator that will iterate over all […",51,[[],["iter",3]]],[11,"iter_pk","","Creates a new [PkIter] iterator that will iterate over …",51,[[],["pkiter",3]]],[11,"iter_pkh","","Creates a new [PkhIter] iterator that will iterate over …",51,[[],["pkhiter",3]]],[11,"iter_pk_pkh","","Creates a new [PkPkhIter] iterator that will iterate over …",51,[[],["pkpkhiter",3]]],[11,"branches","","Enumerates all child nodes of the current AST node (self) …",51,[[],[["miniscript",3],["vec",3],["global",3]]]],[11,"get_nth_child","","Returns child node with given index, if any",51,[[["usize",15]],[["miniscript",3],["option",4]]]],[11,"get_leaf_pk","","Returns Vec with cloned version of all public keys from …",51,[[],[["vec",3],["global",3]]]],[11,"get_leaf_pkh","","Returns Vec with hashes of all public keys from the …",51,[[],[["vec",3],["global",3]]]],[11,"get_leaf_pk_pkh","","Returns Vec of [PkPkh] entries, representing either …",51,[[],[["vec",3],["pkpkh",4],["global",3]]]],[11,"get_nth_pk","","Returns Option::Some with cloned n\'th public key from the …",51,[[["usize",15]],["option",4]]],[11,"get_nth_pkh","","Returns Option::Some with hash of n\'th public key from …",51,[[["usize",15]],["option",4]]],[11,"get_nth_pk_pkh","","Returns Option::Some with hash of n\'th public key or hash …",51,[[["usize",15]],[["option",4],["pkpkh",4]]]],[11,"from_ast","","Add type information(Type and Extdata) to Miniscript …",51,[[["terminal",4]],[["error",4],["result",4],["miniscript",3]]]],[11,"into_inner","","Extracts the AstElem representing the root of the …",51,[[],["terminal",4]]],[11,"as_inner","","Get a reference to the inner AstElem representing the …",51,[[],["terminal",4]]],[11,"parse_insane","","Attempt to parse an insane(scripts don\'t clear sanity …",51,[[["script",3]],[["error",4],["result",4],["miniscript",3]]]],[11,"parse","","Attempt to parse a Script into Miniscript representation. …",51,[[["script",3]],[["error",4],["result",4],["miniscript",3]]]],[11,"encode","","Encode as a Bitcoin script",51,[[],["script",3]]],[11,"script_size","","Size, in bytes of the script-pubkey. If this Miniscript …",51,[[],["usize",15]]],[11,"max_satisfaction_witness_elements","","Maximum number of witness elements used to satisfy the …",51,[[],[["usize",15],["result",4],["error",4]]]],[11,"max_satisfaction_size","","Maximum size, in bytes, of a satisfying witness. For …",51,[[],[["usize",15],["result",4],["error",4]]]],[11,"from_str_insane","","Attempt to parse an insane(scripts don\'t clear sanity …",51,[[["str",15]],[["error",4],["result",4],["miniscript",3]]]],[11,"satisfy","","Attempt to produce non-malleable satisfying witness for …",51,[[],[["error",4],["vec",3],["result",4]]]],[11,"satisfy_malleable","","Attempt to produce a malleable satisfying witness for the …",51,[[],[["error",4],["vec",3],["result",4]]]],[11,"lift_check","","Lifting corresponds conversion of miniscript into Policy […",51,[[],[["result",4],["lifterror",4]]]],[11,"check_witness","bdk::keys","Check whether the given satisfaction is valid under the …",52,[[],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["result",4],["error",4]]]],[11,"new","bdk::descriptor","Construct a new derived key",103,[[["descriptorpublickey",4],["secp256k1",3]],["deriveddescriptorkey",3]]],[11,"from_language_code","bdk::keys::bip39","Construct a word list from its language code. Returns None…",55,[[["str",15]],[["option",4],["language",4]]]],[11,"wordlist","","Get the word list for this language",55,[[],["wordlist",3]]],[11,"wordmap","","Get a [WordMap][WordMap] that allows word -> index …",55,[[],["wordmap",3]]],[11,"new","","Generates a new Mnemonic",105,[[["language",4],["mnemonictype",4]],["mnemonic",3]]],[11,"from_entropy","","Create a Mnemonic from pre-generated entropy",105,[[["language",4]],[["error",3],["mnemonic",3],["result",4]]]],[11,"from_phrase","","Create a Mnemonic from an existing mnemonic phrase",105,[[["language",4],["str",15]],[["error",3],["mnemonic",3],["result",4]]]],[11,"validate","","Validate a mnemonic phrase",105,[[["language",4],["str",15]],[["error",3],["result",4]]]],[11,"phrase","","Get the mnemonic phrase as a string reference.",105,[[],["str",15]]],[11,"into_phrase","","Consume the Mnemonic and return the phrase as a String.",105,[[],["string",3]]],[11,"entropy","","Get the original entropy value of the mnemonic phrase as …",105,[[]]],[11,"language","","Get the Language",105,[[],["language",4]]],[11,"for_word_count","","Get a MnemonicType for a mnemonic phrase with a specific …",56,[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"for_key_size","","Get a MnemonicType for a mnemonic phrase representing the …",56,[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"for_phrase","","Get a MnemonicType for an existing mnemonic phrase",56,[[["str",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"total_bits","","Return the number of entropy+checksum bits",56,[[],["usize",15]]],[11,"entropy_bits","","Return the number of entropy bits",56,[[],["usize",15]]],[11,"checksum_bits","","Return the number of checksum bits",56,[[],["u8",15]]],[11,"word_count","","Return the number of words",56,[[],["usize",15]]],[11,"new","","Generates the seed from the Mnemonic and the password.",106,[[["mnemonic",3],["str",15]],["seed",3]]],[11,"as_bytes","","Get the seed value as a byte slice",106,[[]]],[11,"as_public","bdk::keys","Return the public version of this key, by applying either …",58,[[["secp256k1",3]],[["descriptorpublickey",4],["result",4],["descriptorkeyparseerror",3]]]],[11,"new","","Create a new instance of SortedMultiVec given a list of …",61,[[["usize",15],["vec",3],["global",3]],[["result",4],["error",4],["sortedmultivec",3]]]],[11,"from_tree","","Parse an expression tree into a SortedMultiVec",61,[[["tree",3]],[["result",4],["error",4],["sortedmultivec",3]]]],[11,"translate_pk","","This will panic if translatefpk returns an uncompressed …",61,[[],[["result",4],["sortedmultivec",3]]]],[11,"sanity_check","","utility function to sanity a sorted multi vec",61,[[],[["result",4],["error",4]]]],[11,"sorted_node","","Create Terminal::Multi containing sorted pubkeys",61,[[],["terminal",4]]],[11,"encode","","Encode as a Bitcoin script",61,[[],["script",3]]],[11,"satisfy","","Attempt to produce a satisfying witness for the witness …",61,[[],[["error",4],["vec",3],["result",4]]]],[11,"script_size","","Size, in bytes of the script-pubkey. If this Miniscript …",61,[[],["usize",15]]],[11,"max_satisfaction_witness_elements","","Maximum number of witness elements used to satisfy the …",61,[[],["usize",15]]],[11,"max_satisfaction_size","","Maximum size, in bytes, of a satisfying witness. In …",61,[[],["usize",15]]],[11,"as_byte","bdk","Return [KeychainKind] as a byte",93,[[],["u8",15]]],[11,"from_btc_per_kvb","","Create a new instance of [FeeRate] given a float fee rate …",107,[[["f32",15]]]],[11,"from_sat_per_vb","","Create a new instance of [FeeRate] given a float fee rate …",107,[[["f32",15]]]],[11,"default_min_relay_fee","","Create a new [FeeRate] with the default min relay fee …",107,[[]]],[11,"as_sat_vb","","Return the value as satoshi/vbyte",107,[[],["f32",15]]]],"p":[[4,"AnyBlockchain"],[4,"AnyBlockchainConfig"],[3,"ElectrumBlockchainConfig"],[3,"EsploraBlockchain"],[3,"EsploraBlockchainConfig"],[4,"EsploraError"],[3,"CompactFiltersBlockchain"],[3,"BitcoinPeerConfig"],[3,"CompactFiltersBlockchainConfig"],[4,"CompactFiltersError"],[4,"Capability"],[8,"Blockchain"],[8,"ConfigurableBlockchain"],[8,"Progress"],[4,"AnyDatabase"],[4,"AnyBatch"],[3,"SledDbConfiguration"],[4,"AnyDatabaseConfig"],[3,"MemoryDatabase"],[8,"BatchOperations"],[8,"Database"],[8,"BatchDatabase"],[8,"ConfigurableDatabase"],[4,"Error"],[4,"SatisfiableItem"],[13,"SHA256Preimage"],[13,"HASH256Preimage"],[13,"RIPEMD160Preimage"],[13,"HASH160Preimage"],[13,"AbsoluteTimelock"],[13,"RelativeTimelock"],[13,"Multisig"],[13,"Thresh"],[4,"Satisfaction"],[13,"Partial"],[13,"PartialComplete"],[13,"Complete"],[3,"Policy"],[3,"Condition"],[4,"PolicyError"],[8,"DescriptorTemplate"],[3,"P2PKH"],[3,"P2WPKH_P2SH"],[3,"P2WPKH"],[3,"BIP44"],[3,"BIP44Public"],[3,"BIP49"],[3,"BIP49Public"],[3,"BIP84"],[3,"BIP84Public"],[4,"Descriptor"],[3,"Miniscript"],[8,"ScriptContext"],[8,"IntoWalletDescriptor"],[8,"ExtractPolicy"],[4,"Language"],[4,"MnemonicType"],[4,"DescriptorPublicKey"],[4,"DescriptorSecretKey"],[3,"DescriptorSinglePriv"],[3,"DescriptorSinglePub"],[3,"SortedMultiVec"],[4,"DescriptorKey"],[4,"ScriptContextEnum"],[8,"ExtScriptContext"],[8,"IntoDescriptorKey"],[4,"ExtendedKey"],[8,"DerivableKey"],[3,"GeneratedKey"],[8,"GeneratableKey"],[8,"GeneratableDefaultOptions"],[3,"PrivateKeyGenerateOptions"],[4,"KeyError"],[4,"AddressValidatorError"],[8,"AddressValidator"],[3,"CoinSelectionResult"],[8,"CoinSelectionAlgorithm"],[3,"BranchAndBoundCoinSelection"],[3,"WalletExport"],[4,"SignerId"],[4,"SignerError"],[8,"Signer"],[3,"SignerOrdering"],[3,"SignersContainer"],[3,"TxBuilder"],[4,"TxOrdering"],[4,"ChangeSpendPolicy"],[8,"IsDust"],[3,"Wallet"],[4,"Error"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[4,"KeychainKind"],[3,"UTXO"],[3,"TransactionDetails"],[3,"ElectrumBlockchain"],[3,"Mempool"],[3,"Peer"],[3,"NoopProgress"],[3,"LogProgress"],[4,"Legacy"],[4,"Segwitv0"],[3,"DerivedDescriptorKey"],[3,"PKOrF"],[3,"Mnemonic"],[3,"Seed"],[3,"FeeRate"],[3,"LargestFirstCoinSelection"],[3,"CreateTx"],[3,"BumpFee"],[6,"ExtendedDescriptor"],[6,"DescriptorTemplateOut"],[6,"MnemonicWithPassphrase"]]}\ +"bdk":{"doc":"A modern, lightweight, descriptor-based wallet library …","i":[[0,"blockchain","bdk","Blockchain backends",null,null],[0,"any","bdk::blockchain","Runtime-checked blockchain types",null,null],[4,"AnyBlockchain","bdk::blockchain::any","Type that can contain any of the [Blockchain] types …",null,null],[13,"Electrum","","Electrum client",0,null],[13,"Esplora","","Esplora client",0,null],[13,"CompactFilters","","Compact filters client",0,null],[4,"AnyBlockchainConfig","","Type that can contain any of the blockchain …",null,null],[13,"Electrum","","Electrum client",1,null],[13,"Esplora","","Esplora client",1,null],[13,"CompactFilters","","Compact filters client",1,null],[0,"electrum","bdk::blockchain","Electrum",null,null],[3,"ElectrumBlockchain","bdk::blockchain::electrum","Wrapper over an Electrum Client that implements the …",null,null],[3,"ElectrumBlockchainConfig","","Configuration for an [ElectrumBlockchain]",null,null],[12,"url","","URL of the Electrum server (such as ElectrumX, Esplora, …",2,null],[12,"socks5","","URL of the socks5 proxy server or a Tor service",2,null],[12,"retry","","Request retry count",2,null],[12,"timeout","","Request timeout (seconds)",2,null],[0,"esplora","bdk::blockchain","Esplora",null,null],[3,"EsploraBlockchain","bdk::blockchain::esplora","Structure that implements the logic to sync with Esplora",null,null],[11,"new","","Create a new instance of the client from a base URL",3,[[["u8",15],["option",4],["str",15]]]],[3,"EsploraBlockchainConfig","","Configuration for an [EsploraBlockchain]",null,null],[12,"base_url","","Base URL of the esplora service",4,null],[12,"concurrency","","Number of parallel requests sent to the esplora service …",4,null],[4,"EsploraError","","Errors that can happen during a sync with […",null,null],[13,"Reqwest","","Error with the HTTP call",5,null],[13,"Parsing","","Invalid number returned",5,null],[13,"BitcoinEncoding","","Invalid Bitcoin data returned",5,null],[13,"Hex","","Invalid Hex data returned",5,null],[13,"TransactionNotFound","","Transaction not found",5,null],[13,"HeaderHeightNotFound","","Header height not found",5,null],[13,"HeaderHashNotFound","","Header hash not found",5,null],[0,"compact_filters","bdk::blockchain","Compact Filters",null,null],[3,"Mempool","bdk::blockchain::compact_filters","Container for unconfirmed, but valid Bitcoin transactions",null,null],[3,"Peer","","A Bitcoin peer",null,null],[3,"CompactFiltersBlockchain","","Structure implementing the required blockchain traits",null,null],[11,"new","","Construct a new instance given a list of peers, a path to …",6,[[["asref",8],["peer",3],["usize",15],["option",4],["vec",3],["path",3]],[["result",4],["compactfilterserror",4]]]],[3,"BitcoinPeerConfig","","Data to connect to a Bitcoin P2P peer",null,null],[12,"address","","Peer address such as 127.0.0.1:18333",7,null],[12,"socks5","","Optional socks5 proxy",7,null],[12,"socks5_credentials","","Optional socks5 proxy credentials",7,null],[3,"CompactFiltersBlockchainConfig","","Configuration for a [CompactFiltersBlockchain]",null,null],[12,"peers","","List of peers to try to connect to for asking headers and …",8,null],[12,"network","","Network used",8,null],[12,"storage_dir","","Storage dir to save partially downloaded headers and full …",8,null],[12,"skip_blocks","","Optionally skip initial skip_blocks blocks (default: 0)",8,null],[4,"CompactFiltersError","","An error that can occur during sync with a […",null,null],[13,"InvalidResponse","","A peer sent an invalid or unexpected response",9,null],[13,"InvalidHeaders","","The headers returned are invalid",9,null],[13,"InvalidFilterHeader","","The compact filter headers returned are invalid",9,null],[13,"InvalidFilter","","The compact filter returned is invalid",9,null],[13,"MissingBlock","","The peer is missing a block in the valid chain",9,null],[13,"DataCorruption","","The data stored in the block filters storage are corrupted",9,null],[13,"NotConnected","","A peer is not connected",9,null],[13,"Timeout","","A peer took too long to reply to one of our messages",9,null],[13,"PeerBloomDisabled","","The peer doesn\'t advertise the BLOOM service flag",9,null],[13,"NoPeers","","No peers have been specified",9,null],[13,"DB","","Internal database error",9,null],[13,"IO","","Internal I/O error",9,null],[13,"BIP158","","Invalid BIP158 filter",9,null],[13,"Time","","Internal system time error",9,null],[13,"Global","","Wrapper for [crate::error::Error]",9,null],[4,"Capability","bdk::blockchain","Capabilities that can be supported by a [Blockchain] …",null,null],[13,"FullHistory","","Can recover the full history of a wallet and not only the …",10,null],[13,"GetAnyTx","","Can fetch any historical transaction given its txid",10,null],[13,"AccurateFees","","Can compute accurate fees for the transactions found …",10,null],[8,"Blockchain","","Trait that defines the actions that must be supported by …",null,null],[10,"get_capabilities","","Return the set of [Capability] supported by this backend",11,[[],[["capability",4],["hashset",3]]]],[10,"setup","","Setup the backend and populate the internal database for …",11,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"sync","","Populate the internal database with transactions and UTXOs",11,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[10,"get_tx","","Fetch a transaction from the blockchain given its txid",11,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[10,"broadcast","","Broadcast a transaction",11,[[["transaction",3]],[["result",4],["error",4]]]],[10,"get_height","","Return the current height",11,[[],[["u32",15],["result",4],["error",4]]]],[10,"estimate_fee","","Estimate the fee rate required to confirm a transaction …",11,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[8,"ConfigurableBlockchain","","Trait for [Blockchain] types that can be created given a …",null,null],[16,"Config","","Type that contains the configuration",12,null],[10,"from_config","","Create a new instance given a configuration",12,[[],[["error",4],["result",4]]]],[6,"ProgressData","","Data sent with a progress update over a [channel]",null,null],[8,"Progress","","Trait for types that can receive and process progress …",null,null],[10,"update","","Send a new progress update",13,[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]]],[5,"progress","","Shortcut to create a [channel] (pair of [Sender] and […",null,[[]]],[3,"NoopProgress","","Type that implements [Progress] and drops every update …",null,null],[5,"noop_progress","","Create a new instance of [NoopProgress]",null,[[],["noopprogress",3]]],[3,"LogProgress","","Type that implements [Progress] and logs at level INFO …",null,null],[5,"log_progress","","Create a nwe instance of [LogProgress]",null,[[],["logprogress",3]]],[0,"database","bdk","Database types",null,null],[0,"any","bdk::database","Runtime-checked database types",null,null],[4,"AnyDatabase","bdk::database::any","Type that can contain any of the [Database] types defined …",null,null],[13,"Memory","","In-memory ephemeral database",14,null],[13,"Sled","","Simple key-value embedded database based on [sled]",14,null],[4,"AnyBatch","","Type that contains any of the [BatchDatabase::Batch] …",null,null],[13,"Memory","","In-memory ephemeral database",15,null],[13,"Sled","","Simple key-value embedded database based on [sled]",15,null],[3,"SledDbConfiguration","","Configuration type for a [sled::Tree] database",null,null],[12,"path","","Main directory of the db",16,null],[12,"tree_name","","Name of the database tree, a separated namespace for the …",16,null],[4,"AnyDatabaseConfig","","Type that can contain any of the database configurations …",null,null],[13,"Memory","","Memory database has no config",17,null],[13,"Sled","","Simple key-value embedded database based on [sled]",17,null],[0,"memory","bdk::database","In-memory ephemeral database",null,null],[3,"MemoryDatabase","bdk::database::memory","In-memory ephemeral database",null,null],[11,"new","","Create a new empty database",18,[[]]],[8,"BatchOperations","bdk::database","Trait for operations that can be batched",null,null],[10,"set_script_pubkey","","Store a script_pubkey along with its keychain and child …",19,[[["keychainkind",4],["u32",15],["script",3]],[["result",4],["error",4]]]],[10,"set_utxo","","Store a [UTXO]",19,[[["utxo",3]],[["result",4],["error",4]]]],[10,"set_raw_tx","","Store a raw transaction",19,[[["transaction",3]],[["result",4],["error",4]]]],[10,"set_tx","","Store the metadata of a transaction",19,[[["transactiondetails",3]],[["result",4],["error",4]]]],[10,"set_last_index","","Store the last derivation index for a given keychain.",19,[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]]],[10,"del_script_pubkey_from_path","","Delete a script_pubkey given the keychain and its child …",19,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[10,"del_path_from_script_pubkey","","Delete the data related to a specific script_pubkey, …",19,[[["script",3]],[["result",4],["option",4],["error",4]]]],[10,"del_utxo","","Delete a [UTXO] given its [OutPoint]",19,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[10,"del_raw_tx","","Delete a raw transaction given its [Txid]",19,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[10,"del_tx","","Delete the metadata of a transaction and optionally the …",19,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[10,"del_last_index","","Delete the last derivation index for a keychain.",19,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[8,"Database","","Trait for reading data from a database",null,null],[10,"check_descriptor_checksum","","Read and checks the descriptor checksum for a given …",20,[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]]],[10,"iter_script_pubkeys","","Return the list of script_pubkeys",20,[[["option",4],["keychainkind",4]],[["vec",3],["result",4],["error",4]]]],[10,"iter_utxos","","Return the list of [UTXO]s",20,[[],[["error",4],["result",4],["vec",3]]]],[10,"iter_raw_txs","","Return the list of raw transactions",20,[[],[["result",4],["vec",3],["error",4]]]],[10,"iter_txs","","Return the list of transactions metadata",20,[[["bool",15]],[["result",4],["vec",3],["error",4]]]],[10,"get_script_pubkey_from_path","","Fetch a script_pubkey given the child number of a …",20,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[10,"get_path_from_script_pubkey","","Fetch the keychain and child number of a given …",20,[[["script",3]],[["result",4],["option",4],["error",4]]]],[10,"get_utxo","","Fetch a [UTXO] given its [OutPoint]",20,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[10,"get_raw_tx","","Fetch a raw transaction given its [Txid]",20,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[10,"get_tx","","Fetch the transaction metadata and optionally also the …",20,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[10,"get_last_index","","Return the last defivation index for a keychain.",20,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[10,"increment_last_index","","Increment the last derivation index for a keychain and …",20,[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]]],[8,"BatchDatabase","","Trait for a database that supports batch operations",null,null],[16,"Batch","","Container for the operations",21,null],[10,"begin_batch","","Create a new batch container",21,[[]]],[10,"commit_batch","","Consume and apply a batch of operations",21,[[],[["result",4],["error",4]]]],[8,"ConfigurableDatabase","","Trait for [Database] types that can be created given a …",null,null],[16,"Config","","Type that contains the configuration",22,null],[10,"from_config","","Create a new instance given a configuration",22,[[],[["error",4],["result",4]]]],[0,"descriptor","bdk","Descriptors",null,null],[0,"checksum","bdk::descriptor","Descriptor checksum",null,null],[5,"get_checksum","bdk::descriptor::checksum","Compute the checksum of a descriptor",null,[[["str",15]],[["descriptorerror",4],["result",4],["string",3]]]],[0,"error","bdk::descriptor","Descriptor errors",null,null],[4,"Error","bdk::descriptor::error","Errors related to the parsing and usage of descriptors",null,null],[13,"InvalidHDKeyPath","","Invalid HD Key path, such as having a wildcard but a …",23,null],[13,"InvalidDescriptorChecksum","","The provided descriptor doesn\'t match its checksum",23,null],[13,"HardenedDerivationXpub","","The descriptor contains hardened derivation steps on …",23,null],[13,"Key","","Error thrown while working with keys",23,null],[13,"Policy","","Error while extracting and manipulating policies",23,null],[13,"InvalidDescriptorCharacter","","Invalid character found in the descriptor checksum",23,null],[13,"BIP32","","BIP32 error",23,null],[13,"Base58","","Error during base58 decoding",23,null],[13,"PK","","Key-related error",23,null],[13,"Miniscript","","Miniscript error",23,null],[13,"Hex","","Hex decoding error",23,null],[0,"policy","bdk::descriptor","Descriptor policy",null,null],[3,"PKOrF","bdk::descriptor::policy","Raw public key or extended key fingerprint",null,null],[4,"SatisfiableItem","","An item that needs to be satisfied",null,null],[13,"Signature","","Signature for a raw public key",24,null],[13,"SignatureKey","","Signature for an extended key fingerprint",24,null],[13,"SHA256Preimage","","SHA256 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",25,null],[13,"HASH256Preimage","bdk::descriptor::policy","Double SHA256 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",26,null],[13,"RIPEMD160Preimage","bdk::descriptor::policy","RIPEMD160 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",27,null],[13,"HASH160Preimage","bdk::descriptor::policy","SHA256 then RIPEMD160 preimage hash",24,null],[12,"hash","bdk::descriptor::policy::SatisfiableItem","The digest value",28,null],[13,"AbsoluteTimelock","bdk::descriptor::policy","Absolute timeclock timestamp",24,null],[12,"value","bdk::descriptor::policy::SatisfiableItem","The timestamp value",29,null],[13,"RelativeTimelock","bdk::descriptor::policy","Relative timelock locktime",24,null],[12,"value","bdk::descriptor::policy::SatisfiableItem","The locktime value",30,null],[13,"Multisig","bdk::descriptor::policy","Multi-signature public keys with threshold count",24,null],[12,"keys","bdk::descriptor::policy::SatisfiableItem","The raw public key or extended key fingerprint",31,null],[12,"threshold","","The required threshold count",31,null],[13,"Thresh","bdk::descriptor::policy","Threshold items with threshold count",24,null],[12,"items","bdk::descriptor::policy::SatisfiableItem","The policy items",32,null],[12,"threshold","","The required threshold count",32,null],[11,"is_leaf","bdk::descriptor::policy","Returns whether the [SatisfiableItem] is a leaf item",24,[[],["bool",15]]],[11,"id","","Returns a unique id for the [SatisfiableItem]",24,[[],["string",3]]],[6,"ConditionMap","","Type for a map of sets of [Condition] items keyed by each …",null,null],[6,"FoldedConditionMap","","Type for a map of folded sets of [Condition] items keyed …",null,null],[4,"Satisfaction","","Represent if and how much a policy item is satisfied by …",null,null],[13,"Partial","","Only a partial satisfaction of some kind of threshold …",33,null],[12,"n","bdk::descriptor::policy::Satisfaction","Total number of items",34,null],[12,"m","","Threshold",34,null],[12,"items","","The items that can be satisfied by the descriptor",34,null],[12,"sorted","","Whether the items are sorted in lexicographic order (used …",34,null],[12,"conditions","","Extra conditions that also need to be satisfied",34,null],[13,"PartialComplete","bdk::descriptor::policy","Can reach the threshold of some kind of threshold policy",33,null],[12,"n","bdk::descriptor::policy::Satisfaction","Total number of items",35,null],[12,"m","","Threshold",35,null],[12,"items","","The items that can be satisfied by the descriptor",35,null],[12,"sorted","","Whether the items are sorted in lexicographic order (used …",35,null],[12,"conditions","","Extra conditions that also need to be satisfied",35,null],[13,"Complete","bdk::descriptor::policy","Can satisfy the policy item",33,null],[12,"condition","bdk::descriptor::policy::Satisfaction","Extra conditions that also need to be satisfied",36,null],[13,"None","bdk::descriptor::policy","Cannot satisfy or contribute to the policy item",33,null],[11,"is_leaf","","Returns whether the [Satisfaction] is a leaf item",33,[[],["bool",15]]],[3,"Policy","","Descriptor spending policy",null,null],[12,"id","","Identifier for this policy node",37,null],[12,"item","","Type of this policy node",37,null],[12,"satisfaction","","How a much given PSBT already satisfies this polcy node …",37,null],[12,"contribution","","How the wallet\'s descriptor can satisfy this policy node",37,null],[3,"Condition","","An extra condition that must be satisfied but that is out …",null,null],[12,"csv","","Optional CheckSequenceVerify condition",38,null],[12,"timelock","","Optional timelock condition",38,null],[11,"is_null","","Returns true if there are no extra conditions to verify",38,[[],["bool",15]]],[4,"PolicyError","","Errors that can happen while extracting and manipulating …",null,null],[13,"NotEnoughItemsSelected","","Not enough items are selected to satisfy a […",39,null],[13,"IndexOutOfRange","","Index out of range for an item to satisfy a […",39,null],[13,"AddOnLeaf","","Can not add to an item that is [Satisfaction::None] or […",39,null],[13,"AddOnPartialComplete","","Can not add to an item that is […",39,null],[13,"MixedTimelockUnits","","Can not merge CSV or timelock values unless both are less …",39,null],[13,"IncompatibleConditions","","Incompatible conditions (not currently used)",39,null],[11,"requires_path","","Return whether or not a specific path in the policy tree …",37,[[],["bool",15]]],[11,"get_condition","","Return the conditions that are set by the spending policy …",37,[[["btreemap",3]],[["condition",3],["result",4],["policyerror",4]]]],[0,"template","bdk::descriptor","Descriptor templates",null,null],[6,"DescriptorTemplateOut","bdk::descriptor::template","Type alias for the return type of [DescriptorTemplate], …",null,null],[8,"DescriptorTemplate","","Trait for descriptor templates that can be built into a …",null,null],[10,"build","","Build the complete descriptor",40,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[3,"P2PKH","","P2PKH template. Expands to a descriptor pkh(key)",null,null],[12,"0","","",41,null],[3,"P2WPKH_P2SH","","P2WPKH-P2SH template. Expands to a descriptor …",null,null],[12,"0","","",42,null],[3,"P2WPKH","","P2WPKH template. Expands to a descriptor wpkh(key)",null,null],[12,"0","","",43,null],[3,"BIP44","","BIP44 template. Expands to pkh(key/44\'/0\'/0\'/{0,1}/*)",null,null],[12,"0","","",44,null],[12,"1","","",44,null],[3,"BIP44Public","","BIP44 public template. Expands to pkh(key/{0,1}/*)",null,null],[12,"0","","",45,null],[12,"1","","",45,null],[12,"2","","",45,null],[3,"BIP49","","BIP49 template. Expands to sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))",null,null],[12,"0","","",46,null],[12,"1","","",46,null],[3,"BIP49Public","","BIP49 public template. Expands to sh(wpkh(key/{0,1}/*))",null,null],[12,"0","","",47,null],[12,"1","","",47,null],[12,"2","","",47,null],[3,"BIP84","","BIP84 template. Expands to wpkh(key/84\'/0\'/0\'/{0,1}/*)",null,null],[12,"0","","",48,null],[12,"1","","",48,null],[3,"BIP84Public","","BIP84 public template. Expands to wpkh(key/{0,1}/*)",null,null],[12,"0","","",49,null],[12,"1","","",49,null],[12,"2","","",49,null],[6,"KeyMap","bdk::descriptor","Alias type for a map of public key to secret key",null,null],[4,"Descriptor","","Script descriptor",null,null],[13,"Bare","","A raw scriptpubkey (including pay-to-pubkey) under Legacy …",50,null],[13,"Pkh","","Pay-to-PubKey-Hash",50,null],[13,"Wpkh","","Pay-to-Witness-PubKey-Hash",50,null],[13,"Sh","","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)",50,null],[13,"Wsh","","Pay-to-Witness-ScriptHash with Segwitv0 context",50,null],[4,"Legacy","","Legacy ScriptContext To be used as P2SH scripts For …",null,null],[3,"Miniscript","","Top-level script AST type",null,null],[12,"node","","A node in the Abstract Syntax Tree(",51,null],[12,"ty","","The correctness and malleability type information for the …",51,null],[12,"ext","","Additional information helpful for extra analysis.",51,null],[8,"ScriptContext","","The ScriptContext for Miniscript. Additional type …",null,null],[10,"check_terminal_non_malleable","","Depending on ScriptContext, fragments can be malleable. …",52,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]]],[11,"check_witness","","Check whether the given satisfaction is valid under the …",52,[[],[["scriptcontexterror",4],["result",4]]]],[10,"max_satisfaction_size","","Depending on script context, the size of a satifaction …",52,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["error",4],["result",4]]]],[4,"Segwitv0","","Segwitv0 ScriptContext",null,null],[3,"DerivedDescriptorKey","","Extended [DescriptorPublicKey] that has been derived",null,null],[6,"ExtendedDescriptor","","Alias for a [Descriptor] that can contain extended keys …",null,null],[6,"DerivedDescriptor","","Alias for a [Descriptor] that contains extended derived …",null,null],[6,"HDKeyPaths","","Alias for the type of maps that represent derivation …",null,null],[8,"IntoWalletDescriptor","","Trait for types which can be converted into an […",null,null],[10,"into_wallet_descriptor","","Convert to wallet descriptor",53,[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]]],[8,"ExtractPolicy","","Trait implemented on [Descriptor]s to add a method to …",null,null],[10,"extract_policy","","Extract the spending [policy]",54,[[["signerscontainer",3],["secp256k1",3]],[["result",4],["descriptorerror",4],["option",4]]]],[0,"keys","bdk","Key formats",null,null],[0,"bip39","bdk::keys","BIP-0039",null,null],[4,"Language","bdk::keys::bip39","The language determines which words will be used in a …",null,null],[13,"English","","",55,null],[13,"ChineseSimplified","","",55,null],[13,"ChineseTraditional","","",55,null],[13,"French","","",55,null],[13,"Italian","","",55,null],[13,"Japanese","","",55,null],[13,"Korean","","",55,null],[13,"Spanish","","",55,null],[3,"Mnemonic","","The primary type in this crate, most tasks require …",null,null],[4,"MnemonicType","","Determines the number of words that will be present in a …",null,null],[13,"Words12","","",56,null],[13,"Words15","","",56,null],[13,"Words18","","",56,null],[13,"Words21","","",56,null],[13,"Words24","","",56,null],[3,"Seed","","The secret value used to derive HD wallet addresses from …",null,null],[6,"MnemonicWithPassphrase","","Type for a BIP39 mnemonic with an optional passphrase",null,null],[4,"DescriptorPublicKey","bdk::keys","The MiniscriptKey corresponding to Descriptors. This can …",null,null],[13,"SinglePub","","Single Public Key",57,null],[13,"XPub","","Xpub",57,null],[4,"DescriptorSecretKey","","A Secret Key that can be either a single key or an Xprv",null,null],[13,"SinglePriv","","Single Secret Key",58,null],[13,"XPrv","","Xprv",58,null],[3,"DescriptorSinglePriv","","A Single Descriptor Secret Key with optional origin …",null,null],[12,"origin","","Origin information",59,null],[12,"key","","The key",59,null],[3,"DescriptorSinglePub","","A Single Descriptor Key with optional origin information",null,null],[12,"origin","","Origin information",60,null],[12,"key","","The key",60,null],[6,"KeyMap","","Alias type for a map of public key to secret key",null,null],[3,"SortedMultiVec","","Contents of a \\\"sortedmulti\\\" descriptor",null,null],[12,"k","","signatures required",61,null],[12,"pks","","public keys inside sorted Multi",61,null],[8,"ScriptContext","","The ScriptContext for Miniscript. Additional type …",null,null],[10,"check_terminal_non_malleable","","Depending on ScriptContext, fragments can be malleable. …",52,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]]],[11,"check_witness","","Check whether the given satisfaction is valid under the …",52,[[],[["scriptcontexterror",4],["result",4]]]],[10,"max_satisfaction_size","","Depending on script context, the size of a satifaction …",52,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["error",4],["result",4]]]],[6,"ValidNetworks","","Set of valid networks for a key",null,null],[5,"any_network","","Create a set containing mainnet, testnet and regtest",null,[[],["validnetworks",6]]],[5,"mainnet_network","","Create a set only containing mainnet",null,[[],["validnetworks",6]]],[5,"test_networks","","Create a set containing testnet and regtest",null,[[],["validnetworks",6]]],[5,"merge_networks","","Compute the intersection of two sets",null,[[["validnetworks",6]],["validnetworks",6]]],[4,"DescriptorKey","","Container for public or secret keys",null,null],[11,"from_public","","Create an instance given a public key and a set of valid …",62,[[["descriptorpublickey",4],["validnetworks",6]]]],[11,"from_secret","","Create an instance given a secret key and a set of valid …",62,[[["validnetworks",6],["descriptorsecretkey",4]]]],[11,"override_valid_networks","","Override the computed set of valid networks",62,[[["validnetworks",6]]]],[4,"ScriptContextEnum","","Enum representation of the known valid [ScriptContext]s",null,null],[13,"Legacy","","Legacy scripts",63,null],[13,"Segwitv0","","Segwitv0 scripts",63,null],[11,"is_legacy","","Returns whether the script context is […",63,[[],["bool",15]]],[11,"is_segwit_v0","","Returns whether the script context is […",63,[[],["bool",15]]],[8,"ExtScriptContext","","Trait that adds extra useful methods to [ScriptContext]s",null,null],[10,"as_enum","","Returns the [ScriptContext] as a [ScriptContextEnum]",64,[[],["scriptcontextenum",4]]],[11,"is_legacy","","Returns whether the script context is Legacy",64,[[],["bool",15]]],[11,"is_segwit_v0","","Returns whether the script context is Segwitv0",64,[[],["bool",15]]],[8,"IntoDescriptorKey","","Trait for objects that can be turned into a public or …",null,null],[10,"into_descriptor_key","","Turn the key into a [DescriptorKey] within the requested […",65,[[],[["descriptorkey",4],["keyerror",4],["result",4]]]],[4,"ExtendedKey","","Enum for extended keys that can be either xprv or xpub",null,null],[13,"Private","","A private extended key, aka an xprv",66,null],[13,"Public","","A public extended key, aka an xpub",66,null],[11,"has_secret","","Return whether or not the key contains the private data",66,[[],["bool",15]]],[11,"into_xprv","","Transform the [ExtendedKey] into an ExtendedPrivKey for …",66,[[["network",4]],[["option",4],["extendedprivkey",3]]]],[11,"into_xpub","","Transform the [ExtendedKey] into an ExtendedPubKey for the…",66,[[["secp256k1",3],["network",4]],["extendedpubkey",3]]],[8,"DerivableKey","","Trait for keys that can be derived.",null,null],[10,"into_extended_key","","Consume self and turn it into an [ExtendedKey]",67,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","Consume self and turn it into a [DescriptorKey] by adding …",67,[[["derivationpath",3],["keysource",6],["option",4]],[["descriptorkey",4],["keyerror",4],["result",4]]]],[3,"GeneratedKey","","Output of a [GeneratableKey] key generation",null,null],[11,"into_key","","Consumes self and returns the key",68,[[]]],[8,"GeneratableKey","","Trait for keys that can be generated",null,null],[16,"Entropy","","Type specifying the amount of entropy required e.g. …",69,null],[16,"Options","","Extra options required by the generate_with_entropy",69,null],[16,"Error","","Returned error in case of failure",69,null],[10,"generate_with_entropy","","Generate a key given the extra options and the entropy",69,[[],[["generatedkey",3],["result",4]]]],[11,"generate","","Generate a key given the options with a random entropy",69,[[],[["generatedkey",3],["result",4]]]],[8,"GeneratableDefaultOptions","","Trait that allows generating a key with the default …",null,null],[11,"generate_with_entropy_default","","Generate a key with the default options and a given …",70,[[],[["generatedkey",3],["result",4]]]],[11,"generate_default","","Generate a key with the default options and a random …",70,[[],[["generatedkey",3],["result",4]]]],[3,"PrivateKeyGenerateOptions","","Options for generating a [PrivateKey]",null,null],[12,"compressed","","Whether the generated key should be \\\"compressed\\\" or not",71,null],[4,"KeyError","","Errors thrown while working with keys",null,null],[13,"InvalidScriptContext","","The key cannot exist in the given script context",72,null],[13,"InvalidNetwork","","The key is not valid for the given network",72,null],[13,"InvalidChecksum","","The key has an invalid checksum",72,null],[13,"Message","","Custom error message",72,null],[13,"BIP32","","BIP32 error",72,null],[13,"Miniscript","","Miniscript error",72,null],[0,"wallet","bdk","Wallet",null,null],[0,"address_validator","bdk::wallet","Address validation callbacks",null,null],[4,"AddressValidatorError","bdk::wallet::address_validator","Errors that can be returned to fail the validation of an …",null,null],[13,"UserRejected","","User rejected the address",73,null],[13,"ConnectionError","","Network connection error",73,null],[13,"TimeoutError","","Network request timeout error",73,null],[13,"InvalidScript","","Invalid script",73,null],[13,"Message","","A custom error message",73,null],[8,"AddressValidator","","Trait to build address validators",null,null],[10,"validate","","Validate or inspect an address",74,[[["keychainkind",4],["script",3],["hdkeypaths",6]],[["result",4],["addressvalidatorerror",4]]]],[0,"coin_selection","bdk::wallet","Coin selection",null,null],[6,"DefaultCoinSelectionAlgorithm","bdk::wallet::coin_selection","Default coin selection algorithm used by TxBuilder if not …",null,null],[3,"CoinSelectionResult","","Result of a successful coin selection",null,null],[12,"selected","","List of outputs selected for use as inputs",75,null],[12,"selected_amount","","Sum of the selected inputs\' value",75,null],[12,"fee_amount","","Total fee amount in satoshi",75,null],[8,"CoinSelectionAlgorithm","","Trait for generalized coin selection algorithms",null,null],[10,"coin_select","","Perform the coin selection",76,[[["feerate",3],["vec",3],["f32",15],["u64",15]],[["error",4],["result",4],["coinselectionresult",3]]]],[3,"LargestFirstCoinSelection","","Simple and dumb coin selection",null,null],[3,"BranchAndBoundCoinSelection","","Branch and bound coin selection",null,null],[11,"new","","Create new instance with target size for change output",77,[[["u64",15]]]],[0,"export","bdk::wallet","Wallet export",null,null],[3,"WalletExport","bdk::wallet::export","Structure that contains the export of a wallet",null,null],[12,"blockheight","","Earliest block to rescan when looking for the wallet\'s …",78,null],[12,"label","","Arbitrary label for the wallet",78,null],[11,"export_wallet","","Export a wallet",78,[[["bool",15],["wallet",3],["str",15]],[["result",4],["str",15]]]],[11,"descriptor","","Return the external descriptor",78,[[],["string",3]]],[11,"change_descriptor","","Return the internal descriptor, if present",78,[[],[["option",4],["string",3]]]],[0,"signer","bdk::wallet","Generalized signers",null,null],[4,"SignerId","bdk::wallet::signer","Identifier of a signer in the SignersContainers. Used as …",null,null],[13,"PkHash","","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA …",79,null],[13,"Fingerprint","","The fingerprint of a BIP32 extended key",79,null],[13,"Dummy","","Dummy identifier",79,null],[4,"SignerError","","Signing error",null,null],[13,"MissingKey","","The private key is missing for the required public key",80,null],[13,"InvalidKey","","The private key in use has the right fingerprint but …",80,null],[13,"UserCanceled","","The user canceled the operation",80,null],[13,"InputIndexOutOfRange","","Input index is out of range",80,null],[13,"MissingNonWitnessUtxo","","The non_witness_utxo field of the transaction is required …",80,null],[13,"InvalidNonWitnessUtxo","","The non_witness_utxo specified is invalid",80,null],[13,"MissingWitnessUtxo","","The witness_utxo field of the transaction is required to …",80,null],[13,"MissingWitnessScript","","The witness_script field of the transaction is requied to …",80,null],[13,"MissingHDKeypath","","The fingerprint and derivation path are missing from the …",80,null],[8,"Signer","","Trait for signers",null,null],[10,"sign","","Sign a PSBT",81,[[["usize",15],["secp256k1",3],["partiallysignedtransaction",3],["option",4]],[["signererror",4],["result",4]]]],[10,"sign_whole_tx","","Return whether or not the signer signs the whole …",81,[[],["bool",15]]],[10,"id","","Return the [SignerId] for this signer",81,[[["secp256k1",3]],["signerid",4]]],[11,"descriptor_secret_key","","Return the secret key for the signer",81,[[],[["option",4],["descriptorsecretkey",4]]]],[3,"SignerOrdering","","Defines the order in which signers are called",null,null],[12,"0","","",82,null],[3,"SignersContainer","","Container for multiple signers",null,null],[11,"as_key_map","","Create a map of public keys to secret keys",83,[[["secp256k1",3]],["keymap",6]]],[11,"new","","Default constructor",83,[[]]],[11,"add_external","","Adds an external signer to the container for the …",83,[[["signerid",4],["arc",3],["signer",8],["signerordering",3]],[["arc",3],["option",4]]]],[11,"remove","","Removes a signer from the container and returns it",83,[[["signerid",4],["signerordering",3]],[["arc",3],["option",4]]]],[11,"ids","","Returns the list of identifiers of all the signers in the …",83,[[],[["vec",3],["signerid",4]]]],[11,"signers","","Returns the list of signers in the container, sorted by …",83,[[],[["vec",3],["arc",3]]]],[11,"find","","Finds the signer with lowest ordering for a given id in …",83,[[["signerid",4]],[["arc",3],["option",4]]]],[0,"time","bdk::wallet","Cross-platform time",null,null],[5,"get_timestamp","bdk::wallet::time","Return the current timestamp in seconds",null,[[],["u64",15]]],[0,"tx_builder","bdk::wallet","Transaction builder",null,null],[8,"TxBuilderContext","bdk::wallet::tx_builder","Context in which the [TxBuilder] is valid",null,null],[3,"CreateTx","","Marker type to indicate the [TxBuilder] is being used to …",null,null],[3,"BumpFee","","Marker type to indicate the [TxBuilder] is being used to …",null,null],[3,"TxBuilder","","A transaction builder",null,null],[11,"fee_rate","","Set a custom fee rate",84,[[["feerate",3]]]],[11,"fee_absolute","","Set an absolute fee",84,[[["u64",15]]]],[11,"policy_path","","Set the policy path to use while creating the transaction …",84,[[["keychainkind",4],["string",3],["vec",3],["btreemap",3]]]],[11,"add_utxos","","Add the list of outpoints to the internal list of UTXOs …",84,[[],[["result",4],["error",4]]]],[11,"add_utxo","","Add a utxo to the internal list of utxos that must be …",84,[[["outpoint",3]],[["result",4],["error",4]]]],[11,"manually_selected_only","","Only spend utxos added by add_utxo.",84,[[]]],[11,"unspendable","","Replace the internal list of unspendable utxos with a new …",84,[[["outpoint",3],["vec",3]]]],[11,"add_unspendable","","Add a utxo to the internal list of unspendable utxos",84,[[["outpoint",3]]]],[11,"sighash","","Sign with a specific sig hash",84,[[["sighashtype",4]]]],[11,"ordering","","Choose the ordering for inputs and outputs of the …",84,[[["txordering",4]]]],[11,"nlocktime","","Use a specific nLockTime while creating the transaction",84,[[["u32",15]]]],[11,"version","","Build a transaction with a specific version",84,[[["i32",15]]]],[11,"do_not_spend_change","","Do not spend change outputs",84,[[]]],[11,"only_spend_change","","Only spend change outputs",84,[[]]],[11,"change_policy","","Set a specific [ChangeSpendPolicy]. See […",84,[[["changespendpolicy",4]]]],[11,"force_non_witness_utxo","","Fill-in the psbt::Input::non_witness_utxo field even if …",84,[[]]],[11,"include_output_redeem_witness_script","","Fill-in the psbt::Output::redeem_script and …",84,[[]]],[11,"add_global_xpubs","","Fill-in the PSBT_GLOBAL_XPUB field with the extended keys …",84,[[]]],[11,"drain_wallet","","Spend all the available inputs. This respects filters …",84,[[]]],[11,"coin_selection","","Choose the coin selection algorithm",84,[[["coinselectionalgorithm",8]],[["coinselectionalgorithm",8],["txbuilder",3]]]],[11,"finish","","Finish the building the transaction.",84,[[],[["result",4],["error",4]]]],[11,"set_recipients","","Replace the recipients already added with a new list",84,[[["vec",3]]]],[11,"add_recipient","","Add a recipient to the internal list",84,[[["script",3],["u64",15]]]],[11,"set_single_recipient","","Set a single recipient that will get all the selected …",84,[[["script",3]]]],[11,"enable_rbf","","Enable signaling RBF",84,[[]]],[11,"enable_rbf_with_sequence","","Enable signaling RBF with a specific nSequence value",84,[[["u32",15]]]],[11,"maintain_single_recipient","","Bump the fees of a transaction made with …",84,[[],[["result",4],["error",4]]]],[4,"TxOrdering","","Ordering of the transaction\'s inputs and outputs",null,null],[13,"Shuffle","","Randomized (default)",85,null],[13,"Untouched","","Unchanged",85,null],[13,"BIP69Lexicographic","","BIP69 / Lexicographic",85,null],[11,"sort_tx","","Sort transaction inputs and outputs by [TxOrdering] …",85,[[["transaction",3]]]],[4,"ChangeSpendPolicy","","Policy regarding the use of change outputs when creating …",null,null],[13,"ChangeAllowed","","Use both change and non-change outputs (default)",86,null],[13,"OnlyChange","","Only use change outputs (see [TxBuilder::only_spend_change…",86,null],[13,"ChangeForbidden","","Only use non-change outputs (see […",86,null],[8,"IsDust","bdk::wallet","Trait to check if a value is below the dust limit",null,null],[10,"is_dust","","Check whether or not a value is below dust limit",87,[[],["bool",15]]],[3,"Wallet","","A Bitcoin wallet",null,null],[11,"new_offline","","Create a new \\\"offline\\\" wallet",88,[[["option",4],["intowalletdescriptor",8],["network",4]],[["error",4],["result",4]]]],[11,"get_new_address","","Return a newly generated address using the external …",88,[[],[["error",4],["result",4],["address",3]]]],[11,"is_mine","","Return whether or not a script is part of this wallet …",88,[[["script",3]],[["bool",15],["result",4],["error",4]]]],[11,"list_unspent","","Return the list of unspent outputs of this wallet",88,[[],[["error",4],["result",4],["vec",3]]]],[11,"get_utxo","","Returns the UTXO owned by this wallet corresponding to …",88,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"list_transactions","","Return the list of transactions made and received by the …",88,[[["bool",15]],[["result",4],["vec",3],["error",4]]]],[11,"get_balance","","Return the balance, meaning the sum of this wallet\'s …",88,[[],[["result",4],["error",4],["u64",15]]]],[11,"add_signer","","Add an external signer",88,[[["keychainkind",4],["arc",3],["signer",8],["signerordering",3]]]],[11,"add_address_validator","","Add an address validator",88,[[["arc",3],["addressvalidator",8]]]],[11,"build_tx","","Start building a transaction.",88,[[],[["defaultcoinselectionalgorithm",6],["txbuilder",3],["createtx",3]]]],[11,"build_fee_bump","","Bump the fee of a transaction previously created with …",88,[[["txid",3]],[["txbuilder",3],["result",4],["error",4]]]],[11,"sign","","Sign a transaction with all the wallet\'s signers, in the …",88,[[["psbt",3],["u32",15],["option",4]],[["result",4],["error",4]]]],[11,"policies","","Return the spending policies for the wallet\'s descriptor",88,[[["keychainkind",4]],[["result",4],["error",4],["option",4]]]],[11,"public_descriptor","","Return the \\\"public\\\" version of the wallet\'s descriptor, …",88,[[["keychainkind",4]],[["option",4],["result",4],["error",4]]]],[11,"finalize_psbt","","Try to finalize a PSBT",88,[[["psbt",3],["u32",15],["option",4]],[["result",4],["error",4]]]],[11,"secp_ctx","","Return the secp256k1 context used for all signing …",88,[[],["secp256k1",3]]],[11,"get_descriptor_for_keychain","","Returns the descriptor used to create adddresses for a …",88,[[["keychainkind",4]],["extendeddescriptor",6]]],[11,"new","","Create a new \\\"online\\\" wallet",88,[[["option",4],["intowalletdescriptor",8],["network",4]],[["error",4],["result",4]]]],[11,"sync","","Sync the internal database with the blockchain",88,[[["progress",8],["u32",15],["option",4]],[["result",4],["error",4]]]],[11,"client","","Return a reference to the internal blockchain client",88,[[]]],[11,"network","","Get the Bitcoin network the wallet is using.",88,[[],["network",4]]],[11,"broadcast","","Broadcast a transaction to the network",88,[[["transaction",3]],[["txid",3],["error",4],["result",4]]]],[4,"Error","bdk","Errors that can be thrown by the Wallet",null,null],[13,"InvalidU32Bytes","","Wrong number of bytes found when trying to convert to u32",89,null],[13,"Generic","","Generic error",89,null],[13,"ScriptDoesntHaveAddressForm","","This error is thrown when trying to convert Bare and …",89,null],[13,"SingleRecipientMultipleOutputs","","Found multiple outputs when single_recipient option has …",89,null],[13,"SingleRecipientNoInputs","","single_recipient option is selected but neither …",89,null],[13,"NoRecipients","","Cannot build a tx without recipients",89,null],[13,"NoUtxosSelected","","manually_selected_only option is selected but no utxo has …",89,null],[13,"OutputBelowDustLimit","","Output created is under the dust limit, 546 satoshis",89,null],[13,"InsufficientFunds","","Wallet\'s UTXO set is not enough to cover recipient\'s …",89,null],[12,"needed","bdk::Error","Sats needed for some transaction",90,null],[12,"available","","Sats available for spending",90,null],[13,"BnBTotalTriesExceeded","bdk","Branch and bound coin selection possible attempts with …",89,null],[13,"BnBNoExactMatch","","Branch and bound coin selection tries to avoid needing a …",89,null],[13,"UnknownUTXO","","Happens when trying to spend an UTXO that is not in the …",89,null],[13,"TransactionNotFound","","Thrown when a tx is not found in the internal database",89,null],[13,"TransactionConfirmed","","Happens when trying to bump a transaction that is already …",89,null],[13,"IrreplaceableTransaction","","Trying to replace a tx that has a sequence >= 0xFFFFFFFE",89,null],[13,"FeeRateTooLow","","When bumping a tx the fee rate requested is lower than …",89,null],[12,"required","bdk::Error","Required fee rate (satoshi/vbyte)",91,null],[13,"FeeTooLow","bdk","When bumping a tx the absolute fee requested is lower …",89,null],[12,"required","bdk::Error","Required fee absolute value (satoshi)",92,null],[13,"MissingKeyOrigin","bdk","In order to use the TxBuilder::add_global_xpubs option …",89,null],[13,"Key","","Error while working with keys",89,null],[13,"ChecksumMismatch","","Descriptor checksum mismatch",89,null],[13,"SpendingPolicyRequired","","Spending policy is not compatible with this KeychainKind",89,null],[13,"InvalidPolicyPathError","","Error while extracting and manipulating policies",89,null],[13,"Signer","","Signing error",89,null],[13,"InvalidProgressValue","","Progress value must be between 0.0 (included) and 100.0 …",89,null],[13,"ProgressUpdateError","","Progress update error (maybe the channel has been closed)",89,null],[13,"InvalidOutpoint","","Requested outpoint doesn\'t exist in the tx (vout greater …",89,null],[13,"Descriptor","","Error related to the parsing and usage of descriptors",89,null],[13,"AddressValidator","","Error that can be returned to fail the validation of an …",89,null],[13,"Encode","","Encoding error",89,null],[13,"Miniscript","","Miniscript error",89,null],[13,"BIP32","","BIP32 error",89,null],[13,"Secp256k1","","An ECDSA error",89,null],[13,"JSON","","Error serializing or deserializing JSON data",89,null],[13,"Hex","","Hex decoding error",89,null],[13,"PSBT","","Partially signed bitcoin transaction error",89,null],[13,"Electrum","","Electrum client error",89,null],[13,"Esplora","","Esplora client error",89,null],[13,"CompactFilters","","Compact filters client error)",89,null],[13,"Sled","","Sled database error",89,null],[4,"KeychainKind","","Types of keychains",null,null],[13,"External","","External",93,null],[13,"Internal","","Internal, usually used for change outputs",93,null],[3,"FeeRate","","Fee rate",null,null],[3,"UTXO","","A wallet unspent output",null,null],[12,"outpoint","","Reference to a transaction output",94,null],[12,"txout","","Transaction output",94,null],[12,"keychain","","Type of keychain",94,null],[3,"TransactionDetails","","A wallet transaction",null,null],[12,"transaction","","Optional transaction",95,null],[12,"txid","","Transaction id",95,null],[12,"timestamp","","Timestamp",95,null],[12,"received","","Received value (sats)",95,null],[12,"sent","","Sent value (sats)",95,null],[12,"fees","","Fee value (sats)",95,null],[12,"height","","Confirmed in block height, None means unconfirmed",95,null],[5,"version","","Get the version of BDK at runtime",null,[[],["str",15]]],[14,"descriptor","","Macro to write full descriptors with code",null,null],[14,"fragment","","Macro to write descriptor fragments with code",null,null],[11,"from","","",89,[[]]],[11,"into","","",89,[[]]],[11,"to_string","","",89,[[],["string",3]]],[11,"borrow","","",89,[[]]],[11,"borrow_mut","","",89,[[]]],[11,"try_from","","",89,[[],["result",4]]],[11,"try_into","","",89,[[],["result",4]]],[11,"type_id","","",89,[[],["typeid",3]]],[11,"vzip","","",89,[[]]],[11,"init","","",89,[[],["usize",15]]],[11,"deref","","",89,[[["usize",15]]]],[11,"deref_mut","","",89,[[["usize",15]]]],[11,"drop","","",89,[[["usize",15]]]],[11,"from","bdk::blockchain::any","",0,[[]]],[11,"into","","",0,[[]]],[11,"borrow","","",0,[[]]],[11,"borrow_mut","","",0,[[]]],[11,"try_from","","",0,[[],["result",4]]],[11,"try_into","","",0,[[],["result",4]]],[11,"type_id","","",0,[[],["typeid",3]]],[11,"vzip","","",0,[[]]],[11,"init","","",0,[[],["usize",15]]],[11,"deref","","",0,[[["usize",15]]]],[11,"deref_mut","","",0,[[["usize",15]]]],[11,"drop","","",0,[[["usize",15]]]],[11,"from","","",1,[[]]],[11,"into","","",1,[[]]],[11,"borrow","","",1,[[]]],[11,"borrow_mut","","",1,[[]]],[11,"try_from","","",1,[[],["result",4]]],[11,"try_into","","",1,[[],["result",4]]],[11,"type_id","","",1,[[],["typeid",3]]],[11,"vzip","","",1,[[]]],[11,"init","","",1,[[],["usize",15]]],[11,"deref","","",1,[[["usize",15]]]],[11,"deref_mut","","",1,[[["usize",15]]]],[11,"drop","","",1,[[["usize",15]]]],[11,"from","bdk::blockchain::electrum","",96,[[]]],[11,"into","","",96,[[]]],[11,"borrow","","",96,[[]]],[11,"borrow_mut","","",96,[[]]],[11,"try_from","","",96,[[],["result",4]]],[11,"try_into","","",96,[[],["result",4]]],[11,"type_id","","",96,[[],["typeid",3]]],[11,"vzip","","",96,[[]]],[11,"init","","",96,[[],["usize",15]]],[11,"deref","","",96,[[["usize",15]]]],[11,"deref_mut","","",96,[[["usize",15]]]],[11,"drop","","",96,[[["usize",15]]]],[11,"from","","",2,[[]]],[11,"into","","",2,[[]]],[11,"borrow","","",2,[[]]],[11,"borrow_mut","","",2,[[]]],[11,"try_from","","",2,[[],["result",4]]],[11,"try_into","","",2,[[],["result",4]]],[11,"type_id","","",2,[[],["typeid",3]]],[11,"vzip","","",2,[[]]],[11,"init","","",2,[[],["usize",15]]],[11,"deref","","",2,[[["usize",15]]]],[11,"deref_mut","","",2,[[["usize",15]]]],[11,"drop","","",2,[[["usize",15]]]],[11,"from","bdk::blockchain::esplora","",3,[[]]],[11,"into","","",3,[[]]],[11,"borrow","","",3,[[]]],[11,"borrow_mut","","",3,[[]]],[11,"try_from","","",3,[[],["result",4]]],[11,"try_into","","",3,[[],["result",4]]],[11,"type_id","","",3,[[],["typeid",3]]],[11,"vzip","","",3,[[]]],[11,"init","","",3,[[],["usize",15]]],[11,"deref","","",3,[[["usize",15]]]],[11,"deref_mut","","",3,[[["usize",15]]]],[11,"drop","","",3,[[["usize",15]]]],[11,"from","","",4,[[]]],[11,"into","","",4,[[]]],[11,"borrow","","",4,[[]]],[11,"borrow_mut","","",4,[[]]],[11,"try_from","","",4,[[],["result",4]]],[11,"try_into","","",4,[[],["result",4]]],[11,"type_id","","",4,[[],["typeid",3]]],[11,"vzip","","",4,[[]]],[11,"init","","",4,[[],["usize",15]]],[11,"deref","","",4,[[["usize",15]]]],[11,"deref_mut","","",4,[[["usize",15]]]],[11,"drop","","",4,[[["usize",15]]]],[11,"from","","",5,[[]]],[11,"into","","",5,[[]]],[11,"to_string","","",5,[[],["string",3]]],[11,"borrow","","",5,[[]]],[11,"borrow_mut","","",5,[[]]],[11,"try_from","","",5,[[],["result",4]]],[11,"try_into","","",5,[[],["result",4]]],[11,"type_id","","",5,[[],["typeid",3]]],[11,"vzip","","",5,[[]]],[11,"init","","",5,[[],["usize",15]]],[11,"deref","","",5,[[["usize",15]]]],[11,"deref_mut","","",5,[[["usize",15]]]],[11,"drop","","",5,[[["usize",15]]]],[11,"from","bdk::blockchain::compact_filters","",97,[[]]],[11,"into","","",97,[[]]],[11,"borrow","","",97,[[]]],[11,"borrow_mut","","",97,[[]]],[11,"try_from","","",97,[[],["result",4]]],[11,"try_into","","",97,[[],["result",4]]],[11,"type_id","","",97,[[],["typeid",3]]],[11,"vzip","","",97,[[]]],[11,"init","","",97,[[],["usize",15]]],[11,"deref","","",97,[[["usize",15]]]],[11,"deref_mut","","",97,[[["usize",15]]]],[11,"drop","","",97,[[["usize",15]]]],[11,"from","","",98,[[]]],[11,"into","","",98,[[]]],[11,"borrow","","",98,[[]]],[11,"borrow_mut","","",98,[[]]],[11,"try_from","","",98,[[],["result",4]]],[11,"try_into","","",98,[[],["result",4]]],[11,"type_id","","",98,[[],["typeid",3]]],[11,"vzip","","",98,[[]]],[11,"init","","",98,[[],["usize",15]]],[11,"deref","","",98,[[["usize",15]]]],[11,"deref_mut","","",98,[[["usize",15]]]],[11,"drop","","",98,[[["usize",15]]]],[11,"from","","",6,[[]]],[11,"into","","",6,[[]]],[11,"borrow","","",6,[[]]],[11,"borrow_mut","","",6,[[]]],[11,"try_from","","",6,[[],["result",4]]],[11,"try_into","","",6,[[],["result",4]]],[11,"type_id","","",6,[[],["typeid",3]]],[11,"vzip","","",6,[[]]],[11,"init","","",6,[[],["usize",15]]],[11,"deref","","",6,[[["usize",15]]]],[11,"deref_mut","","",6,[[["usize",15]]]],[11,"drop","","",6,[[["usize",15]]]],[11,"from","","",7,[[]]],[11,"into","","",7,[[]]],[11,"borrow","","",7,[[]]],[11,"borrow_mut","","",7,[[]]],[11,"try_from","","",7,[[],["result",4]]],[11,"try_into","","",7,[[],["result",4]]],[11,"type_id","","",7,[[],["typeid",3]]],[11,"vzip","","",7,[[]]],[11,"init","","",7,[[],["usize",15]]],[11,"deref","","",7,[[["usize",15]]]],[11,"deref_mut","","",7,[[["usize",15]]]],[11,"drop","","",7,[[["usize",15]]]],[11,"from","","",8,[[]]],[11,"into","","",8,[[]]],[11,"borrow","","",8,[[]]],[11,"borrow_mut","","",8,[[]]],[11,"try_from","","",8,[[],["result",4]]],[11,"try_into","","",8,[[],["result",4]]],[11,"type_id","","",8,[[],["typeid",3]]],[11,"vzip","","",8,[[]]],[11,"init","","",8,[[],["usize",15]]],[11,"deref","","",8,[[["usize",15]]]],[11,"deref_mut","","",8,[[["usize",15]]]],[11,"drop","","",8,[[["usize",15]]]],[11,"from","","",9,[[]]],[11,"into","","",9,[[]]],[11,"to_string","","",9,[[],["string",3]]],[11,"borrow","","",9,[[]]],[11,"borrow_mut","","",9,[[]]],[11,"try_from","","",9,[[],["result",4]]],[11,"try_into","","",9,[[],["result",4]]],[11,"type_id","","",9,[[],["typeid",3]]],[11,"vzip","","",9,[[]]],[11,"init","","",9,[[],["usize",15]]],[11,"deref","","",9,[[["usize",15]]]],[11,"deref_mut","","",9,[[["usize",15]]]],[11,"drop","","",9,[[["usize",15]]]],[11,"from","bdk::blockchain","",10,[[]]],[11,"into","","",10,[[]]],[11,"to_owned","","",10,[[]]],[11,"clone_into","","",10,[[]]],[11,"borrow","","",10,[[]]],[11,"borrow_mut","","",10,[[]]],[11,"try_from","","",10,[[],["result",4]]],[11,"try_into","","",10,[[],["result",4]]],[11,"type_id","","",10,[[],["typeid",3]]],[11,"vzip","","",10,[[]]],[11,"equivalent","","",10,[[],["bool",15]]],[11,"init","","",10,[[],["usize",15]]],[11,"deref","","",10,[[["usize",15]]]],[11,"deref_mut","","",10,[[["usize",15]]]],[11,"drop","","",10,[[["usize",15]]]],[11,"from","","",99,[[]]],[11,"into","","",99,[[]]],[11,"to_owned","","",99,[[]]],[11,"clone_into","","",99,[[]]],[11,"borrow","","",99,[[]]],[11,"borrow_mut","","",99,[[]]],[11,"try_from","","",99,[[],["result",4]]],[11,"try_into","","",99,[[],["result",4]]],[11,"type_id","","",99,[[],["typeid",3]]],[11,"vzip","","",99,[[]]],[11,"init","","",99,[[],["usize",15]]],[11,"deref","","",99,[[["usize",15]]]],[11,"deref_mut","","",99,[[["usize",15]]]],[11,"drop","","",99,[[["usize",15]]]],[11,"from","","",100,[[]]],[11,"into","","",100,[[]]],[11,"to_owned","","",100,[[]]],[11,"clone_into","","",100,[[]]],[11,"borrow","","",100,[[]]],[11,"borrow_mut","","",100,[[]]],[11,"try_from","","",100,[[],["result",4]]],[11,"try_into","","",100,[[],["result",4]]],[11,"type_id","","",100,[[],["typeid",3]]],[11,"vzip","","",100,[[]]],[11,"init","","",100,[[],["usize",15]]],[11,"deref","","",100,[[["usize",15]]]],[11,"deref_mut","","",100,[[["usize",15]]]],[11,"drop","","",100,[[["usize",15]]]],[11,"from","bdk::database::any","",14,[[]]],[11,"into","","",14,[[]]],[11,"borrow","","",14,[[]]],[11,"borrow_mut","","",14,[[]]],[11,"try_from","","",14,[[],["result",4]]],[11,"try_into","","",14,[[],["result",4]]],[11,"type_id","","",14,[[],["typeid",3]]],[11,"vzip","","",14,[[]]],[11,"init","","",14,[[],["usize",15]]],[11,"deref","","",14,[[["usize",15]]]],[11,"deref_mut","","",14,[[["usize",15]]]],[11,"drop","","",14,[[["usize",15]]]],[11,"from","","",15,[[]]],[11,"into","","",15,[[]]],[11,"borrow","","",15,[[]]],[11,"borrow_mut","","",15,[[]]],[11,"try_from","","",15,[[],["result",4]]],[11,"try_into","","",15,[[],["result",4]]],[11,"type_id","","",15,[[],["typeid",3]]],[11,"vzip","","",15,[[]]],[11,"init","","",15,[[],["usize",15]]],[11,"deref","","",15,[[["usize",15]]]],[11,"deref_mut","","",15,[[["usize",15]]]],[11,"drop","","",15,[[["usize",15]]]],[11,"from","","",16,[[]]],[11,"into","","",16,[[]]],[11,"borrow","","",16,[[]]],[11,"borrow_mut","","",16,[[]]],[11,"try_from","","",16,[[],["result",4]]],[11,"try_into","","",16,[[],["result",4]]],[11,"type_id","","",16,[[],["typeid",3]]],[11,"vzip","","",16,[[]]],[11,"init","","",16,[[],["usize",15]]],[11,"deref","","",16,[[["usize",15]]]],[11,"deref_mut","","",16,[[["usize",15]]]],[11,"drop","","",16,[[["usize",15]]]],[11,"from","","",17,[[]]],[11,"into","","",17,[[]]],[11,"borrow","","",17,[[]]],[11,"borrow_mut","","",17,[[]]],[11,"try_from","","",17,[[],["result",4]]],[11,"try_into","","",17,[[],["result",4]]],[11,"type_id","","",17,[[],["typeid",3]]],[11,"vzip","","",17,[[]]],[11,"init","","",17,[[],["usize",15]]],[11,"deref","","",17,[[["usize",15]]]],[11,"deref_mut","","",17,[[["usize",15]]]],[11,"drop","","",17,[[["usize",15]]]],[11,"from","bdk::database::memory","",18,[[]]],[11,"into","","",18,[[]]],[11,"borrow","","",18,[[]]],[11,"borrow_mut","","",18,[[]]],[11,"try_from","","",18,[[],["result",4]]],[11,"try_into","","",18,[[],["result",4]]],[11,"type_id","","",18,[[],["typeid",3]]],[11,"vzip","","",18,[[]]],[11,"init","","",18,[[],["usize",15]]],[11,"deref","","",18,[[["usize",15]]]],[11,"deref_mut","","",18,[[["usize",15]]]],[11,"drop","","",18,[[["usize",15]]]],[11,"from","bdk::descriptor","",50,[[]]],[11,"into","","",50,[[]]],[11,"to_owned","","",50,[[]]],[11,"clone_into","","",50,[[]]],[11,"to_string","","",50,[[],["string",3]]],[11,"borrow","","",50,[[]]],[11,"borrow_mut","","",50,[[]]],[11,"try_from","","",50,[[],["result",4]]],[11,"try_into","","",50,[[],["result",4]]],[11,"type_id","","",50,[[],["typeid",3]]],[11,"vzip","","",50,[[]]],[11,"equivalent","","",50,[[],["bool",15]]],[11,"init","","",50,[[],["usize",15]]],[11,"deref","","",50,[[["usize",15]]]],[11,"deref_mut","","",50,[[["usize",15]]]],[11,"drop","","",50,[[["usize",15]]]],[11,"from","bdk::keys","",57,[[]]],[11,"into","","",57,[[]]],[11,"to_owned","","",57,[[]]],[11,"clone_into","","",57,[[]]],[11,"to_string","","",57,[[],["string",3]]],[11,"borrow","","",57,[[]]],[11,"borrow_mut","","",57,[[]]],[11,"try_from","","",57,[[],["result",4]]],[11,"try_into","","",57,[[],["result",4]]],[11,"type_id","","",57,[[],["typeid",3]]],[11,"vzip","","",57,[[]]],[11,"equivalent","","",57,[[],["bool",15]]],[11,"init","","",57,[[],["usize",15]]],[11,"deref","","",57,[[["usize",15]]]],[11,"deref_mut","","",57,[[["usize",15]]]],[11,"drop","","",57,[[["usize",15]]]],[11,"as_enum","bdk::descriptor","",101,[[],["scriptcontextenum",4]]],[11,"from","","",101,[[]]],[11,"into","","",101,[[]]],[11,"to_owned","","",101,[[]]],[11,"clone_into","","",101,[[]]],[11,"borrow","","",101,[[]]],[11,"borrow_mut","","",101,[[]]],[11,"try_from","","",101,[[],["result",4]]],[11,"try_into","","",101,[[],["result",4]]],[11,"type_id","","",101,[[],["typeid",3]]],[11,"vzip","","",101,[[]]],[11,"equivalent","","",101,[[],["bool",15]]],[11,"init","","",101,[[],["usize",15]]],[11,"deref","","",101,[[["usize",15]]]],[11,"deref_mut","","",101,[[["usize",15]]]],[11,"drop","","",101,[[["usize",15]]]],[11,"from","","",51,[[]]],[11,"into","","",51,[[]]],[11,"to_owned","","",51,[[]]],[11,"clone_into","","",51,[[]]],[11,"to_string","","",51,[[],["string",3]]],[11,"borrow","","",51,[[]]],[11,"borrow_mut","","",51,[[]]],[11,"try_from","","",51,[[],["result",4]]],[11,"try_into","","",51,[[],["result",4]]],[11,"type_id","","",51,[[],["typeid",3]]],[11,"vzip","","",51,[[]]],[11,"equivalent","","",51,[[],["bool",15]]],[11,"init","","",51,[[],["usize",15]]],[11,"deref","","",51,[[["usize",15]]]],[11,"deref_mut","","",51,[[["usize",15]]]],[11,"drop","","",51,[[["usize",15]]]],[11,"as_enum","","",102,[[],["scriptcontextenum",4]]],[11,"from","","",102,[[]]],[11,"into","","",102,[[]]],[11,"to_owned","","",102,[[]]],[11,"clone_into","","",102,[[]]],[11,"borrow","","",102,[[]]],[11,"borrow_mut","","",102,[[]]],[11,"try_from","","",102,[[],["result",4]]],[11,"try_into","","",102,[[],["result",4]]],[11,"type_id","","",102,[[],["typeid",3]]],[11,"vzip","","",102,[[]]],[11,"equivalent","","",102,[[],["bool",15]]],[11,"init","","",102,[[],["usize",15]]],[11,"deref","","",102,[[["usize",15]]]],[11,"deref_mut","","",102,[[["usize",15]]]],[11,"drop","","",102,[[["usize",15]]]],[11,"from","","",103,[[]]],[11,"into","","",103,[[]]],[11,"to_owned","","",103,[[]]],[11,"clone_into","","",103,[[]]],[11,"to_string","","",103,[[],["string",3]]],[11,"borrow","","",103,[[]]],[11,"borrow_mut","","",103,[[]]],[11,"try_from","","",103,[[],["result",4]]],[11,"try_into","","",103,[[],["result",4]]],[11,"type_id","","",103,[[],["typeid",3]]],[11,"vzip","","",103,[[]]],[11,"equivalent","","",103,[[],["bool",15]]],[11,"init","","",103,[[],["usize",15]]],[11,"deref","","",103,[[["usize",15]]]],[11,"deref_mut","","",103,[[["usize",15]]]],[11,"drop","","",103,[[["usize",15]]]],[11,"from","bdk::descriptor::error","",23,[[]]],[11,"into","","",23,[[]]],[11,"to_string","","",23,[[],["string",3]]],[11,"borrow","","",23,[[]]],[11,"borrow_mut","","",23,[[]]],[11,"try_from","","",23,[[],["result",4]]],[11,"try_into","","",23,[[],["result",4]]],[11,"type_id","","",23,[[],["typeid",3]]],[11,"vzip","","",23,[[]]],[11,"init","","",23,[[],["usize",15]]],[11,"deref","","",23,[[["usize",15]]]],[11,"deref_mut","","",23,[[["usize",15]]]],[11,"drop","","",23,[[["usize",15]]]],[11,"from","bdk::descriptor::policy","",104,[[]]],[11,"into","","",104,[[]]],[11,"to_owned","","",104,[[]]],[11,"clone_into","","",104,[[]]],[11,"borrow","","",104,[[]]],[11,"borrow_mut","","",104,[[]]],[11,"try_from","","",104,[[],["result",4]]],[11,"try_into","","",104,[[],["result",4]]],[11,"type_id","","",104,[[],["typeid",3]]],[11,"vzip","","",104,[[]]],[11,"init","","",104,[[],["usize",15]]],[11,"deref","","",104,[[["usize",15]]]],[11,"deref_mut","","",104,[[["usize",15]]]],[11,"drop","","",104,[[["usize",15]]]],[11,"from","","",24,[[]]],[11,"into","","",24,[[]]],[11,"to_owned","","",24,[[]]],[11,"clone_into","","",24,[[]]],[11,"borrow","","",24,[[]]],[11,"borrow_mut","","",24,[[]]],[11,"try_from","","",24,[[],["result",4]]],[11,"try_into","","",24,[[],["result",4]]],[11,"type_id","","",24,[[],["typeid",3]]],[11,"vzip","","",24,[[]]],[11,"init","","",24,[[],["usize",15]]],[11,"deref","","",24,[[["usize",15]]]],[11,"deref_mut","","",24,[[["usize",15]]]],[11,"drop","","",24,[[["usize",15]]]],[11,"from","","",33,[[]]],[11,"into","","",33,[[]]],[11,"to_owned","","",33,[[]]],[11,"clone_into","","",33,[[]]],[11,"borrow","","",33,[[]]],[11,"borrow_mut","","",33,[[]]],[11,"try_from","","",33,[[],["result",4]]],[11,"try_into","","",33,[[],["result",4]]],[11,"type_id","","",33,[[],["typeid",3]]],[11,"vzip","","",33,[[]]],[11,"init","","",33,[[],["usize",15]]],[11,"deref","","",33,[[["usize",15]]]],[11,"deref_mut","","",33,[[["usize",15]]]],[11,"drop","","",33,[[["usize",15]]]],[11,"from","","",37,[[]]],[11,"into","","",37,[[]]],[11,"to_owned","","",37,[[]]],[11,"clone_into","","",37,[[]]],[11,"borrow","","",37,[[]]],[11,"borrow_mut","","",37,[[]]],[11,"try_from","","",37,[[],["result",4]]],[11,"try_into","","",37,[[],["result",4]]],[11,"type_id","","",37,[[],["typeid",3]]],[11,"vzip","","",37,[[]]],[11,"init","","",37,[[],["usize",15]]],[11,"deref","","",37,[[["usize",15]]]],[11,"deref_mut","","",37,[[["usize",15]]]],[11,"drop","","",37,[[["usize",15]]]],[11,"from","","",38,[[]]],[11,"into","","",38,[[]]],[11,"to_owned","","",38,[[]]],[11,"clone_into","","",38,[[]]],[11,"borrow","","",38,[[]]],[11,"borrow_mut","","",38,[[]]],[11,"try_from","","",38,[[],["result",4]]],[11,"try_into","","",38,[[],["result",4]]],[11,"type_id","","",38,[[],["typeid",3]]],[11,"vzip","","",38,[[]]],[11,"equivalent","","",38,[[],["bool",15]]],[11,"init","","",38,[[],["usize",15]]],[11,"deref","","",38,[[["usize",15]]]],[11,"deref_mut","","",38,[[["usize",15]]]],[11,"drop","","",38,[[["usize",15]]]],[11,"from","","",39,[[]]],[11,"into","","",39,[[]]],[11,"to_string","","",39,[[],["string",3]]],[11,"borrow","","",39,[[]]],[11,"borrow_mut","","",39,[[]]],[11,"try_from","","",39,[[],["result",4]]],[11,"try_into","","",39,[[],["result",4]]],[11,"type_id","","",39,[[],["typeid",3]]],[11,"vzip","","",39,[[]]],[11,"equivalent","","",39,[[],["bool",15]]],[11,"init","","",39,[[],["usize",15]]],[11,"deref","","",39,[[["usize",15]]]],[11,"deref_mut","","",39,[[["usize",15]]]],[11,"drop","","",39,[[["usize",15]]]],[11,"into_wallet_descriptor","bdk::descriptor::template","",41,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",41,[[]]],[11,"into","","",41,[[]]],[11,"borrow","","",41,[[]]],[11,"borrow_mut","","",41,[[]]],[11,"try_from","","",41,[[],["result",4]]],[11,"try_into","","",41,[[],["result",4]]],[11,"type_id","","",41,[[],["typeid",3]]],[11,"vzip","","",41,[[]]],[11,"init","","",41,[[],["usize",15]]],[11,"deref","","",41,[[["usize",15]]]],[11,"deref_mut","","",41,[[["usize",15]]]],[11,"drop","","",41,[[["usize",15]]]],[11,"into_wallet_descriptor","","",42,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",42,[[]]],[11,"into","","",42,[[]]],[11,"borrow","","",42,[[]]],[11,"borrow_mut","","",42,[[]]],[11,"try_from","","",42,[[],["result",4]]],[11,"try_into","","",42,[[],["result",4]]],[11,"type_id","","",42,[[],["typeid",3]]],[11,"vzip","","",42,[[]]],[11,"init","","",42,[[],["usize",15]]],[11,"deref","","",42,[[["usize",15]]]],[11,"deref_mut","","",42,[[["usize",15]]]],[11,"drop","","",42,[[["usize",15]]]],[11,"into_wallet_descriptor","","",43,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",43,[[]]],[11,"into","","",43,[[]]],[11,"borrow","","",43,[[]]],[11,"borrow_mut","","",43,[[]]],[11,"try_from","","",43,[[],["result",4]]],[11,"try_into","","",43,[[],["result",4]]],[11,"type_id","","",43,[[],["typeid",3]]],[11,"vzip","","",43,[[]]],[11,"init","","",43,[[],["usize",15]]],[11,"deref","","",43,[[["usize",15]]]],[11,"deref_mut","","",43,[[["usize",15]]]],[11,"drop","","",43,[[["usize",15]]]],[11,"into_wallet_descriptor","","",44,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",44,[[]]],[11,"into","","",44,[[]]],[11,"borrow","","",44,[[]]],[11,"borrow_mut","","",44,[[]]],[11,"try_from","","",44,[[],["result",4]]],[11,"try_into","","",44,[[],["result",4]]],[11,"type_id","","",44,[[],["typeid",3]]],[11,"vzip","","",44,[[]]],[11,"init","","",44,[[],["usize",15]]],[11,"deref","","",44,[[["usize",15]]]],[11,"deref_mut","","",44,[[["usize",15]]]],[11,"drop","","",44,[[["usize",15]]]],[11,"into_wallet_descriptor","","",45,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",45,[[]]],[11,"into","","",45,[[]]],[11,"borrow","","",45,[[]]],[11,"borrow_mut","","",45,[[]]],[11,"try_from","","",45,[[],["result",4]]],[11,"try_into","","",45,[[],["result",4]]],[11,"type_id","","",45,[[],["typeid",3]]],[11,"vzip","","",45,[[]]],[11,"init","","",45,[[],["usize",15]]],[11,"deref","","",45,[[["usize",15]]]],[11,"deref_mut","","",45,[[["usize",15]]]],[11,"drop","","",45,[[["usize",15]]]],[11,"into_wallet_descriptor","","",46,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",46,[[]]],[11,"into","","",46,[[]]],[11,"borrow","","",46,[[]]],[11,"borrow_mut","","",46,[[]]],[11,"try_from","","",46,[[],["result",4]]],[11,"try_into","","",46,[[],["result",4]]],[11,"type_id","","",46,[[],["typeid",3]]],[11,"vzip","","",46,[[]]],[11,"init","","",46,[[],["usize",15]]],[11,"deref","","",46,[[["usize",15]]]],[11,"deref_mut","","",46,[[["usize",15]]]],[11,"drop","","",46,[[["usize",15]]]],[11,"into_wallet_descriptor","","",47,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",47,[[]]],[11,"into","","",47,[[]]],[11,"borrow","","",47,[[]]],[11,"borrow_mut","","",47,[[]]],[11,"try_from","","",47,[[],["result",4]]],[11,"try_into","","",47,[[],["result",4]]],[11,"type_id","","",47,[[],["typeid",3]]],[11,"vzip","","",47,[[]]],[11,"init","","",47,[[],["usize",15]]],[11,"deref","","",47,[[["usize",15]]]],[11,"deref_mut","","",47,[[["usize",15]]]],[11,"drop","","",47,[[["usize",15]]]],[11,"into_wallet_descriptor","","",48,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",48,[[]]],[11,"into","","",48,[[]]],[11,"borrow","","",48,[[]]],[11,"borrow_mut","","",48,[[]]],[11,"try_from","","",48,[[],["result",4]]],[11,"try_into","","",48,[[],["result",4]]],[11,"type_id","","",48,[[],["typeid",3]]],[11,"vzip","","",48,[[]]],[11,"init","","",48,[[],["usize",15]]],[11,"deref","","",48,[[["usize",15]]]],[11,"deref_mut","","",48,[[["usize",15]]]],[11,"drop","","",48,[[["usize",15]]]],[11,"into_wallet_descriptor","","",49,[[["secp256k1",3],["network",4]],[["result",4],["error",4]]]],[11,"from","","",49,[[]]],[11,"into","","",49,[[]]],[11,"borrow","","",49,[[]]],[11,"borrow_mut","","",49,[[]]],[11,"try_from","","",49,[[],["result",4]]],[11,"try_into","","",49,[[],["result",4]]],[11,"type_id","","",49,[[],["typeid",3]]],[11,"vzip","","",49,[[]]],[11,"init","","",49,[[],["usize",15]]],[11,"deref","","",49,[[["usize",15]]]],[11,"deref_mut","","",49,[[["usize",15]]]],[11,"drop","","",49,[[["usize",15]]]],[11,"from","bdk::keys::bip39","",55,[[]]],[11,"into","","",55,[[]]],[11,"to_owned","","",55,[[]]],[11,"clone_into","","",55,[[]]],[11,"borrow","","",55,[[]]],[11,"borrow_mut","","",55,[[]]],[11,"try_from","","",55,[[],["result",4]]],[11,"try_into","","",55,[[],["result",4]]],[11,"type_id","","",55,[[],["typeid",3]]],[11,"vzip","","",55,[[]]],[11,"init","","",55,[[],["usize",15]]],[11,"deref","","",55,[[["usize",15]]]],[11,"deref_mut","","",55,[[["usize",15]]]],[11,"drop","","",55,[[["usize",15]]]],[11,"from","","",105,[[]]],[11,"into","","",105,[[]]],[11,"to_owned","","",105,[[]]],[11,"clone_into","","",105,[[]]],[11,"to_string","","",105,[[],["string",3]]],[11,"borrow","","",105,[[]]],[11,"borrow_mut","","",105,[[]]],[11,"try_from","","",105,[[],["result",4]]],[11,"try_into","","",105,[[],["result",4]]],[11,"type_id","","",105,[[],["typeid",3]]],[11,"to_hex","","Outputs the hash in hexadecimal form",105,[[],["string",3]]],[11,"vzip","","",105,[[]]],[11,"init","","",105,[[],["usize",15]]],[11,"deref","","",105,[[["usize",15]]]],[11,"deref_mut","","",105,[[["usize",15]]]],[11,"drop","","",105,[[["usize",15]]]],[11,"from","","",56,[[]]],[11,"into","","",56,[[]]],[11,"to_owned","","",56,[[]]],[11,"clone_into","","",56,[[]]],[11,"to_string","","",56,[[],["string",3]]],[11,"borrow","","",56,[[]]],[11,"borrow_mut","","",56,[[]]],[11,"try_from","","",56,[[],["result",4]]],[11,"try_into","","",56,[[],["result",4]]],[11,"type_id","","",56,[[],["typeid",3]]],[11,"vzip","","",56,[[]]],[11,"init","","",56,[[],["usize",15]]],[11,"deref","","",56,[[["usize",15]]]],[11,"deref_mut","","",56,[[["usize",15]]]],[11,"drop","","",56,[[["usize",15]]]],[11,"from","","",106,[[]]],[11,"into","","",106,[[]]],[11,"to_owned","","",106,[[]]],[11,"clone_into","","",106,[[]]],[11,"borrow","","",106,[[]]],[11,"borrow_mut","","",106,[[]]],[11,"try_from","","",106,[[],["result",4]]],[11,"try_into","","",106,[[],["result",4]]],[11,"type_id","","",106,[[],["typeid",3]]],[11,"to_hex","","Outputs the hash in hexadecimal form",106,[[],["string",3]]],[11,"write_base32","","",106,[[],["result",4]]],[11,"base32_len","","",106,[[],["usize",15]]],[11,"check_base32","","",106,[[],[["vec",3],["result",4]]]],[11,"vzip","","",106,[[]]],[11,"init","","",106,[[],["usize",15]]],[11,"deref","","",106,[[["usize",15]]]],[11,"deref_mut","","",106,[[["usize",15]]]],[11,"drop","","",106,[[["usize",15]]]],[11,"from","bdk::keys","",58,[[]]],[11,"into","","",58,[[]]],[11,"to_string","","",58,[[],["string",3]]],[11,"borrow","","",58,[[]]],[11,"borrow_mut","","",58,[[]]],[11,"try_from","","",58,[[],["result",4]]],[11,"try_into","","",58,[[],["result",4]]],[11,"type_id","","",58,[[],["typeid",3]]],[11,"vzip","","",58,[[]]],[11,"init","","",58,[[],["usize",15]]],[11,"deref","","",58,[[["usize",15]]]],[11,"deref_mut","","",58,[[["usize",15]]]],[11,"drop","","",58,[[["usize",15]]]],[11,"from","","",59,[[]]],[11,"into","","",59,[[]]],[11,"borrow","","",59,[[]]],[11,"borrow_mut","","",59,[[]]],[11,"try_from","","",59,[[],["result",4]]],[11,"try_into","","",59,[[],["result",4]]],[11,"type_id","","",59,[[],["typeid",3]]],[11,"vzip","","",59,[[]]],[11,"init","","",59,[[],["usize",15]]],[11,"deref","","",59,[[["usize",15]]]],[11,"deref_mut","","",59,[[["usize",15]]]],[11,"drop","","",59,[[["usize",15]]]],[11,"from","","",60,[[]]],[11,"into","","",60,[[]]],[11,"to_owned","","",60,[[]]],[11,"clone_into","","",60,[[]]],[11,"borrow","","",60,[[]]],[11,"borrow_mut","","",60,[[]]],[11,"try_from","","",60,[[],["result",4]]],[11,"try_into","","",60,[[],["result",4]]],[11,"type_id","","",60,[[],["typeid",3]]],[11,"vzip","","",60,[[]]],[11,"equivalent","","",60,[[],["bool",15]]],[11,"init","","",60,[[],["usize",15]]],[11,"deref","","",60,[[["usize",15]]]],[11,"deref_mut","","",60,[[["usize",15]]]],[11,"drop","","",60,[[["usize",15]]]],[11,"from","","",61,[[]]],[11,"into","","",61,[[]]],[11,"to_owned","","",61,[[]]],[11,"clone_into","","",61,[[]]],[11,"to_string","","",61,[[],["string",3]]],[11,"borrow","","",61,[[]]],[11,"borrow_mut","","",61,[[]]],[11,"try_from","","",61,[[],["result",4]]],[11,"try_into","","",61,[[],["result",4]]],[11,"type_id","","",61,[[],["typeid",3]]],[11,"vzip","","",61,[[]]],[11,"equivalent","","",61,[[],["bool",15]]],[11,"init","","",61,[[],["usize",15]]],[11,"deref","","",61,[[["usize",15]]]],[11,"deref_mut","","",61,[[["usize",15]]]],[11,"drop","","",61,[[["usize",15]]]],[11,"from","","",62,[[]]],[11,"into","","",62,[[]]],[11,"borrow","","",62,[[]]],[11,"borrow_mut","","",62,[[]]],[11,"try_from","","",62,[[],["result",4]]],[11,"try_into","","",62,[[],["result",4]]],[11,"type_id","","",62,[[],["typeid",3]]],[11,"vzip","","",62,[[]]],[11,"init","","",62,[[],["usize",15]]],[11,"deref","","",62,[[["usize",15]]]],[11,"deref_mut","","",62,[[["usize",15]]]],[11,"drop","","",62,[[["usize",15]]]],[11,"from","","",63,[[]]],[11,"into","","",63,[[]]],[11,"to_owned","","",63,[[]]],[11,"clone_into","","",63,[[]]],[11,"borrow","","",63,[[]]],[11,"borrow_mut","","",63,[[]]],[11,"try_from","","",63,[[],["result",4]]],[11,"try_into","","",63,[[],["result",4]]],[11,"type_id","","",63,[[],["typeid",3]]],[11,"vzip","","",63,[[]]],[11,"equivalent","","",63,[[],["bool",15]]],[11,"init","","",63,[[],["usize",15]]],[11,"deref","","",63,[[["usize",15]]]],[11,"deref_mut","","",63,[[["usize",15]]]],[11,"drop","","",63,[[["usize",15]]]],[11,"from","","",66,[[]]],[11,"into","","",66,[[]]],[11,"borrow","","",66,[[]]],[11,"borrow_mut","","",66,[[]]],[11,"try_from","","",66,[[],["result",4]]],[11,"try_into","","",66,[[],["result",4]]],[11,"type_id","","",66,[[],["typeid",3]]],[11,"vzip","","",66,[[]]],[11,"init","","",66,[[],["usize",15]]],[11,"deref","","",66,[[["usize",15]]]],[11,"deref_mut","","",66,[[["usize",15]]]],[11,"drop","","",66,[[["usize",15]]]],[11,"from","","",68,[[]]],[11,"into","","",68,[[]]],[11,"borrow","","",68,[[]]],[11,"borrow_mut","","",68,[[]]],[11,"try_from","","",68,[[],["result",4]]],[11,"try_into","","",68,[[],["result",4]]],[11,"type_id","","",68,[[],["typeid",3]]],[11,"vzip","","",68,[[]]],[11,"init","","",68,[[],["usize",15]]],[11,"deref","","",68,[[["usize",15]]]],[11,"deref_mut","","",68,[[["usize",15]]]],[11,"drop","","",68,[[["usize",15]]]],[11,"from","","",71,[[]]],[11,"into","","",71,[[]]],[11,"to_owned","","",71,[[]]],[11,"clone_into","","",71,[[]]],[11,"borrow","","",71,[[]]],[11,"borrow_mut","","",71,[[]]],[11,"try_from","","",71,[[],["result",4]]],[11,"try_into","","",71,[[],["result",4]]],[11,"type_id","","",71,[[],["typeid",3]]],[11,"vzip","","",71,[[]]],[11,"init","","",71,[[],["usize",15]]],[11,"deref","","",71,[[["usize",15]]]],[11,"deref_mut","","",71,[[["usize",15]]]],[11,"drop","","",71,[[["usize",15]]]],[11,"from","","",72,[[]]],[11,"into","","",72,[[]]],[11,"to_string","","",72,[[],["string",3]]],[11,"borrow","","",72,[[]]],[11,"borrow_mut","","",72,[[]]],[11,"try_from","","",72,[[],["result",4]]],[11,"try_into","","",72,[[],["result",4]]],[11,"type_id","","",72,[[],["typeid",3]]],[11,"vzip","","",72,[[]]],[11,"init","","",72,[[],["usize",15]]],[11,"deref","","",72,[[["usize",15]]]],[11,"deref_mut","","",72,[[["usize",15]]]],[11,"drop","","",72,[[["usize",15]]]],[11,"from","bdk","",93,[[]]],[11,"into","","",93,[[]]],[11,"to_owned","","",93,[[]]],[11,"clone_into","","",93,[[]]],[11,"borrow","","",93,[[]]],[11,"borrow_mut","","",93,[[]]],[11,"try_from","","",93,[[],["result",4]]],[11,"try_into","","",93,[[],["result",4]]],[11,"type_id","","",93,[[],["typeid",3]]],[11,"write_base32","","",93,[[],["result",4]]],[11,"base32_len","","",93,[[],["usize",15]]],[11,"check_base32","","",93,[[],[["vec",3],["result",4]]]],[11,"vzip","","",93,[[]]],[11,"equivalent","","",93,[[],["bool",15]]],[11,"init","","",93,[[],["usize",15]]],[11,"deref","","",93,[[["usize",15]]]],[11,"deref_mut","","",93,[[["usize",15]]]],[11,"drop","","",93,[[["usize",15]]]],[11,"from","","",107,[[]]],[11,"into","","",107,[[]]],[11,"to_owned","","",107,[[]]],[11,"clone_into","","",107,[[]]],[11,"borrow","","",107,[[]]],[11,"borrow_mut","","",107,[[]]],[11,"try_from","","",107,[[],["result",4]]],[11,"try_into","","",107,[[],["result",4]]],[11,"type_id","","",107,[[],["typeid",3]]],[11,"vzip","","",107,[[]]],[11,"init","","",107,[[],["usize",15]]],[11,"deref","","",107,[[["usize",15]]]],[11,"deref_mut","","",107,[[["usize",15]]]],[11,"drop","","",107,[[["usize",15]]]],[11,"from","","",94,[[]]],[11,"into","","",94,[[]]],[11,"to_owned","","",94,[[]]],[11,"clone_into","","",94,[[]]],[11,"borrow","","",94,[[]]],[11,"borrow_mut","","",94,[[]]],[11,"try_from","","",94,[[],["result",4]]],[11,"try_into","","",94,[[],["result",4]]],[11,"type_id","","",94,[[],["typeid",3]]],[11,"vzip","","",94,[[]]],[11,"equivalent","","",94,[[],["bool",15]]],[11,"init","","",94,[[],["usize",15]]],[11,"deref","","",94,[[["usize",15]]]],[11,"deref_mut","","",94,[[["usize",15]]]],[11,"drop","","",94,[[["usize",15]]]],[11,"from","","",95,[[]]],[11,"into","","",95,[[]]],[11,"to_owned","","",95,[[]]],[11,"clone_into","","",95,[[]]],[11,"borrow","","",95,[[]]],[11,"borrow_mut","","",95,[[]]],[11,"try_from","","",95,[[],["result",4]]],[11,"try_into","","",95,[[],["result",4]]],[11,"type_id","","",95,[[],["typeid",3]]],[11,"vzip","","",95,[[]]],[11,"equivalent","","",95,[[],["bool",15]]],[11,"init","","",95,[[],["usize",15]]],[11,"deref","","",95,[[["usize",15]]]],[11,"deref_mut","","",95,[[["usize",15]]]],[11,"drop","","",95,[[["usize",15]]]],[11,"from","bdk::wallet::address_validator","",73,[[]]],[11,"into","","",73,[[]]],[11,"to_owned","","",73,[[]]],[11,"clone_into","","",73,[[]]],[11,"to_string","","",73,[[],["string",3]]],[11,"borrow","","",73,[[]]],[11,"borrow_mut","","",73,[[]]],[11,"try_from","","",73,[[],["result",4]]],[11,"try_into","","",73,[[],["result",4]]],[11,"type_id","","",73,[[],["typeid",3]]],[11,"vzip","","",73,[[]]],[11,"equivalent","","",73,[[],["bool",15]]],[11,"init","","",73,[[],["usize",15]]],[11,"deref","","",73,[[["usize",15]]]],[11,"deref_mut","","",73,[[["usize",15]]]],[11,"drop","","",73,[[["usize",15]]]],[11,"from","bdk::wallet::coin_selection","",75,[[]]],[11,"into","","",75,[[]]],[11,"borrow","","",75,[[]]],[11,"borrow_mut","","",75,[[]]],[11,"try_from","","",75,[[],["result",4]]],[11,"try_into","","",75,[[],["result",4]]],[11,"type_id","","",75,[[],["typeid",3]]],[11,"vzip","","",75,[[]]],[11,"init","","",75,[[],["usize",15]]],[11,"deref","","",75,[[["usize",15]]]],[11,"deref_mut","","",75,[[["usize",15]]]],[11,"drop","","",75,[[["usize",15]]]],[11,"from","","",108,[[]]],[11,"into","","",108,[[]]],[11,"borrow","","",108,[[]]],[11,"borrow_mut","","",108,[[]]],[11,"try_from","","",108,[[],["result",4]]],[11,"try_into","","",108,[[],["result",4]]],[11,"type_id","","",108,[[],["typeid",3]]],[11,"vzip","","",108,[[]]],[11,"init","","",108,[[],["usize",15]]],[11,"deref","","",108,[[["usize",15]]]],[11,"deref_mut","","",108,[[["usize",15]]]],[11,"drop","","",108,[[["usize",15]]]],[11,"from","","",77,[[]]],[11,"into","","",77,[[]]],[11,"borrow","","",77,[[]]],[11,"borrow_mut","","",77,[[]]],[11,"try_from","","",77,[[],["result",4]]],[11,"try_into","","",77,[[],["result",4]]],[11,"type_id","","",77,[[],["typeid",3]]],[11,"vzip","","",77,[[]]],[11,"init","","",77,[[],["usize",15]]],[11,"deref","","",77,[[["usize",15]]]],[11,"deref_mut","","",77,[[["usize",15]]]],[11,"drop","","",77,[[["usize",15]]]],[11,"from","bdk::wallet::export","",78,[[]]],[11,"into","","",78,[[]]],[11,"borrow","","",78,[[]]],[11,"borrow_mut","","",78,[[]]],[11,"try_from","","",78,[[],["result",4]]],[11,"try_into","","",78,[[],["result",4]]],[11,"type_id","","",78,[[],["typeid",3]]],[11,"vzip","","",78,[[]]],[11,"init","","",78,[[],["usize",15]]],[11,"deref","","",78,[[["usize",15]]]],[11,"deref_mut","","",78,[[["usize",15]]]],[11,"drop","","",78,[[["usize",15]]]],[11,"from","bdk::wallet::signer","",79,[[]]],[11,"into","","",79,[[]]],[11,"to_owned","","",79,[[]]],[11,"clone_into","","",79,[[]]],[11,"borrow","","",79,[[]]],[11,"borrow_mut","","",79,[[]]],[11,"try_from","","",79,[[],["result",4]]],[11,"try_into","","",79,[[],["result",4]]],[11,"type_id","","",79,[[],["typeid",3]]],[11,"vzip","","",79,[[]]],[11,"equivalent","","",79,[[],["bool",15]]],[11,"init","","",79,[[],["usize",15]]],[11,"deref","","",79,[[["usize",15]]]],[11,"deref_mut","","",79,[[["usize",15]]]],[11,"drop","","",79,[[["usize",15]]]],[11,"from","","",80,[[]]],[11,"into","","",80,[[]]],[11,"to_owned","","",80,[[]]],[11,"clone_into","","",80,[[]]],[11,"to_string","","",80,[[],["string",3]]],[11,"borrow","","",80,[[]]],[11,"borrow_mut","","",80,[[]]],[11,"try_from","","",80,[[],["result",4]]],[11,"try_into","","",80,[[],["result",4]]],[11,"type_id","","",80,[[],["typeid",3]]],[11,"vzip","","",80,[[]]],[11,"equivalent","","",80,[[],["bool",15]]],[11,"init","","",80,[[],["usize",15]]],[11,"deref","","",80,[[["usize",15]]]],[11,"deref_mut","","",80,[[["usize",15]]]],[11,"drop","","",80,[[["usize",15]]]],[11,"from","","",82,[[]]],[11,"into","","",82,[[]]],[11,"to_owned","","",82,[[]]],[11,"clone_into","","",82,[[]]],[11,"borrow","","",82,[[]]],[11,"borrow_mut","","",82,[[]]],[11,"try_from","","",82,[[],["result",4]]],[11,"try_into","","",82,[[],["result",4]]],[11,"type_id","","",82,[[],["typeid",3]]],[11,"vzip","","",82,[[]]],[11,"equivalent","","",82,[[],["bool",15]]],[11,"init","","",82,[[],["usize",15]]],[11,"deref","","",82,[[["usize",15]]]],[11,"deref_mut","","",82,[[["usize",15]]]],[11,"drop","","",82,[[["usize",15]]]],[11,"from","","",83,[[]]],[11,"into","","",83,[[]]],[11,"to_owned","","",83,[[]]],[11,"clone_into","","",83,[[]]],[11,"borrow","","",83,[[]]],[11,"borrow_mut","","",83,[[]]],[11,"try_from","","",83,[[],["result",4]]],[11,"try_into","","",83,[[],["result",4]]],[11,"type_id","","",83,[[],["typeid",3]]],[11,"vzip","","",83,[[]]],[11,"init","","",83,[[],["usize",15]]],[11,"deref","","",83,[[["usize",15]]]],[11,"deref_mut","","",83,[[["usize",15]]]],[11,"drop","","",83,[[["usize",15]]]],[11,"from","bdk::wallet::tx_builder","",109,[[]]],[11,"into","","",109,[[]]],[11,"to_owned","","",109,[[]]],[11,"clone_into","","",109,[[]]],[11,"borrow","","",109,[[]]],[11,"borrow_mut","","",109,[[]]],[11,"try_from","","",109,[[],["result",4]]],[11,"try_into","","",109,[[],["result",4]]],[11,"type_id","","",109,[[],["typeid",3]]],[11,"vzip","","",109,[[]]],[11,"init","","",109,[[],["usize",15]]],[11,"deref","","",109,[[["usize",15]]]],[11,"deref_mut","","",109,[[["usize",15]]]],[11,"drop","","",109,[[["usize",15]]]],[11,"from","","",110,[[]]],[11,"into","","",110,[[]]],[11,"to_owned","","",110,[[]]],[11,"clone_into","","",110,[[]]],[11,"borrow","","",110,[[]]],[11,"borrow_mut","","",110,[[]]],[11,"try_from","","",110,[[],["result",4]]],[11,"try_into","","",110,[[],["result",4]]],[11,"type_id","","",110,[[],["typeid",3]]],[11,"vzip","","",110,[[]]],[11,"init","","",110,[[],["usize",15]]],[11,"deref","","",110,[[["usize",15]]]],[11,"deref_mut","","",110,[[["usize",15]]]],[11,"drop","","",110,[[["usize",15]]]],[11,"from","","",84,[[]]],[11,"into","","",84,[[]]],[11,"to_owned","","",84,[[]]],[11,"clone_into","","",84,[[]]],[11,"borrow","","",84,[[]]],[11,"borrow_mut","","",84,[[]]],[11,"try_from","","",84,[[],["result",4]]],[11,"try_into","","",84,[[],["result",4]]],[11,"type_id","","",84,[[],["typeid",3]]],[11,"vzip","","",84,[[]]],[11,"init","","",84,[[],["usize",15]]],[11,"deref","","",84,[[["usize",15]]]],[11,"deref_mut","","",84,[[["usize",15]]]],[11,"drop","","",84,[[["usize",15]]]],[11,"from","","",85,[[]]],[11,"into","","",85,[[]]],[11,"to_owned","","",85,[[]]],[11,"clone_into","","",85,[[]]],[11,"borrow","","",85,[[]]],[11,"borrow_mut","","",85,[[]]],[11,"try_from","","",85,[[],["result",4]]],[11,"try_into","","",85,[[],["result",4]]],[11,"type_id","","",85,[[],["typeid",3]]],[11,"vzip","","",85,[[]]],[11,"equivalent","","",85,[[],["bool",15]]],[11,"init","","",85,[[],["usize",15]]],[11,"deref","","",85,[[["usize",15]]]],[11,"deref_mut","","",85,[[["usize",15]]]],[11,"drop","","",85,[[["usize",15]]]],[11,"from","","",86,[[]]],[11,"into","","",86,[[]]],[11,"to_owned","","",86,[[]]],[11,"clone_into","","",86,[[]]],[11,"borrow","","",86,[[]]],[11,"borrow_mut","","",86,[[]]],[11,"try_from","","",86,[[],["result",4]]],[11,"try_into","","",86,[[],["result",4]]],[11,"type_id","","",86,[[],["typeid",3]]],[11,"vzip","","",86,[[]]],[11,"equivalent","","",86,[[],["bool",15]]],[11,"init","","",86,[[],["usize",15]]],[11,"deref","","",86,[[["usize",15]]]],[11,"deref_mut","","",86,[[["usize",15]]]],[11,"drop","","",86,[[["usize",15]]]],[11,"from","bdk::wallet","",88,[[]]],[11,"into","","",88,[[]]],[11,"borrow","","",88,[[]]],[11,"borrow_mut","","",88,[[]]],[11,"try_from","","",88,[[],["result",4]]],[11,"try_into","","",88,[[],["result",4]]],[11,"type_id","","",88,[[],["typeid",3]]],[11,"vzip","","",88,[[]]],[11,"init","","",88,[[],["usize",15]]],[11,"deref","","",88,[[["usize",15]]]],[11,"deref_mut","","",88,[[["usize",15]]]],[11,"drop","","",88,[[["usize",15]]]],[11,"fmt","bdk::descriptor","",102,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",51,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","bdk::keys","",58,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",57,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",61,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","bdk::descriptor","",101,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","bdk::keys","",60,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",59,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","bdk::descriptor","",50,[[["formatter",3]],[["result",4],["error",3]]]],[11,"hash","","",51,[[]]],[11,"hash","","",102,[[]]],[11,"hash","bdk::keys","",57,[[]]],[11,"hash","bdk::descriptor","",101,[[]]],[11,"hash","bdk::keys","",60,[[]]],[11,"fmt","","",61,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",58,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",57,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","bdk::descriptor","",50,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",51,[[["formatter",3]],[["result",4],["error",3]]]],[11,"eq","bdk::keys","",60,[[["descriptorsinglepub",3]],["bool",15]]],[11,"ne","","",60,[[["descriptorsinglepub",3]],["bool",15]]],[11,"eq","bdk::descriptor","",50,[[["descriptor",4]],["bool",15]]],[11,"ne","","",50,[[["descriptor",4]],["bool",15]]],[11,"eq","","",51,[[["miniscript",3]],["bool",15]]],[11,"eq","","",102,[[["segwitv0",4]],["bool",15]]],[11,"eq","bdk::keys","",61,[[["sortedmultivec",3]],["bool",15]]],[11,"ne","","",61,[[["sortedmultivec",3]],["bool",15]]],[11,"eq","bdk::descriptor","",101,[[["legacy",4]],["bool",15]]],[11,"eq","bdk::keys","",57,[[["descriptorpublickey",4]],["bool",15]]],[11,"ne","","",57,[[["descriptorpublickey",4]],["bool",15]]],[11,"clone","bdk::descriptor","",102,[[],["segwitv0",4]]],[11,"clone","bdk::keys","",60,[[],["descriptorsinglepub",3]]],[11,"clone","bdk::descriptor","",50,[[],["descriptor",4]]],[11,"clone","","",51,[[],["miniscript",3]]],[11,"clone","","",101,[[],["legacy",4]]],[11,"clone","bdk::keys","",61,[[],["sortedmultivec",3]]],[11,"clone","","",57,[[],["descriptorpublickey",4]]],[11,"check_terminal_non_malleable","bdk::descriptor","",102,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]]],[11,"check_witness","","",102,[[],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_consensus_validity","","",102,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_consensus_validity","","",102,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_policy_validity","","",102,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_policy_validity","","",102,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"max_satisfaction_size","","",102,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"check_terminal_non_malleable","","",101,[[["terminal",4]],[["scriptcontexterror",4],["result",4]]]],[11,"check_witness","","",101,[[],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_consensus_validity","","",101,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_consensus_validity","","",101,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_policy_validity","","",101,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"max_satisfaction_size","","",101,[[["miniscript",3]],[["usize",15],["option",4]]]],[11,"from_tree","","Parse an expression tree into a descriptor",50,[[["tree",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"from_tree","","Parse an expression tree into a Miniscript. As a general …",51,[[["tree",3]],[["error",4],["miniscript",3],["result",4]]]],[11,"partial_cmp","bdk::keys","",57,[[["descriptorpublickey",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor","",102,[[["segwitv0",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",50,[[["descriptor",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::keys","",60,[[["descriptorsinglepub",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor","",51,[[["miniscript",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",101,[[["legacy",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::keys","",61,[[["sortedmultivec",3]],[["option",4],["ordering",4]]]],[11,"cmp","bdk::descriptor","",102,[[["segwitv0",4]],["ordering",4]]],[11,"cmp","","",101,[[["legacy",4]],["ordering",4]]],[11,"cmp","bdk::keys","",61,[[["sortedmultivec",3]],["ordering",4]]],[11,"cmp","bdk::descriptor","",51,[[["miniscript",3]],["ordering",4]]],[11,"cmp","bdk::keys","",57,[[["descriptorpublickey",4]],["ordering",4]]],[11,"cmp","bdk::descriptor","",50,[[["descriptor",4]],["ordering",4]]],[11,"cmp","bdk::keys","",60,[[["descriptorsinglepub",3]],["ordering",4]]],[11,"is_uncompressed","","",57,[[],["bool",15]]],[11,"to_pubkeyhash","","",57,[[],["descriptorpublickey",4]]],[11,"for_each_key","bdk::descriptor","",50,[[],["bool",15]]],[11,"for_each_key","","",51,[[],["bool",15]]],[11,"for_each_key","bdk::keys","",61,[[],["bool",15]]],[11,"sanity_check","bdk::descriptor","Whether the descriptor is safe Checks whether all the …",50,[[],[["error",4],["result",4]]]],[11,"address","","Computes the Bitcoin address of the descriptor, if one …",50,[[["network",4]],[["error",4],["address",3],["result",4]]]],[11,"script_pubkey","","Computes the scriptpubkey of the descriptor",50,[[],["script",3]]],[11,"unsigned_script_sig","","Computes the scriptSig that will be in place for an …",50,[[],["script",3]]],[11,"explicit_script","","Computes the \\\"witness script\\\" of the descriptor, i.e. the …",50,[[],["script",3]]],[11,"get_satisfaction","","Returns satisfying witness and scriptSig to spend an …",50,[[],[["error",4],["result",4]]]],[11,"max_satisfaction_weight","","Computes an upper bound on the weight of a satisfying …",50,[[],[["result",4],["usize",15],["error",4]]]],[11,"script_code","","Get the scriptCode of a transaction output.",50,[[],["script",3]]],[11,"translate_pk","","This will panic if translatefpk returns an uncompressed …",51,[[],["result",4]]],[11,"translate_pk","","Convert a descriptor using abstract keys to one using …",50,[[],[["result",4],["descriptor",4]]]],[11,"lift","bdk::keys","",61,[[],[["error",4],["result",4],["policy",4]]]],[11,"lift","bdk::descriptor","",50,[[],[["error",4],["result",4],["policy",4]]]],[11,"lift","","",51,[[],[["error",4],["result",4],["policy",4]]]],[11,"from_str","","",50,[[["str",15]],[["error",4],["result",4],["descriptor",4]]]],[11,"from_str","bdk::keys","",57,[[["str",15]],[["result",4],["descriptorpublickey",4]]]],[11,"from_str","","",58,[[["str",15]],[["descriptorsecretkey",4],["result",4]]]],[11,"from_str","bdk::descriptor","",51,[[["str",15]],[["error",4],["miniscript",3],["result",4]]]],[11,"fmt","bdk::keys::bip39","",106,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",105,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",105,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",106,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",55,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",56,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",56,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",105,[[["formatter",3]],[["result",4],["error",3]]]],[11,"default","","",56,[[],["mnemonictype",4]]],[11,"default","","",55,[[],["language",4]]],[11,"drop","","",105,[[]]],[11,"drop","","",106,[[]]],[11,"eq","","",55,[[["language",4]],["bool",15]]],[11,"zeroize","","",55,[[]]],[11,"zeroize","","",106,[[]]],[11,"zeroize","","",105,[[]]],[11,"clone","","",56,[[],["mnemonictype",4]]],[11,"clone","","",55,[[],["language",4]]],[11,"clone","","",105,[[],["mnemonic",3]]],[11,"clone","","",106,[[],["seed",3]]],[11,"fmt","","",106,[[["formatter",3]],[["result",4],["error",3]]]],[11,"fmt","","",105,[[["formatter",3]],[["result",4],["error",3]]]],[11,"as_ref","","",105,[[],["str",15]]],[11,"as_ref","","",106,[[]]],[11,"from_config","bdk::blockchain::any","",0,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::electrum","",96,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::esplora","",3,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::blockchain::compact_filters","",6,[[],[["error",4],["result",4]]]],[11,"update","bdk::blockchain","",99,[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]]],[11,"update","","",100,[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]]],[11,"set_script_pubkey","bdk::database::any","",14,[[["keychainkind",4],["u32",15],["script",3]],[["result",4],["error",4]]]],[11,"set_utxo","","",14,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",14,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",14,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",14,[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",14,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",14,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",14,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",14,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"del_tx","","",14,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[11,"del_last_index","","",14,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[11,"set_script_pubkey","","",15,[[["keychainkind",4],["u32",15],["script",3]],[["result",4],["error",4]]]],[11,"set_utxo","","",15,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",15,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",15,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",15,[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",15,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",15,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",15,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",15,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"del_tx","","",15,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[11,"del_last_index","","",15,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[11,"set_script_pubkey","bdk::database::memory","",18,[[["keychainkind",4],["u32",15],["script",3]],[["result",4],["error",4]]]],[11,"set_utxo","","",18,[[["utxo",3]],[["result",4],["error",4]]]],[11,"set_raw_tx","","",18,[[["transaction",3]],[["result",4],["error",4]]]],[11,"set_tx","","",18,[[["transactiondetails",3]],[["result",4],["error",4]]]],[11,"set_last_index","","",18,[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]]],[11,"del_script_pubkey_from_path","","",18,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[11,"del_path_from_script_pubkey","","",18,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"del_utxo","","",18,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"del_raw_tx","","",18,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"del_tx","","",18,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[11,"del_last_index","","",18,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[11,"check_descriptor_checksum","bdk::database::any","",14,[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]]],[11,"iter_script_pubkeys","","",14,[[["option",4],["keychainkind",4]],[["vec",3],["result",4],["error",4]]]],[11,"iter_utxos","","",14,[[],[["error",4],["result",4],["vec",3]]]],[11,"iter_raw_txs","","",14,[[],[["result",4],["vec",3],["error",4]]]],[11,"iter_txs","","",14,[[["bool",15]],[["result",4],["vec",3],["error",4]]]],[11,"get_script_pubkey_from_path","","",14,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[11,"get_path_from_script_pubkey","","",14,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"get_utxo","","",14,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"get_raw_tx","","",14,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"get_tx","","",14,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[11,"get_last_index","","",14,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[11,"increment_last_index","","",14,[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]]],[11,"check_descriptor_checksum","bdk::database::memory","",18,[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]]],[11,"iter_script_pubkeys","","",18,[[["option",4],["keychainkind",4]],[["vec",3],["result",4],["error",4]]]],[11,"iter_utxos","","",18,[[],[["error",4],["result",4],["vec",3]]]],[11,"iter_raw_txs","","",18,[[],[["result",4],["vec",3],["error",4]]]],[11,"iter_txs","","",18,[[["bool",15]],[["result",4],["vec",3],["error",4]]]],[11,"get_script_pubkey_from_path","","",18,[[["keychainkind",4],["u32",15]],[["result",4],["option",4],["error",4]]]],[11,"get_path_from_script_pubkey","","",18,[[["script",3]],[["result",4],["option",4],["error",4]]]],[11,"get_utxo","","",18,[[["outpoint",3]],[["option",4],["error",4],["result",4]]]],[11,"get_raw_tx","","",18,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"get_tx","","",18,[[["txid",3],["bool",15]],[["error",4],["result",4],["option",4]]]],[11,"get_last_index","","",18,[[["keychainkind",4]],[["error",4],["result",4],["option",4]]]],[11,"increment_last_index","","",18,[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]]],[11,"begin_batch","bdk::database::any","",14,[[]]],[11,"commit_batch","","",14,[[],[["result",4],["error",4]]]],[11,"begin_batch","bdk::database::memory","",18,[[]]],[11,"commit_batch","","",18,[[],[["result",4],["error",4]]]],[11,"from_config","bdk::database::any","",14,[[],[["error",4],["result",4]]]],[11,"from_config","bdk::database::memory","",18,[[],[["error",4],["result",4]]]],[11,"build","bdk::descriptor::template","",41,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",42,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",43,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",44,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",45,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",46,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",47,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",48,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"build","","",49,[[],[["descriptortemplateout",6],["descriptorerror",4],["result",4]]]],[11,"into_wallet_descriptor","bdk","",111,[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]]],[11,"into_wallet_descriptor","","",112,[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]]],[11,"extract_policy","bdk::descriptor","",51,[[["signerscontainer",3],["secp256k1",3]],[["result",4],["error",4],["option",4]]]],[11,"extract_policy","","",50,[[["signerscontainer",3],["secp256k1",3]],[["result",4],["error",4],["option",4]]]],[11,"into_descriptor_key","bdk::keys","",68,[[],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",62,[[],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",57,[[],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",58,[[],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_extended_key","bdk::keys::bip39","",106,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",106,[[["derivationpath",3],["keysource",6],["option",4]],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_extended_key","bdk","",113,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",113,[[["derivationpath",3],["keysource",6],["option",4]],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_extended_key","bdk::keys::bip39","",105,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",105,[[["derivationpath",3],["keysource",6],["option",4]],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"into_extended_key","bdk::keys","",66,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_extended_key","","",68,[[],[["extendedkey",4],["keyerror",4],["result",4]]]],[11,"into_descriptor_key","","",68,[[["derivationpath",3],["keysource",6],["option",4]],[["descriptorkey",4],["keyerror",4],["result",4]]]],[11,"generate_with_entropy","bdk::keys::bip39","",105,[[],[["generatedkey",3],["result",4]]]],[11,"coin_select","bdk::wallet::coin_selection","",108,[[["feerate",3],["vec",3],["f32",15],["u64",15]],[["error",4],["result",4],["coinselectionresult",3]]]],[11,"coin_select","","",77,[[["feerate",3],["vec",3],["f32",15],["u64",15]],[["error",4],["result",4],["coinselectionresult",3]]]],[11,"get_capabilities","bdk::blockchain::any","",0,[[],[["capability",4],["hashset",3]]]],[11,"setup","","",0,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"sync","","",0,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"get_tx","","",0,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"broadcast","","",0,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",0,[[],[["u32",15],["result",4],["error",4]]]],[11,"estimate_fee","","",0,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::electrum","",96,[[],[["capability",4],["hashset",3]]]],[11,"setup","","",96,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"get_tx","","",96,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"broadcast","","",96,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",96,[[],[["u32",15],["result",4],["error",4]]]],[11,"estimate_fee","","",96,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::esplora","",3,[[],[["capability",4],["hashset",3]]]],[11,"setup","","",3,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"get_tx","","",3,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"broadcast","","",3,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",3,[[],[["u32",15],["result",4],["error",4]]]],[11,"estimate_fee","","",3,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"get_capabilities","bdk::blockchain::compact_filters","",6,[[],[["capability",4],["hashset",3]]]],[11,"setup","","",6,[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]]],[11,"get_tx","","",6,[[["txid",3]],[["result",4],["error",4],["option",4]]]],[11,"broadcast","","",6,[[["transaction",3]],[["result",4],["error",4]]]],[11,"get_height","","",6,[[],[["u32",15],["result",4],["error",4]]]],[11,"estimate_fee","","",6,[[["usize",15]],[["feerate",3],["result",4],["error",4]]]],[11,"as_ref","bdk","",93,[[]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["addressvalidatorerror",4]]]],[11,"from","","",89,[[["policyerror",4]]]],[11,"from","","",89,[[["signererror",4]]]],[11,"from","","",89,[[["keyerror",4]],["error",4]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",3]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["esploraerror",4]]]],[11,"from","","",89,[[["error",4]]]],[11,"from","","",89,[[["compactfilterserror",4]]]],[11,"from","bdk::blockchain::any","",0,[[["electrumblockchain",3]]]],[11,"from","","",0,[[["esplorablockchain",3]]]],[11,"from","","",0,[[["compactfiltersblockchain",3]]]],[11,"from","","",1,[[["electrumblockchainconfig",3]]]],[11,"from","","",1,[[["esplorablockchainconfig",3]]]],[11,"from","","",1,[[["compactfiltersblockchainconfig",3]]]],[11,"from","bdk::blockchain::electrum","",96,[[["client",3]]]],[11,"from","bdk::blockchain::esplora","",5,[[["error",3]]]],[11,"from","","",5,[[["parseinterror",3]]]],[11,"from","","",5,[[["error",4]]]],[11,"from","","",5,[[["error",4]]]],[11,"from","bdk::blockchain::compact_filters","",9,[[["error",3]]]],[11,"from","","",9,[[["error",3]]]],[11,"from","","",9,[[["error",4]]]],[11,"from","","",9,[[["systemtimeerror",3]]]],[11,"from","","",9,[[["error",4]]]],[11,"from","bdk::database::any","",14,[[["memorydatabase",3]]]],[11,"from","","",14,[[["tree",3]]]],[11,"from","","",15,[[]]],[11,"from","","",15,[[]]],[11,"from","","",17,[[]]],[11,"from","","",17,[[["sleddbconfiguration",3]]]],[11,"from","bdk::descriptor::error","",23,[[["keyerror",4]],["error",4]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["error",4]]]],[11,"from","","",23,[[["policyerror",4]]]],[11,"from","bdk::descriptor::policy","",33,[[["bool",15]]]],[11,"from","","",37,[[["satisfiableitem",4]]]],[11,"from","bdk::keys","",66,[[["extendedpubkey",3]]]],[11,"from","","",66,[[["extendedprivkey",3]]]],[11,"from","","",72,[[["error",4]]]],[11,"from","","",72,[[["error",4]]]],[11,"from","bdk::wallet::signer","",79,[[["hash",3]],["signerid",4]]],[11,"from","","",79,[[["fingerprint",3]],["signerid",4]]],[11,"from","","",83,[[["keymap",6]],["signerscontainer",3]]],[11,"clone","bdk::blockchain","",10,[[],["capability",4]]],[11,"clone","","",99,[[],["noopprogress",3]]],[11,"clone","","",100,[[],["logprogress",3]]],[11,"clone","bdk::descriptor","",103,[[],["deriveddescriptorkey",3]]],[11,"clone","bdk::descriptor::policy","",104,[[],["pkorf",3]]],[11,"clone","","",24,[[],["satisfiableitem",4]]],[11,"clone","","",33,[[],["satisfaction",4]]],[11,"clone","","",37,[[],["policy",3]]],[11,"clone","","",38,[[],["condition",3]]],[11,"clone","bdk::keys","",63,[[],["scriptcontextenum",4]]],[11,"clone","","",71,[[],["privatekeygenerateoptions",3]]],[11,"clone","bdk","",93,[[],["keychainkind",4]]],[11,"clone","","",107,[[],["feerate",3]]],[11,"clone","","",94,[[],["utxo",3]]],[11,"clone","","",95,[[],["transactiondetails",3]]],[11,"clone","bdk::wallet::address_validator","",73,[[],["addressvalidatorerror",4]]],[11,"clone","bdk::wallet::signer","",79,[[],["signerid",4]]],[11,"clone","","",80,[[],["signererror",4]]],[11,"clone","","",82,[[],["signerordering",3]]],[11,"clone","","",83,[[],["signerscontainer",3]]],[11,"clone","bdk::wallet::tx_builder","",109,[[],["createtx",3]]],[11,"clone","","",110,[[],["bumpfee",3]]],[11,"clone","","",84,[[],["txbuilder",3]]],[11,"clone","","",85,[[],["txordering",4]]],[11,"clone","","",86,[[],["changespendpolicy",4]]],[11,"default","bdk::blockchain::compact_filters","",97,[[],["mempool",3]]],[11,"default","bdk::database::memory","",18,[[],["memorydatabase",3]]],[11,"default","bdk::descriptor::policy","",104,[[],["pkorf",3]]],[11,"default","","",38,[[],["condition",3]]],[11,"default","bdk::keys","",71,[[]]],[11,"default","bdk","",107,[[]]],[11,"default","","",95,[[],["transactiondetails",3]]],[11,"default","bdk::wallet::coin_selection","",108,[[],["largestfirstcoinselection",3]]],[11,"default","","",77,[[]]],[11,"default","bdk::wallet::signer","",82,[[]]],[11,"default","","",83,[[],["signerscontainer",3]]],[11,"default","bdk::wallet::tx_builder","",109,[[],["createtx",3]]],[11,"default","","",110,[[],["bumpfee",3]]],[11,"default","","",85,[[]]],[11,"default","","",86,[[]]],[11,"cmp","bdk::descriptor","",103,[[],["ordering",4]]],[11,"cmp","bdk::descriptor::policy","",38,[[["condition",3]],["ordering",4]]],[11,"cmp","bdk::wallet::signer","",79,[[["signerid",4]],["ordering",4]]],[11,"cmp","","",82,[[["signerordering",3]],["ordering",4]]],[11,"cmp","bdk::wallet::tx_builder","",85,[[["txordering",4]],["ordering",4]]],[11,"cmp","","",86,[[["changespendpolicy",4]],["ordering",4]]],[11,"eq","bdk::blockchain","",10,[[["capability",4]],["bool",15]]],[11,"eq","bdk::descriptor","",103,[[],["bool",15]]],[11,"eq","bdk::descriptor::policy","",38,[[["condition",3]],["bool",15]]],[11,"ne","","",38,[[["condition",3]],["bool",15]]],[11,"eq","","",39,[[["policyerror",4]],["bool",15]]],[11,"ne","","",39,[[["policyerror",4]],["bool",15]]],[11,"eq","bdk::keys","",63,[[["scriptcontextenum",4]],["bool",15]]],[11,"eq","bdk","",93,[[["keychainkind",4]],["bool",15]]],[11,"eq","","",107,[[["feerate",3]],["bool",15]]],[11,"ne","","",107,[[["feerate",3]],["bool",15]]],[11,"eq","","",94,[[["utxo",3]],["bool",15]]],[11,"ne","","",94,[[["utxo",3]],["bool",15]]],[11,"eq","","",95,[[["transactiondetails",3]],["bool",15]]],[11,"ne","","",95,[[["transactiondetails",3]],["bool",15]]],[11,"eq","bdk::wallet::address_validator","",73,[[["addressvalidatorerror",4]],["bool",15]]],[11,"ne","","",73,[[["addressvalidatorerror",4]],["bool",15]]],[11,"eq","bdk::wallet::signer","",79,[[["signerid",4]],["bool",15]]],[11,"ne","","",79,[[["signerid",4]],["bool",15]]],[11,"eq","","",80,[[["signererror",4]],["bool",15]]],[11,"eq","","",82,[[["signerordering",3]],["bool",15]]],[11,"ne","","",82,[[["signerordering",3]],["bool",15]]],[11,"eq","bdk::wallet::tx_builder","",85,[[["txordering",4]],["bool",15]]],[11,"eq","","",86,[[["changespendpolicy",4]],["bool",15]]],[11,"partial_cmp","bdk::descriptor","",103,[[],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::descriptor::policy","",38,[[["condition",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk","",107,[[["feerate",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::wallet::signer","",79,[[["signerid",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",82,[[["signerordering",3]],[["option",4],["ordering",4]]]],[11,"partial_cmp","bdk::wallet::tx_builder","",85,[[["txordering",4]],[["option",4],["ordering",4]]]],[11,"partial_cmp","","",86,[[["changespendpolicy",4]],[["option",4],["ordering",4]]]],[11,"to_string","bdk::wallet::export","",78,[[],["string",3]]],[11,"deref","bdk::descriptor","",103,[[]]],[11,"deref","bdk::keys","",68,[[]]],[11,"fmt","bdk","",89,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::any","",1,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::electrum","",2,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::esplora","",3,[[["formatter",3]],["result",6]]],[11,"fmt","","",4,[[["formatter",3]],["result",6]]],[11,"fmt","","",5,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::compact_filters","",97,[[["formatter",3]],["result",6]]],[11,"fmt","","",98,[[["formatter",3]],["result",6]]],[11,"fmt","","",6,[[["formatter",3]],["result",6]]],[11,"fmt","","",7,[[["formatter",3]],["result",6]]],[11,"fmt","","",8,[[["formatter",3]],["result",6]]],[11,"fmt","","",9,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain","",10,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::database::any","",14,[[["formatter",3]],["result",6]]],[11,"fmt","","",16,[[["formatter",3]],["result",6]]],[11,"fmt","","",17,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::database::memory","",18,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor","",103,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::error","",23,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::policy","",104,[[["formatter",3]],["result",6]]],[11,"fmt","","",24,[[["formatter",3]],["result",6]]],[11,"fmt","","",33,[[["formatter",3]],["result",6]]],[11,"fmt","","",37,[[["formatter",3]],["result",6]]],[11,"fmt","","",38,[[["formatter",3]],["result",6]]],[11,"fmt","","",39,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::keys","",62,[[["formatter",3]],["result",6]]],[11,"fmt","","",63,[[["formatter",3]],["result",6]]],[11,"fmt","","",71,[[["formatter",3]],["result",6]]],[11,"fmt","","",72,[[["formatter",3]],["result",6]]],[11,"fmt","bdk","",93,[[["formatter",3]],["result",6]]],[11,"fmt","","",107,[[["formatter",3]],["result",6]]],[11,"fmt","","",94,[[["formatter",3]],["result",6]]],[11,"fmt","","",95,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::address_validator","",73,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::coin_selection","",75,[[["formatter",3]],["result",6]]],[11,"fmt","","",108,[[["formatter",3]],["result",6]]],[11,"fmt","","",77,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::export","",78,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::signer","",79,[[["formatter",3]],["result",6]]],[11,"fmt","","",80,[[["formatter",3]],["result",6]]],[11,"fmt","","",82,[[["formatter",3]],["result",6]]],[11,"fmt","","",83,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::tx_builder","",109,[[["formatter",3]],["result",6]]],[11,"fmt","","",110,[[["formatter",3]],["result",6]]],[11,"fmt","","",84,[[["formatter",3]],["result",6]]],[11,"fmt","","",85,[[["formatter",3]],["result",6]]],[11,"fmt","","",86,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet","",88,[[["formatter",3]],["result",6]]],[11,"fmt","bdk","",89,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::esplora","",5,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::blockchain::compact_filters","",9,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor","",103,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::error","",23,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::descriptor::policy","",39,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::keys","",72,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::address_validator","",73,[[["formatter",3]],["result",6]]],[11,"fmt","bdk::wallet::signer","",80,[[["formatter",3]],["result",6]]],[11,"hash","bdk::blockchain","",10,[[]]],[11,"hash","bdk::descriptor","",103,[[]]],[11,"hash","bdk::descriptor::policy","",38,[[]]],[11,"hash","bdk","",93,[[]]],[11,"hash","bdk::wallet::signer","",79,[[]]],[11,"hash","bdk::wallet::tx_builder","",85,[[]]],[11,"hash","","",86,[[]]],[11,"from_str","bdk::wallet::export","",78,[[["str",15]],["result",4]]],[11,"serialize","bdk::blockchain::any","",1,[[],["result",4]]],[11,"serialize","bdk::blockchain::electrum","",2,[[],["result",4]]],[11,"serialize","bdk::blockchain::esplora","",4,[[],["result",4]]],[11,"serialize","bdk::blockchain::compact_filters","",7,[[],["result",4]]],[11,"serialize","","",8,[[],["result",4]]],[11,"serialize","bdk::database::any","",16,[[],["result",4]]],[11,"serialize","","",17,[[],["result",4]]],[11,"serialize","bdk::descriptor::policy","",104,[[],["result",4]]],[11,"serialize","","",24,[[],["result",4]]],[11,"serialize","","",33,[[],["result",4]]],[11,"serialize","","",37,[[],["result",4]]],[11,"serialize","","",38,[[],["result",4]]],[11,"serialize","bdk","",93,[[],["result",4]]],[11,"serialize","","",94,[[],["result",4]]],[11,"serialize","","",95,[[],["result",4]]],[11,"serialize","bdk::wallet::export","",78,[[],["result",4]]],[11,"deserialize","bdk::blockchain::any","",1,[[],["result",4]]],[11,"deserialize","bdk::blockchain::electrum","",2,[[],["result",4]]],[11,"deserialize","bdk::blockchain::esplora","",4,[[],["result",4]]],[11,"deserialize","bdk::blockchain::compact_filters","",7,[[],["result",4]]],[11,"deserialize","","",8,[[],["result",4]]],[11,"deserialize","bdk::database::any","",16,[[],["result",4]]],[11,"deserialize","","",17,[[],["result",4]]],[11,"deserialize","bdk","",93,[[],["result",4]]],[11,"deserialize","","",94,[[],["result",4]]],[11,"deserialize","","",95,[[],["result",4]]],[11,"deserialize","bdk::wallet::export","",78,[[],["result",4]]],[11,"to_pubkeyhash","bdk::descriptor","",103,[[]]],[11,"is_uncompressed","","",103,[[],["bool",15]]],[11,"serialized_len","","",103,[[],["usize",15]]],[11,"to_public_key","","",103,[[],["publickey",3]]],[11,"hash_to_hash160","","",103,[[],["hash",3]]],[11,"new","bdk::blockchain::compact_filters","Create a new empty mempool",97,[[]]],[11,"add_tx","","Add a transaction to the mempool",97,[[["transaction",3]]]],[11,"get_tx","","Look-up a transaction in the mempool given an [Inventory] …",97,[[["inventory",4]],[["transaction",3],["option",4]]]],[11,"has_tx","","Return whether or not the mempool contains a transaction …",97,[[["txid",3]],["bool",15]]],[11,"iter_txs","","Return the list of transactions contained in the mempool",97,[[],[["vec",3],["transaction",3]]]],[11,"connect","","Connect to a peer over a plaintext TCP connection",98,[[["arc",3],["network",4],["mempool",3],["tosocketaddrs",8]],[["result",4],["compactfilterserror",4]]]],[11,"connect_proxy","","Connect to a peer through a SOCKS5 proxy, optionally by …",98,[[["totargetaddr",8],["arc",3],["option",4],["mempool",3],["network",4],["tosocketaddrs",8]],[["result",4],["compactfilterserror",4]]]],[11,"get_version","","Return the [VersionMessage] sent by the peer",98,[[],["versionmessage",3]]],[11,"get_network","","Return the Bitcoin [Network] in use",98,[[],["network",4]]],[11,"get_mempool","","Return the mempool used by this peer",98,[[],[["mempool",3],["arc",3]]]],[11,"is_connected","","Return whether or not the peer is still connected",98,[[],["bool",15]]],[11,"send","","Send a raw Bitcoin message to the peer",98,[[["networkmessage",4]],[["result",4],["compactfilterserror",4]]]],[11,"recv","","Waits for a specific incoming Bitcoin message, optionally …",98,[[["str",15],["duration",3],["option",4]],[["compactfilterserror",4],["option",4],["result",4]]]],[11,"new_pk","bdk::descriptor","Create a new pk descriptor",50,[[],["descriptor",4]]],[11,"new_pkh","","Create a new PkH descriptor",50,[[],["descriptor",4]]],[11,"new_wpkh","","Create a new Wpkh descriptor Will return Err if …",50,[[],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wpkh","","Create a new sh wrapped wpkh from Pk. Errors when …",50,[[],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh","","Create a new sh for a given redeem script Errors when …",50,[[["legacy",4],["miniscript",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_wsh","","Create a new wsh descriptor from witness script Errors …",50,[[["miniscript",3],["segwitv0",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wsh","","Create a new sh wrapped wsh descriptor with witness script…",50,[[["miniscript",3],["segwitv0",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_bare","","Create a new bare descriptor from witness script Errors …",50,[[["miniscript",3],["barectx",4]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_sortedmulti","","Create a new sh sortedmulti descriptor with threshold k …",50,[[["usize",15],["global",3],["vec",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_sh_wsh_sortedmulti","","Create a new sh wrapped wsh sortedmulti descriptor from …",50,[[["usize",15],["global",3],["vec",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"new_wsh_sortedmulti","","Create a new wsh sorted multi descriptor Errors when …",50,[[["usize",15],["global",3],["vec",3]],[["error",4],["result",4],["descriptor",4]]]],[11,"desc_type","","Get the [DescriptorType] of [Descriptor]",50,[[],["descriptortype",4]]],[11,"is_deriveable","","Whether or not the descriptor has any wildcards",50,[[],["bool",15]]],[11,"derive","","Derives all wildcard keys in the descriptor using the …",50,[[["u32",15]],[["descriptor",4],["descriptorpublickey",4]]]],[11,"parse_descriptor","","Parse a descriptor that may contain secret keys",50,[[["secp256k1",3],["str",15]],[["result",4],["error",4]]]],[11,"to_string_with_secret","","Serialize a descriptor to string with its secret keys",50,[[["hashmap",3]],["string",3]]],[11,"master_fingerprint","bdk::keys","The fingerprint of the master key associated with this key",57,[[],["fingerprint",3]]],[11,"full_derivation_path","","Full path, from the master key",57,[[],["derivationpath",3]]],[11,"is_deriveable","","Whether or not the key has a wildcards",57,[[],["bool",15]]],[11,"derive","","If this public key has a wildcard, replace it by the …",57,[[["u32",15]],["descriptorpublickey",4]]],[11,"derive_public_key","","Computes the public key corresponding to this descriptor …",57,[[["secp256k1",3]],[["publickey",3],["conversionerror",4],["result",4]]]],[11,"requires_sig","bdk::descriptor","Whether all spend paths of miniscript require a signature",51,[[],["bool",15]]],[11,"is_non_malleable","","Whether the miniscript is malleable",51,[[],["bool",15]]],[11,"within_resource_limits","","Whether the miniscript can exceed the resource …",51,[[],["bool",15]]],[11,"has_mixed_timelocks","","Whether the miniscript contains a combination of timelocks",51,[[],["bool",15]]],[11,"has_repeated_keys","","Whether the miniscript has repeated Pk or Pkh",51,[[],["bool",15]]],[11,"sanity_check","","Check whether the underlying Miniscript is safe under the …",51,[[],[["result",4],["analysiserror",4]]]],[11,"iter","","Creates a new [Iter] iterator that will iterate over all […",51,[[],["iter",3]]],[11,"iter_pk","","Creates a new [PkIter] iterator that will iterate over …",51,[[],["pkiter",3]]],[11,"iter_pkh","","Creates a new [PkhIter] iterator that will iterate over …",51,[[],["pkhiter",3]]],[11,"iter_pk_pkh","","Creates a new [PkPkhIter] iterator that will iterate over …",51,[[],["pkpkhiter",3]]],[11,"branches","","Enumerates all child nodes of the current AST node (self) …",51,[[],[["miniscript",3],["global",3],["vec",3]]]],[11,"get_nth_child","","Returns child node with given index, if any",51,[[["usize",15]],[["option",4],["miniscript",3]]]],[11,"get_leaf_pk","","Returns Vec with cloned version of all public keys from …",51,[[],[["global",3],["vec",3]]]],[11,"get_leaf_pkh","","Returns Vec with hashes of all public keys from the …",51,[[],[["vec",3],["global",3]]]],[11,"get_leaf_pk_pkh","","Returns Vec of [PkPkh] entries, representing either …",51,[[],[["vec",3],["pkpkh",4],["global",3]]]],[11,"get_nth_pk","","Returns Option::Some with cloned n\'th public key from the …",51,[[["usize",15]],["option",4]]],[11,"get_nth_pkh","","Returns Option::Some with hash of n\'th public key from …",51,[[["usize",15]],["option",4]]],[11,"get_nth_pk_pkh","","Returns Option::Some with hash of n\'th public key or hash …",51,[[["usize",15]],[["option",4],["pkpkh",4]]]],[11,"from_ast","","Add type information(Type and Extdata) to Miniscript …",51,[[["terminal",4]],[["error",4],["miniscript",3],["result",4]]]],[11,"into_inner","","Extracts the AstElem representing the root of the …",51,[[],["terminal",4]]],[11,"as_inner","","Get a reference to the inner AstElem representing the …",51,[[],["terminal",4]]],[11,"parse_insane","","Attempt to parse an insane(scripts don\'t clear sanity …",51,[[["script",3]],[["miniscript",3],["error",4],["result",4]]]],[11,"parse","","Attempt to parse a Script into Miniscript representation. …",51,[[["script",3]],[["miniscript",3],["error",4],["result",4]]]],[11,"encode","","Encode as a Bitcoin script",51,[[],["script",3]]],[11,"script_size","","Size, in bytes of the script-pubkey. If this Miniscript …",51,[[],["usize",15]]],[11,"max_satisfaction_witness_elements","","Maximum number of witness elements used to satisfy the …",51,[[],[["result",4],["usize",15],["error",4]]]],[11,"max_satisfaction_size","","Maximum size, in bytes, of a satisfying witness. For …",51,[[],[["result",4],["usize",15],["error",4]]]],[11,"from_str_insane","","Attempt to parse an insane(scripts don\'t clear sanity …",51,[[["str",15]],[["error",4],["miniscript",3],["result",4]]]],[11,"satisfy","","Attempt to produce non-malleable satisfying witness for …",51,[[],[["vec",3],["error",4],["result",4]]]],[11,"satisfy_malleable","","Attempt to produce a malleable satisfying witness for the …",51,[[],[["vec",3],["error",4],["result",4]]]],[11,"lift_check","","Lifting corresponds conversion of miniscript into Policy […",51,[[],[["result",4],["lifterror",4]]]],[11,"check_witness","bdk::keys","Check whether the given satisfaction is valid under the …",52,[[],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_consensus_validity","","Depending on script Context, some of the Terminals might …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_policy_validity","","Depending on script Context, some of the script resource …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_consensus_validity","","Consensus rules at the Miniscript satisfaction time. It …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_policy_validity","","Policy rules at the Miniscript satisfaction time. It is …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_global_validity","","Check the consensus + policy(if not disabled) rules that …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"check_local_validity","","Check the consensus + policy(if not disabled) rules …",52,[[["miniscript",3]],[["scriptcontexterror",4],["result",4]]]],[11,"top_level_type_check","","Check whether the top-level is type B",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"other_top_level_checks","","Other top level checks that are context specific",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"top_level_checks","","Check top level consensus rules.",52,[[["miniscript",3]],[["error",4],["result",4]]]],[11,"new","bdk::descriptor","Construct a new derived key",103,[[["descriptorpublickey",4],["secp256k1",3]],["deriveddescriptorkey",3]]],[11,"from_language_code","bdk::keys::bip39","Construct a word list from its language code. Returns None…",55,[[["str",15]],[["option",4],["language",4]]]],[11,"wordlist","","Get the word list for this language",55,[[],["wordlist",3]]],[11,"wordmap","","Get a [WordMap][WordMap] that allows word -> index …",55,[[],["wordmap",3]]],[11,"new","","Generates a new Mnemonic",105,[[["language",4],["mnemonictype",4]],["mnemonic",3]]],[11,"from_entropy","","Create a Mnemonic from pre-generated entropy",105,[[["language",4]],[["mnemonic",3],["error",3],["result",4]]]],[11,"from_phrase","","Create a Mnemonic from an existing mnemonic phrase",105,[[["language",4],["str",15]],[["mnemonic",3],["error",3],["result",4]]]],[11,"validate","","Validate a mnemonic phrase",105,[[["language",4],["str",15]],[["result",4],["error",3]]]],[11,"phrase","","Get the mnemonic phrase as a string reference.",105,[[],["str",15]]],[11,"into_phrase","","Consume the Mnemonic and return the phrase as a String.",105,[[],["string",3]]],[11,"entropy","","Get the original entropy value of the mnemonic phrase as …",105,[[]]],[11,"language","","Get the Language",105,[[],["language",4]]],[11,"for_word_count","","Get a MnemonicType for a mnemonic phrase with a specific …",56,[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"for_key_size","","Get a MnemonicType for a mnemonic phrase representing the …",56,[[["usize",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"for_phrase","","Get a MnemonicType for an existing mnemonic phrase",56,[[["str",15]],[["result",4],["error",3],["mnemonictype",4]]]],[11,"total_bits","","Return the number of entropy+checksum bits",56,[[],["usize",15]]],[11,"entropy_bits","","Return the number of entropy bits",56,[[],["usize",15]]],[11,"checksum_bits","","Return the number of checksum bits",56,[[],["u8",15]]],[11,"word_count","","Return the number of words",56,[[],["usize",15]]],[11,"new","","Generates the seed from the Mnemonic and the password.",106,[[["str",15],["mnemonic",3]],["seed",3]]],[11,"as_bytes","","Get the seed value as a byte slice",106,[[]]],[11,"as_public","bdk::keys","Return the public version of this key, by applying either …",58,[[["secp256k1",3]],[["result",4],["descriptorkeyparseerror",3],["descriptorpublickey",4]]]],[11,"new","","Create a new instance of SortedMultiVec given a list of …",61,[[["usize",15],["global",3],["vec",3]],[["sortedmultivec",3],["error",4],["result",4]]]],[11,"from_tree","","Parse an expression tree into a SortedMultiVec",61,[[["tree",3]],[["sortedmultivec",3],["error",4],["result",4]]]],[11,"translate_pk","","This will panic if translatefpk returns an uncompressed …",61,[[],[["result",4],["sortedmultivec",3]]]],[11,"sanity_check","","utility function to sanity a sorted multi vec",61,[[],[["error",4],["result",4]]]],[11,"sorted_node","","Create Terminal::Multi containing sorted pubkeys",61,[[],["terminal",4]]],[11,"encode","","Encode as a Bitcoin script",61,[[],["script",3]]],[11,"satisfy","","Attempt to produce a satisfying witness for the witness …",61,[[],[["vec",3],["error",4],["result",4]]]],[11,"script_size","","Size, in bytes of the script-pubkey. If this Miniscript …",61,[[],["usize",15]]],[11,"max_satisfaction_witness_elements","","Maximum number of witness elements used to satisfy the …",61,[[],["usize",15]]],[11,"max_satisfaction_size","","Maximum size, in bytes, of a satisfying witness. In …",61,[[],["usize",15]]],[11,"as_byte","bdk","Return [KeychainKind] as a byte",93,[[],["u8",15]]],[11,"from_btc_per_kvb","","Create a new instance of [FeeRate] given a float fee rate …",107,[[["f32",15]]]],[11,"from_sat_per_vb","","Create a new instance of [FeeRate] given a float fee rate …",107,[[["f32",15]]]],[11,"default_min_relay_fee","","Create a new [FeeRate] with the default min relay fee …",107,[[]]],[11,"as_sat_vb","","Return the value as satoshi/vbyte",107,[[],["f32",15]]]],"p":[[4,"AnyBlockchain"],[4,"AnyBlockchainConfig"],[3,"ElectrumBlockchainConfig"],[3,"EsploraBlockchain"],[3,"EsploraBlockchainConfig"],[4,"EsploraError"],[3,"CompactFiltersBlockchain"],[3,"BitcoinPeerConfig"],[3,"CompactFiltersBlockchainConfig"],[4,"CompactFiltersError"],[4,"Capability"],[8,"Blockchain"],[8,"ConfigurableBlockchain"],[8,"Progress"],[4,"AnyDatabase"],[4,"AnyBatch"],[3,"SledDbConfiguration"],[4,"AnyDatabaseConfig"],[3,"MemoryDatabase"],[8,"BatchOperations"],[8,"Database"],[8,"BatchDatabase"],[8,"ConfigurableDatabase"],[4,"Error"],[4,"SatisfiableItem"],[13,"SHA256Preimage"],[13,"HASH256Preimage"],[13,"RIPEMD160Preimage"],[13,"HASH160Preimage"],[13,"AbsoluteTimelock"],[13,"RelativeTimelock"],[13,"Multisig"],[13,"Thresh"],[4,"Satisfaction"],[13,"Partial"],[13,"PartialComplete"],[13,"Complete"],[3,"Policy"],[3,"Condition"],[4,"PolicyError"],[8,"DescriptorTemplate"],[3,"P2PKH"],[3,"P2WPKH_P2SH"],[3,"P2WPKH"],[3,"BIP44"],[3,"BIP44Public"],[3,"BIP49"],[3,"BIP49Public"],[3,"BIP84"],[3,"BIP84Public"],[4,"Descriptor"],[3,"Miniscript"],[8,"ScriptContext"],[8,"IntoWalletDescriptor"],[8,"ExtractPolicy"],[4,"Language"],[4,"MnemonicType"],[4,"DescriptorPublicKey"],[4,"DescriptorSecretKey"],[3,"DescriptorSinglePriv"],[3,"DescriptorSinglePub"],[3,"SortedMultiVec"],[4,"DescriptorKey"],[4,"ScriptContextEnum"],[8,"ExtScriptContext"],[8,"IntoDescriptorKey"],[4,"ExtendedKey"],[8,"DerivableKey"],[3,"GeneratedKey"],[8,"GeneratableKey"],[8,"GeneratableDefaultOptions"],[3,"PrivateKeyGenerateOptions"],[4,"KeyError"],[4,"AddressValidatorError"],[8,"AddressValidator"],[3,"CoinSelectionResult"],[8,"CoinSelectionAlgorithm"],[3,"BranchAndBoundCoinSelection"],[3,"WalletExport"],[4,"SignerId"],[4,"SignerError"],[8,"Signer"],[3,"SignerOrdering"],[3,"SignersContainer"],[3,"TxBuilder"],[4,"TxOrdering"],[4,"ChangeSpendPolicy"],[8,"IsDust"],[3,"Wallet"],[4,"Error"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[4,"KeychainKind"],[3,"UTXO"],[3,"TransactionDetails"],[3,"ElectrumBlockchain"],[3,"Mempool"],[3,"Peer"],[3,"NoopProgress"],[3,"LogProgress"],[4,"Legacy"],[4,"Segwitv0"],[3,"DerivedDescriptorKey"],[3,"PKOrF"],[3,"Mnemonic"],[3,"Seed"],[3,"FeeRate"],[3,"LargestFirstCoinSelection"],[3,"CreateTx"],[3,"BumpFee"],[6,"ExtendedDescriptor"],[6,"DescriptorTemplateOut"],[6,"MnemonicWithPassphrase"]]}\ }'); addSearchOptions(searchIndex);initSearch(searchIndex); \ No newline at end of file diff --git a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/error.rs.html b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/error.rs.html index 8cc676b5a1..f48f53c5c5 100644 --- a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/error.rs.html +++ b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/error.rs.html @@ -79,6 +79,8 @@ 76 77 78 +79 +80
 // Magical Bitcoin Library
 // Written in 2020 by
@@ -113,6 +115,8 @@
     InvalidHDKeyPath,
     /// The provided descriptor doesn't match its checksum
     InvalidDescriptorChecksum,
+    /// The descriptor contains hardened derivation steps on public extended keys
+    HardenedDerivationXpub,
 
     /// Error thrown while working with [`keys`](crate::keys)
     Key(crate::keys::KeyError),
diff --git a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/mod.rs.html b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/mod.rs.html
index 39ce5267f6..a9028ad1af 100644
--- a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/mod.rs.html
+++ b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/mod.rs.html
@@ -744,6 +744,50 @@
 741
 742
 743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
 
 // Magical Bitcoin Library
 // Written in 2020 by
@@ -945,6 +989,36 @@
     }
 }
 
+/// Wrapper for `IntoWalletDescriptor` that performs additional checks on the keys contained in the
+/// descriptor
+pub(crate) fn into_wallet_descriptor_checked<T: IntoWalletDescriptor>(
+    inner: T,
+    secp: &SecpCtx,
+    network: Network,
+) -> Result<(ExtendedDescriptor, KeyMap), DescriptorError> {
+    let (descriptor, keymap) = inner.into_wallet_descriptor(secp, network)?;
+
+    // Ensure the keys don't contain any hardened derivation steps or hardened wildcards
+    let descriptor_contains_hardened_steps = descriptor.for_any_key(|k| {
+        if let DescriptorPublicKey::XPub(DescriptorXKey {
+            derivation_path,
+            wildcard,
+            ..
+        }) = k.as_key()
+        {
+            return *wildcard == Wildcard::Hardened
+                || derivation_path.into_iter().any(ChildNumber::is_hardened);
+        }
+
+        false
+    });
+    if descriptor_contains_hardened_steps {
+        return Err(DescriptorError::HardenedDerivationXpub);
+    }
+
+    Ok((descriptor, keymap))
+}
+
 #[doc(hidden)]
 /// Used internally mainly by the `descriptor!()` and `fragment!()` macros
 pub trait CheckMiniscript<Ctx: miniscript::ScriptContext> {
@@ -1487,6 +1561,20 @@
             .unwrap();
         assert_eq!(wallet_desc, wallet_desc2)
     }
+
+    #[test]
+    fn test_into_wallet_descriptor_checked() {
+        let secp = Secp256k1::new();
+
+        let descriptor = "wpkh(tpubD6NzVbkrYhZ4XHndKkuB8FifXm8r5FQHwrN6oZuWCz13qb93rtgKvD4PQsqC4HP4yhV3tA2fqr2RbY5mNXfM7RxXUoeABoDtsFUq2zJq6YK/0'/1/2/*)";
+        let result = into_wallet_descriptor_checked(descriptor, &secp, Network::Testnet);
+
+        assert!(result.is_err());
+        assert!(matches!(
+            result.unwrap_err(),
+            DescriptorError::HardenedDerivationXpub
+        ));
+    }
 }
 
diff --git a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/policy.rs.html b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/policy.rs.html index 47c6c8cbf3..65bd60d1e7 100644 --- a/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/policy.rs.html +++ b/static/docs-rs/bdk/nightly/latest/src/bdk/descriptor/policy.rs.html @@ -1261,6 +1261,53 @@ 1258 1259 1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307
 // Magical Bitcoin Library
 // Written in 2020 by
@@ -1311,7 +1358,7 @@
 //! # Ok::<(), bdk::Error>(())
 //! ```
 
-use std::cmp::{max, Ordering};
+use std::cmp::max;
 use std::collections::{BTreeMap, HashSet, VecDeque};
 use std::fmt;
 
@@ -1770,13 +1817,11 @@
 }
 
 /// Errors that can happen while extracting and manipulating policies
-#[derive(Debug)]
+#[derive(Debug, PartialEq, Eq)]
 pub enum PolicyError {
-    /// Not enough items are selected to satisfy a [`SatisfiableItem::Thresh`]
+    /// Not enough items are selected to satisfy a [`SatisfiableItem::Thresh`] or a [`SatisfiableItem::Multisig`]
     NotEnoughItemsSelected(String),
-    /// Too many items are selected to satisfy a [`SatisfiableItem::Thresh`]
-    TooManyItemsSelected(String),
-    /// Index out of range for an item to satisfy a [`SatisfiableItem::Thresh`]
+    /// Index out of range for an item to satisfy a [`SatisfiableItem::Thresh`] or a [`SatisfiableItem::Multisig`]
     IndexOutOfRange(usize),
     /// Can not add to an item that is [`Satisfaction::None`] or [`Satisfaction::Complete`]
     AddOnLeaf,
@@ -1908,10 +1953,10 @@
             SatisfiableItem::Thresh { items, threshold } if items.len() == *threshold => {
                 (0..*threshold).collect()
             }
+            SatisfiableItem::Multisig { keys, .. } => (0..keys.len()).collect(),
             _ => vec![],
         };
         let selected = match path.get(&self.id) {
-            _ if !default.is_empty() => &default,
             Some(arr) => arr,
             _ => &default,
         };
@@ -1932,14 +1977,8 @@
                 // if we have something, make sure we have enough items. note that the user can set
                 // an empty value for this step in case of n-of-n, because `selected` is set to all
                 // the elements above
-                match selected.len().cmp(threshold) {
-                    Ordering::Less => {
-                        return Err(PolicyError::NotEnoughItemsSelected(self.id.clone()))
-                    }
-                    Ordering::Greater => {
-                        return Err(PolicyError::TooManyItemsSelected(self.id.clone()))
-                    }
-                    Ordering::Equal => (),
+                if selected.len() < *threshold {
+                    return Err(PolicyError::NotEnoughItemsSelected(self.id.clone()));
                 }
 
                 // check the selected items, see if there are conflicting requirements
@@ -1954,7 +1993,16 @@
 
                 Ok(requirements)
             }
-            _ if !selected.is_empty() => Err(PolicyError::TooManyItemsSelected(self.id.clone())),
+            SatisfiableItem::Multisig { keys, threshold } => {
+                if selected.len() < *threshold {
+                    return Err(PolicyError::NotEnoughItemsSelected(self.id.clone()));
+                }
+                if let Some(item) = selected.iter().find(|i| **i >= keys.len()) {
+                    return Err(PolicyError::IndexOutOfRange(*item));
+                }
+
+                Ok(Condition::default())
+            }
             SatisfiableItem::AbsoluteTimelock { value } => Ok(Condition {
                 csv: None,
                 timelock: Some(*value),
@@ -2521,6 +2569,52 @@
     //
     //     // TODO how should this merge timelocks?
     // }
+
+    #[test]
+    fn test_get_condition_multisig() {
+        let secp = Secp256k1::gen_new();
+
+        let (_, pk0, _) = setup_keys(TPRV0_STR);
+        let (_, pk1, _) = setup_keys(TPRV1_STR);
+
+        let desc = descriptor!(wsh(multi(1, pk0, pk1))).unwrap();
+        let (wallet_desc, keymap) = desc
+            .into_wallet_descriptor(&secp, Network::Testnet)
+            .unwrap();
+        let signers = keymap.into();
+
+        let policy = wallet_desc
+            .extract_policy(&signers, &secp)
+            .unwrap()
+            .unwrap();
+
+        // no args, choose the default
+        let no_args = policy.get_condition(&vec![].into_iter().collect());
+        assert_eq!(no_args, Ok(Condition::default()));
+
+        // enough args
+        let eq_thresh =
+            policy.get_condition(&vec![(policy.id.clone(), vec![0])].into_iter().collect());
+        assert_eq!(eq_thresh, Ok(Condition::default()));
+
+        // more args, it doesn't really change anything
+        let gt_thresh =
+            policy.get_condition(&vec![(policy.id.clone(), vec![0, 1])].into_iter().collect());
+        assert_eq!(gt_thresh, Ok(Condition::default()));
+
+        // not enough args, error
+        let lt_thresh =
+            policy.get_condition(&vec![(policy.id.clone(), vec![])].into_iter().collect());
+        assert_eq!(
+            lt_thresh,
+            Err(PolicyError::NotEnoughItemsSelected(policy.id.clone()))
+        );
+
+        // index out of range
+        let out_of_range =
+            policy.get_condition(&vec![(policy.id.clone(), vec![5])].into_iter().collect());
+        assert_eq!(out_of_range, Err(PolicyError::IndexOutOfRange(5)));
+    }
 }
 
diff --git a/static/docs-rs/bdk/nightly/latest/src/bdk/lib.rs.html b/static/docs-rs/bdk/nightly/latest/src/bdk/lib.rs.html index 88d359b155..0e3abae0c2 100644 --- a/static/docs-rs/bdk/nightly/latest/src/bdk/lib.rs.html +++ b/static/docs-rs/bdk/nightly/latest/src/bdk/lib.rs.html @@ -337,7 +337,7 @@ //! interact with the bitcoin P2P network. //! //! ```toml -//! bdk = "0.3.0" +//! bdk = "0.4.0" //! ``` //! //! ## Sync the balance of a descriptor diff --git a/static/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html b/static/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html index 303a7519ac..502e590a95 100644 --- a/static/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html +++ b/static/docs-rs/bdk/nightly/latest/src/bdk/wallet/mod.rs.html @@ -3244,6 +3244,7 @@ 3241 3242 3243 +3244
 // Magical Bitcoin Library
 // Written in 2020 by
@@ -3313,8 +3314,9 @@
 use crate::database::{BatchDatabase, BatchOperations, DatabaseUtils};
 use crate::descriptor::derived::AsDerived;
 use crate::descriptor::{
-    get_checksum, DerivedDescriptor, DerivedDescriptorMeta, DescriptorMeta, DescriptorScripts,
-    ExtendedDescriptor, ExtractPolicy, IntoWalletDescriptor, Policy, XKeyUtils,
+    get_checksum, into_wallet_descriptor_checked, DerivedDescriptor, DerivedDescriptorMeta,
+    DescriptorMeta, DescriptorScripts, ExtendedDescriptor, ExtractPolicy, IntoWalletDescriptor,
+    Policy, XKeyUtils,
 };
 use crate::error::Error;
 use crate::psbt::PSBTUtils;
@@ -3381,7 +3383,7 @@
     ) -> Result<Self, Error> {
         let secp = Secp256k1::new();
 
-        let (descriptor, keymap) = descriptor.into_wallet_descriptor(&secp, network)?;
+        let (descriptor, keymap) = into_wallet_descriptor_checked(descriptor, &secp, network)?;
         database.check_descriptor_checksum(
             KeychainKind::External,
             get_checksum(&descriptor.to_string())?.as_bytes(),
@@ -3390,7 +3392,7 @@
         let (change_descriptor, change_signers) = match change_descriptor {
             Some(desc) => {
                 let (change_descriptor, change_keymap) =
-                    desc.into_wallet_descriptor(&secp, network)?;
+                    into_wallet_descriptor_checked(desc, &secp, network)?;
                 database.check_descriptor_checksum(
                     KeychainKind::Internal,
                     get_checksum(&change_descriptor.to_string())?.as_bytes(),
diff --git a/static/docs-rs/bdk/nightly/latest/storage.js b/static/docs-rs/bdk/nightly/latest/storage.js
index ffda7623bf..77379538db 100644
--- a/static/docs-rs/bdk/nightly/latest/storage.js
+++ b/static/docs-rs/bdk/nightly/latest/storage.js
@@ -1 +1 @@
-var resourcesSuffix="";var darkThemes=["dark","ayu"];var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){let cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(currentTheme,mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(currentTheme,mainTheme,darkTheme,true)}else{switchTheme(currentTheme,mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(currentTheme,mainTheme,getSettingValue("theme")||"light",false)}
\ No newline at end of file
+var resourcesSuffix="";var darkThemes=["dark","ayu"];var currentTheme=document.getElementById("themeStyle");var mainTheme=document.getElementById("mainThemeStyle");var settingsDataset=(function(){var settingsElement=document.getElementById("default-settings");if(settingsElement===null){return null}var dataset=settingsElement.dataset;if(dataset===undefined){return null}return dataset})();function getSettingValue(settingName){var current=getCurrentValue('rustdoc-'+settingName);if(current!==null){return current}if(settingsDataset!==null){var def=settingsDataset[settingName.replace(/-/g,'_')];if(def!==undefined){return def}}return null}var localStoredTheme=getSettingValue("theme");var savedHref=[];function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(!elem||!elem.classList){return}elem.classList.add(className)}function removeClass(elem,className){if(!elem||!elem.classList){return}elem.classList.remove(className)}function onEach(arr,func,reversed){if(arr&&arr.length>0&&func){var length=arr.length;var i;if(reversed!==true){for(i=0;i=0;--i){if(func(arr[i])===true){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function hasOwnProperty(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function updateLocalStorage(name,value){try{window.localStorage.setItem(name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem(name)}catch(e){return null}}function switchTheme(styleElem,mainStyleElem,newTheme,saveTheme){var fullBasicCss="rustdoc"+resourcesSuffix+".css";var fullNewTheme=newTheme+resourcesSuffix+".css";var newHref=mainStyleElem.href.replace(fullBasicCss,fullNewTheme);if(saveTheme===true){updateLocalStorage("rustdoc-theme",newTheme)}if(styleElem.href===newHref){return}var found=false;if(savedHref.length===0){onEachLazy(document.getElementsByTagName("link"),function(el){savedHref.push(el.href)})}onEach(savedHref,function(el){if(el===newHref){found=true;return true}});if(found===true){styleElem.href=newHref}}function useSystemTheme(value){if(value===undefined){value=true}updateLocalStorage("rustdoc-use-system-theme",value);var toggle=document.getElementById("use-system-theme");if(toggle&&toggle instanceof HTMLInputElement){toggle.checked=value}}var updateSystemTheme=(function(){if(!window.matchMedia){return function(){var cssTheme=getComputedStyle(document.documentElement).getPropertyValue('content');switchTheme(currentTheme,mainTheme,JSON.parse(cssTheme)||"light",true)}}var mql=window.matchMedia("(prefers-color-scheme: dark)");function handlePreferenceChange(mql){if(getSettingValue("use-system-theme")!=="false"){var lightTheme=getSettingValue("preferred-light-theme")||"light";var darkTheme=getSettingValue("preferred-dark-theme")||"dark";if(mql.matches){switchTheme(currentTheme,mainTheme,darkTheme,true)}else{switchTheme(currentTheme,mainTheme,lightTheme,true)}}}mql.addListener(handlePreferenceChange);return function(){handlePreferenceChange(mql)}})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("rustdoc-preferred-dark-theme",localStoredTheme)}updateSystemTheme()}else{switchTheme(currentTheme,mainTheme,getSettingValue("theme")||"light",false)}
\ No newline at end of file
-- 
2.49.0