Enum bdk::descriptor::policy::PolicyError [−][src]
Enum bdk::descriptor::policy::PolicyError [−][src]
pub enum PolicyError {
NotEnoughItemsSelected(String),
IndexOutOfRange(usize),
AddOnLeaf,
@@ -17,18 +17,18 @@
Can not add to an item that is Satisfaction::PartialComplete
Can not merge CSV or timelock values unless both are less than or both are equal or greater than 500_000_000
Incompatible conditions (not currently used)
-Trait Implementations
impl Debug for PolicyError[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl Display for PolicyError[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl Eq for PolicyError[src]
impl Error for PolicyError[src]
pub fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]
The lower-level source of this error, if any. Read more
+Trait Implementations
impl Debug for PolicyError[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl Display for PolicyError[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl Eq for PolicyError[src]
impl Error for PolicyError[src]
pub fn source(&self) -> Option<&(dyn Error + 'static)>1.30.0[src]
The lower-level source of this error, if any. Read more
pub fn backtrace(&self) -> Option<&Backtrace>[src]
backtrace)Returns a stack backtrace, if available, of where this error occurred. Read more
pub fn description(&self) -> &str1.0.0[src]
use the Display impl or to_string()
pub fn cause(&self) -> Option<&dyn Error>1.0.0[src]
replaced by Error::source, which can support downcasting
impl From<PolicyError> for Error[src]
fn from(err: PolicyError) -> Self[src]
Performs the conversion.
impl From<PolicyError> for Error[src]
fn from(err: PolicyError) -> Self[src]
Performs the conversion.
-impl PartialEq<PolicyError> for PolicyError[src]
fn eq(&self, other: &PolicyError) -> bool[src]
This method tests for self and other values to be equal, and is used
+
impl PartialEq<PolicyError> for PolicyError[src]
fn eq(&self, other: &PolicyError) -> bool[src]
This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &PolicyError) -> bool[src]
This method tests for !=.
impl StructuralEq for PolicyError[src]
impl StructuralPartialEq for PolicyError[src]
Auto Trait Implementations
impl RefUnwindSafe for PolicyError
impl Send for PolicyError
impl Sync for PolicyError
impl Unpin for PolicyError
impl UnwindSafe for PolicyError
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
pub fn type_id(&self) -> TypeId[src]
Gets the TypeId of self. Read more
fn ne(&self, other: &PolicyError) -> bool[src]
This method tests for !=.
impl StructuralEq for PolicyError[src]
impl StructuralPartialEq for PolicyError[src]
Auto Trait Implementations
impl RefUnwindSafe for PolicyError
impl Send for PolicyError
impl Sync for PolicyError
impl Unpin for PolicyError
impl UnwindSafe for PolicyError
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized, [src]
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
pub fn equivalent(&self, key: &K) -> bool[src]
Compare self to key and return true if they are equal.
Enum bdk::descriptor::policy::Satisfaction [−][src]
Enum bdk::descriptor::policy::Satisfaction [−][src]
pub enum Satisfaction {
Partial {
n: usize,
m: usize,
@@ -26,7 +26,7 @@
Only a partial satisfaction of some kind of threshold policy
Fields of Partial
n: usizeTotal number of items
m: usizeThreshold
-items: Vec<usize>The items that can be satisfied by the descriptor
+items: Vec<usize>The items that can be satisfied by the descriptor or are satisfied in the PSBT
sorted: Option<bool>Whether the items are sorted in lexicographic order (used by sortedmulti)
conditions: ConditionMapExtra conditions that also need to be satisfied
Can reach the threshold of some kind of threshold policy
@@ -38,12 +38,12 @@
Can satisfy the policy item
Fields of Complete
condition: ConditionExtra conditions that also need to be satisfied
Cannot satisfy or contribute to the policy item
-Implementations
impl Satisfaction[src]
pub fn is_leaf(&self) -> bool[src]
Returns whether the Satisfaction is a leaf item
Trait Implementations
impl Clone for Satisfaction[src]
fn clone(&self) -> Satisfaction[src]
Returns a copy of the value. Read more
+Implementations
impl Satisfaction[src]
pub fn is_leaf(&self) -> bool[src]
Returns whether the Satisfaction is a leaf item
Trait Implementations
impl Clone for Satisfaction[src]
fn clone(&self) -> Satisfaction[src]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for Satisfaction[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl From<bool> for Satisfaction[src]
impl Serialize for Satisfaction[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
+impl Debug for Satisfaction[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl From<bool> for Satisfaction[src]
impl Serialize for Satisfaction[src]
Auto Trait Implementations
impl RefUnwindSafe for Satisfaction
impl Send for Satisfaction
impl Sync for Satisfaction
impl Unpin for Satisfaction
impl UnwindSafe for Satisfaction
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
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 c6c0e6a539..3b480ed4f0 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 @@ -1,7 +1,7 @@Enum bdk::descriptor::policy::SatisfiableItem [−][src]
Enum bdk::descriptor::policy::SatisfiableItem [−][src]
Threshold items with threshold count
Implementations
impl SatisfiableItem[src]
pub fn is_leaf(&self) -> bool[src]
Returns whether the SatisfiableItem is a leaf item
pub fn id(&self) -> String[src]
Returns a unique id for the SatisfiableItem
Trait Implementations
impl Clone for SatisfiableItem[src]
fn clone(&self) -> SatisfiableItem[src]
Returns a copy of the value. Read more
+Implementations
impl SatisfiableItem[src]
pub fn is_leaf(&self) -> bool[src]
Returns whether the SatisfiableItem is a leaf item
pub fn id(&self) -> String[src]
Returns a unique id for the SatisfiableItem
Trait Implementations
impl Clone for SatisfiableItem[src]
fn clone(&self) -> SatisfiableItem[src]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for SatisfiableItem[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl From<SatisfiableItem> for Policy[src]
fn from(other: SatisfiableItem) -> Self[src]
Performs the conversion.
-impl Serialize for SatisfiableItem[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
+impl Debug for SatisfiableItem[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl From<SatisfiableItem> for Policy[src]
fn from(other: SatisfiableItem) -> Self[src]
Performs the conversion.
+impl Serialize for SatisfiableItem[src]
Auto Trait Implementations
impl RefUnwindSafe for SatisfiableItem
impl Send for SatisfiableItem
impl Sync for SatisfiableItem
impl Unpin for SatisfiableItem
impl UnwindSafe for SatisfiableItem
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
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 c4c0cdffa0..ce47f3f953 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 @@Module bdk::descriptor::policy [−][src]
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 935738fb2b..6d68bf2369 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 @@ -1,36 +1,36 @@Struct bdk::descriptor::policy::Condition [−][src]
Struct bdk::descriptor::policy::Condition [−][src]
An extra condition that must be satisfied but that is out of control of the user
Fields
csv: Option<u32>Optional CheckSequenceVerify condition
timelock: Option<u32>Optional timelock condition
-Implementations
impl Condition[src]
Trait Implementations
impl Clone for Condition[src]
fn clone(&self) -> Condition[src]
Returns a copy of the value. Read more
+Implementations
impl Condition[src]
Trait Implementations
impl Clone for Condition[src]
fn clone(&self) -> Condition[src]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Copy for Condition[src]
impl Debug for Condition[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl Default for Condition[src]
impl Eq for Condition[src]
impl Hash for Condition[src]
impl Copy for Condition[src]
impl Debug for Condition[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl Default for Condition[src]
impl Eq for Condition[src]
impl Hash for Condition[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl Ord for Condition[src]
impl Ord for Condition[src]
fn cmp(&self, other: &Condition) -> Ordering[src]
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
Compares and returns the maximum of two values. Read more
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
Compares and returns the minimum of two values. Read more
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
Restrict a value to a certain interval. Read more
-impl PartialEq<Condition> for Condition[src]
fn eq(&self, other: &Condition) -> bool[src]
This method tests for self and other values to be equal, and is used
+
impl PartialEq<Condition> for Condition[src]
fn eq(&self, other: &Condition) -> bool[src]
This method tests for self and other values to be equal, and is used
by ==. Read more
fn ne(&self, other: &Condition) -> bool[src]
This method tests for !=.
impl PartialOrd<Condition> for Condition[src]
fn partial_cmp(&self, other: &Condition) -> Option<Ordering>[src]
This method returns an ordering between self and other values if one exists. Read more
fn ne(&self, other: &Condition) -> bool[src]
This method tests for !=.
impl PartialOrd<Condition> for Condition[src]
fn partial_cmp(&self, other: &Condition) -> Option<Ordering>[src]
This method returns an ordering between self and other values if one exists. Read more
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
#[must_use]pub fn gt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than (for self and other) and is used by the > operator. Read more
#[must_use]pub fn ge(&self, other: &Rhs) -> bool1.0.0[src]
This method tests greater than or equal to (for self and other) and is used by the >=
operator. Read more
impl Serialize for Condition[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
-impl StructuralEq for Condition[src]
impl StructuralPartialEq for Condition[src]
Auto Trait Implementations
impl RefUnwindSafe for Condition
impl Send for Condition
impl Sync for Condition
impl Unpin for Condition
impl UnwindSafe for Condition
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl Serialize for Condition[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
+impl StructuralEq for Condition[src]
impl StructuralPartialEq for Condition[src]
Auto Trait Implementations
impl RefUnwindSafe for Condition
impl Send for Condition
impl Sync for Condition
impl Unpin for Condition
impl UnwindSafe for Condition
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized, [src]
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
pub fn equivalent(&self, key: &K) -> bool[src]
Compare self to key and return true if they are equal.
Struct bdk::descriptor::policy::PKOrF [−][src]
pub struct PKOrF { /* fields omitted */ }Raw public key or extended key fingerprint
-Trait Implementations
impl Clone for PKOrF[src]
fn clone(&self) -> PKOrF[src]
Returns a copy of the value. Read more
+Struct bdk::descriptor::policy::PKOrF [−][src]
pub struct PKOrF { /* fields omitted */ }Raw public key or extended key fingerprint
+Trait Implementations
impl Clone for PKOrF[src]
fn clone(&self) -> PKOrF[src]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for PKOrF[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl Default for PKOrF[src]
impl Serialize for PKOrF[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
+impl Debug for PKOrF[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl Default for PKOrF[src]
impl Serialize for PKOrF[src]
Auto Trait Implementations
impl RefUnwindSafe for PKOrF
impl Send for PKOrF
impl Sync for PKOrF
impl Unpin for PKOrF
impl UnwindSafe for PKOrF
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
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 fd8ef4944b..9bd7b9f56f 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 @@ -1,7 +1,7 @@Struct bdk::descriptor::policy::Policy [−][src]
pub struct Policy {
+Struct bdk::descriptor::policy::Policy [−][src]
pub struct Policy {
pub id: String,
pub item: SatisfiableItem,
pub satisfaction: Satisfaction,
@@ -10,20 +10,21 @@
Fields
id: StringIdentifier for this policy node
item: SatisfiableItemType of this policy node
-satisfaction: SatisfactionHow a much given PSBT already satisfies this polcy node (currently unused)
+satisfaction: SatisfactionHow much a given PSBT already satisfies this policy node in terms of signatures
contribution: SatisfactionHow 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]
fn clone(&self) -> Policy[src]
Returns a copy of the value. Read more
+pub fn fill_satisfactions(
&mut self,
psbt: &PSBT,
desc: &ExtendedDescriptor,
secp: &Secp256k1<All>
) -> Result<(), Error>[src]
fill self.satisfaction with the signatures we already have in the PSBT
+Trait Implementations
impl Clone for Policy[src]
fn clone(&self) -> Policy[src]
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl Debug for Policy[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
-impl From<SatisfiableItem> for Policy[src]
fn from(other: SatisfiableItem) -> Self[src]
Performs the conversion.
-impl Serialize for Policy[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
Serialize this value into the given Serde serializer. Read more
+impl Debug for Policy[src]
fn fmt(&self, f: &mut Formatter<'_>) -> Result[src]
Formats the value using the given formatter. Read more
+impl From<SatisfiableItem> for Policy[src]
fn from(other: SatisfiableItem) -> Self[src]
Performs the conversion.
+impl Serialize for Policy[src]
Auto Trait Implementations
impl RefUnwindSafe for Policy
impl Send for Policy
impl Sync for Policy
impl Unpin for Policy
impl UnwindSafe for Policy
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]
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.ConditionMap.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.ConditionMap.html
index 9b4ec4f60c..492f56b757 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.ConditionMap.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.ConditionMap.html
@@ -1,6 +1,6 @@
bdk::descriptor::policy::ConditionMap - Rust
Type Definition bdk::descriptor::policy::ConditionMap [−][src]
type ConditionMap = BTreeMap<usize, HashSet<Condition>>;
Type for a map of sets of Condition items keyed by each setâs index
+ 
Type Definition bdk::descriptor::policy::ConditionMap [−][src]
type ConditionMap = BTreeMap<usize, HashSet<Condition>>;
Type for a map of sets of Condition items keyed by each setâs index
\ No newline at end of file
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.FoldedConditionMap.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.FoldedConditionMap.html
index 1cb751c1d2..4e89673c8c 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.FoldedConditionMap.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/policy/type.FoldedConditionMap.html
@@ -1,6 +1,6 @@
bdk::descriptor::policy::FoldedConditionMap - Rust
Type Definition bdk::descriptor::policy::FoldedConditionMap [−][src]
type FoldedConditionMap = BTreeMap<Vec<usize>, HashSet<Condition>>;
Type for a map of folded sets of Condition items keyed by a vector of the combined setâs indexes
+ 
Type Definition bdk::descriptor::policy::FoldedConditionMap [−][src]
type FoldedConditionMap = BTreeMap<Vec<usize>, HashSet<Condition>>;
Type for a map of folded sets of Condition items keyed by a vector of the combined setâs indexes
\ No newline at end of file
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 e9d2373997..58429f9f4f 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
@@ -129,14 +129,14 @@ This can occur if the miniscript contains a
Timelock combination
Contains a spend that exceeds resource limits
-Trait Implementations
impl<Pk, Ctx> Clone for Miniscript<Pk, Ctx> where
Ctx: ScriptContext + Clone,
Pk: MiniscriptKey + Clone,
pub fn clone(&self) -> Miniscript<Pk, Ctx>
Returns a copy of the value. Read more
+Trait Implementations
impl<Pk, Ctx> Clone for Miniscript<Pk, Ctx> where
Ctx: Clone + ScriptContext,
Pk: Clone + MiniscriptKey,
pub fn clone(&self) -> Miniscript<Pk, Ctx>
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl<Pk, Ctx> Debug for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
-impl<Pk, Ctx> Display for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl<Pk, Ctx> Debug for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl<Pk, Ctx> Display for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
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]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
Extract the spending policy
+impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
Extract the spending policy
impl<Pk, Ctx> ForEachKey<Pk> for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn for_each_key<'a, F>(&'a self, pred: F) -> bool where
F: FnMut(ForEach<'a, Pk>) -> bool,
Pk: 'a,
<Pk as MiniscriptKey>::Hash: 'a,
Run a predicate on every key in the descriptor, returning whether
the predicate returned true for every key Read more
pub fn for_any_key<'a, F>(&'a self, pred: F) -> bool where
F: FnMut(ForEach<'a, Pk>) -> bool,
Pk: 'a,
<Pk as MiniscriptKey>::Hash: 'a,
Run a predicate on every key in the descriptor, returning whether
@@ -148,7 +148,7 @@ do not clear the pub fn from_str(s: &str) -> Result<Miniscript<Pk, Ctx>, Error>Parses a string s to return a value of this type. Read more
impl<Pk, Ctx> FromTree for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey + FromStr,
<Pk as MiniscriptKey>::Hash: FromStr,
<Pk as FromStr>::Err: ToString,
<<Pk as MiniscriptKey>::Hash as FromStr>::Err: ToString,
pub fn from_tree(top: &Tree<'_>) -> Result<Miniscript<Pk, Ctx>, Error>
Parse an expression tree into a Miniscript. As a general rule, this
should not be called directly; rather go through the descriptor API.
-impl<Pk, Ctx> Hash for Miniscript<Pk, Ctx> where
Ctx: ScriptContext + Hash,
Pk: MiniscriptKey + Hash,
impl<Pk, Ctx> Hash for Miniscript<Pk, Ctx> where
Ctx: Hash + ScriptContext,
Pk: Hash + MiniscriptKey,
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
impl<Pk, Ctx> Liftable<Pk> for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
impl<Pk, Ctx> Ord for Miniscript<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
Ord of Miniscript must depend only on node and not the type information.
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ExtractPolicy.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ExtractPolicy.html
index f906f4f285..955ca7399c 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ExtractPolicy.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ExtractPolicy.html
@@ -5,5 +5,5 @@
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, DescriptorError>;
}
Trait implemented on Descriptors to add a method to extract the spending policy
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]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
Loading content...
+Loading content...Implementors
impl ExtractPolicy for Descriptor<DescriptorPublicKey>[src]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
impl<Ctx: ScriptContext> ExtractPolicy for Miniscript<DescriptorPublicKey, Ctx>[src]
fn extract_policy(
&self,
signers: &SignersContainer,
secp: &Secp256k1<All>
) -> Result<Option<Policy>, Error>[src]
Loading content...
\ No newline at end of file
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ScriptContext.html b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ScriptContext.html
index 28fec23f81..9523e85d2c 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ScriptContext.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/descriptor/trait.ScriptContext.html
@@ -1,7 +1,7 @@
bdk::descriptor::ScriptContext - Rust
Trait bdk::descriptor::ScriptContext [−]
Trait bdk::descriptor::ScriptContext [−]
pub trait ScriptContext: Debug + Clone + Ord + PartialOrd<Self> + Eq + PartialEq<Self> + Sealed {
pub fn check_terminal_non_malleable<Pk, Ctx>(
_frag: &Terminal<Pk, Ctx>
) -> Result<(), ScriptContextError>
where
Ctx: ScriptContext,
Pk: MiniscriptKey;
pub fn max_satisfaction_size<Pk, Ctx>(
ms: &Miniscript<Pk, Ctx>
) -> Option<usize>
where
Ctx: ScriptContext,
Pk: MiniscriptKey;
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/enum.MnemonicType.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/enum.MnemonicType.html
index 813b1c99ef..78ba5048f7 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/enum.MnemonicType.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/enum.MnemonicType.html
@@ -95,9 +95,9 @@ other way.
let word_count = mnemonic_type.word_count();
Trait Implementations
impl Clone for MnemonicType
pub fn clone(&self) -> MnemonicType
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl Copy for MnemonicType
impl Debug for MnemonicType
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Copy for MnemonicType
impl Debug for MnemonicType
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Default for MnemonicType
pub fn default() -> MnemonicType
Returns the âdefault valueâ for a type. Read more
-impl Display for MnemonicType
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Display for MnemonicType
Auto Trait Implementations
impl RefUnwindSafe for MnemonicType
impl Send for MnemonicType
impl Sync for MnemonicType
impl Unpin for MnemonicType
impl UnwindSafe for MnemonicType
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]
pub fn borrow_mut(&mut self) -> &mut T[src]
Mutably borrows from an owned value. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Mnemonic.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Mnemonic.html
index 059a50a7e1..c8b680ead5 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Mnemonic.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Mnemonic.html
@@ -73,19 +73,19 @@ specified in BIP0039.
Trait Implementations
impl AsRef<str> for Mnemonic
impl Clone for Mnemonic
pub fn clone(&self) -> Mnemonic
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl Debug for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Debug for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl<Ctx: ScriptContext> DerivableKey<Ctx> for Mnemonic[src]
fn into_extended_key(self) -> Result<ExtendedKey<Ctx>, KeyError>[src]
Consume self and turn it into an ExtendedKey Read more
fn into_descriptor_key(
self,
source: Option<KeySource>,
derivation_path: DerivationPath
) -> Result<DescriptorKey<Ctx>, KeyError>[src]
Consume self and turn it into a DescriptorKey by adding the extra metadata, such as
key origin and derivation path Read more
-impl Display for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Display for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Drop for Mnemonic
impl<Ctx: ScriptContext> GeneratableKey<Ctx> for Mnemonic[src]
type Entropy = [u8; 32]
Type specifying the amount of entropy required e.g. [u8;32]
type Options = (MnemonicType, Language)
Extra options required by the generate_with_entropy
type Error = Option<ErrorKind>
Returned error in case of failure
fn generate_with_entropy(
(mnemonic_type, language): Self::Options,
entropy: Self::Entropy
) -> Result<GeneratedKey<Self, Ctx>, Self::Error>[src]
Generate a key given the extra options and the entropy
fn generate(
options: Self::Options
) -> Result<GeneratedKey<Self, Ctx>, Self::Error>[src]
Generate a key given the options with a random entropy
-impl LowerHex for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
-impl UpperHex for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
+impl LowerHex for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
+impl UpperHex for Mnemonic
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
impl Zeroize for Mnemonic
Auto Trait Implementations
impl RefUnwindSafe for Mnemonic
impl Send for Mnemonic
impl Sync for Mnemonic
impl Unpin for Mnemonic
impl UnwindSafe for Mnemonic
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
pub fn type_id(&self) -> TypeId[src]
Gets the TypeId of self. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Seed.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Seed.html
index 93890ceb5d..84032774b5 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Seed.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/bip39/struct.Seed.html
@@ -19,8 +19,8 @@ crate and the BIP39 standard).
fn into_descriptor_key(
self,
source: Option<KeySource>,
derivation_path: DerivationPath
) -> Result<DescriptorKey<Ctx>, KeyError>[src]
Consume self and turn it into a DescriptorKey by adding the extra metadata, such as
key origin and derivation path Read more
impl Drop for Seed
impl LowerHex for Seed
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
-impl UpperHex for Seed
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
+impl LowerHex for Seed
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
+impl UpperHex for Seed
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter.
impl Zeroize for Seed
Auto Trait Implementations
impl RefUnwindSafe for Seed
impl Send for Seed
impl Sync for Seed
impl Unpin for Seed
impl UnwindSafe for Seed
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
pub fn type_id(&self) -> TypeId[src]
Gets the TypeId of self. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorPublicKey.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorPublicKey.html
index 27e0618d75..c94ca8d094 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorPublicKey.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorPublicKey.html
@@ -27,8 +27,8 @@ and call as_public, or call TranslatePk2::translate_pk2
Trait Implementations
impl Clone for DescriptorPublicKey
pub fn clone(&self) -> DescriptorPublicKey
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl Debug for DescriptorPublicKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
-impl Display for DescriptorPublicKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Debug for DescriptorPublicKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Display for DescriptorPublicKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl Eq for DescriptorPublicKey
impl FromStr for DescriptorPublicKey
type Err = DescriptorKeyParseError
The associated error which can be returned from parsing.
pub fn from_str(
s: &str
) -> Result<DescriptorPublicKey, <DescriptorPublicKey as FromStr>::Err>
Parses a string s to return a value of this type. Read more
impl Hash for DescriptorPublicKey
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
Feeds this value into the given Hasher. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorSecretKey.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorSecretKey.html
index bb70510cc3..4475addd88 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorSecretKey.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/enum.DescriptorSecretKey.html
@@ -15,8 +15,8 @@ depending on the type of key.
If the key is an âXPrvâ, the hardened derivation steps will be applied before converting it
to a public key. See the documentation of [DescriptorXKey<bip32::ExtendedPrivKey>::as_public]
for more details.
-Trait Implementations
impl Debug for DescriptorSecretKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
-impl Display for DescriptorSecretKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+Trait Implementations
impl Debug for DescriptorSecretKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl Display for DescriptorSecretKey
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
impl FromStr for DescriptorSecretKey
type Err = DescriptorKeyParseError
The associated error which can be returned from parsing.
pub fn from_str(
s: &str
) -> Result<DescriptorSecretKey, <DescriptorSecretKey as FromStr>::Err>
Parses a string s to return a value of this type. Read more
impl<Ctx: ScriptContext> IntoDescriptorKey<Ctx> for DescriptorSecretKey[src]
fn into_descriptor_key(self) -> Result<DescriptorKey<Ctx>, KeyError>[src]
Turn the key into a DescriptorKey within the requested ScriptContext
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/struct.SortedMultiVec.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/struct.SortedMultiVec.html
index 9a36491110..0b63e24197 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/struct.SortedMultiVec.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/struct.SortedMultiVec.html
@@ -40,23 +40,23 @@ will handle the segwit/non-segwit technicalities for you.
All signatures are assumed to be 73 bytes in size, including the
length prefix (segwit) or push opcode (pre-segwit) and sighash
postfix.
-Trait Implementations
impl<Pk, Ctx> Clone for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext + Clone,
Pk: MiniscriptKey + Clone,
pub fn clone(&self) -> SortedMultiVec<Pk, Ctx>
Returns a copy of the value. Read more
+Trait Implementations
impl<Pk, Ctx> Clone for SortedMultiVec<Pk, Ctx> where
Ctx: Clone + ScriptContext,
Pk: Clone + MiniscriptKey,
pub fn clone(&self) -> SortedMultiVec<Pk, Ctx>
Returns a copy of the value. Read more
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
-impl<Pk, Ctx> Debug for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
-impl<Pk, Ctx> Display for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
-impl<Pk, Ctx> Eq for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext + Eq,
Pk: MiniscriptKey + Eq,
impl<Pk, Ctx> ForEachKey<Pk> for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn for_each_key<'a, F>(&'a self, pred: F) -> bool where
F: FnMut(ForEach<'a, Pk>) -> bool,
Pk: 'a,
<Pk as MiniscriptKey>::Hash: 'a,
Run a predicate on every key in the descriptor, returning whether
+
impl<Pk, Ctx> Debug for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl<Pk, Ctx> Display for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>
Formats the value using the given formatter. Read more
+impl<Pk, Ctx> Eq for SortedMultiVec<Pk, Ctx> where
Ctx: Eq + ScriptContext,
Pk: Eq + MiniscriptKey,
impl<Pk, Ctx> ForEachKey<Pk> for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
pub fn for_each_key<'a, F>(&'a self, pred: F) -> bool where
F: FnMut(ForEach<'a, Pk>) -> bool,
Pk: 'a,
<Pk as MiniscriptKey>::Hash: 'a,
Run a predicate on every key in the descriptor, returning whether
the predicate returned true for every key Read more
pub fn for_any_key<'a, F>(&'a self, pred: F) -> bool where
F: FnMut(ForEach<'a, Pk>) -> bool,
Pk: 'a,
<Pk as MiniscriptKey>::Hash: 'a,
Run a predicate on every key in the descriptor, returning whether
the predicate returned true for any key Read more
impl<Pk, Ctx> Liftable<Pk> for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext,
Pk: MiniscriptKey,
impl<Pk, Ctx> Ord for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext + Ord,
Pk: MiniscriptKey + Ord,
pub fn cmp(&self, other: &SortedMultiVec<Pk, Ctx>) -> Ordering
impl<Pk, Ctx> Ord for SortedMultiVec<Pk, Ctx> where
Ctx: Ord + ScriptContext,
Pk: Ord + MiniscriptKey,
pub fn cmp(&self, other: &SortedMultiVec<Pk, Ctx>) -> Ordering
#[must_use]pub fn max(self, other: Self) -> Self1.21.0[src]
Compares and returns the maximum of two values. Read more
#[must_use]pub fn min(self, other: Self) -> Self1.21.0[src]
Compares and returns the minimum of two values. Read more
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self1.50.0[src]
Restrict a value to a certain interval. Read more
-impl<Pk, Ctx> PartialEq<SortedMultiVec<Pk, Ctx>> for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext + PartialEq<Ctx>,
Pk: MiniscriptKey + PartialEq<Pk>,
pub fn eq(&self, other: &SortedMultiVec<Pk, Ctx>) -> bool
This method tests for self and other values to be equal, and is used
+
impl<Pk, Ctx> PartialEq<SortedMultiVec<Pk, Ctx>> for SortedMultiVec<Pk, Ctx> where
Ctx: PartialEq<Ctx> + ScriptContext,
Pk: PartialEq<Pk> + MiniscriptKey,
pub fn eq(&self, other: &SortedMultiVec<Pk, Ctx>) -> bool
This method tests for self and other values to be equal, and is used
by ==. Read more
pub fn ne(&self, other: &SortedMultiVec<Pk, Ctx>) -> bool
This method tests for !=.
-impl<Pk, Ctx> PartialOrd<SortedMultiVec<Pk, Ctx>> for SortedMultiVec<Pk, Ctx> where
Ctx: ScriptContext + PartialOrd<Ctx>,
Pk: MiniscriptKey + PartialOrd<Pk>,
pub fn partial_cmp(&self, other: &SortedMultiVec<Pk, Ctx>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
+impl<Pk, Ctx> PartialOrd<SortedMultiVec<Pk, Ctx>> for SortedMultiVec<Pk, Ctx> where
Ctx: PartialOrd<Ctx> + ScriptContext,
Pk: PartialOrd<Pk> + MiniscriptKey,
pub fn partial_cmp(&self, other: &SortedMultiVec<Pk, Ctx>) -> Option<Ordering>
This method returns an ordering between self and other values if one exists. Read more
#[must_use]pub fn lt(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than (for self and other) and is used by the < operator. Read more
#[must_use]pub fn le(&self, other: &Rhs) -> bool1.0.0[src]
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
diff --git a/static/docs-rs/bdk/nightly/latest/bdk/keys/trait.ScriptContext.html b/static/docs-rs/bdk/nightly/latest/bdk/keys/trait.ScriptContext.html
index a45a6c951d..1a59e4f2fc 100644
--- a/static/docs-rs/bdk/nightly/latest/bdk/keys/trait.ScriptContext.html
+++ b/static/docs-rs/bdk/nightly/latest/bdk/keys/trait.ScriptContext.html
@@ -1,7 +1,7 @@
bdk::keys::ScriptContext - Rust
Trait bdk::keys::ScriptContext [−]
Trait bdk::keys::ScriptContext [−]
pub trait ScriptContext: Debug + Clone + Ord + PartialOrd<Self> + Eq + PartialEq<Self> + Sealed {
pub fn check_terminal_non_malleable<Pk, Ctx>(
_frag: &Terminal<Pk, Ctx>
) -> Result<(), ScriptContextError>
where
Ctx: ScriptContext,
Pk: MiniscriptKey;
pub fn max_satisfaction_size<Pk, Ctx>(
ms: &Miniscript<Pk, Ctx>
) -> Option<usize>
where
Ctx: ScriptContext,
Pk: MiniscriptKey;
diff --git a/static/docs-rs/bdk/nightly/latest/dark.css b/static/docs-rs/bdk/nightly/latest/dark.css
index 57e76d0779..8ee9c65d66 100644
--- a/static/docs-rs/bdk/nightly/latest/dark.css
+++ b/static/docs-rs/bdk/nightly/latest/dark.css
@@ -1 +1 @@
-body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{color:#ddd;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}
\ No newline at end of file
+body{background-color:#353535;color:#ddd;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:#ddd;}h1.fqn{border-bottom-color:#d2d2d2;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#d2d2d2;}.in-band{background-color:#353535;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#2A2A2A;}pre{background-color:#2A2A2A;}.sidebar{background-color:#505050;}.logo-container.rust-logo>img{filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff)}*{scrollbar-color:rgb(64,65,67) #717171;}.sidebar{scrollbar-color:rgba(32,34,37,.6) transparent;}::-webkit-scrollbar-track{background-color:#717171;}::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar::-webkit-scrollbar-track{background-color:#717171;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(32,34,37,.6);}.sidebar .current{background-color:#333;}.source .sidebar{background-color:#353535;}.sidebar .location{border-color:#fff;background:#575757;color:#DDD;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#444;}.line-numbers span{color:#3B91E2;}.line-numbers .line-highlighted{background-color:#0a042f !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#DDD;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#ddd;}.content .highlighted{color:#eee !important;background-color:#616161;}.content .highlighted a,.content .highlighted span{color:#eee !important;}.content .highlighted.trait{background-color:#013191;}.content .highlighted.traitalias{background-color:#013191;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.mod{background-color:#803a1b;}.content .highlighted.externcrate{background-color:#396bac;}.content .highlighted.enum{background-color:#5b4e68;}.content .highlighted.struct{background-color:#194e9f;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#4950ed;}.content .highlighted.type{background-color:#38902c;}.content .highlighted.foreigntype{background-color:#b200d6;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#217d1c;}.content .highlighted.constant,.content .highlighted.static{background-color:#0063cc;}.content .highlighted.primitive{background-color:#00708a;}.content .highlighted.keyword{background-color:#884719;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#82b089;}.content span.struct,.content a.struct,.block a.current.struct{color:#2dbfb8;}.content span.type,.content a.type,.block a.current.type{color:#ff7f00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#dd7de8;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#09bd00;}.content span.union,.content a.union,.block a.current.union{color:#a6ae37;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#82a5c9;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#43aec7;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#bda000;}.content span.trait,.content a.trait,.block a.current.trait{color:#b78cf2;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#b397da;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#2BAB63;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8d8d8b;}pre.rust .doccomment{color:#8ca375;}nav:not(.sidebar){border-bottom-color:#4e4e4e;}nav.main .current{border-top-color:#eee;border-bottom-color:#eee;}nav.main .separator{border-color:#eee;}a{color:#ddd;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#D2991D;}a.test-arrow{color:#dedede;}.collapse-toggle{color:#999;}#crate-search{color:#111;background-color:#f0f0f0;border-color:#000;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input{color:#111;background-color:#f0f0f0;box-shadow:0 0 0 1px #000,0 0 0 2px transparent;}.search-input:focus{border-color:#008dfd;}.search-focus:disabled{background-color:#c5c4c4;}#crate-search+.search-input:focus{box-shadow:0 0 8px 4px #078dd8;}.module-item .stab{color:#ddd;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;color:#2f2f2f;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;color:#2f2f2f;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;color:#2f2f2f;}.stab.portability>code{background:none;}#help>div{background:#4d4d4d;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}#help dt{border-color:#bfbfbf;background:rgba(0,0,0,0);}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:#ddd;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#ab8ac1;}pre.rust .kw-2,pre.rust .prelude-ty{color:#769acb;}pre.rust .number,pre.rust .string{color:#83a300;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#ee6868;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#d97f26;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#4a4949;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background-color:#494a3d;border-right:3px solid #bb7410;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.8);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.8);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.8);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.8);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;border-color:#000;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#111;border-color:#777;}#titles>button:not(.selected){background-color:#252525;border-top-color:#252525;}#titles>button:hover,#titles>button.selected{border-top-color:#0089ff;background-color:#353535;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#505050;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#505050;border-right-color:#000;}#sidebar-filler{background-color:#505050;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background:#f0f0f0;color:#000;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#ffb900;}#theme-choices{border-color:#e0e0e0;background-color:#353535;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#4e4e4e;}@media (max-width:700px){#theme-picker{background:#f0f0f0;}}#all-types{background-color:#505050;}#all-types:hover{background-color:#606060;}.search-results td span.alias{color:#fff;}.search-results td span.grey{color:#ccc;}#sidebar-toggle{background-color:#565656;}#sidebar-toggle:hover{background-color:#676767;}#source-sidebar{background-color:#565656;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#444;}div.files>.selected{background-color:#333;}.setting-line>.title{border-bottom-color:#ddd;}
\ No newline at end of file
diff --git a/static/docs-rs/bdk/nightly/latest/light.css b/static/docs-rs/bdk/nightly/latest/light.css
index fa73fe2233..050c4f296f 100644
--- a/static/docs-rs/bdk/nightly/latest/light.css
+++ b/static/docs-rs/bdk/nightly/latest/light.css
@@ -1 +1 @@
- body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;}.stab.portability>code{color:#000;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}
\ No newline at end of file
+ body{background-color:white;color:black;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){color:black;}h1.fqn{border-bottom-color:#D5D5D5;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod){border-bottom-color:#DDDDDD;}.in-band{background-color:white;}.invisible{background:rgba(0,0,0,0);}.docblock code,.docblock-short code{background-color:#F5F5F5;}pre{background-color:#F5F5F5;}.sidebar{background-color:#F1F1F1;}*{scrollbar-color:rgba(36,37,39,0.6) #e6e6e6;}.sidebar{scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;}.logo-container.rust-logo>img{}::-webkit-scrollbar-track{background-color:#ecebeb;}::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar::-webkit-scrollbar-track{background-color:#dcdcdc;}.sidebar::-webkit-scrollbar-thumb{background-color:rgba(36,37,39,0.6);}.sidebar .current{background-color:#fff;}.source .sidebar{background-color:#fff;}.sidebar .location{border-color:#000;background-color:#fff;color:#333;}.sidebar .version{border-bottom-color:#DDD;}.sidebar-title{border-top-color:#777;border-bottom-color:#777;}.block a:hover{background:#F5F5F5;}.line-numbers span{color:#c67e2d;}.line-numbers .line-highlighted{background-color:#f6fdb0 !important;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom-color:#ddd;}.docblock table,.docblock table td,.docblock table th{border-color:#ddd;}.content .method .where,.content .fn .where,.content .where.fmt-newline{color:#4E4C4C;}.content .highlighted{color:#000 !important;background-color:#ccc;}.content .highlighted a,.content .highlighted span{color:#000 !important;}.content .highlighted.trait{background-color:#c7b6ff;}.content .highlighted.traitalias{background-color:#c7b6ff;}.content .highlighted.mod,.content .highlighted.externcrate{background-color:#afc6e4;}.content .highlighted.enum{background-color:#b4d1b9;}.content .highlighted.struct{background-color:#e7b1a0;}.content .highlighted.union{background-color:#b7bd49;}.content .highlighted.fn,.content .highlighted.method,.content .highlighted.tymethod{background-color:#c6afb3;}.content .highlighted.type{background-color:#ffc891;}.content .highlighted.foreigntype{background-color:#f5c4ff;}.content .highlighted.attr,.content .highlighted.derive,.content .highlighted.macro{background-color:#8ce488;}.content .highlighted.constant,.content .highlighted.static{background-color:#c3e0ff;}.content .highlighted.primitive{background-color:#9aecff;}.content .highlighted.keyword{background-color:#f99650;}.content .item-info::before{color:#ccc;}.content span.enum,.content a.enum,.block a.current.enum{color:#508157;}.content span.struct,.content a.struct,.block a.current.struct{color:#ad448e;}.content span.type,.content a.type,.block a.current.type{color:#ba5d00;}.content span.foreigntype,.content a.foreigntype,.block a.current.foreigntype{color:#cd00e2;}.content span.attr,.content a.attr,.block a.current.attr,.content span.derive,.content a.derive,.block a.current.derive,.content span.macro,.content a.macro,.block a.current.macro{color:#068000;}.content span.union,.content a.union,.block a.current.union{color:#767b27;}.content span.constant,.content a.constant,.block a.current.constant,.content span.static,.content a.static,.block a.current.static{color:#546e8a;}.content span.primitive,.content a.primitive,.block a.current.primitive{color:#2c8093;}.content span.externcrate,.content span.mod,.content a.mod,.block a.current.mod{color:#4d76ae;}.content span.trait,.content a.trait,.block a.current.trait{color:#7c5af3;}.content span.traitalias,.content a.traitalias,.block a.current.traitalias{color:#6841f1;}.content span.fn,.content a.fn,.block a.current.fn,.content span.method,.content a.method,.block a.current.method,.content span.tymethod,.content a.tymethod,.block a.current.tymethod,.content .fnname{color:#9a6e31;}.content span.keyword,.content a.keyword,.block a.current.keyword{color:#de5249;}pre.rust .comment{color:#8E908C;}pre.rust .doccomment{color:#4D4D4C;}nav:not(.sidebar){border-bottom-color:#e0e0e0;}nav.main .current{border-top-color:#000;border-bottom-color:#000;}nav.main .separator{border:1px solid #000;}a{color:#000;}.docblock:not(.type-decl) a:not(.srclink):not(.test-arrow),.docblock-short a:not(.srclink):not(.test-arrow),.item-info a,#help a{color:#3873AD;}a.test-arrow{color:#f5f5f5;}.collapse-toggle{color:#999;}#crate-search{color:#555;background-color:white;border-color:#e0e0e0;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input{color:#555;background-color:white;box-shadow:0 0 0 1px #e0e0e0,0 0 0 2px transparent;}.search-input:focus{border-color:#66afe9;}.search-focus:disabled{background-color:#e6e6e6;}#crate-search+.search-input:focus{box-shadow:0 0 8px #078dd8;}.module-item .stab{color:#000;}.stab.unstable{background:#FFF5D6;border-color:#FFC600;}.stab.deprecated{background:#F3DFFF;border-color:#7F0087;}.stab.portability{background:#C4ECFF;border-color:#7BA5DB;}.stab.portability>code{background:none;}#help>div{background:#e9e9e9;border-color:#bfbfbf;}#help>div>span{border-bottom-color:#bfbfbf;}.since{color:grey;}tr.result span.primitive::after,tr.result span.keyword::after{color:black;}.line-numbers :target{background-color:transparent;}pre.rust .kw{color:#8959A8;}pre.rust .kw-2,pre.rust .prelude-ty{color:#4271AE;}pre.rust .number,pre.rust .string{color:#718C00;}pre.rust .self,pre.rust .bool-val,pre.rust .prelude-val,pre.rust .attribute,pre.rust .attribute .ident{color:#C82829;}pre.rust .macro,pre.rust .macro-nonterminal{color:#3E999F;}pre.rust .lifetime{color:#B76514;}pre.rust .question-mark{color:#ff9011;}.example-wrap>pre.line-number{border-color:#c7c7c7;}a.test-arrow{background-color:rgba(78,139,202,0.2);}a.test-arrow:hover{background-color:#4e8bca;}.toggle-label{color:#999;}:target>code,:target>.in-band{background:#FDFFD3;border-right:3px solid #ffb44c;}pre.compile_fail{border-left:2px solid rgba(255,0,0,.5);}pre.compile_fail:hover,.information:hover+pre.compile_fail{border-left:2px solid #f00;}pre.should_panic{border-left:2px solid rgba(255,0,0,.5);}pre.should_panic:hover,.information:hover+pre.should_panic{border-left:2px solid #f00;}pre.ignore{border-left:2px solid rgba(255,142,0,.6);}pre.ignore:hover,.information:hover+pre.ignore{border-left:2px solid #ff9200;}.tooltip.compile_fail{color:rgba(255,0,0,.5);}.information>.compile_fail:hover{color:#f00;}.tooltip.should_panic{color:rgba(255,0,0,.5);}.information>.should_panic:hover{color:#f00;}.tooltip.ignore{color:rgba(255,142,0,.6);}.information>.ignore:hover{color:#ff9200;}.search-failed a{color:#0089ff;}.tooltip::after{background-color:#000;color:#fff;}.tooltip::before{border-color:transparent black transparent transparent;}.notable-traits-tooltiptext{background-color:#eee;border-color:#999;}#titles>button:not(.selected){background-color:#e6e6e6;border-top-color:#e6e6e6;}#titles>button:hover,#titles>button.selected{background-color:#ffffff;border-top-color:#0089ff;}#titles>button>div.count{color:#888;}@media (max-width:700px){.sidebar-menu{background-color:#F1F1F1;border-bottom-color:#e0e0e0;border-right-color:#e0e0e0;}.sidebar-elems{background-color:#F1F1F1;border-right-color:#000;}#sidebar-filler{background-color:#F1F1F1;border-bottom-color:#e0e0e0;}}kbd{color:#000;background-color:#fafbfc;border-color:#d1d5da;border-bottom-color:#c6cbd1;box-shadow-color:#c6cbd1;}#theme-picker,#settings-menu,.help-button{border-color:#e0e0e0;background-color:#fff;}#theme-picker:hover,#theme-picker:focus,#settings-menu:hover,#settings-menu:focus,.help-button:hover,.help-button:focus{border-color:#717171;}#theme-choices{border-color:#ccc;background-color:#fff;}#theme-choices>button:not(:first-child){border-top-color:#e0e0e0;}#theme-choices>button:hover,#theme-choices>button:focus{background-color:#eee;}@media (max-width:700px){#theme-picker{background:#fff;}}#all-types{background-color:#fff;}#all-types:hover{background-color:#f9f9f9;}.search-results td span.alias{color:#000;}.search-results td span.grey{color:#999;}#sidebar-toggle{background-color:#F1F1F1;}#sidebar-toggle:hover{background-color:#E0E0E0;}#source-sidebar{background-color:#F1F1F1;}#source-sidebar>.title{border-bottom-color:#ccc;}div.files>a:hover,div.name:hover{background-color:#E0E0E0;}div.files>.selected{background-color:#fff;}.setting-line>.title{border-bottom-color:#D5D5D5;}
\ 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 83decb595d..3c8a103b82 100644
--- a/static/docs-rs/bdk/nightly/latest/main.js
+++ b/static/docs-rs/bdk/nightly/latest/main.js
@@ -1,4 +1,4 @@
-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;window.searchJS=rustdocVars.attributes["data-search-js"].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;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}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){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 enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);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+=""+""+(item.is_alias===true?(""+item.alias+" - see "):"")+item.displayPath+""+name+" "+""+""+item.desc+" "});output+="
"}else{output="No results :(
"+"Try on DuckDuckGo?
"+"Or try looking in one of these:- The Rust Reference "+" for technical details about the language.
- Rust By "+"Example for expository code examples.
- The Rust Book for "+"introductions to language features and the language itself.
- Docs.rs for documentation of crates released on"+" crates.io.
"}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 itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],};searchIndex.push(row);if(typeof row.name==="string"){var word=row.name.toLowerCase();searchWords.push(word)}else{searchWords.push("")}lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){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);for(var i=0;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 addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.length;i0){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;window.searchJS=rustdocVars.attributes["data-search-js"].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;if(browserSupportsHistoryApi()){history.replaceState("",window.currentCrate+" - Rust",getNakedUrl()+window.location.hash)}}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 getObjectNameFromId(id){if(typeof id==="number"){return searchIndex[id].name}return id}function checkGenerics(obj,val){var tmp_lev,elem_name;if(val.generics.length>0){if(obj.length>GENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);var elength=object[GENERICS_DATA].length;for(var x=0;xGENERICS_DATA&&obj[GENERICS_DATA].length>=val.generics.length){var elems=Object.create(null);len=obj[GENERICS_DATA].length;for(x=0;xGENERICS_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 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=ty.id;if(searchWords[j].indexOf(split[i])>-1||searchWords[j].indexOf(val)>-1||ty.normalizedName.indexOf(val)>-1){if(typePassesFilter(typeFilter,ty.ty)&&results[fullId]===undefined){index=ty.normalizedName.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 enumNameIdx=item.path.lastIndexOf("::");var enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);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+=""+""+(item.is_alias===true?(""+item.alias+" - see "):"")+item.displayPath+""+name+" "+""+""+item.desc+" "});output+="
"}else{output="No results :(
"+"Try on DuckDuckGo?
"+"Or try looking in one of these:- The Rust Reference "+" for technical details about the language.
- Rust By "+"Example for expository code examples.
- The Rust Book for "+"introductions to language features and the language itself.
- Docs.rs for documentation of crates released on"+" crates.io.
"}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,word;var currentIndex=0;var id=0;for(var crate in rawSearchIndex){if(!hasOwnProperty(rawSearchIndex,crate)){continue}var crateSize=0;searchWords.push(crate);var normalizedName=crate.indexOf("_")===-1?crate:crate.replace(/_/g,"");var crateRow={crate:crate,ty:1,name:crate,path:"",desc:rawSearchIndex[crate].doc,parent:undefined,type:null,id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(crateRow);currentIndex+=1;var itemTypes=rawSearchIndex[crate].t;var itemNames=rawSearchIndex[crate].n;var itemPaths=rawSearchIndex[crate].q;var itemDescs=rawSearchIndex[crate].d;var itemParentIdxs=rawSearchIndex[crate].i;var itemFunctionSearchTypes=rawSearchIndex[crate].f;var paths=rawSearchIndex[crate].p;var aliases=rawSearchIndex[crate].a;var len=paths.length;for(i=0;i0?paths[itemParentIdxs[i]-1]:undefined,type:itemFunctionSearchTypes[i],id:id,normalizedName:normalizedName,};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){ALIASES[crate]={};var j,local_aliases;for(var alias_name in aliases){if(!aliases.hasOwnProperty(alias_name)){continue}if(!ALIASES[crate].hasOwnProperty(alias_name)){ALIASES[crate][alias_name]=[]}local_aliases=aliases[alias_name];for(j=0,len=local_aliases.length;j0){search_input.value=params.search;search(e)}else{search_input.value="";hideSearchResults()}})}window.onpageshow=function(){var qSearch=getQueryStringParams().search;if(search_input.value===""&&qSearch){search_input.value=qSearch}search()}}index=buildIndex(rawSearchIndex);registerSearchEvents();if(getQueryStringParams().search){search()}};function addSidebarCrates(crates){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);for(var i=0;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 addSearchOptions(crates){var elem=document.getElementById("crate-search");if(!elem){return}var savedCrate=getSettingValue("saved-filter-crate");for(var i=0,len=crates.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(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, \
diff --git a/static/docs-rs/bdk/nightly/latest/rustdoc.css b/static/docs-rs/bdk/nightly/latest/rustdoc.css
index 75c58de7ff..e5412cbdb5 100644
--- a/static/docs-rs/bdk/nightly/latest/rustdoc.css
+++ b/static/docs-rs/bdk/nightly/latest/rustdoc.css
@@ -1 +1 @@
- @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial;}.content ul.crate a.crate{font:16px/1.6 "Fira Sans";}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;padding-right:1ex;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'â¬';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}.help-button{right:30px;font-family:"Fira Sans",Arial;text-align:center;font-size:17px;}#theme-picker,#settings-menu,.help-button{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;}
\ No newline at end of file
+ @font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular.woff2") format("woff2"),url("FiraSans-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium.woff2") format("woff2"),url("FiraSans-Medium.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:400;src:local('Source Serif Pro'),url("SourceSerifPro-Regular.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:italic;font-weight:400;src:local('Source Serif Pro Italic'),url("SourceSerifPro-It.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Serif Pro';font-style:normal;font-weight:700;src:local('Source Serif Pro Bold'),url("SourceSerifPro-Bold.ttf.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular.woff") format('woff');font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold.woff") format('woff');font-display:swap;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}html{content:"";}@media (prefers-color-scheme:light){html{content:"light";}}@media (prefers-color-scheme:dark){html{content:"dark";}}body{font:16px/1.4 "Source Serif Pro",serif;margin:0;position:relative;padding:10px 15px 20px 15px;-webkit-font-feature-settings:"kern","liga";-moz-font-feature-settings:"kern","liga";font-feature-settings:"kern","liga";}h1{font-size:1.5em;}h2{font-size:1.4em;}h3{font-size:1.3em;}h1,h2,h3:not(.impl):not(.method):not(.type):not(.tymethod):not(.notable),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){font-weight:500;margin:20px 0 15px 0;padding-bottom:6px;}h1.fqn{border-bottom:1px dashed;margin-top:0;}h1.fqn>.in-band>a:hover{text-decoration:underline;}h2,h3:not(.impl):not(.method):not(.type):not(.tymethod),h4:not(.method):not(.type):not(.tymethod):not(.associatedconstant){border-bottom:1px solid;}h3.impl,h3.method,h4.method,h3.type,h4.type,h4.associatedconstant{flex-basis:100%;font-weight:600;margin-top:16px;margin-bottom:10px;position:relative;}h3.impl,h3.method,h3.type{padding-left:15px;}h1,h2,h3,h4,.sidebar,a.source,.search-input,.content table td:first-child>a,.collapse-toggle,div.item-list .out-of-band,#source-sidebar,#sidebar-toggle,#main>ul.docblock>li>a{font-family:"Fira Sans",Arial,sans-serif;}.content ul.crate a.crate{font-size:16px/1.6;font-family:"Fira Sans",Arial,sans-serif;}ol,ul{padding-left:25px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.6em;}p{margin:0 0 .6em 0;}summary{outline:none;}code,pre,a.test-arrow{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.1em;}.docblock pre code,.docblock-short pre code,.docblock code.spotlight{padding:0;padding-right:1ex;}.docblock code.spotlight :last-child{padding-bottom:0.6em;}pre{padding:14px;}.source .content pre{padding:20px;}img{max-width:100%;}li{position:relative;}.source .content{margin-top:50px;max-width:none;overflow:visible;margin-left:0px;min-width:70em;}nav.sub{font-size:16px;text-transform:uppercase;}.sidebar{width:200px;position:fixed;left:0;top:0;bottom:0;overflow:auto;}*{scrollbar-width:initial;}.sidebar{scrollbar-width:thin;}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;}.sidebar .block>ul>li{margin-right:-10px;}.content,nav{max-width:960px;}.hidden{display:none !important;}.logo-container{height:100px;width:100px;position:relative;margin:20px auto;display:block;margin-top:10px;}.logo-container>img{max-width:100px;max-height:100px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;}.sidebar .location{border:1px solid;font-size:17px;margin:30px 10px 20px 10px;text-align:center;word-wrap:break-word;}.sidebar .version{font-size:15px;text-align:center;border-bottom:1px solid;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;}.location:empty{border:none;}.location a:first-child{font-weight:500;}.block{padding:0;margin-bottom:14px;}.block h2,.block h3{margin-top:0;margin-bottom:8px;text-align:center;}.block ul,.block li{margin:0 10px;padding:0;list-style:none;}.block a{display:block;text-overflow:ellipsis;overflow:hidden;line-height:15px;padding:7px 5px;font-size:14px;font-weight:300;transition:border 500ms ease-out;}.sidebar-title{border-top:1px solid;border-bottom:1px solid;text-align:center;font-size:17px;margin-bottom:5px;}.sidebar-links{margin-bottom:15px;}.sidebar-links>a{padding-left:10px;width:100%;}.sidebar-menu{display:none;}.content{padding:15px 0;}.source .content pre.rust{white-space:pre;overflow:auto;padding-left:0;}.rustdoc:not(.source) .example-wrap{display:inline-flex;margin-bottom:10px;}.example-wrap{position:relative;width:100%;}.example-wrap>pre.line-number{overflow:initial;border:1px solid;border-top-left-radius:5px;border-bottom-left-radius:5px;padding:13px 8px;text-align:right;}.rustdoc:not(.source) .example-wrap>pre.rust{width:100%;overflow-x:auto;}.rustdoc:not(.source) .example-wrap>pre{margin:0;}#search{margin-left:230px;position:relative;}#results{position:absolute;right:0;left:0;overflow:auto;}#results>table{width:100%;table-layout:fixed;margin-bottom:40px;}.content pre.line-numbers{float:left;border:none;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}.line-numbers span{cursor:pointer;}.docblock-short{overflow-wrap:anywhere;}.docblock-short p{display:inline;}.docblock-short p{overflow:hidden;text-overflow:ellipsis;margin:0;}.docblock-short code{white-space:pre-wrap;}.docblock h1,.docblock h2,.docblock h3,.docblock h4,.docblock h5{border-bottom:1px solid;}#main>.docblock h1{font-size:1.3em;}#main>.docblock h2{font-size:1.15em;}#main>.docblock h3,#main>.docblock h4,#main>.docblock h5{font-size:1em;}#main>h2+div,#main>h2+h3,#main>h3+div{display:none;flex-wrap:wrap;}.docblock h1{font-size:1em;}.docblock h2{font-size:0.95em;}.docblock h3,.docblock h4,.docblock h5{font-size:0.9em;}.docblock{margin-left:24px;position:relative;}.content .out-of-band{float:right;font-size:23px;margin:0px;padding:0px;font-weight:normal;}h3.impl>.out-of-band{font-size:21px;}h4.method>.out-of-band{font-size:19px;}h4>code,h3>code,.invisible>code{max-width:calc(100% - 41px);display:block;}.invisible{width:100%;display:inline-block;}.content .in-band{margin:0px;padding:0px;}.in-band>code{display:inline-block;}#main{position:relative;}#main>.since{top:inherit;font-family:"Fira Sans",Arial,sans-serif;}.content table:not(.table-display){border-spacing:0 5px;}.content td{vertical-align:top;}.content td:first-child{padding-right:20px;}.content td p:first-child{margin-top:0;}.content td h1,.content td h2{margin-left:0;font-size:1.1em;}.content tr:first-child td{border-top:0;}.docblock table{margin:.5em 0;width:calc(100% - 2px);border:1px dashed;}.docblock table td{padding:.5em;border:1px dashed;}.docblock table th{padding:.5em;text-align:left;border:1px solid;}.fields+table{margin-bottom:1em;}.content .item-list{list-style-type:none;padding:0;}.content .multi-column{-moz-column-count:5;-moz-column-gap:2.5em;-webkit-column-count:5;-webkit-column-gap:2.5em;column-count:5;column-gap:2.5em;}.content .multi-column li{width:100%;display:inline-block;}.content .method{font-size:1em;position:relative;}.content .method .where,.content .fn .where,.content .where.fmt-newline{display:block;font-size:0.8em;}.content .methods>div:not(.notable-traits){margin-left:40px;margin-bottom:15px;}.content .docblock>.impl-items{margin-left:20px;margin-top:-34px;}.content .docblock>.impl-items>h4{border-bottom:0;}.content .docblock>.impl-items .table-display{margin:0;}.content .docblock>.impl-items table td{padding:0;}.toggle-wrapper.marg-left>.collapse-toggle{left:-24px;}.content .docblock>.impl-items .table-display,.impl-items table td{border:none;}.content .item-info code{font-size:90%;}.content .item-info{position:relative;margin-left:33px;margin-top:-13px;}.sub-variant>div>.item-info{margin-top:initial;}.content .item-info::before{content:'â¬';font-size:25px;position:absolute;top:-6px;left:-19px;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{margin-left:20px;}.content .impl-items .docblock,.content .impl-items .item-info{margin-bottom:.6em;}.content .impl-items>.item-info{margin-left:40px;}.methods>.item-info,.content .impl-items>.item-info{margin-top:-8px;}.impl-items{flex-basis:100%;}#main>.item-info{margin-top:0;}nav:not(.sidebar){border-bottom:1px solid;padding-bottom:10px;margin-bottom:10px;}nav.main{padding:20px 0;text-align:center;}nav.main .current{border-top:1px solid;border-bottom:1px solid;}nav.main .separator{border:1px solid;display:inline-block;height:23px;margin:0 20px;}nav.sum{text-align:right;}nav.sub form{display:inline;}nav.sub,.content{margin-left:230px;}a{text-decoration:none;background:transparent;}.small-section-header:hover>.anchor{display:initial;}.in-band:hover>.anchor,.impl:hover>.anchor{display:inline-block;position:absolute;}.anchor{display:none;position:absolute;left:-7px;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-28px;padding-right:10px;}.anchor:before{content:'\2002\00a7\2002';}.docblock a:not(.srclink):not(.test-arrow):hover,.docblock-short a:not(.srclink):not(.test-arrow):hover,.item-info a{text-decoration:underline;}.invisible>.srclink,h4>code+.srclink,h3>code+.srclink{position:absolute;top:0;right:0;font-size:17px;font-weight:normal;}.block a.current.crate{font-weight:500;}.search-container{position:relative;}.search-container>div{display:inline-flex;width:calc(100% - 63px);}#crate-search{min-width:115px;margin-top:5px;padding:6px;padding-right:19px;flex:none;border:0;border-right:0;border-radius:4px 0 0 4px;outline:none;cursor:pointer;border-right:1px solid;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;text-overflow:"";background-repeat:no-repeat;background-color:transparent;background-size:20px;background-position:calc(100% - 1px) 56%;}.search-container>.top-button{position:absolute;right:0;top:10px;}.search-input{-moz-box-sizing:border-box !important;box-sizing:border-box !important;outline:none;border:none;border-radius:1px;margin-top:5px;padding:10px 16px;font-size:17px;transition:border-color 300ms ease;transition:border-radius 300ms ease-in-out;transition:box-shadow 300ms ease-in-out;width:100%;}#crate-search+.search-input{border-radius:0 1px 1px 0;width:calc(100% - 32px);}.search-input:focus{border-radius:2px;border:0;outline:0;}.search-results .desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;}.search-results a{display:block;}.content .search-results td:first-child{padding-right:0;width:50%;}.content .search-results td:first-child a{padding-right:10px;}.content .search-results td:first-child a:after{clear:both;content:"";display:block;}.content .search-results td:first-child a span{float:left;}tr.result span.primitive::after{content:' (primitive type)';font-style:italic;}tr.result span.keyword::after{content:' (keyword)';font-style:italic;}body.blur>:not(#help){filter:blur(8px);-webkit-filter:blur(8px);opacity:.7;}#help{width:100%;height:100vh;position:fixed;top:0;left:0;display:flex;justify-content:center;align-items:center;}#help>div{flex:0 0 auto;box-shadow:0 0 6px rgba(0,0,0,.2);width:550px;height:auto;border:1px solid;}#help dt{float:left;clear:left;display:block;margin-right:0.5rem;}#help>div>span{text-align:center;display:block;margin:10px 0;font-size:18px;border-bottom:1px solid #ccc;padding-bottom:4px;margin-bottom:6px;}#help dd{margin:5px 35px;}#help .infos{padding-left:0;}#help h1,#help h2{margin-top:0;}#help>div div{width:50%;float:left;padding:0 20px 20px 17px;;}.stab{display:table;border-width:1px;border-style:solid;padding:3px;margin-bottom:5px;font-size:90%;}.stab p{display:inline;}.stab summary{display:list-item;}.stab .emoji{font-size:1.5em;}.module-item .stab{border-radius:3px;display:inline-block;font-size:80%;line-height:1.2;margin-bottom:0;margin-right:.3em;padding:2px;vertical-align:text-bottom;}.module-item.unstable{opacity:0.65;}.since{font-weight:normal;font-size:initial;position:absolute;right:0;top:0;}.impl-items .since,.impl .since,.methods .since{flex-grow:0;padding-left:12px;padding-right:2px;position:initial;}.impl-items .srclink,.impl .srclink,.methods .srclink{flex-grow:0;font-size:17px;font-weight:normal;}.impl-items code,.impl code,.methods code{flex-grow:1;}.impl-items h4,h4.impl,h3.impl,.methods h3{display:flex;flex-basis:100%;font-size:16px;margin-bottom:12px;justify-content:space-between;}.variants_table{width:100%;}.variants_table tbody tr td:first-child{width:1%;}td.summary-column{width:100%;}.summary{padding-right:0px;}pre.rust .question-mark{font-weight:bold;}a.test-arrow{display:inline-block;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:130%;top:5px;right:5px;z-index:1;}a.test-arrow:hover{text-decoration:none;}.section-header:hover a:before{position:absolute;left:-25px;padding-right:10px;content:'\2002\00a7\2002';}.section-header:hover a{text-decoration:none;}.section-header a{color:inherit;}.collapse-toggle{font-weight:300;position:absolute;left:-23px;top:0;}h3>.collapse-toggle,h4>.collapse-toggle{font-size:0.8em;top:5px;}.toggle-wrapper>.collapse-toggle{left:-24px;margin-top:0px;}.toggle-wrapper{position:relative;margin-top:0;}.toggle-wrapper.collapsed{height:25px;transition:height .2s;margin-bottom:.6em;}.collapse-toggle>.inner{display:inline-block;width:1.2ch;text-align:center;}.collapse-toggle.hidden-default{position:relative;margin-left:20px;}.since+.srclink{display:table-cell;padding-left:10px;}.item-spacer{width:100%;height:12px;}.out-of-band>span.since{position:initial;font-size:20px;margin-right:5px;}.toggle-wrapper>.collapse-toggle{left:0;}.variant+.toggle-wrapper+.docblock>p{margin-top:5px;}.sub-variant,.sub-variant>h3{margin-top:1px !important;}#main>.sub-variant>h3{font-size:15px;margin-left:25px;margin-bottom:5px;}.sub-variant>div{margin-left:20px;margin-bottom:10px;}.sub-variant>div>span{display:block;position:relative;}.toggle-label{display:inline-block;margin-left:4px;margin-top:3px;}.enum>.toggle-wrapper+.docblock,.struct>.toggle-wrapper+.docblock{margin-left:30px;margin-bottom:20px;margin-top:5px;}.docblock>.section-header:first-child{margin-left:15px;margin-top:0;}.docblock>.section-header:first-child:hover>a:before{left:-10px;}.enum>.collapsed,.struct>.collapsed{margin-bottom:25px;}#main>.variant,#main>.structfield{display:block;}.attributes{display:block;margin-top:0px !important;margin-right:0px;margin-bottom:0px !important;margin-left:30px;}.toggle-attributes.collapsed{margin-bottom:0;}.impl-items>.toggle-attributes{margin-left:20px;}.impl-items .attributes{font-weight:500;}:target>code{opacity:1;}.information{position:absolute;left:-25px;margin-top:7px;z-index:1;}.tooltip{position:relative;display:inline-block;cursor:pointer;}.tooltip::after{display:none;text-align:center;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;font-size:16px;}.tooltip.ignore::after{content:"This example is not tested";}.tooltip.compile_fail::after{content:"This example deliberately fails to compile";}.tooltip.should_panic::after{content:"This example panics";}.tooltip.edition::after{content:"This code runs with edition " attr(data-edition);}.tooltip::before{content:" ";position:absolute;top:50%;left:16px;margin-top:-5px;border-width:5px;border-style:solid;display:none;}.tooltip:hover::before,.tooltip:hover::after{display:inline;}.tooltip.compile_fail,.tooltip.should_panic,.tooltip.ignore{font-weight:bold;font-size:20px;}.notable-traits-tooltip{display:inline-block;cursor:pointer;}.notable-traits:hover .notable-traits-tooltiptext,.notable-traits .notable-traits-tooltiptext.force-tooltip{display:inline-block;}.notable-traits .notable-traits-tooltiptext{display:none;padding:5px 3px 3px 3px;border-radius:6px;margin-left:5px;z-index:10;font-size:16px;cursor:default;position:absolute;border:1px solid;}.notable-traits-tooltip::after{content:"\00a0\00a0\00a0";}.notable-traits .notable,.notable-traits .docblock{margin:0;}.notable-traits .docblock code.content{margin:0;padding:0;font-size:20px;}pre.rust.rust-example-rendered{position:relative;}pre.rust{tab-size:4;-moz-tab-size:4;}.search-failed{text-align:center;margin-top:20px;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#titles{height:35px;}#titles>button{float:left;width:33.3%;text-align:center;font-size:18px;cursor:pointer;border:0;border-top:2px solid;}#titles>button:not(:last-child){margin-right:1px;width:calc(33.3% - 1px);}#titles>button>div.count{display:inline-block;font-size:16px;}.notable-traits{cursor:pointer;z-index:2;margin-left:5px;}h4>.notable-traits{position:absolute;left:-44px;top:2px;}#all-types{text-align:center;border:1px solid;margin:0 10px;margin-bottom:10px;display:block;border-radius:7px;}#all-types>p{margin:5px 0;}#sidebar-toggle{position:fixed;top:30px;left:300px;z-index:10;padding:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;cursor:pointer;font-weight:bold;transition:left .5s;font-size:1.2em;border:1px solid;border-left:0;}#source-sidebar{position:fixed;top:0;bottom:0;left:0;width:300px;z-index:1;overflow:auto;transition:left .5s;border-right:1px solid;}#source-sidebar>.title{font-size:1.5em;text-align:center;border-bottom:1px solid;margin-bottom:6px;}.theme-picker{position:absolute;left:211px;top:19px;}.theme-picker button{outline:none;}#settings-menu,.help-button{position:absolute;top:10px;}#settings-menu{right:0;outline:none;}.help-button{right:30px;font-family:"Fira Sans",Arial,sans-serif;text-align:center;font-size:17px;}#theme-picker,#settings-menu,.help-button{padding:4px;width:27px;height:29px;border:1px solid;border-radius:3px;cursor:pointer;}#theme-choices{display:none;position:absolute;left:0;top:28px;border:1px solid;border-radius:3px;z-index:1;cursor:pointer;}#theme-choices>button{border:none;width:100%;padding:4px 8px;text-align:center;background:rgba(0,0,0,0);}#theme-choices>button:not(:first-child){border-top:1px solid;}@media (min-width:701px){.information:first-child>.tooltip{margin-top:16px;}}@media (max-width:700px){body{padding-top:0px;}.rustdoc>.sidebar{height:45px;min-height:40px;margin:0;margin-left:-15px;padding:0 15px;position:static;z-index:11;}.sidebar>.location{float:right;margin:0px;margin-top:2px;padding:3px 10px 1px 10px;min-height:39px;background:inherit;text-align:left;font-size:24px;}.sidebar .location:empty{padding:0;}.sidebar .logo-container{width:35px;height:35px;margin-top:5px;margin-bottom:5px;float:left;margin-left:50px;}.sidebar .logo-container>img{max-width:35px;max-height:35px;}.sidebar-menu{position:fixed;z-index:10;font-size:2rem;cursor:pointer;width:45px;left:0;text-align:center;display:block;border-bottom:1px solid;border-right:1px solid;height:45px;}.rustdoc.source>.sidebar>.sidebar-menu{display:none;}.sidebar-elems{position:fixed;z-index:1;left:0;top:45px;bottom:0;overflow-y:auto;border-right:1px solid;display:none;}.sidebar>.block.version{border-bottom:none;margin-top:12px;margin-bottom:0;}nav.sub{width:calc(100% - 32px);float:right;}.content{margin-left:0px;}#main,#search{margin-top:45px;padding:0;}.content .in-band{width:100%;}.content h4>.out-of-band{position:inherit;}.toggle-wrapper>.collapse-toggle{left:0px;}.toggle-wrapper{height:1.5em;}#search{margin-left:0;}.content .impl-items .method,.content .impl-items>.type,.impl-items>.associatedconstant{display:flex;}.anchor{display:none !important;}h1.fqn{overflow:initial;}.theme-picker{left:10px;top:54px;z-index:1;}h4>.notable-traits{position:absolute;left:-22px;top:24px;}#titles>button>div.count{float:left;width:100%;}#titles{height:50px;}.sidebar.mobile{position:fixed;width:100%;margin-left:0;background-color:rgba(0,0,0,0);height:100%;}.sidebar.mobile>div.version{overflow:hidden;max-height:33px;}.sidebar{width:calc(100% + 30px);}.show-it{display:block;width:246px;}.show-it>.block.items{margin:8px 0;}.show-it>.block.items>ul{margin:0;}.show-it>.block.items>ul>li{text-align:center;margin:2px 0;}.show-it>.block.items>ul>li>a{font-size:21px;}#sidebar-filler{position:fixed;left:45px;width:calc(100% - 45px);top:0;height:45px;z-index:-1;border-bottom:1px solid;}.collapse-toggle{left:-20px;}.impl>.collapse-toggle{left:-10px;}#all-types{margin:10px;}#sidebar-toggle{top:100px;width:30px;font-size:1.5rem;text-align:center;padding:0;}#source-sidebar{z-index:11;}#main>.line-numbers{margin-top:0;}.notable-traits .notable-traits-tooltiptext{left:0;top:100%;}.help-button{display:none;}.search-container>div{width:calc(100% - 32px);}}@media print{nav.sub,.content .out-of-band,.collapse-toggle{display:none;}}@media (max-width:464px){#titles,#titles>button{height:73px;}#main,#search{margin-top:100px;}#main>table:not(.table-display) td{word-break:break-word;width:50%;}.search-container>div{display:block;width:calc(100% - 37px);}#crate-search{width:100%;border-radius:4px;border:0;}#crate-search+.search-input{width:calc(100% + 71px);margin-left:-36px;}#theme-picker,#settings-menu{padding:5px;width:31px;height:31px;}#theme-picker{margin-top:-2px;}#settings-menu{top:7px;}.docblock{margin-left:12px;}}h3.notable{margin:0;margin-bottom:13px;font-size:19px;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px;border-radius:3px;box-shadow:inset 0 -1px 0;cursor:default;}.hidden-by-impl-hider,.hidden-by-usual-hider{display:none !important;}#implementations-list>h3>span.in-band{width:100%;}.table-display{width:100%;border:0;border-collapse:collapse;border-spacing:0;font-size:16px;}.table-display tr td:first-child{padding-right:0;}.table-display tr td:last-child{float:right;}.table-display .out-of-band{position:relative;font-size:19px;display:block;}#implementors-list>.impl-items .table-display .out-of-band{font-size:17px;}.table-display td:hover .anchor{display:block;top:2px;left:-5px;}#main>ul{padding-left:10px;}#main>ul>li{list-style:none;}.non-exhaustive{margin-bottom:1em;}div.children{padding-left:27px;display:none;}div.name{cursor:pointer;position:relative;margin-left:16px;}div.files>a{display:block;padding:0 3px;}div.files>a:hover,div.name:hover{background-color:#a14b4b;}div.name.expand+.children{display:block;}div.name::before{content:"\25B6";padding-left:4px;font-size:0.7em;position:absolute;left:-16px;top:4px;}div.name.expand::before{transform:rotate(90deg);left:-15px;top:2px;}.type-decl>pre>.toggle-wrapper.toggle-attributes.top-attr{margin-left:0 !important;}.type-decl>pre>.docblock.attributes.top-attr{margin-left:1.8em !important;}.type-decl>pre>.toggle-attributes{margin-left:2.2em;}.type-decl>pre>.docblock.attributes{margin-left:4em;}
\ 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 2cd82f1685..17cb9d6ba6 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 â¦","t":[0,0,4,13,13,13,4,13,13,13,0,3,3,12,12,12,12,0,3,11,3,12,12,4,13,13,13,13,13,13,13,0,3,3,3,11,3,12,12,12,3,12,12,12,12,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,13,8,10,10,11,10,10,10,10,8,16,10,6,8,10,5,3,5,3,5,0,0,4,13,13,4,13,13,3,12,12,4,13,13,0,3,11,8,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,8,16,10,10,8,16,10,0,0,5,0,4,13,13,13,13,13,13,13,13,13,13,13,13,0,3,4,13,13,13,12,13,12,13,12,13,12,13,12,13,12,13,12,12,13,12,12,11,11,6,6,4,13,12,12,12,12,12,13,12,12,12,12,12,13,12,13,11,3,12,12,12,12,3,12,12,11,4,13,13,13,13,13,13,11,11,0,6,8,10,3,12,3,12,3,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,6,4,13,13,13,13,13,4,3,12,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,4,3,6,6,6,8,10,8,10,0,0,4,13,13,13,13,13,13,13,13,3,4,13,13,13,13,13,3,6,4,13,13,4,13,13,3,12,12,3,12,12,6,3,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,6,5,5,5,5,4,11,11,11,4,13,13,11,11,8,10,11,11,8,10,4,13,13,11,11,11,8,10,11,3,11,8,16,16,16,10,11,8,11,11,3,12,4,13,13,13,13,13,13,0,0,4,13,13,13,13,13,8,10,0,6,3,12,12,11,11,8,10,3,3,11,0,3,12,12,11,11,11,0,4,13,13,13,4,13,13,13,13,13,13,13,13,13,8,10,10,10,11,3,12,3,11,11,11,11,11,11,11,0,5,0,8,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,11,4,13,13,13,8,10,3,11,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,3,3,12,12,12,3,12,12,4,13,13,12,12,3,12,12,12,12,12,12,12,5,14,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["blockchain","any","AnyBlockchain","Electrum","Esplora","CompactFilters","AnyBlockchainConfig","Electrum","Esplora","CompactFilters","electrum","ElectrumBlockchain","ElectrumBlockchainConfig","url","socks5","retry","timeout","esplora","EsploraBlockchain","new","EsploraBlockchainConfig","base_url","concurrency","EsploraError","Reqwest","Parsing","BitcoinEncoding","Hex","TransactionNotFound","HeaderHeightNotFound","HeaderHashNotFound","compact_filters","Mempool","Peer","CompactFiltersBlockchain","new","BitcoinPeerConfig","address","socks5","socks5_credentials","CompactFiltersBlockchainConfig","peers","network","storage_dir","skip_blocks","CompactFiltersError","InvalidResponse","InvalidHeaders","InvalidFilterHeader","InvalidFilter","MissingBlock","DataCorruption","NotConnected","Timeout","PeerBloomDisabled","NoPeers","DB","IO","BIP158","Time","Global","Capability","FullHistory","GetAnyTx","AccurateFees","Blockchain","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","ConfigurableBlockchain","Config","from_config","ProgressData","Progress","update","progress","NoopProgress","noop_progress","LogProgress","log_progress","database","any","AnyDatabase","Memory","Sled","AnyBatch","Memory","Sled","SledDbConfiguration","path","tree_name","AnyDatabaseConfig","Memory","Sled","memory","MemoryDatabase","new","BatchOperations","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","Database","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","BatchDatabase","Batch","begin_batch","commit_batch","ConfigurableDatabase","Config","from_config","descriptor","checksum","get_checksum","error","Error","InvalidHDKeyPath","InvalidDescriptorChecksum","HardenedDerivationXpub","DuplicatedKeys","Key","Policy","InvalidDescriptorCharacter","BIP32","Base58","PK","Miniscript","Hex","policy","PKOrF","SatisfiableItem","Signature","SignatureKey","SHA256Preimage","hash","HASH256Preimage","hash","RIPEMD160Preimage","hash","HASH160Preimage","hash","AbsoluteTimelock","value","RelativeTimelock","value","Multisig","keys","threshold","Thresh","items","threshold","is_leaf","id","ConditionMap","FoldedConditionMap","Satisfaction","Partial","n","m","items","sorted","conditions","PartialComplete","n","m","items","sorted","conditions","Complete","condition","None","is_leaf","Policy","id","item","satisfaction","contribution","Condition","csv","timelock","is_null","PolicyError","NotEnoughItemsSelected","IndexOutOfRange","AddOnLeaf","AddOnPartialComplete","MixedTimelockUnits","IncompatibleConditions","requires_path","get_condition","template","DescriptorTemplateOut","DescriptorTemplate","build","P2PKH","0","P2WPKH_P2SH","0","P2WPKH","0","BIP44","0","1","BIP44Public","0","1","2","BIP49","0","1","BIP49Public","0","1","2","BIP84","0","1","BIP84Public","0","1","2","KeyMap","Descriptor","Bare","Pkh","Wpkh","Sh","Wsh","Legacy","Miniscript","node","ty","ext","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","Segwitv0","DerivedDescriptorKey","ExtendedDescriptor","DerivedDescriptor","HDKeyPaths","IntoWalletDescriptor","into_wallet_descriptor","ExtractPolicy","extract_policy","keys","bip39","Language","English","ChineseSimplified","ChineseTraditional","French","Italian","Japanese","Korean","Spanish","Mnemonic","MnemonicType","Words12","Words15","Words18","Words21","Words24","Seed","MnemonicWithPassphrase","DescriptorPublicKey","SinglePub","XPub","DescriptorSecretKey","SinglePriv","XPrv","DescriptorSinglePriv","origin","key","DescriptorSinglePub","origin","key","KeyMap","SortedMultiVec","k","pks","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","ValidNetworks","any_network","mainnet_network","test_networks","merge_networks","DescriptorKey","from_public","from_secret","override_valid_networks","ScriptContextEnum","Legacy","Segwitv0","is_legacy","is_segwit_v0","ExtScriptContext","as_enum","is_legacy","is_segwit_v0","IntoDescriptorKey","into_descriptor_key","ExtendedKey","Private","Public","has_secret","into_xprv","into_xpub","DerivableKey","into_extended_key","into_descriptor_key","GeneratedKey","into_key","GeneratableKey","Entropy","Options","Error","generate_with_entropy","generate","GeneratableDefaultOptions","generate_with_entropy_default","generate_default","PrivateKeyGenerateOptions","compressed","KeyError","InvalidScriptContext","InvalidNetwork","InvalidChecksum","Message","BIP32","Miniscript","wallet","address_validator","AddressValidatorError","UserRejected","ConnectionError","TimeoutError","InvalidScript","Message","AddressValidator","validate","coin_selection","DefaultCoinSelectionAlgorithm","CoinSelectionResult","selected","fee_amount","selected_amount","local_selected_amount","CoinSelectionAlgorithm","coin_select","LargestFirstCoinSelection","BranchAndBoundCoinSelection","new","export","WalletExport","blockheight","label","export_wallet","descriptor","change_descriptor","signer","SignerId","PkHash","Fingerprint","Dummy","SignerError","MissingKey","InvalidKey","UserCanceled","InputIndexOutOfRange","MissingNonWitnessUtxo","InvalidNonWitnessUtxo","MissingWitnessUtxo","MissingWitnessScript","MissingHDKeypath","Signer","sign","sign_whole_tx","id","descriptor_secret_key","SignerOrdering","0","SignersContainer","as_key_map","new","add_external","remove","ids","signers","find","time","get_timestamp","tx_builder","TxBuilderContext","CreateTx","BumpFee","TxBuilder","fee_rate","fee_absolute","policy_path","add_utxos","add_utxo","add_foreign_utxo","manually_selected_only","unspendable","add_unspendable","sighash","ordering","nlocktime","version","do_not_spend_change","only_spend_change","change_policy","force_non_witness_utxo","include_output_redeem_witness_script","add_global_xpubs","drain_wallet","coin_selection","finish","set_recipients","add_recipient","set_single_recipient","enable_rbf","enable_rbf_with_sequence","maintain_single_recipient","TxOrdering","Shuffle","Untouched","BIP69Lexicographic","sort_tx","ChangeSpendPolicy","ChangeAllowed","OnlyChange","ChangeForbidden","IsDust","is_dust","Wallet","new_offline","AddressIndex","New","LastUnused","Peek","Reset","get_address","is_mine","list_unspent","get_utxo","list_transactions","get_balance","add_signer","add_address_validator","build_tx","build_fee_bump","sign","policies","public_descriptor","finalize_psbt","secp_ctx","get_descriptor_for_keychain","new","sync","client","network","broadcast","Error","InvalidU32Bytes","Generic","ScriptDoesntHaveAddressForm","SingleRecipientMultipleOutputs","SingleRecipientNoInputs","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","InsufficientFunds","needed","available","BnBTotalTriesExceeded","BnBNoExactMatch","UnknownUTXO","TransactionNotFound","TransactionConfirmed","IrreplaceableTransaction","FeeRateTooLow","required","FeeTooLow","required","MissingKeyOrigin","Key","ChecksumMismatch","SpendingPolicyRequired","InvalidPolicyPathError","Signer","InvalidProgressValue","ProgressUpdateError","InvalidOutpoint","Descriptor","AddressValidator","Encode","Miniscript","BIP32","Secp256k1","JSON","Hex","PSBT","Electrum","Esplora","CompactFilters","Sled","KeychainKind","External","Internal","FeeRate","LocalUtxo","outpoint","txout","keychain","WeightedUtxo","satisfaction_weight","utxo","Utxo","Local","Foreign","outpoint","psbt_input","TransactionDetails","transaction","txid","timestamp","received","sent","fees","height","version","descriptor","fragment","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","to_hex","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","to_hex","write_base32","base32_len","check_base32","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","write_base32","base32_len","check_base32","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","for_each_key","for_each_key","for_each_key","translate_pk","translate_pk","from_tree","from_tree","from_str","from_str","from_str","from_str","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","eq","ne","eq","ne","eq","eq","eq","eq","ne","eq","ne","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_global_policy_validity","check_local_policy_validity","max_satisfaction_size","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_local_policy_validity","max_satisfaction_size","clone","clone","clone","clone","clone","clone","clone","lift","lift","lift","sanity_check","address","script_pubkey","unsigned_script_sig","explicit_script","get_satisfaction","max_satisfaction_weight","script_code","cmp","cmp","cmp","cmp","cmp","cmp","cmp","is_uncompressed","to_pubkeyhash","hash","hash","hash","hash","hash","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","drop","drop","clone","clone","clone","clone","zeroize","zeroize","zeroize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","as_ref","as_ref","fmt","fmt","default","default","eq","from_config","from_config","from_config","from_config","update","update","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","begin_batch","commit_batch","begin_batch","commit_batch","from_config","from_config","build","build","build","build","build","build","build","build","build","into_wallet_descriptor","into_wallet_descriptor","extract_policy","extract_policy","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_extended_key","into_descriptor_key","generate_with_entropy","coin_select","coin_select","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","as_ref","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","cmp","cmp","cmp","cmp","cmp","cmp","eq","eq","eq","ne","eq","ne","eq","eq","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","eq","ne","eq","eq","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","to_string","deref","deref","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","hash","hash","hash","hash","hash","hash","hash","from_str","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","to_pubkeyhash","is_uncompressed","serialized_len","to_public_key","hash_to_hash160","new","add_tx","get_tx","has_tx","iter_txs","connect","connect_proxy","get_version","get_network","get_mempool","is_connected","send","recv","new_pk","new_pkh","new_wpkh","new_sh_wpkh","new_sh","new_wsh","new_sh_wsh","new_bare","new_sh_sortedmulti","new_sh_wsh_sortedmulti","new_wsh_sortedmulti","desc_type","is_deriveable","derive","parse_descriptor","to_string_with_secret","master_fingerprint","full_derivation_path","is_deriveable","derive","derive_public_key","requires_sig","is_non_malleable","within_resource_limits","has_mixed_timelocks","has_repeated_keys","sanity_check","iter","iter_pk","iter_pkh","iter_pk_pkh","branches","get_nth_child","get_leaf_pk","get_leaf_pkh","get_leaf_pk_pkh","get_nth_pk","get_nth_pkh","get_nth_pk_pkh","from_ast","into_inner","as_inner","parse_insane","parse","encode","script_size","max_satisfaction_witness_elements","max_satisfaction_size","from_str_insane","satisfy","satisfy_malleable","lift_check","check_witness","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","new","from_language_code","wordlist","wordmap","new","from_entropy","from_phrase","validate","phrase","into_phrase","entropy","language","for_word_count","for_key_size","for_phrase","total_bits","entropy_bits","checksum_bits","word_count","new","as_bytes","as_public","new","from_tree","translate_pk","sanity_check","sorted_node","encode","satisfy","script_size","max_satisfaction_witness_elements","max_satisfaction_size","as_byte","from_btc_per_kvb","from_sat_per_vb","default_min_relay_fee","as_sat_vb","outpoint","txout"],"q":["bdk","bdk::blockchain","bdk::blockchain::any","","","","","","","","bdk::blockchain","bdk::blockchain::electrum","","","","","","bdk::blockchain","bdk::blockchain::esplora","","","","","","","","","","","","","bdk::blockchain","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::database","bdk::database::any","","","","","","","","","","","","bdk::database","bdk::database::memory","","bdk::database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::descriptor","bdk::descriptor::checksum","bdk::descriptor","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","","","","","","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::keys","bdk::keys::bip39","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::wallet","bdk::wallet::address_validator","","","","","","","","bdk::wallet","bdk::wallet::coin_selection","","","","","","","","","","","bdk::wallet","bdk::wallet::export","","","","","","bdk::wallet","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","bdk::wallet::time","bdk::wallet","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","bdk::Error","","bdk","","","","","","","bdk::Error","bdk","bdk::Error","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::Utxo","","bdk","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::electrum","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::esplora","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::address_validator","","","","","","","","","","","","","","","","bdk::wallet::coin_selection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::export","","","","","","","","","","","","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","","bdk::keys","bdk::descriptor","","","","bdk::keys","bdk::descriptor","","bdk::keys","","","bdk::descriptor","","bdk::keys","","bdk::descriptor","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","","bdk::keys","","","","","","bdk::descriptor","","","bdk::keys","","bdk::descriptor","","","","","","","","","","","","","","","bdk::keys","","bdk::descriptor","","","","bdk::keys","","bdk::descriptor","","","","","","","","","","","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","bdk::keys","","bdk::descriptor","","bdk::keys","bdk::descriptor","bdk::keys","","","bdk::descriptor","bdk::keys","bdk::descriptor","","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::blockchain","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::database::any","","bdk::database::memory","","bdk::database::any","bdk::database::memory","bdk::descriptor::template","","","","","","","","","bdk","","bdk::descriptor","","bdk::keys","","","","bdk::keys::bip39","","bdk","","bdk::keys::bip39","","bdk::keys","","","bdk::keys::bip39","bdk::wallet::coin_selection","","bdk::blockchain::any","","","","","","","bdk::blockchain::electrum","","","","","","bdk::blockchain::esplora","","","","","","bdk::blockchain::compact_filters","","","","","","bdk","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","bdk::blockchain::electrum","bdk::blockchain::esplora","","","","bdk::blockchain::compact_filters","","","","","bdk::database::any","","","","","","bdk::descriptor::error","","","","","","","bdk::descriptor::policy","","bdk::keys","","","","bdk::wallet::signer","","","bdk::blockchain","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::keys","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::blockchain::compact_filters","bdk::database::memory","bdk::descriptor::policy","","bdk::keys","bdk","","bdk::wallet::coin_selection","","bdk::wallet::signer","","bdk::wallet::tx_builder","","","","bdk::descriptor","bdk::descriptor::policy","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","","","","bdk::keys","bdk","","","","","","","","","","","bdk::wallet::address_validator","","bdk::wallet::signer","","","","","bdk::wallet::tx_builder","","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::descriptor","bdk::keys","bdk","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","","","bdk::blockchain::compact_filters","","","","","","bdk::blockchain","bdk::database::any","","","bdk::database::memory","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","","","","","","bdk::keys","","","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","","","bdk::wallet::export","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::wallet","","bdk","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","bdk::keys","bdk::wallet::address_validator","bdk::wallet::signer","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk::descriptor::policy","","","","","bdk","","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk","","","bdk::wallet::export","bdk::descriptor","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","bdk::descriptor","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","bdk","","","","","",""],"d":["Blockchain backends","Runtime-checked blockchain types","Type that can contain any of the [Blockchain] types â¦","Electrum client","Esplora client","Compact filters client","Type that can contain any of the blockchain â¦","Electrum client","Esplora client","Compact filters client","Electrum","Wrapper over an Electrum Client that implements the â¦","Configuration for an [ElectrumBlockchain]","URL of the Electrum server (such as ElectrumX, Esplora, â¦","URL of the socks5 proxy server or a Tor service","Request retry count","Request timeout (seconds)","Esplora","Structure that implements the logic to sync with Esplora","Create a new instance of the client from a base URL","Configuration for an [EsploraBlockchain]","Base URL of the esplora service","Number of parallel requests sent to the esplora service â¦","Errors that can happen during a sync with [â¦","Error with the HTTP call","Invalid number returned","Invalid Bitcoin data returned","Invalid Hex data returned","Transaction not found","Header height not found","Header hash not found","Compact Filters","Container for unconfirmed, but valid Bitcoin transactions","A Bitcoin peer","Structure implementing the required blockchain traits","Construct a new instance given a list of peers, a path to â¦","Data to connect to a Bitcoin P2P peer","Peer address such as 127.0.0.1:18333","Optional socks5 proxy","Optional socks5 proxy credentials","Configuration for a [CompactFiltersBlockchain]","List of peers to try to connect to for asking headers and â¦","Network used","Storage dir to save partially downloaded headers and full â¦","Optionally skip initial skip_blocks blocks (default: 0)","An error that can occur during sync with a [â¦","A peer sent an invalid or unexpected response","The headers returned are invalid","The compact filter headers returned are invalid","The compact filter returned is invalid","The peer is missing a block in the valid chain","The data stored in the block filters storage are corrupted","A peer is not connected","A peer took too long to reply to one of our messages","The peer doesnât advertise the BLOOM service flag","No peers have been specified","Internal database error","Internal I/O error","Invalid BIP158 filter","Internal system time error","Wrapper for [crate::error::Error]","Capabilities that can be supported by a [Blockchain] â¦","Can recover the full history of a wallet and not only the â¦","Can fetch any historical transaction given its txid","Can compute accurate fees for the transactions found â¦","Trait that defines the actions that must be supported by â¦","Return the set of [Capability] supported by this backend","Setup the backend and populate the internal database for â¦","Populate the internal database with transactions and UTXOs","Fetch a transaction from the blockchain given its txid","Broadcast a transaction","Return the current height","Estimate the fee rate required to confirm a transaction â¦","Trait for [Blockchain] types that can be created given a â¦","Type that contains the configuration","Create a new instance given a configuration","Data sent with a progress update over a [channel]","Trait for types that can receive and process progress â¦","Send a new progress update","Shortcut to create a [channel] (pair of [Sender] and [â¦","Type that implements [Progress] and drops every update â¦","Create a new instance of [NoopProgress]","Type that implements [Progress] and logs at level INFO â¦","Create a nwe instance of [LogProgress]","Database types","Runtime-checked database types","Type that can contain any of the [Database] types defined â¦","In-memory ephemeral database","Simple key-value embedded database based on [sled]","Type that contains any of the [BatchDatabase::Batch] â¦","In-memory ephemeral database","Simple key-value embedded database based on [sled]","Configuration type for a [sled::Tree] database","Main directory of the db","Name of the database tree, a separated namespace for the â¦","Type that can contain any of the database configurations â¦","Memory database has no config","Simple key-value embedded database based on [sled]","In-memory ephemeral database","In-memory ephemeral database","Create a new empty database","Trait for operations that can be batched","Store a script_pubkey along with its keychain and child â¦","Store a [LocalUtxo]","Store a raw transaction","Store the metadata of a transaction","Store the last derivation index for a given keychain.","Delete a script_pubkey given the keychain and its child â¦","Delete the data related to a specific script_pubkey, â¦","Delete a [LocalUtxo] given its [OutPoint]","Delete a raw transaction given its [Txid]","Delete the metadata of a transaction and optionally the â¦","Delete the last derivation index for a keychain.","Trait for reading data from a database","Read and checks the descriptor checksum for a given â¦","Return the list of script_pubkeys","Return the list of [LocalUtxo]s","Return the list of raw transactions","Return the list of transactions metadata","Fetch a script_pubkey given the child number of a â¦","Fetch the keychain and child number of a given â¦","Fetch a [LocalUtxo] given its [OutPoint]","Fetch a raw transaction given its [Txid]","Fetch the transaction metadata and optionally also the â¦","Return the last defivation index for a keychain.","Increment the last derivation index for a keychain and â¦","Trait for a database that supports batch operations","Container for the operations","Create a new batch container","Consume and apply a batch of operations","Trait for [Database] types that can be created given a â¦","Type that contains the configuration","Create a new instance given a configuration","Descriptors","Descriptor checksum","Compute the checksum of a descriptor","Descriptor errors","Errors related to the parsing and usage of descriptors","Invalid HD Key path, such as having a wildcard but a â¦","The provided descriptor doesnât match its checksum","The descriptor contains hardened derivation steps on â¦","The descriptor contains multiple keys with the same BIP32 â¦","Error thrown while working with keys","Error while extracting and manipulating policies","Invalid character found in the descriptor checksum","BIP32 error","Error during base58 decoding","Key-related error","Miniscript error","Hex decoding error","Descriptor policy","Raw public key or extended key fingerprint","An item that needs to be satisfied","Signature for a raw public key","Signature for an extended key fingerprint","SHA256 preimage hash","The digest value","Double SHA256 preimage hash","The digest value","RIPEMD160 preimage hash","The digest value","SHA256 then RIPEMD160 preimage hash","The digest value","Absolute timeclock timestamp","The timestamp value","Relative timelock locktime","The locktime value","Multi-signature public keys with threshold count","The raw public key or extended key fingerprint","The required threshold count","Threshold items with threshold count","The policy items","The required threshold count","Returns whether the [SatisfiableItem] is a leaf item","Returns a unique id for the [SatisfiableItem]","Type for a map of sets of [Condition] items keyed by each â¦","Type for a map of folded sets of [Condition] items keyed â¦","Represent if and how much a policy item is satisfied by â¦","Only a partial satisfaction of some kind of threshold â¦","Total number of items","Threshold","The items that can be satisfied by the descriptor","Whether the items are sorted in lexicographic order (used â¦","Extra conditions that also need to be satisfied","Can reach the threshold of some kind of threshold policy","Total number of items","Threshold","The items that can be satisfied by the descriptor","Whether the items are sorted in lexicographic order (used â¦","Extra conditions that also need to be satisfied","Can satisfy the policy item","Extra conditions that also need to be satisfied","Cannot satisfy or contribute to the policy item","Returns whether the [Satisfaction] is a leaf item","Descriptor spending policy","Identifier for this policy node","Type of this policy node","How a much given PSBT already satisfies this polcy node â¦","How the walletâs descriptor can satisfy this policy node","An extra condition that must be satisfied but that is out â¦","Optional CheckSequenceVerify condition","Optional timelock condition","Returns true if there are no extra conditions to verify","Errors that can happen while extracting and manipulating â¦","Not enough items are selected to satisfy a [â¦","Index out of range for an item to satisfy a [â¦","Can not add to an item that is [Satisfaction::None] or [â¦","Can not add to an item that is [â¦","Can not merge CSV or timelock values unless both are less â¦","Incompatible conditions (not currently used)","Return whether or not a specific path in the policy tree â¦","Return the conditions that are set by the spending policy â¦","Descriptor templates","Type alias for the return type of [DescriptorTemplate], â¦","Trait for descriptor templates that can be built into a â¦","Build the complete descriptor","P2PKH template. Expands to a descriptor pkh(key)","","P2WPKH-P2SH template. Expands to a descriptor â¦","","P2WPKH template. Expands to a descriptor wpkh(key)","","BIP44 template. Expands to pkh(key/44\'/0\'/0\'/{0,1}/*)","","","BIP44 public template. Expands to pkh(key/{0,1}/*)","","","","BIP49 template. Expands to sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))","","","BIP49 public template. Expands to sh(wpkh(key/{0,1}/*))","","","","BIP84 template. Expands to wpkh(key/84\'/0\'/0\'/{0,1}/*)","","","BIP84 public template. Expands to wpkh(key/{0,1}/*)","","","","Alias type for a map of public key to secret key","Script descriptor","A raw scriptpubkey (including pay-to-pubkey) under Legacy â¦","Pay-to-PubKey-Hash","Pay-to-Witness-PubKey-Hash","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)","Pay-to-Witness-ScriptHash with Segwitv0 context","Legacy ScriptContext To be used as P2SH scripts For â¦","Top-level script AST type","A node in the Abstract Syntax Tree(","The correctness and malleability type information for the â¦","Additional information helpful for extra analysis.","The ScriptContext for Miniscript. Additional type â¦","Depending on ScriptContext, fragments can be malleable. â¦","Check whether the given satisfaction is valid under the â¦","Depending on script context, the size of a satifaction â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Segwitv0 ScriptContext","Extended [DescriptorPublicKey] that has been derived","Alias for a [Descriptor] that can contain extended keys â¦","Alias for a [Descriptor] that contains extended derived â¦","Alias for the type of maps that represent derivation â¦","Trait for types which can be converted into an [â¦","Convert to wallet descriptor","Trait implemented on [Descriptor]s to add a method to â¦","Extract the spending [policy]","Key formats","BIP-0039","The language determines which words will be used in a â¦","","","","","","","","","The primary type in this crate, most tasks require â¦","Determines the number of words that will be present in a â¦","","","","","","The secret value used to derive HD wallet addresses from â¦","Type for a BIP39 mnemonic with an optional passphrase","The MiniscriptKey corresponding to Descriptors. This can â¦","Single Public Key","Xpub","A Secret Key that can be either a single key or an Xprv","Single Secret Key","Xprv","A Single Descriptor Secret Key with optional origin â¦","Origin information","The key","A Single Descriptor Key with optional origin information","Origin information","The key","Alias type for a map of public key to secret key","Contents of a âsortedmultiâ descriptor","signatures required","public keys inside sorted Multi","The ScriptContext for Miniscript. Additional type â¦","Depending on ScriptContext, fragments can be malleable. â¦","Check whether the given satisfaction is valid under the â¦","Depending on script context, the size of a satifaction â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Set of valid networks for a key","Create a set containing mainnet, testnet and regtest","Create a set only containing mainnet","Create a set containing testnet and regtest","Compute the intersection of two sets","Container for public or secret keys","Create an instance given a public key and a set of valid â¦","Create an instance given a secret key and a set of valid â¦","Override the computed set of valid networks","Enum representation of the known valid [ScriptContext]s","Legacy scripts","Segwitv0 scripts","Returns whether the script context is [â¦","Returns whether the script context is [â¦","Trait that adds extra useful methods to [ScriptContext]s","Returns the [ScriptContext] as a [ScriptContextEnum]","Returns whether the script context is Legacy","Returns whether the script context is Segwitv0","Trait for objects that can be turned into a public or â¦","Turn the key into a [DescriptorKey] within the requested [â¦","Enum for extended keys that can be either xprv or xpub","A private extended key, aka an xprv","A public extended key, aka an xpub","Return whether or not the key contains the private data","Transform the [ExtendedKey] into an ExtendedPrivKey for â¦","Transform the [ExtendedKey] into an ExtendedPubKey for theâ¦","Trait for keys that can be derived.","Consume self and turn it into an [ExtendedKey]","Consume self and turn it into a [DescriptorKey] by adding â¦","Output of a [GeneratableKey] key generation","Consumes self and returns the key","Trait for keys that can be generated","Type specifying the amount of entropy required e.g. â¦","Extra options required by the generate_with_entropy","Returned error in case of failure","Generate a key given the extra options and the entropy","Generate a key given the options with a random entropy","Trait that allows generating a key with the default â¦","Generate a key with the default options and a given â¦","Generate a key with the default options and a random â¦","Options for generating a [PrivateKey]","Whether the generated key should be âcompressedâ or â¦","Errors thrown while working with keys","The key cannot exist in the given script context","The key is not valid for the given network","The key has an invalid checksum","Custom error message","BIP32 error","Miniscript error","Wallet","Address validation callbacks","Errors that can be returned to fail the validation of an â¦","User rejected the address","Network connection error","Network request timeout error","Invalid script","A custom error message","Trait to build address validators","Validate or inspect an address","Coin selection","Default coin selection algorithm used by TxBuilder if not â¦","Result of a successful coin selection","List of outputs selected for use as inputs","Total fee amount in satoshi","The total value of the inputs selected.","The total value of the inputs selected from the local â¦","Trait for generalized coin selection algorithms","Perform the coin selection","Simple and dumb coin selection","Branch and bound coin selection","Create new instance with target size for change output","Wallet export","Structure that contains the export of a wallet","Earliest block to rescan when looking for the walletâs â¦","Arbitrary label for the wallet","Export a wallet","Return the external descriptor","Return the internal descriptor, if present","Generalized signers","Identifier of a signer in the SignersContainers. Used as â¦","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA â¦","The fingerprint of a BIP32 extended key","Dummy identifier","Signing error","The private key is missing for the required public key","The private key in use has the right fingerprint but â¦","The user canceled the operation","Input index is out of range","The non_witness_utxo field of the transaction is required â¦","The non_witness_utxo specified is invalid","The witness_utxo field of the transaction is required to â¦","The witness_script field of the transaction is requied to â¦","The fingerprint and derivation path are missing from the â¦","Trait for signers","Sign a PSBT","Return whether or not the signer signs the whole â¦","Return the [SignerId] for this signer","Return the secret key for the signer","Defines the order in which signers are called","","Container for multiple signers","Create a map of public keys to secret keys","Default constructor","Adds an external signer to the container for the â¦","Removes a signer from the container and returns it","Returns the list of identifiers of all the signers in the â¦","Returns the list of signers in the container, sorted by â¦","Finds the signer with lowest ordering for a given id in â¦","Cross-platform time","Return the current timestamp in seconds","Transaction builder","Context in which the [TxBuilder] is valid","Marker type to indicate the [TxBuilder] is being used to â¦","Marker type to indicate the [TxBuilder] is being used to â¦","A transaction builder","Set a custom fee rate","Set an absolute fee","Set the policy path to use while creating the transaction â¦","Add the list of outpoints to the internal list of UTXOs â¦","Add a utxo to the internal list of utxos that must be â¦","Add a foreign UTXO i.e. a UTXO not owned by this wallet.","Only spend utxos added by add_utxo.","Replace the internal list of unspendable utxos with a new â¦","Add a utxo to the internal list of unspendable utxos","Sign with a specific sig hash","Choose the ordering for inputs and outputs of the â¦","Use a specific nLockTime while creating the transaction","Build a transaction with a specific version","Do not spend change outputs","Only spend change outputs","Set a specific [ChangeSpendPolicy]. See [â¦","Fill-in the psbt::Input::non_witness_utxo field even if â¦","Fill-in the psbt::Output::redeem_script and â¦","Fill-in the PSBT_GLOBAL_XPUB field with the extended keys â¦","Spend all the available inputs. This respects filters â¦","Choose the coin selection algorithm","Finish the building the transaction.","Replace the recipients already added with a new list","Add a recipient to the internal list","Set a single recipient that will get all the selected â¦","Enable signaling RBF","Enable signaling RBF with a specific nSequence value","Bump the fees of a transaction made with â¦","Ordering of the transactionâs inputs and outputs","Randomized (default)","Unchanged","BIP69 / Lexicographic","Sort transaction inputs and outputs by [TxOrdering] â¦","Policy regarding the use of change outputs when creating â¦","Use both change and non-change outputs (default)","Only use change outputs (see [TxBuilder::only_spend_changeâ¦","Only use non-change outputs (see [â¦","Trait to check if a value is below the dust limit","Check whether or not a value is below dust limit","A Bitcoin wallet","Create a new âofflineâ wallet","The address index selection strategy to use to derived an â¦","Return a new address after incrementing the current â¦","Return the address for the current descriptor index if it â¦","Return the address for a specific descriptor index. Does â¦","Return the address for a specific descriptor index and â¦","Return a derived address using the external descriptor, â¦","Return whether or not a script is part of this wallet â¦","Return the list of unspent outputs of this wallet","Returns the UTXO owned by this wallet corresponding to â¦","Return the list of transactions made and received by the â¦","Return the balance, meaning the sum of this walletâs â¦","Add an external signer","Add an address validator","Start building a transaction.","Bump the fee of a transaction previously created with â¦","Sign a transaction with all the walletâs signers, in â¦","Return the spending policies for the walletâs descriptor","Return the âpublicâ version of the walletâs â¦","Try to finalize a PSBT","Return the secp256k1 context used for all signing â¦","Returns the descriptor used to create adddresses for a â¦","Create a new âonlineâ wallet","Sync the internal database with the blockchain","Return a reference to the internal blockchain client","Get the Bitcoin network the wallet is using.","Broadcast a transaction to the network","Errors that can be thrown by the Wallet","Wrong number of bytes found when trying to convert to u32","Generic error","This error is thrown when trying to convert Bare and â¦","Found multiple outputs when single_recipient option has â¦","single_recipient option is selected but neither â¦","Cannot build a tx without recipients","manually_selected_only option is selected but no utxo has â¦","Output created is under the dust limit, 546 satoshis","Walletâs UTXO set is not enough to cover recipientâs â¦","Sats needed for some transaction","Sats available for spending","Branch and bound coin selection possible attempts with â¦","Branch and bound coin selection tries to avoid needing a â¦","Happens when trying to spend an UTXO that is not in the â¦","Thrown when a tx is not found in the internal database","Happens when trying to bump a transaction that is already â¦","Trying to replace a tx that has a sequence >= 0xFFFFFFFE","When bumping a tx the fee rate requested is lower than â¦","Required fee rate (satoshi/vbyte)","When bumping a tx the absolute fee requested is lower â¦","Required fee absolute value (satoshi)","In order to use the TxBuilder::add_global_xpubs option â¦","Error while working with keys","Descriptor checksum mismatch","Spending policy is not compatible with this KeychainKind","Error while extracting and manipulating policies","Signing error","Progress value must be between 0.0 (included) and 100.0 â¦","Progress update error (maybe the channel has been closed)","Requested outpoint doesnât exist in the tx (vout â¦","Error related to the parsing and usage of descriptors","Error that can be returned to fail the validation of an â¦","Encoding error","Miniscript error","BIP32 error","An ECDSA error","Error serializing or deserializing JSON data","Hex decoding error","Partially signed bitcoin transaction error","Electrum client error","Esplora client error","Compact filters client error)","Sled database error","Types of keychains","External","Internal, usually used for change outputs","Fee rate","An unspent output owned by a Wallet.","Reference to a transaction output","Transaction output","Type of keychain","A [Utxo] with its satisfaction_weight.","The weight of the witness data and scriptSig expressed in â¦","The UTXO","An unspent transaction output (UTXO).","A UTXO owned by the local wallet.","A UTXO owned by another wallet.","The location of the output.","The information about the input we require to add it to a â¦","A wallet transaction","Optional transaction","Transaction id","Timestamp","Received value (sats)","Sent value (sats)","Fee value (sats)","Confirmed in block height, None means unconfirmed","Get the version of BDK at runtime","Macro to write full descriptors with code","Macro to write descriptor fragments with code","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert a descriptor using abstract keys to one using â¦","This will panic if translatefpk returns an uncompressed â¦","Parse an expression tree into a Miniscript. As a general â¦","Parse an expression tree into a descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the descriptor is safe Checks whether all the â¦","Computes the Bitcoin address of the descriptor, if one â¦","Computes the scriptpubkey of the descriptor","Computes the scriptSig that will be in place for an â¦","Computes the âwitness scriptâ of the descriptor, i.e. â¦","Returns satisfying witness and scriptSig to spend an â¦","Computes an upper bound on the weight of a satisfying â¦","Get the scriptCode of a transaction output.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new empty mempool","Add a transaction to the mempool","Look-up a transaction in the mempool given an [Inventory] â¦","Return whether or not the mempool contains a transaction â¦","Return the list of transactions contained in the mempool","Connect to a peer over a plaintext TCP connection","Connect to a peer through a SOCKS5 proxy, optionally by â¦","Return the [VersionMessage] sent by the peer","Return the Bitcoin [Network] in use","Return the mempool used by this peer","Return whether or not the peer is still connected","Send a raw Bitcoin message to the peer","Waits for a specific incoming Bitcoin message, optionally â¦","Create a new pk descriptor","Create a new PkH descriptor","Create a new Wpkh descriptor Will return Err if â¦","Create a new sh wrapped wpkh from Pk. Errors when â¦","Create a new sh for a given redeem script Errors when â¦","Create a new wsh descriptor from witness script Errors â¦","Create a new sh wrapped wsh descriptor with witness scriptâ¦","Create a new bare descriptor from witness script Errors â¦","Create a new sh sortedmulti descriptor with threshold k â¦","Create a new sh wrapped wsh sortedmulti descriptor from â¦","Create a new wsh sorted multi descriptor Errors when â¦","Get the [DescriptorType] of [Descriptor]","Whether or not the descriptor has any wildcards","Derives all wildcard keys in the descriptor using the â¦","Parse a descriptor that may contain secret keys","Serialize a descriptor to string with its secret keys","The fingerprint of the master key associated with this key","Full path, from the master key","Whether or not the key has a wildcards","If this public key has a wildcard, replace it by the â¦","Computes the public key corresponding to this descriptor â¦","Whether all spend paths of miniscript require a signature","Whether the miniscript is malleable","Whether the miniscript can exceed the resource â¦","Whether the miniscript contains a combination of timelocks","Whether the miniscript has repeated Pk or Pkh","Check whether the underlying Miniscript is safe under the â¦","Creates a new [Iter] iterator that will iterate over all [â¦","Creates a new [PkIter] iterator that will iterate over â¦","Creates a new [PkhIter] iterator that will iterate over â¦","Creates a new [PkPkhIter] iterator that will iterate over â¦","Enumerates all child nodes of the current AST node (self) â¦","Returns child node with given index, if any","Returns Vec with cloned version of all public keys from â¦","Returns Vec with hashes of all public keys from the â¦","Returns Vec of [PkPkh] entries, representing either â¦","Returns Option::Some with cloned nâth public key from â¦","Returns Option::Some with hash of nâth public key from â¦","Returns Option::Some with hash of nâth public key or â¦","Add type information(Type and Extdata) to Miniscript â¦","Extracts the AstElem representing the root of the â¦","Get a reference to the inner AstElem representing the â¦","Attempt to parse an insane(scripts donât clear sanity â¦","Attempt to parse a Script into Miniscript representation. â¦","Encode as a Bitcoin script","Size, in bytes of the script-pubkey. If this Miniscript â¦","Maximum number of witness elements used to satisfy the â¦","Maximum size, in bytes, of a satisfying witness. For â¦","Attempt to parse an insane(scripts donât clear sanity â¦","Attempt to produce non-malleable satisfying witness for â¦","Attempt to produce a malleable satisfying witness for the â¦","Lifting corresponds conversion of miniscript into Policy [â¦","Check whether the given satisfaction is valid under the â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Construct a new derived key","Construct a word list from its language code. Returns Noneâ¦","Get the word list for this language","Get a [WordMap][WordMap] that allows word -> index â¦","Generates a new Mnemonic","Create a Mnemonic from pre-generated entropy","Create a Mnemonic from an existing mnemonic phrase","Validate a mnemonic phrase","Get the mnemonic phrase as a string reference.","Consume the Mnemonic and return the phrase as a String.","Get the original entropy value of the mnemonic phrase as â¦","Get the Language","Get a MnemonicType for a mnemonic phrase with a specific â¦","Get a MnemonicType for a mnemonic phrase representing the â¦","Get a MnemonicType for an existing mnemonic phrase","Return the number of entropy+checksum bits","Return the number of entropy bits","Return the number of checksum bits","Return the number of words","Generates the seed from the Mnemonic and the password.","Get the seed value as a byte slice","Return the public version of this key, by applying either â¦","Create a new instance of SortedMultiVec given a list of â¦","Parse an expression tree into a SortedMultiVec","This will panic if translatefpk returns an uncompressed â¦","utility function to sanity a sorted multi vec","Create Terminal::Multi containing sorted pubkeys","Encode as a Bitcoin script","Attempt to produce a satisfying witness for the witness â¦","Size, in bytes of the script-pubkey. If this Miniscript â¦","Maximum number of witness elements used to satisfy the â¦","Maximum size, in bytes, of a satisfying witness. In â¦","Return [KeychainKind] as a byte","Create a new instance of [FeeRate] given a float fee rate â¦","Create a new instance of [FeeRate] given a float fee rate â¦","Create a new [FeeRate] with the default min relay fee â¦","Return the value as satoshi/vbyte","Get the location of the UTXO","Get the TxOut of the UTXO"],"i":[0,0,0,1,1,1,0,2,2,2,0,0,0,3,3,3,3,0,0,4,0,5,5,0,6,6,6,6,6,6,6,0,0,0,0,7,0,8,8,8,0,9,9,9,9,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,11,11,11,0,12,12,12,12,12,12,12,0,13,13,0,0,14,0,0,0,0,0,0,0,0,15,15,0,16,16,0,17,17,0,18,18,0,0,19,0,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,0,22,22,22,0,23,23,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,25,25,25,26,25,27,25,28,25,29,25,30,25,31,25,32,32,25,33,33,25,25,0,0,0,34,35,35,35,35,35,34,36,36,36,36,36,34,37,34,34,0,38,38,38,38,0,39,39,39,0,40,40,40,40,40,40,38,38,0,0,0,41,0,42,0,43,0,44,0,45,45,0,46,46,46,0,47,47,0,48,48,48,0,49,49,0,50,50,50,0,0,51,51,51,51,51,0,0,52,52,52,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,54,0,55,0,0,0,56,56,56,56,56,56,56,56,0,0,57,57,57,57,57,0,0,0,58,58,0,59,59,0,60,60,0,61,61,0,0,62,62,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,63,63,63,0,64,64,64,64,0,65,65,65,0,66,0,67,67,67,67,67,0,68,68,0,69,0,70,70,70,70,70,0,71,71,0,72,0,73,73,73,73,73,73,0,0,0,74,74,74,74,74,0,75,0,0,0,76,76,76,76,0,77,0,0,78,0,0,79,79,79,79,79,0,0,80,80,80,0,81,81,81,81,81,81,81,81,81,0,82,82,82,82,0,83,0,84,84,84,84,84,84,84,0,0,0,0,0,0,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,86,86,86,86,0,87,87,87,0,88,0,89,0,90,90,90,90,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,93,91,94,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,95,95,0,0,96,96,96,0,97,97,0,98,98,99,99,0,100,100,100,100,100,100,100,0,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,101,101,101,101,101,101,101,101,101,101,101,101,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,102,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,104,104,104,104,104,104,104,104,104,104,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,24,24,24,24,24,24,24,24,24,24,24,24,24,109,109,109,109,109,109,109,109,109,109,109,109,109,109,25,25,25,25,25,25,25,25,25,25,25,25,25,25,34,34,34,34,34,34,34,34,34,34,34,34,34,34,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,56,56,56,56,56,56,56,56,56,56,56,56,56,56,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,67,67,67,67,67,67,67,67,67,67,67,69,69,69,69,69,69,69,69,69,69,69,69,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,112,112,112,112,112,112,112,112,112,112,112,112,112,112,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,97,97,97,97,97,97,97,97,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,76,76,76,76,113,113,113,113,113,113,113,113,113,113,113,113,113,113,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84,84,84,84,84,114,114,114,114,114,114,114,114,114,114,114,114,114,114,115,115,115,115,115,115,115,115,115,115,115,115,115,115,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,89,89,89,89,89,89,89,90,90,90,90,90,90,90,90,90,90,90,90,52,51,62,51,52,52,51,58,52,51,59,62,59,51,52,58,61,52,59,107,60,106,51,58,62,62,62,58,58,52,107,106,61,61,51,51,107,107,107,107,107,107,107,106,106,106,106,106,106,58,61,107,106,52,51,62,62,51,52,51,51,51,51,51,51,51,51,51,61,107,62,52,58,106,58,58,52,107,58,106,61,58,62,107,61,52,51,106,110,111,111,56,57,110,56,111,110,110,111,110,57,110,56,57,111,110,111,110,111,57,56,56,1,101,4,7,104,105,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,19,19,19,19,19,19,19,19,19,19,19,15,15,15,15,15,15,15,15,15,15,15,15,19,19,19,19,19,19,19,19,19,19,19,19,15,15,19,19,15,19,42,43,44,45,46,47,48,49,50,116,117,52,51,69,63,58,59,111,111,118,118,110,110,67,69,69,110,113,78,1,1,1,1,1,1,1,101,101,101,101,101,101,4,4,4,4,4,4,7,7,7,7,7,7,95,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,2,2,2,101,6,6,6,6,10,10,10,10,10,15,15,16,16,18,18,24,24,24,24,24,24,24,34,38,67,67,73,73,80,80,84,11,104,105,108,109,25,34,38,39,64,72,95,112,96,97,98,100,74,113,80,81,83,84,114,115,85,86,87,102,19,109,39,72,112,100,113,78,83,84,114,115,86,87,108,39,80,83,86,87,11,108,39,39,40,40,64,95,112,112,96,96,97,97,98,98,100,100,74,74,80,80,81,83,83,86,87,108,39,112,80,83,86,87,79,108,69,91,2,3,4,5,6,102,103,7,8,9,10,11,15,17,18,19,108,24,109,25,34,38,39,40,63,64,72,73,95,112,96,97,98,100,74,76,113,78,79,80,81,83,84,114,115,85,86,87,89,90,91,6,10,108,24,40,73,74,81,11,108,39,95,80,86,87,79,2,3,5,8,9,17,18,109,25,34,38,39,95,96,100,79,2,3,5,8,9,17,18,95,96,100,79,108,108,108,108,108,102,102,102,102,102,103,103,103,103,103,103,103,103,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,108,56,56,56,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,111,111,59,62,62,62,62,62,62,62,62,62,62,95,112,112,112,112,98,98],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["option",4],["u8",15],["str",15]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["path",3],["option",4],["asref",8],["vec",3],["peer",3]],[["result",4],["compactfilterserror",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],[["capability",4],["hashset",3]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["error",4],["result",4],["feerate",3]]],null,null,[[],[["result",4],["error",4]]],null,null,[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[]],null,[[],["noopprogress",3]],null,[[],["logprogress",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],null,[[["keychainkind",4],["script",3],["u32",15]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],null,[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["error",4],["vec",3],["result",4]]],[[],[["error",4],["result",4],["vec",3]]],[[],[["result",4],["error",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],null,null,[[]],[[],[["result",4],["error",4]]],null,null,[[],[["result",4],["error",4]]],null,null,[[["str",15]],[["result",4],["descriptorerror",4],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],[[],["string",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,[[],["bool",15]],[[["btreemap",3]],[["condition",3],["result",4],["policyerror",4]]],null,null,null,[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["option",4],["usize",15]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],null,null,null,null,null,null,[[["secp256k1",3],["network",4]],[["descriptorerror",4],["result",4]]],null,[[["secp256k1",3],["signerscontainer",3]],[["result",4],["option",4],["descriptorerror",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["option",4],["usize",15]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],null,[[],["validnetworks",6]],[[],["validnetworks",6]],[[],["validnetworks",6]],[[["validnetworks",6]],["validnetworks",6]],null,[[["descriptorpublickey",4],["validnetworks",6]]],[[["validnetworks",6],["descriptorsecretkey",4]]],[[["validnetworks",6]]],null,null,null,[[],["bool",15]],[[],["bool",15]],null,[[],["scriptcontextenum",4]],[[],["bool",15]],[[],["bool",15]],null,[[],[["result",4],["keyerror",4],["descriptorkey",4]]],null,null,null,[[],["bool",15]],[[["network",4]],[["extendedprivkey",3],["option",4]]],[[["network",4],["secp256k1",3]],["extendedpubkey",3]],null,[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["keyerror",4],["descriptorkey",4]]],null,[[]],null,null,null,null,[[],[["generatedkey",3],["result",4]]],[[],[["generatedkey",3],["result",4]]],null,[[],[["generatedkey",3],["result",4]]],[[],[["generatedkey",3],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["keychainkind",4],["hdkeypaths",6],["script",3]],[["addressvalidatorerror",4],["result",4]]],null,null,null,null,null,[[],["u64",15]],[[],["u64",15]],null,[[["vec",3],["feerate",3],["weightedutxo",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],null,null,[[["u64",15]]],null,null,null,null,[[["str",15],["bool",15],["wallet",3]],[["str",15],["result",4]]],[[],["string",3]],[[],[["string",3],["option",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["option",4],["secp256k1",3],["partiallysignedtransaction",3]],[["result",4],["signererror",4]]],[[],["bool",15]],[[["secp256k1",3]],["signerid",4]],[[],[["option",4],["descriptorsecretkey",4]]],null,null,null,[[["secp256k1",3]],["keymap",6]],[[]],[[["signerid",4],["signerordering",3],["arc",3],["signer",8]],[["arc",3],["option",4]]],[[["signerid",4],["signerordering",3]],[["arc",3],["option",4]]],[[],[["signerid",4],["vec",3]]],[[],[["vec",3],["arc",3]]],[[["signerid",4]],[["option",4],["arc",3]]],null,[[],["u64",15]],null,null,null,null,null,[[["feerate",3]]],[[["u64",15]]],[[["keychainkind",4],["string",3],["btreemap",3],["vec",3]]],[[],[["error",4],["result",4]]],[[["outpoint",3]],[["error",4],["result",4]]],[[["outpoint",3],["usize",15],["input",3]],[["error",4],["result",4]]],[[]],[[["vec",3],["outpoint",3]]],[[["outpoint",3]]],[[["sighashtype",4]]],[[["txordering",4]]],[[["u32",15]]],[[["i32",15]]],[[]],[[]],[[["changespendpolicy",4]]],[[]],[[]],[[]],[[]],[[["coinselectionalgorithm",8]],[["txbuilder",3],["coinselectionalgorithm",8]]],[[],[["error",4],["result",4]]],[[["vec",3]]],[[["script",3],["u64",15]]],[[["script",3]]],[[]],[[["u32",15]]],[[],[["error",4],["result",4]]],null,null,null,null,[[["transaction",3]]],null,null,null,null,null,[[],["bool",15]],null,[[["option",4],["network",4],["intowalletdescriptor",8]],[["result",4],["error",4]]],null,null,null,null,null,[[["addressindex",4]],[["result",4],["error",4],["address",3]]],[[["script",3]],[["bool",15],["error",4],["result",4]]],[[],[["error",4],["result",4],["vec",3]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["error",4],["u64",15]]],[[["keychainkind",4],["signerordering",3],["arc",3],["signer",8]]],[[["arc",3],["addressvalidator",8]]],[[],[["defaultcoinselectionalgorithm",6],["createtx",3],["txbuilder",3]]],[[["txid",3]],[["txbuilder",3],["result",4],["error",4]]],[[["psbt",3],["u32",15],["option",4]],[["error",4],["result",4]]],[[["keychainkind",4]],[["result",4],["option",4],["error",4]]],[[["keychainkind",4]],[["result",4],["option",4],["error",4]]],[[["psbt",3],["u32",15],["option",4]],[["error",4],["result",4]]],[[],["secp256k1",3]],[[["keychainkind",4]],["extendeddescriptor",6]],[[["option",4],["network",4],["intowalletdescriptor",8]],[["result",4],["error",4]]],[[["u32",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[]],[[],["network",4]],[[["transaction",3]],[["result",4],["error",4],["txid",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["str",15]],null,null,[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["network",4],["secp256k1",3]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[],["result",4]],[[],["usize",15]],[[],[["vec",3],["result",4]]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["result",4]],[[],["usize",15]],[[],[["vec",3],["result",4]]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["result",4],["descriptor",4]]],[[],["result",4]],[[["tree",3]],[["result",4],["miniscript",3],["error",4]]],[[["tree",3]],[["result",4],["descriptor",4],["error",4]]],[[["str",15]],[["descriptorpublickey",4],["result",4]]],[[["str",15]],[["result",4],["miniscript",3],["error",4]]],[[["str",15]],[["result",4],["descriptor",4],["error",4]]],[[["str",15]],[["result",4],["descriptorsecretkey",4]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["sortedmultivec",3]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["miniscript",3]],["bool",15]],[[["segwitv0",4]],["bool",15]],[[["legacy",4]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["descriptor",4]],["bool",15]],[[["descriptor",4]],["bool",15]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["option",4],["usize",15]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["option",4],["usize",15]]],[[],["descriptorpublickey",4]],[[],["descriptorsinglepub",3]],[[],["segwitv0",4]],[[],["legacy",4]],[[],["miniscript",3]],[[],["descriptor",4]],[[],["sortedmultivec",3]],[[],[["result",4],["policy",4],["error",4]]],[[],[["result",4],["policy",4],["error",4]]],[[],[["result",4],["policy",4],["error",4]]],[[],[["result",4],["error",4]]],[[["network",4]],[["address",3],["error",4],["result",4]]],[[],["script",3]],[[],["script",3]],[[],["script",3]],[[],[["result",4],["error",4]]],[[],[["usize",15],["error",4],["result",4]]],[[],["script",3]],[[["descriptor",4]],["ordering",4]],[[["descriptorsinglepub",3]],["ordering",4]],[[["segwitv0",4]],["ordering",4]],[[["sortedmultivec",3]],["ordering",4]],[[["miniscript",3]],["ordering",4]],[[["descriptorpublickey",4]],["ordering",4]],[[["legacy",4]],["ordering",4]],[[],["bool",15]],[[],["descriptorpublickey",4]],[[]],[[]],[[]],[[]],[[]],[[["descriptorpublickey",4]],[["ordering",4],["option",4]]],[[["sortedmultivec",3]],[["ordering",4],["option",4]]],[[["segwitv0",4]],[["ordering",4],["option",4]]],[[["descriptorsinglepub",3]],[["ordering",4],["option",4]]],[[["miniscript",3]],[["ordering",4],["option",4]]],[[["descriptor",4]],[["ordering",4],["option",4]]],[[["legacy",4]],[["ordering",4],["option",4]]],[[]],[[]],[[],["seed",3]],[[],["language",4]],[[],["mnemonictype",4]],[[],["mnemonic",3]],[[]],[[]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["str",15]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],["mnemonictype",4]],[[],["language",4]],[[["language",4]],["bool",15]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[["option",4],["f32",15],["string",3]],[["result",4],["error",4]]],[[["keychainkind",4],["script",3],["u32",15]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4],["script",3],["u32",15]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4],["script",3],["u32",15]],[["result",4],["error",4]]],[[["localutxo",3]],[["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[["transactiondetails",3]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["error",4],["vec",3],["result",4]]],[[],[["error",4],["result",4],["vec",3]]],[[],[["result",4],["error",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[["keychainkind",4],["asref",8]],[["result",4],["error",4]]],[[["keychainkind",4],["option",4]],[["error",4],["vec",3],["result",4]]],[[],[["error",4],["result",4],["vec",3]]],[[],[["result",4],["error",4],["vec",3]]],[[["bool",15]],[["result",4],["vec",3],["error",4]]],[[["keychainkind",4],["u32",15]],[["result",4],["error",4],["option",4]]],[[["script",3]],[["option",4],["result",4],["error",4]]],[[["outpoint",3]],[["result",4],["error",4],["option",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["bool",15],["txid",3]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["error",4],["option",4],["result",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[]],[[],[["result",4],["error",4]]],[[]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[],[["descriptorerror",4],["descriptortemplateout",6],["result",4]]],[[["secp256k1",3],["network",4]],[["descriptorerror",4],["result",4]]],[[["secp256k1",3],["network",4]],[["descriptorerror",4],["result",4]]],[[["secp256k1",3],["signerscontainer",3]],[["result",4],["option",4],["error",4]]],[[["secp256k1",3],["signerscontainer",3]],[["result",4],["option",4],["error",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[],[["extendedkey",4],["keyerror",4],["result",4]]],[[["derivationpath",3],["option",4],["keysource",6]],[["result",4],["keyerror",4],["descriptorkey",4]]],[[],[["generatedkey",3],["result",4]]],[[["vec",3],["feerate",3],["weightedutxo",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],[[["vec",3],["feerate",3],["weightedutxo",3],["u64",15],["f32",15]],[["error",4],["coinselectionresult",3],["result",4]]],[[],[["capability",4],["hashset",3]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["error",4],["result",4],["feerate",3]]],[[],[["capability",4],["hashset",3]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["error",4],["result",4],["feerate",3]]],[[],[["capability",4],["hashset",3]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["error",4],["result",4],["feerate",3]]],[[],[["capability",4],["hashset",3]]],[[["usize",15],["progress",8],["option",4]],[["result",4],["error",4]]],[[["txid",3]],[["option",4],["result",4],["error",4]]],[[["transaction",3]],[["result",4],["error",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["error",4],["result",4],["feerate",3]]],[[]],[[["error",4]]],[[["addressvalidatorerror",4]]],[[["policyerror",4]]],[[["signererror",4]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["esploraerror",4]]],[[["error",4]]],[[["compactfilterserror",4]]],[[["electrumblockchain",3]]],[[["esplorablockchain",3]]],[[["compactfiltersblockchain",3]]],[[["electrumblockchainconfig",3]]],[[["esplorablockchainconfig",3]]],[[["compactfiltersblockchainconfig",3]]],[[["client",3]]],[[["error",3]]],[[["parseinterror",3]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",3]]],[[["error",4]]],[[["systemtimeerror",3]]],[[["error",4]]],[[["memorydatabase",3]]],[[["tree",3]]],[[]],[[]],[[]],[[["sleddbconfiguration",3]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["policyerror",4]]],[[["bool",15]]],[[["satisfiableitem",4]]],[[["extendedpubkey",3]]],[[["extendedprivkey",3]]],[[["error",4]]],[[["error",4]]],[[["hash",3]],["signerid",4]],[[["fingerprint",3]],["signerid",4]],[[["keymap",6]],["signerscontainer",3]],[[],["capability",4]],[[],["noopprogress",3]],[[],["logprogress",3]],[[],["deriveddescriptorkey",3]],[[],["pkorf",3]],[[],["satisfiableitem",4]],[[],["satisfaction",4]],[[],["policy",3]],[[],["condition",3]],[[],["scriptcontextenum",4]],[[],["privatekeygenerateoptions",3]],[[],["keychainkind",4]],[[],["feerate",3]],[[],["localutxo",3]],[[],["weightedutxo",3]],[[],["utxo",4]],[[],["transactiondetails",3]],[[],["addressvalidatorerror",4]],[[],["largestfirstcoinselection",3]],[[],["signerid",4]],[[],["signererror",4]],[[],["signerordering",3]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[],["txordering",4]],[[],["changespendpolicy",4]],[[],["mempool",3]],[[],["memorydatabase",3]],[[],["pkorf",3]],[[],["condition",3]],[[]],[[]],[[],["transactiondetails",3]],[[],["largestfirstcoinselection",3]],[[]],[[]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[]],[[],["ordering",4]],[[["condition",3]],["ordering",4]],[[["signerid",4]],["ordering",4]],[[["signerordering",3]],["ordering",4]],[[["txordering",4]],["ordering",4]],[[["changespendpolicy",4]],["ordering",4]],[[["capability",4]],["bool",15]],[[],["bool",15]],[[["condition",3]],["bool",15]],[[["condition",3]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["scriptcontextenum",4]],["bool",15]],[[["keychainkind",4]],["bool",15]],[[["feerate",3]],["bool",15]],[[["feerate",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["utxo",4]],["bool",15]],[[["utxo",4]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signererror",4]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["txordering",4]],["bool",15]],[[["changespendpolicy",4]],["bool",15]],[[],[["option",4],["ordering",4]]],[[["condition",3]],[["ordering",4],["option",4]]],[[["feerate",3]],[["ordering",4],["option",4]]],[[["signerid",4]],[["ordering",4],["option",4]]],[[["signerordering",3]],[["ordering",4],["option",4]]],[[["txordering",4]],[["ordering",4],["option",4]]],[[["changespendpolicy",4]],[["ordering",4],["option",4]]],[[],["string",3]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[]],[[],["bool",15]],[[],["usize",15]],[[],["publickey",3]],[[],["hash",3]],[[]],[[["transaction",3]]],[[["inventory",4]],[["option",4],["transaction",3]]],[[["txid",3]],["bool",15]],[[],[["transaction",3],["vec",3]]],[[["tosocketaddrs",8],["network",4],["arc",3],["mempool",3]],[["result",4],["compactfilterserror",4]]],[[["mempool",3],["network",4],["arc",3],["option",4],["totargetaddr",8],["tosocketaddrs",8]],[["result",4],["compactfilterserror",4]]],[[],["versionmessage",3]],[[],["network",4]],[[],[["mempool",3],["arc",3]]],[[],["bool",15]],[[["networkmessage",4]],[["result",4],["compactfilterserror",4]]],[[["str",15],["duration",3],["option",4]],[["option",4],["compactfilterserror",4],["result",4]]],[[],["descriptor",4]],[[],["descriptor",4]],[[],[["result",4],["descriptor",4],["error",4]]],[[],[["result",4],["descriptor",4],["error",4]]],[[["legacy",4],["miniscript",3]],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["barectx",4]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[],["descriptortype",4]],[[],["bool",15]],[[["u32",15]],[["descriptor",4],["descriptorpublickey",4]]],[[["secp256k1",3],["str",15]],[["result",4],["error",4]]],[[["hashmap",3]],["string",3]],[[],["fingerprint",3]],[[],["derivationpath",3]],[[],["bool",15]],[[["u32",15]],["descriptorpublickey",4]],[[["secp256k1",3]],[["publickey",3],["conversionerror",4],["result",4]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["analysiserror",4],["result",4]]],[[],["iter",3]],[[],["pkiter",3]],[[],["pkhiter",3]],[[],["pkpkhiter",3]],[[],[["vec",3],["miniscript",3],["global",3]]],[[["usize",15]],[["option",4],["miniscript",3]]],[[],[["vec",3],["global",3]]],[[],[["vec",3],["global",3]]],[[],[["pkpkh",4],["vec",3],["global",3]]],[[["usize",15]],["option",4]],[[["usize",15]],["option",4]],[[["usize",15]],[["option",4],["pkpkh",4]]],[[["terminal",4]],[["result",4],["miniscript",3],["error",4]]],[[],["terminal",4]],[[],["terminal",4]],[[["script",3]],[["result",4],["miniscript",3],["error",4]]],[[["script",3]],[["result",4],["miniscript",3],["error",4]]],[[],["script",3]],[[],["usize",15]],[[],[["usize",15],["error",4],["result",4]]],[[],[["usize",15],["error",4],["result",4]]],[[["str",15]],[["result",4],["miniscript",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],[[],[["result",4],["vec",3],["error",4]]],[[],[["lifterror",4],["result",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["descriptorpublickey",4],["secp256k1",3]],["deriveddescriptorkey",3]],[[["str",15]],[["language",4],["option",4]]],[[],["wordlist",3]],[[],["wordmap",3]],[[["language",4],["mnemonictype",4]],["mnemonic",3]],[[["language",4]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["error",3],["result",4]]],[[],["str",15]],[[],["string",3]],[[]],[[],["language",4]],[[["usize",15]],[["error",3],["mnemonictype",4],["result",4]]],[[["usize",15]],[["error",3],["mnemonictype",4],["result",4]]],[[["str",15]],[["error",3],["mnemonictype",4],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[],["usize",15]],[[["mnemonic",3],["str",15]],["seed",3]],[[]],[[["secp256k1",3]],[["result",4],["descriptorpublickey",4],["descriptorkeyparseerror",3]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[["tree",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[],[["result",4],["sortedmultivec",3]]],[[],[["result",4],["error",4]]],[[],["terminal",4]],[[],["script",3]],[[],[["result",4],["vec",3],["error",4]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[["f32",15]]],[[["f32",15]]],[[]],[[],["f32",15]],[[],["outpoint",3]],[[],["txout",3]]],"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,"AddressIndex"],[4,"Error"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[4,"KeychainKind"],[3,"LocalUtxo"],[3,"WeightedUtxo"],[4,"Utxo"],[13,"Foreign"],[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 â¦","t":[0,0,4,13,13,13,4,13,13,13,0,3,3,12,12,12,12,0,3,11,3,12,12,4,13,13,13,13,13,13,13,0,3,3,3,11,3,12,12,12,3,12,12,12,12,4,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,13,8,10,10,11,10,10,10,10,8,16,10,6,8,10,5,3,5,3,5,0,0,4,13,13,4,13,13,3,12,12,4,13,13,0,3,11,8,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,8,16,10,10,8,16,10,0,0,5,0,4,13,13,13,13,13,13,13,13,13,13,13,13,0,3,4,13,13,13,12,13,12,13,12,13,12,13,12,13,12,13,12,12,13,12,12,11,11,6,6,4,13,12,12,12,12,12,13,12,12,12,12,12,13,12,13,11,3,12,12,12,12,3,12,12,11,4,13,13,13,13,13,13,11,11,11,0,6,8,10,3,12,3,12,3,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,3,12,12,3,12,12,12,6,4,13,13,13,13,13,4,3,12,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,4,3,6,6,6,8,10,8,10,0,0,4,13,13,13,13,13,13,13,13,3,4,13,13,13,13,13,3,6,4,13,13,4,13,13,3,12,12,3,12,12,6,3,12,12,8,10,11,10,11,11,11,11,11,11,11,11,11,6,5,5,5,5,4,11,11,11,4,13,13,11,11,8,10,11,11,8,10,4,13,13,11,11,11,8,10,11,3,11,8,16,16,16,10,11,8,11,11,3,12,4,13,13,13,13,13,13,0,0,4,13,13,13,13,13,8,10,0,6,3,12,12,11,11,8,10,3,3,11,0,3,12,12,11,11,11,0,4,13,13,13,4,13,13,13,13,13,13,13,13,13,8,10,10,10,11,3,12,3,11,11,11,11,11,11,11,0,5,0,8,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,11,4,13,13,13,8,10,3,11,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,4,13,13,3,3,12,12,12,3,12,12,4,13,13,12,12,3,12,12,12,12,12,12,12,5,14,14,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11],"n":["blockchain","any","AnyBlockchain","Electrum","Esplora","CompactFilters","AnyBlockchainConfig","Electrum","Esplora","CompactFilters","electrum","ElectrumBlockchain","ElectrumBlockchainConfig","url","socks5","retry","timeout","esplora","EsploraBlockchain","new","EsploraBlockchainConfig","base_url","concurrency","EsploraError","Reqwest","Parsing","BitcoinEncoding","Hex","TransactionNotFound","HeaderHeightNotFound","HeaderHashNotFound","compact_filters","Mempool","Peer","CompactFiltersBlockchain","new","BitcoinPeerConfig","address","socks5","socks5_credentials","CompactFiltersBlockchainConfig","peers","network","storage_dir","skip_blocks","CompactFiltersError","InvalidResponse","InvalidHeaders","InvalidFilterHeader","InvalidFilter","MissingBlock","DataCorruption","NotConnected","Timeout","PeerBloomDisabled","NoPeers","DB","IO","BIP158","Time","Global","Capability","FullHistory","GetAnyTx","AccurateFees","Blockchain","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","ConfigurableBlockchain","Config","from_config","ProgressData","Progress","update","progress","NoopProgress","noop_progress","LogProgress","log_progress","database","any","AnyDatabase","Memory","Sled","AnyBatch","Memory","Sled","SledDbConfiguration","path","tree_name","AnyDatabaseConfig","Memory","Sled","memory","MemoryDatabase","new","BatchOperations","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","Database","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","BatchDatabase","Batch","begin_batch","commit_batch","ConfigurableDatabase","Config","from_config","descriptor","checksum","get_checksum","error","Error","InvalidHDKeyPath","InvalidDescriptorChecksum","HardenedDerivationXpub","DuplicatedKeys","Key","Policy","InvalidDescriptorCharacter","BIP32","Base58","PK","Miniscript","Hex","policy","PKOrF","SatisfiableItem","Signature","SignatureKey","SHA256Preimage","hash","HASH256Preimage","hash","RIPEMD160Preimage","hash","HASH160Preimage","hash","AbsoluteTimelock","value","RelativeTimelock","value","Multisig","keys","threshold","Thresh","items","threshold","is_leaf","id","ConditionMap","FoldedConditionMap","Satisfaction","Partial","n","m","items","sorted","conditions","PartialComplete","n","m","items","sorted","conditions","Complete","condition","None","is_leaf","Policy","id","item","satisfaction","contribution","Condition","csv","timelock","is_null","PolicyError","NotEnoughItemsSelected","IndexOutOfRange","AddOnLeaf","AddOnPartialComplete","MixedTimelockUnits","IncompatibleConditions","requires_path","get_condition","fill_satisfactions","template","DescriptorTemplateOut","DescriptorTemplate","build","P2PKH","0","P2WPKH_P2SH","0","P2WPKH","0","BIP44","0","1","BIP44Public","0","1","2","BIP49","0","1","BIP49Public","0","1","2","BIP84","0","1","BIP84Public","0","1","2","KeyMap","Descriptor","Bare","Pkh","Wpkh","Sh","Wsh","Legacy","Miniscript","node","ty","ext","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","Segwitv0","DerivedDescriptorKey","ExtendedDescriptor","DerivedDescriptor","HDKeyPaths","IntoWalletDescriptor","into_wallet_descriptor","ExtractPolicy","extract_policy","keys","bip39","Language","English","ChineseSimplified","ChineseTraditional","French","Italian","Japanese","Korean","Spanish","Mnemonic","MnemonicType","Words12","Words15","Words18","Words21","Words24","Seed","MnemonicWithPassphrase","DescriptorPublicKey","SinglePub","XPub","DescriptorSecretKey","SinglePriv","XPrv","DescriptorSinglePriv","origin","key","DescriptorSinglePub","origin","key","KeyMap","SortedMultiVec","k","pks","ScriptContext","check_terminal_non_malleable","check_witness","max_satisfaction_size","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","ValidNetworks","any_network","mainnet_network","test_networks","merge_networks","DescriptorKey","from_public","from_secret","override_valid_networks","ScriptContextEnum","Legacy","Segwitv0","is_legacy","is_segwit_v0","ExtScriptContext","as_enum","is_legacy","is_segwit_v0","IntoDescriptorKey","into_descriptor_key","ExtendedKey","Private","Public","has_secret","into_xprv","into_xpub","DerivableKey","into_extended_key","into_descriptor_key","GeneratedKey","into_key","GeneratableKey","Entropy","Options","Error","generate_with_entropy","generate","GeneratableDefaultOptions","generate_with_entropy_default","generate_default","PrivateKeyGenerateOptions","compressed","KeyError","InvalidScriptContext","InvalidNetwork","InvalidChecksum","Message","BIP32","Miniscript","wallet","address_validator","AddressValidatorError","UserRejected","ConnectionError","TimeoutError","InvalidScript","Message","AddressValidator","validate","coin_selection","DefaultCoinSelectionAlgorithm","CoinSelectionResult","selected","fee_amount","selected_amount","local_selected_amount","CoinSelectionAlgorithm","coin_select","LargestFirstCoinSelection","BranchAndBoundCoinSelection","new","export","WalletExport","blockheight","label","export_wallet","descriptor","change_descriptor","signer","SignerId","PkHash","Fingerprint","Dummy","SignerError","MissingKey","InvalidKey","UserCanceled","InputIndexOutOfRange","MissingNonWitnessUtxo","InvalidNonWitnessUtxo","MissingWitnessUtxo","MissingWitnessScript","MissingHDKeypath","Signer","sign","sign_whole_tx","id","descriptor_secret_key","SignerOrdering","0","SignersContainer","as_key_map","new","add_external","remove","ids","signers","find","time","get_timestamp","tx_builder","TxBuilderContext","CreateTx","BumpFee","TxBuilder","fee_rate","fee_absolute","policy_path","add_utxos","add_utxo","add_foreign_utxo","manually_selected_only","unspendable","add_unspendable","sighash","ordering","nlocktime","version","do_not_spend_change","only_spend_change","change_policy","force_non_witness_utxo","include_output_redeem_witness_script","add_global_xpubs","drain_wallet","coin_selection","finish","set_recipients","add_recipient","set_single_recipient","enable_rbf","enable_rbf_with_sequence","maintain_single_recipient","TxOrdering","Shuffle","Untouched","BIP69Lexicographic","sort_tx","ChangeSpendPolicy","ChangeAllowed","OnlyChange","ChangeForbidden","IsDust","is_dust","Wallet","new_offline","AddressIndex","New","LastUnused","Peek","Reset","get_address","is_mine","list_unspent","get_utxo","list_transactions","get_balance","add_signer","add_address_validator","build_tx","build_fee_bump","sign","policies","public_descriptor","finalize_psbt","secp_ctx","get_descriptor_for_keychain","new","sync","client","network","broadcast","Error","InvalidU32Bytes","Generic","ScriptDoesntHaveAddressForm","SingleRecipientMultipleOutputs","SingleRecipientNoInputs","NoRecipients","NoUtxosSelected","OutputBelowDustLimit","InsufficientFunds","needed","available","BnBTotalTriesExceeded","BnBNoExactMatch","UnknownUTXO","TransactionNotFound","TransactionConfirmed","IrreplaceableTransaction","FeeRateTooLow","required","FeeTooLow","required","MissingKeyOrigin","Key","ChecksumMismatch","SpendingPolicyRequired","InvalidPolicyPathError","Signer","InvalidProgressValue","ProgressUpdateError","InvalidOutpoint","Descriptor","AddressValidator","Encode","Miniscript","BIP32","Secp256k1","JSON","Hex","PSBT","Electrum","Esplora","CompactFilters","Sled","KeychainKind","External","Internal","FeeRate","LocalUtxo","outpoint","txout","keychain","WeightedUtxo","satisfaction_weight","utxo","Utxo","Local","Foreign","outpoint","psbt_input","TransactionDetails","transaction","txid","timestamp","received","sent","fees","height","version","descriptor","fragment","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","as_enum","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","into_wallet_descriptor","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","to_hex","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","to_hex","write_base32","base32_len","check_base32","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","write_base32","base32_len","check_base32","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","to_string","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","to_owned","clone_into","borrow","borrow_mut","try_from","try_into","type_id","vzip","equivalent","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","from","into","borrow","borrow_mut","try_from","try_into","type_id","vzip","init","deref","deref_mut","drop","for_each_key","for_each_key","for_each_key","translate_pk","translate_pk","from_tree","from_tree","from_str","from_str","from_str","from_str","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","hash","hash","hash","hash","hash","cmp","cmp","cmp","cmp","cmp","cmp","cmp","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_global_policy_validity","check_local_policy_validity","max_satisfaction_size","check_terminal_non_malleable","check_witness","check_global_consensus_validity","check_local_consensus_validity","check_local_policy_validity","max_satisfaction_size","clone","clone","clone","clone","clone","clone","clone","eq","eq","ne","eq","ne","eq","ne","eq","eq","eq","ne","lift","lift","lift","sanity_check","address","script_pubkey","unsigned_script_sig","explicit_script","get_satisfaction","max_satisfaction_weight","script_code","is_uncompressed","to_pubkeyhash","fmt","fmt","fmt","fmt","fmt","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","clone","clone","clone","clone","fmt","fmt","zeroize","zeroize","zeroize","fmt","fmt","fmt","fmt","eq","drop","drop","as_ref","as_ref","default","default","fmt","fmt","fmt","fmt","from_config","from_config","from_config","from_config","update","update","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","set_script_pubkey","set_utxo","set_raw_tx","set_tx","set_last_index","del_script_pubkey_from_path","del_path_from_script_pubkey","del_utxo","del_raw_tx","del_tx","del_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","check_descriptor_checksum","iter_script_pubkeys","iter_utxos","iter_raw_txs","iter_txs","get_script_pubkey_from_path","get_path_from_script_pubkey","get_utxo","get_raw_tx","get_tx","get_last_index","increment_last_index","begin_batch","commit_batch","begin_batch","commit_batch","from_config","from_config","build","build","build","build","build","build","build","build","build","into_wallet_descriptor","into_wallet_descriptor","extract_policy","extract_policy","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_descriptor_key","into_extended_key","into_extended_key","into_descriptor_key","generate_with_entropy","coin_select","coin_select","get_capabilities","setup","sync","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","get_capabilities","setup","get_tx","broadcast","get_height","estimate_fee","as_ref","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","default","default","default","default","default","default","default","default","default","default","default","default","default","default","default","cmp","cmp","cmp","cmp","cmp","cmp","eq","eq","eq","ne","eq","ne","eq","eq","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","ne","eq","eq","ne","eq","eq","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","partial_cmp","to_string","deref","deref","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","hash","hash","hash","hash","hash","hash","hash","from_str","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","to_pubkeyhash","is_uncompressed","serialized_len","to_public_key","hash_to_hash160","new","add_tx","get_tx","has_tx","iter_txs","connect","connect_proxy","get_version","get_network","get_mempool","is_connected","send","recv","new_pk","new_pkh","new_wpkh","new_sh_wpkh","new_sh","new_wsh","new_sh_wsh","new_bare","new_sh_sortedmulti","new_sh_wsh_sortedmulti","new_wsh_sortedmulti","desc_type","is_deriveable","derive","parse_descriptor","to_string_with_secret","master_fingerprint","full_derivation_path","is_deriveable","derive","derive_public_key","requires_sig","is_non_malleable","within_resource_limits","has_mixed_timelocks","has_repeated_keys","sanity_check","iter","iter_pk","iter_pkh","iter_pk_pkh","branches","get_nth_child","get_leaf_pk","get_leaf_pkh","get_leaf_pk_pkh","get_nth_pk","get_nth_pkh","get_nth_pk_pkh","from_ast","into_inner","as_inner","parse_insane","parse","encode","script_size","max_satisfaction_witness_elements","max_satisfaction_size","from_str_insane","satisfy","satisfy_malleable","lift_check","check_witness","check_global_consensus_validity","check_global_policy_validity","check_local_consensus_validity","check_local_policy_validity","check_global_validity","check_local_validity","top_level_type_check","other_top_level_checks","top_level_checks","new","from_language_code","wordlist","wordmap","new","from_entropy","from_phrase","validate","phrase","into_phrase","entropy","language","for_word_count","for_key_size","for_phrase","total_bits","entropy_bits","checksum_bits","word_count","new","as_bytes","as_public","new","from_tree","translate_pk","sanity_check","sorted_node","encode","satisfy","script_size","max_satisfaction_witness_elements","max_satisfaction_size","as_byte","from_btc_per_kvb","from_sat_per_vb","default_min_relay_fee","as_sat_vb","outpoint","txout"],"q":["bdk","bdk::blockchain","bdk::blockchain::any","","","","","","","","bdk::blockchain","bdk::blockchain::electrum","","","","","","bdk::blockchain","bdk::blockchain::esplora","","","","","","","","","","","","","bdk::blockchain","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::database","bdk::database::any","","","","","","","","","","","","bdk::database","bdk::database::memory","","bdk::database","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::descriptor","bdk::descriptor::checksum","bdk::descriptor","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","bdk::descriptor::policy::SatisfiableItem","","bdk::descriptor::policy","","","","","","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","","","","","bdk::descriptor::policy","bdk::descriptor::policy::Satisfaction","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::keys","bdk::keys::bip39","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","bdk::wallet","bdk::wallet::address_validator","","","","","","","","bdk::wallet","bdk::wallet::coin_selection","","","","","","","","","","","bdk::wallet","bdk::wallet::export","","","","","","bdk::wallet","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","bdk::wallet::time","bdk::wallet","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","bdk::Error","","bdk","","","","","","","bdk::Error","bdk","bdk::Error","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::Utxo","","bdk","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::electrum","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::esplora","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::error","","","","","","","","","","","","","bdk::descriptor::policy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor::template","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::address_validator","","","","","","","","","","","","","","","","bdk::wallet::coin_selection","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::export","","","","","","","","","","","","bdk::wallet::signer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet::tx_builder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::wallet","","","","","","","","","","","","","","","","","","","","","","","","bdk::descriptor","bdk::keys","bdk::descriptor","","","","","","","bdk::keys","","","","bdk::descriptor","","","","bdk::keys","","","","","bdk::descriptor","","","bdk::keys","bdk::descriptor","bdk::keys","bdk::descriptor","","","bdk::keys","bdk::descriptor","","","","","","","","","","","","","","","bdk::keys","bdk::descriptor","bdk::keys","","bdk::descriptor","","","","bdk::keys","","","","bdk::descriptor","","bdk::keys","","bdk::descriptor","","bdk::keys","bdk::descriptor","","","","","","","","bdk::keys","","bdk::descriptor","bdk::keys","","bdk::descriptor","bdk::keys","","","bdk::descriptor","","","","bdk::keys","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","","","","","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::blockchain","","bdk::database::any","","","","","","","","","","","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","bdk::database::any","","","","","","","","","","","","bdk::database::memory","","","","","","","","","","","","bdk::database::any","","bdk::database::memory","","bdk::database::any","bdk::database::memory","bdk::descriptor::template","","","","","","","","","bdk","","bdk::descriptor","","bdk::keys","","","","bdk::keys::bip39","","bdk","","bdk::keys::bip39","","bdk::keys","","","bdk::keys::bip39","bdk::wallet::coin_selection","","bdk::blockchain::any","","","","","","","bdk::blockchain::electrum","","","","","","bdk::blockchain::esplora","","","","","","bdk::blockchain::compact_filters","","","","","","bdk","","","","","","","","","","","","","","","","","bdk::blockchain::any","","","","","","bdk::blockchain::electrum","bdk::blockchain::esplora","","","","bdk::blockchain::compact_filters","","","","","bdk::database::any","","","","","","bdk::descriptor::error","","","","","","","bdk::descriptor::policy","","bdk::keys","","","","bdk::wallet::signer","","","bdk::blockchain","","","bdk::descriptor","bdk::descriptor::policy","","","","","bdk::keys","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::blockchain::compact_filters","bdk::database::memory","bdk::descriptor::policy","","bdk::keys","bdk","","bdk::wallet::coin_selection","","bdk::wallet::signer","","bdk::wallet::tx_builder","","","","bdk::descriptor","bdk::descriptor::policy","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","","","","bdk::keys","bdk","","","","","","","","","","","bdk::wallet::address_validator","","bdk::wallet::signer","","","","","bdk::wallet::tx_builder","","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::descriptor","bdk::keys","bdk","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","","","bdk::blockchain::compact_filters","","","","","","bdk::blockchain","bdk::database::any","","","bdk::database::memory","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","","","","","","bdk::keys","","","","bdk","","","","","","bdk::wallet::address_validator","bdk::wallet::coin_selection","","","bdk::wallet::export","bdk::wallet::signer","","","","bdk::wallet::tx_builder","","","","","bdk::wallet","","bdk","bdk::blockchain::esplora","bdk::blockchain::compact_filters","bdk::descriptor","bdk::descriptor::error","bdk::descriptor::policy","bdk::keys","bdk::wallet::address_validator","bdk::wallet::signer","bdk::blockchain","bdk::descriptor","bdk::descriptor::policy","bdk","bdk::wallet::signer","bdk::wallet::tx_builder","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk::descriptor::policy","","","","","bdk","","","bdk::wallet::export","bdk::blockchain::any","bdk::blockchain::electrum","bdk::blockchain::esplora","bdk::blockchain::compact_filters","","bdk::database::any","","bdk","","","bdk::wallet::export","bdk::descriptor","","","","","bdk::blockchain::compact_filters","","","","","","","","","","","","","bdk::descriptor","","","","","","","","","","","","","","","","bdk::keys","","","","","bdk::descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","bdk::descriptor","bdk::keys::bip39","","","","","","","","","","","","","","","","","","","","bdk::keys","","","","","","","","","","","bdk","","","","","",""],"d":["Blockchain backends","Runtime-checked blockchain types","Type that can contain any of the [Blockchain] types â¦","Electrum client","Esplora client","Compact filters client","Type that can contain any of the blockchain â¦","Electrum client","Esplora client","Compact filters client","Electrum","Wrapper over an Electrum Client that implements the â¦","Configuration for an [ElectrumBlockchain]","URL of the Electrum server (such as ElectrumX, Esplora, â¦","URL of the socks5 proxy server or a Tor service","Request retry count","Request timeout (seconds)","Esplora","Structure that implements the logic to sync with Esplora","Create a new instance of the client from a base URL","Configuration for an [EsploraBlockchain]","Base URL of the esplora service","Number of parallel requests sent to the esplora service â¦","Errors that can happen during a sync with [â¦","Error with the HTTP call","Invalid number returned","Invalid Bitcoin data returned","Invalid Hex data returned","Transaction not found","Header height not found","Header hash not found","Compact Filters","Container for unconfirmed, but valid Bitcoin transactions","A Bitcoin peer","Structure implementing the required blockchain traits","Construct a new instance given a list of peers, a path to â¦","Data to connect to a Bitcoin P2P peer","Peer address such as 127.0.0.1:18333","Optional socks5 proxy","Optional socks5 proxy credentials","Configuration for a [CompactFiltersBlockchain]","List of peers to try to connect to for asking headers and â¦","Network used","Storage dir to save partially downloaded headers and full â¦","Optionally skip initial skip_blocks blocks (default: 0)","An error that can occur during sync with a [â¦","A peer sent an invalid or unexpected response","The headers returned are invalid","The compact filter headers returned are invalid","The compact filter returned is invalid","The peer is missing a block in the valid chain","The data stored in the block filters storage are corrupted","A peer is not connected","A peer took too long to reply to one of our messages","The peer doesnât advertise the BLOOM service flag","No peers have been specified","Internal database error","Internal I/O error","Invalid BIP158 filter","Internal system time error","Wrapper for [crate::error::Error]","Capabilities that can be supported by a [Blockchain] â¦","Can recover the full history of a wallet and not only the â¦","Can fetch any historical transaction given its txid","Can compute accurate fees for the transactions found â¦","Trait that defines the actions that must be supported by â¦","Return the set of [Capability] supported by this backend","Setup the backend and populate the internal database for â¦","Populate the internal database with transactions and UTXOs","Fetch a transaction from the blockchain given its txid","Broadcast a transaction","Return the current height","Estimate the fee rate required to confirm a transaction â¦","Trait for [Blockchain] types that can be created given a â¦","Type that contains the configuration","Create a new instance given a configuration","Data sent with a progress update over a [channel]","Trait for types that can receive and process progress â¦","Send a new progress update","Shortcut to create a [channel] (pair of [Sender] and [â¦","Type that implements [Progress] and drops every update â¦","Create a new instance of [NoopProgress]","Type that implements [Progress] and logs at level INFO â¦","Create a nwe instance of [LogProgress]","Database types","Runtime-checked database types","Type that can contain any of the [Database] types defined â¦","In-memory ephemeral database","Simple key-value embedded database based on [sled]","Type that contains any of the [BatchDatabase::Batch] â¦","In-memory ephemeral database","Simple key-value embedded database based on [sled]","Configuration type for a [sled::Tree] database","Main directory of the db","Name of the database tree, a separated namespace for the â¦","Type that can contain any of the database configurations â¦","Memory database has no config","Simple key-value embedded database based on [sled]","In-memory ephemeral database","In-memory ephemeral database","Create a new empty database","Trait for operations that can be batched","Store a script_pubkey along with its keychain and child â¦","Store a [LocalUtxo]","Store a raw transaction","Store the metadata of a transaction","Store the last derivation index for a given keychain.","Delete a script_pubkey given the keychain and its child â¦","Delete the data related to a specific script_pubkey, â¦","Delete a [LocalUtxo] given its [OutPoint]","Delete a raw transaction given its [Txid]","Delete the metadata of a transaction and optionally the â¦","Delete the last derivation index for a keychain.","Trait for reading data from a database","Read and checks the descriptor checksum for a given â¦","Return the list of script_pubkeys","Return the list of [LocalUtxo]s","Return the list of raw transactions","Return the list of transactions metadata","Fetch a script_pubkey given the child number of a â¦","Fetch the keychain and child number of a given â¦","Fetch a [LocalUtxo] given its [OutPoint]","Fetch a raw transaction given its [Txid]","Fetch the transaction metadata and optionally also the â¦","Return the last defivation index for a keychain.","Increment the last derivation index for a keychain and â¦","Trait for a database that supports batch operations","Container for the operations","Create a new batch container","Consume and apply a batch of operations","Trait for [Database] types that can be created given a â¦","Type that contains the configuration","Create a new instance given a configuration","Descriptors","Descriptor checksum","Compute the checksum of a descriptor","Descriptor errors","Errors related to the parsing and usage of descriptors","Invalid HD Key path, such as having a wildcard but a â¦","The provided descriptor doesnât match its checksum","The descriptor contains hardened derivation steps on â¦","The descriptor contains multiple keys with the same BIP32 â¦","Error thrown while working with keys","Error while extracting and manipulating policies","Invalid character found in the descriptor checksum","BIP32 error","Error during base58 decoding","Key-related error","Miniscript error","Hex decoding error","Descriptor policy","Raw public key or extended key fingerprint","An item that needs to be satisfied","Signature for a raw public key","Signature for an extended key fingerprint","SHA256 preimage hash","The digest value","Double SHA256 preimage hash","The digest value","RIPEMD160 preimage hash","The digest value","SHA256 then RIPEMD160 preimage hash","The digest value","Absolute timeclock timestamp","The timestamp value","Relative timelock locktime","The locktime value","Multi-signature public keys with threshold count","The raw public key or extended key fingerprint","The required threshold count","Threshold items with threshold count","The policy items","The required threshold count","Returns whether the [SatisfiableItem] is a leaf item","Returns a unique id for the [SatisfiableItem]","Type for a map of sets of [Condition] items keyed by each â¦","Type for a map of folded sets of [Condition] items keyed â¦","Represent if and how much a policy item is satisfied by â¦","Only a partial satisfaction of some kind of threshold â¦","Total number of items","Threshold","The items that can be satisfied by the descriptor or are â¦","Whether the items are sorted in lexicographic order (used â¦","Extra conditions that also need to be satisfied","Can reach the threshold of some kind of threshold policy","Total number of items","Threshold","The items that can be satisfied by the descriptor","Whether the items are sorted in lexicographic order (used â¦","Extra conditions that also need to be satisfied","Can satisfy the policy item","Extra conditions that also need to be satisfied","Cannot satisfy or contribute to the policy item","Returns whether the [Satisfaction] is a leaf item","Descriptor spending policy","Identifier for this policy node","Type of this policy node","How much a given PSBT already satisfies this policy node â¦","How the walletâs descriptor can satisfy this policy node","An extra condition that must be satisfied but that is out â¦","Optional CheckSequenceVerify condition","Optional timelock condition","Returns true if there are no extra conditions to verify","Errors that can happen while extracting and manipulating â¦","Not enough items are selected to satisfy a [â¦","Index out of range for an item to satisfy a [â¦","Can not add to an item that is [Satisfaction::None] or [â¦","Can not add to an item that is [â¦","Can not merge CSV or timelock values unless both are less â¦","Incompatible conditions (not currently used)","Return whether or not a specific path in the policy tree â¦","Return the conditions that are set by the spending policy â¦","fill self.satisfaction with the signatures we already â¦","Descriptor templates","Type alias for the return type of [DescriptorTemplate], â¦","Trait for descriptor templates that can be built into a â¦","Build the complete descriptor","P2PKH template. Expands to a descriptor pkh(key)","","P2WPKH-P2SH template. Expands to a descriptor â¦","","P2WPKH template. Expands to a descriptor wpkh(key)","","BIP44 template. Expands to pkh(key/44\'/0\'/0\'/{0,1}/*)","","","BIP44 public template. Expands to pkh(key/{0,1}/*)","","","","BIP49 template. Expands to sh(wpkh(key/49\'/0\'/0\'/{0,1}/*))","","","BIP49 public template. Expands to sh(wpkh(key/{0,1}/*))","","","","BIP84 template. Expands to wpkh(key/84\'/0\'/0\'/{0,1}/*)","","","BIP84 public template. Expands to wpkh(key/{0,1}/*)","","","","Alias type for a map of public key to secret key","Script descriptor","A raw scriptpubkey (including pay-to-pubkey) under Legacy â¦","Pay-to-PubKey-Hash","Pay-to-Witness-PubKey-Hash","Pay-to-ScriptHash(includes nested wsh/wpkh/sorted multi)","Pay-to-Witness-ScriptHash with Segwitv0 context","Legacy ScriptContext To be used as P2SH scripts For â¦","Top-level script AST type","A node in the Abstract Syntax Tree(","The correctness and malleability type information for the â¦","Additional information helpful for extra analysis.","The ScriptContext for Miniscript. Additional type â¦","Depending on ScriptContext, fragments can be malleable. â¦","Check whether the given satisfaction is valid under the â¦","Depending on script context, the size of a satifaction â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Segwitv0 ScriptContext","Extended [DescriptorPublicKey] that has been derived","Alias for a [Descriptor] that can contain extended keys â¦","Alias for a [Descriptor] that contains extended derived â¦","Alias for the type of maps that represent derivation â¦","Trait for types which can be converted into an [â¦","Convert to wallet descriptor","Trait implemented on [Descriptor]s to add a method to â¦","Extract the spending [policy]","Key formats","BIP-0039","The language determines which words will be used in a â¦","","","","","","","","","The primary type in this crate, most tasks require â¦","Determines the number of words that will be present in a â¦","","","","","","The secret value used to derive HD wallet addresses from â¦","Type for a BIP39 mnemonic with an optional passphrase","The MiniscriptKey corresponding to Descriptors. This can â¦","Single Public Key","Xpub","A Secret Key that can be either a single key or an Xprv","Single Secret Key","Xprv","A Single Descriptor Secret Key with optional origin â¦","Origin information","The key","A Single Descriptor Key with optional origin information","Origin information","The key","Alias type for a map of public key to secret key","Contents of a âsortedmultiâ descriptor","signatures required","public keys inside sorted Multi","The ScriptContext for Miniscript. Additional type â¦","Depending on ScriptContext, fragments can be malleable. â¦","Check whether the given satisfaction is valid under the â¦","Depending on script context, the size of a satifaction â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Set of valid networks for a key","Create a set containing mainnet, testnet and regtest","Create a set only containing mainnet","Create a set containing testnet and regtest","Compute the intersection of two sets","Container for public or secret keys","Create an instance given a public key and a set of valid â¦","Create an instance given a secret key and a set of valid â¦","Override the computed set of valid networks","Enum representation of the known valid [ScriptContext]s","Legacy scripts","Segwitv0 scripts","Returns whether the script context is [â¦","Returns whether the script context is [â¦","Trait that adds extra useful methods to [ScriptContext]s","Returns the [ScriptContext] as a [ScriptContextEnum]","Returns whether the script context is Legacy","Returns whether the script context is Segwitv0","Trait for objects that can be turned into a public or â¦","Turn the key into a [DescriptorKey] within the requested [â¦","Enum for extended keys that can be either xprv or xpub","A private extended key, aka an xprv","A public extended key, aka an xpub","Return whether or not the key contains the private data","Transform the [ExtendedKey] into an ExtendedPrivKey for â¦","Transform the [ExtendedKey] into an ExtendedPubKey for theâ¦","Trait for keys that can be derived.","Consume self and turn it into an [ExtendedKey]","Consume self and turn it into a [DescriptorKey] by adding â¦","Output of a [GeneratableKey] key generation","Consumes self and returns the key","Trait for keys that can be generated","Type specifying the amount of entropy required e.g. â¦","Extra options required by the generate_with_entropy","Returned error in case of failure","Generate a key given the extra options and the entropy","Generate a key given the options with a random entropy","Trait that allows generating a key with the default â¦","Generate a key with the default options and a given â¦","Generate a key with the default options and a random â¦","Options for generating a [PrivateKey]","Whether the generated key should be âcompressedâ or â¦","Errors thrown while working with keys","The key cannot exist in the given script context","The key is not valid for the given network","The key has an invalid checksum","Custom error message","BIP32 error","Miniscript error","Wallet","Address validation callbacks","Errors that can be returned to fail the validation of an â¦","User rejected the address","Network connection error","Network request timeout error","Invalid script","A custom error message","Trait to build address validators","Validate or inspect an address","Coin selection","Default coin selection algorithm used by TxBuilder if not â¦","Result of a successful coin selection","List of outputs selected for use as inputs","Total fee amount in satoshi","The total value of the inputs selected.","The total value of the inputs selected from the local â¦","Trait for generalized coin selection algorithms","Perform the coin selection","Simple and dumb coin selection","Branch and bound coin selection","Create new instance with target size for change output","Wallet export","Structure that contains the export of a wallet","Earliest block to rescan when looking for the walletâs â¦","Arbitrary label for the wallet","Export a wallet","Return the external descriptor","Return the internal descriptor, if present","Generalized signers","Identifier of a signer in the SignersContainers. Used as â¦","Bitcoin HASH160 (RIPEMD160 after SHA256) hash of an ECDSA â¦","The fingerprint of a BIP32 extended key","Dummy identifier","Signing error","The private key is missing for the required public key","The private key in use has the right fingerprint but â¦","The user canceled the operation","Input index is out of range","The non_witness_utxo field of the transaction is required â¦","The non_witness_utxo specified is invalid","The witness_utxo field of the transaction is required to â¦","The witness_script field of the transaction is requied to â¦","The fingerprint and derivation path are missing from the â¦","Trait for signers","Sign a PSBT","Return whether or not the signer signs the whole â¦","Return the [SignerId] for this signer","Return the secret key for the signer","Defines the order in which signers are called","","Container for multiple signers","Create a map of public keys to secret keys","Default constructor","Adds an external signer to the container for the â¦","Removes a signer from the container and returns it","Returns the list of identifiers of all the signers in the â¦","Returns the list of signers in the container, sorted by â¦","Finds the signer with lowest ordering for a given id in â¦","Cross-platform time","Return the current timestamp in seconds","Transaction builder","Context in which the [TxBuilder] is valid","Marker type to indicate the [TxBuilder] is being used to â¦","Marker type to indicate the [TxBuilder] is being used to â¦","A transaction builder","Set a custom fee rate","Set an absolute fee","Set the policy path to use while creating the transaction â¦","Add the list of outpoints to the internal list of UTXOs â¦","Add a utxo to the internal list of utxos that must be â¦","Add a foreign UTXO i.e. a UTXO not owned by this wallet.","Only spend utxos added by add_utxo.","Replace the internal list of unspendable utxos with a new â¦","Add a utxo to the internal list of unspendable utxos","Sign with a specific sig hash","Choose the ordering for inputs and outputs of the â¦","Use a specific nLockTime while creating the transaction","Build a transaction with a specific version","Do not spend change outputs","Only spend change outputs","Set a specific [ChangeSpendPolicy]. See [â¦","Fill-in the psbt::Input::non_witness_utxo field even if â¦","Fill-in the psbt::Output::redeem_script and â¦","Fill-in the PSBT_GLOBAL_XPUB field with the extended keys â¦","Spend all the available inputs. This respects filters â¦","Choose the coin selection algorithm","Finish the building the transaction.","Replace the recipients already added with a new list","Add a recipient to the internal list","Set a single recipient that will get all the selected â¦","Enable signaling RBF","Enable signaling RBF with a specific nSequence value","Bump the fees of a transaction made with â¦","Ordering of the transactionâs inputs and outputs","Randomized (default)","Unchanged","BIP69 / Lexicographic","Sort transaction inputs and outputs by [TxOrdering] â¦","Policy regarding the use of change outputs when creating â¦","Use both change and non-change outputs (default)","Only use change outputs (see [TxBuilder::only_spend_changeâ¦","Only use non-change outputs (see [â¦","Trait to check if a value is below the dust limit","Check whether or not a value is below dust limit","A Bitcoin wallet","Create a new âofflineâ wallet","The address index selection strategy to use to derived an â¦","Return a new address after incrementing the current â¦","Return the address for the current descriptor index if it â¦","Return the address for a specific descriptor index. Does â¦","Return the address for a specific descriptor index and â¦","Return a derived address using the external descriptor, â¦","Return whether or not a script is part of this wallet â¦","Return the list of unspent outputs of this wallet","Returns the UTXO owned by this wallet corresponding to â¦","Return the list of transactions made and received by the â¦","Return the balance, meaning the sum of this walletâs â¦","Add an external signer","Add an address validator","Start building a transaction.","Bump the fee of a transaction previously created with â¦","Sign a transaction with all the walletâs signers, in â¦","Return the spending policies for the walletâs descriptor","Return the âpublicâ version of the walletâs â¦","Try to finalize a PSBT","Return the secp256k1 context used for all signing â¦","Returns the descriptor used to create adddresses for a â¦","Create a new âonlineâ wallet","Sync the internal database with the blockchain","Return a reference to the internal blockchain client","Get the Bitcoin network the wallet is using.","Broadcast a transaction to the network","Errors that can be thrown by the Wallet","Wrong number of bytes found when trying to convert to u32","Generic error","This error is thrown when trying to convert Bare and â¦","Found multiple outputs when single_recipient option has â¦","single_recipient option is selected but neither â¦","Cannot build a tx without recipients","manually_selected_only option is selected but no utxo has â¦","Output created is under the dust limit, 546 satoshis","Walletâs UTXO set is not enough to cover recipientâs â¦","Sats needed for some transaction","Sats available for spending","Branch and bound coin selection possible attempts with â¦","Branch and bound coin selection tries to avoid needing a â¦","Happens when trying to spend an UTXO that is not in the â¦","Thrown when a tx is not found in the internal database","Happens when trying to bump a transaction that is already â¦","Trying to replace a tx that has a sequence >= 0xFFFFFFFE","When bumping a tx the fee rate requested is lower than â¦","Required fee rate (satoshi/vbyte)","When bumping a tx the absolute fee requested is lower â¦","Required fee absolute value (satoshi)","In order to use the TxBuilder::add_global_xpubs option â¦","Error while working with keys","Descriptor checksum mismatch","Spending policy is not compatible with this KeychainKind","Error while extracting and manipulating policies","Signing error","Progress value must be between 0.0 (included) and 100.0 â¦","Progress update error (maybe the channel has been closed)","Requested outpoint doesnât exist in the tx (vout â¦","Error related to the parsing and usage of descriptors","Error that can be returned to fail the validation of an â¦","Encoding error","Miniscript error","BIP32 error","An ECDSA error","Error serializing or deserializing JSON data","Hex decoding error","Partially signed bitcoin transaction error","Electrum client error","Esplora client error","Compact filters client error)","Sled database error","Types of keychains","External","Internal, usually used for change outputs","Fee rate","An unspent output owned by a Wallet.","Reference to a transaction output","Transaction output","Type of keychain","A [Utxo] with its satisfaction_weight.","The weight of the witness data and scriptSig expressed in â¦","The UTXO","An unspent transaction output (UTXO).","A UTXO owned by the local wallet.","A UTXO owned by another wallet.","The location of the output.","The information about the input we require to add it to a â¦","A wallet transaction","Optional transaction","Transaction id","Timestamp","Received value (sats)","Sent value (sats)","Fee value (sats)","Confirmed in block height, None means unconfirmed","Get the version of BDK at runtime","Macro to write full descriptors with code","Macro to write descriptor fragments with code","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Outputs the hash in hexadecimal form","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convert a descriptor using abstract keys to one using â¦","This will panic if translatefpk returns an uncompressed â¦","Parse an expression tree into a Miniscript. As a general â¦","Parse an expression tree into a descriptor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Whether the descriptor is safe Checks whether all the â¦","Computes the Bitcoin address of the descriptor, if one â¦","Computes the scriptpubkey of the descriptor","Computes the scriptSig that will be in place for an â¦","Computes the âwitness scriptâ of the descriptor, i.e. â¦","Returns satisfying witness and scriptSig to spend an â¦","Computes an upper bound on the weight of a satisfying â¦","Get the scriptCode of a transaction output.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a new empty mempool","Add a transaction to the mempool","Look-up a transaction in the mempool given an [Inventory] â¦","Return whether or not the mempool contains a transaction â¦","Return the list of transactions contained in the mempool","Connect to a peer over a plaintext TCP connection","Connect to a peer through a SOCKS5 proxy, optionally by â¦","Return the [VersionMessage] sent by the peer","Return the Bitcoin [Network] in use","Return the mempool used by this peer","Return whether or not the peer is still connected","Send a raw Bitcoin message to the peer","Waits for a specific incoming Bitcoin message, optionally â¦","Create a new pk descriptor","Create a new PkH descriptor","Create a new Wpkh descriptor Will return Err if â¦","Create a new sh wrapped wpkh from Pk. Errors when â¦","Create a new sh for a given redeem script Errors when â¦","Create a new wsh descriptor from witness script Errors â¦","Create a new sh wrapped wsh descriptor with witness scriptâ¦","Create a new bare descriptor from witness script Errors â¦","Create a new sh sortedmulti descriptor with threshold k â¦","Create a new sh wrapped wsh sortedmulti descriptor from â¦","Create a new wsh sorted multi descriptor Errors when â¦","Get the [DescriptorType] of [Descriptor]","Whether or not the descriptor has any wildcards","Derives all wildcard keys in the descriptor using the â¦","Parse a descriptor that may contain secret keys","Serialize a descriptor to string with its secret keys","The fingerprint of the master key associated with this key","Full path, from the master key","Whether or not the key has a wildcards","If this public key has a wildcard, replace it by the â¦","Computes the public key corresponding to this descriptor â¦","Whether all spend paths of miniscript require a signature","Whether the miniscript is malleable","Whether the miniscript can exceed the resource â¦","Whether the miniscript contains a combination of timelocks","Whether the miniscript has repeated Pk or Pkh","Check whether the underlying Miniscript is safe under the â¦","Creates a new [Iter] iterator that will iterate over all [â¦","Creates a new [PkIter] iterator that will iterate over â¦","Creates a new [PkhIter] iterator that will iterate over â¦","Creates a new [PkPkhIter] iterator that will iterate over â¦","Enumerates all child nodes of the current AST node (self) â¦","Returns child node with given index, if any","Returns Vec with cloned version of all public keys from â¦","Returns Vec with hashes of all public keys from the â¦","Returns Vec of [PkPkh] entries, representing either â¦","Returns Option::Some with cloned nâth public key from â¦","Returns Option::Some with hash of nâth public key from â¦","Returns Option::Some with hash of nâth public key or â¦","Add type information(Type and Extdata) to Miniscript â¦","Extracts the AstElem representing the root of the â¦","Get a reference to the inner AstElem representing the â¦","Attempt to parse an insane(scripts donât clear sanity â¦","Attempt to parse a Script into Miniscript representation. â¦","Encode as a Bitcoin script","Size, in bytes of the script-pubkey. If this Miniscript â¦","Maximum number of witness elements used to satisfy the â¦","Maximum size, in bytes, of a satisfying witness. For â¦","Attempt to parse an insane(scripts donât clear sanity â¦","Attempt to produce non-malleable satisfying witness for â¦","Attempt to produce a malleable satisfying witness for the â¦","Lifting corresponds conversion of miniscript into Policy [â¦","Check whether the given satisfaction is valid under the â¦","Depending on script Context, some of the Terminals might â¦","Depending on script Context, some of the script resource â¦","Consensus rules at the Miniscript satisfaction time. It â¦","Policy rules at the Miniscript satisfaction time. It is â¦","Check the consensus + policy(if not disabled) rules that â¦","Check the consensus + policy(if not disabled) rules â¦","Check whether the top-level is type B","Other top level checks that are context specific","Check top level consensus rules.","Construct a new derived key","Construct a word list from its language code. Returns Noneâ¦","Get the word list for this language","Get a [WordMap][WordMap] that allows word -> index â¦","Generates a new Mnemonic","Create a Mnemonic from pre-generated entropy","Create a Mnemonic from an existing mnemonic phrase","Validate a mnemonic phrase","Get the mnemonic phrase as a string reference.","Consume the Mnemonic and return the phrase as a String.","Get the original entropy value of the mnemonic phrase as â¦","Get the Language","Get a MnemonicType for a mnemonic phrase with a specific â¦","Get a MnemonicType for a mnemonic phrase representing the â¦","Get a MnemonicType for an existing mnemonic phrase","Return the number of entropy+checksum bits","Return the number of entropy bits","Return the number of checksum bits","Return the number of words","Generates the seed from the Mnemonic and the password.","Get the seed value as a byte slice","Return the public version of this key, by applying either â¦","Create a new instance of SortedMultiVec given a list of â¦","Parse an expression tree into a SortedMultiVec","This will panic if translatefpk returns an uncompressed â¦","utility function to sanity a sorted multi vec","Create Terminal::Multi containing sorted pubkeys","Encode as a Bitcoin script","Attempt to produce a satisfying witness for the witness â¦","Size, in bytes of the script-pubkey. If this Miniscript â¦","Maximum number of witness elements used to satisfy the â¦","Maximum size, in bytes, of a satisfying witness. In â¦","Return [KeychainKind] as a byte","Create a new instance of [FeeRate] given a float fee rate â¦","Create a new instance of [FeeRate] given a float fee rate â¦","Create a new [FeeRate] with the default min relay fee â¦","Return the value as satoshi/vbyte","Get the location of the UTXO","Get the TxOut of the UTXO"],"i":[0,0,0,1,1,1,0,2,2,2,0,0,0,3,3,3,3,0,0,4,0,5,5,0,6,6,6,6,6,6,6,0,0,0,0,7,0,8,8,8,0,9,9,9,9,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,11,11,11,0,12,12,12,12,12,12,12,0,13,13,0,0,14,0,0,0,0,0,0,0,0,15,15,0,16,16,0,17,17,0,18,18,0,0,19,0,20,20,20,20,20,20,20,20,20,20,20,0,21,21,21,21,21,21,21,21,21,21,21,21,0,22,22,22,0,23,23,0,0,0,0,0,24,24,24,24,24,24,24,24,24,24,24,24,0,0,0,25,25,25,26,25,27,25,28,25,29,25,30,25,31,25,32,32,25,33,33,25,25,0,0,0,34,35,35,35,35,35,34,36,36,36,36,36,34,37,34,34,0,38,38,38,38,0,39,39,39,0,40,40,40,40,40,40,38,38,38,0,0,0,41,0,42,0,43,0,44,0,45,45,0,46,46,46,0,47,47,0,48,48,48,0,49,49,0,50,50,50,0,0,51,51,51,51,51,0,0,52,52,52,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,54,0,55,0,0,0,56,56,56,56,56,56,56,56,0,0,57,57,57,57,57,0,0,0,58,58,0,59,59,0,60,60,0,61,61,0,0,62,62,0,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,0,63,63,63,0,64,64,64,64,0,65,65,65,0,66,0,67,67,67,67,67,0,68,68,0,69,0,70,70,70,70,70,0,71,71,0,72,0,73,73,73,73,73,73,0,0,0,74,74,74,74,74,0,75,0,0,0,76,76,76,76,0,77,0,0,78,0,0,79,79,79,79,79,0,0,80,80,80,0,81,81,81,81,81,81,81,81,81,0,82,82,82,82,0,83,0,84,84,84,84,84,84,84,0,0,0,0,0,0,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,86,86,86,86,0,87,87,87,0,88,0,89,0,90,90,90,90,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,89,0,91,91,91,91,91,91,91,91,91,92,92,91,91,91,91,91,91,91,93,91,94,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,0,95,95,0,0,96,96,96,0,97,97,0,98,98,99,99,0,100,100,100,100,100,100,100,0,0,0,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,101,101,101,101,101,101,101,101,101,101,101,101,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,102,102,102,102,102,102,102,102,102,102,102,102,103,103,103,103,103,103,103,103,103,103,103,103,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,104,104,104,104,104,104,104,104,104,104,104,104,104,104,105,105,105,105,105,105,105,105,105,105,105,105,105,105,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,58,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,108,24,24,24,24,24,24,24,24,24,24,24,24,24,109,109,109,109,109,109,109,109,109,109,109,109,109,109,25,25,25,25,25,25,25,25,25,25,25,25,25,25,34,34,34,34,34,34,34,34,34,34,34,34,34,34,38,38,38,38,38,38,38,38,38,38,38,38,38,38,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40,40,40,40,40,40,40,42,42,42,42,42,42,42,42,42,42,42,42,42,43,43,43,43,43,43,43,43,43,43,43,43,43,44,44,44,44,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,46,46,46,46,46,46,47,47,47,47,47,47,47,47,47,47,47,47,47,48,48,48,48,48,48,48,48,48,48,48,48,48,49,49,49,49,49,49,49,49,49,49,49,49,49,50,50,50,50,50,50,50,50,50,50,50,50,50,56,56,56,56,56,56,56,56,56,56,56,56,56,56,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,111,59,59,59,59,59,59,59,59,59,59,59,59,59,60,60,60,60,60,60,60,60,60,60,60,60,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,63,63,63,63,63,63,63,63,63,63,63,63,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,67,67,67,67,67,67,67,67,67,67,67,67,69,69,69,69,69,69,69,69,69,69,69,69,72,72,72,72,72,72,72,72,72,72,72,72,72,72,73,73,73,73,73,73,73,73,73,73,73,73,73,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,112,112,112,112,112,112,112,112,112,112,112,112,112,112,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,97,97,97,97,97,97,97,97,97,97,97,97,97,97,98,98,98,98,98,98,98,98,98,98,98,98,98,98,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,76,76,76,76,76,76,76,76,76,76,76,76,113,113,113,113,113,113,113,113,113,113,113,113,113,113,78,78,78,78,78,78,78,78,78,78,78,78,79,79,79,79,79,79,79,79,79,79,79,79,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,81,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,84,84,84,84,84,84,84,84,84,84,84,84,84,84,114,114,114,114,114,114,114,114,114,114,114,114,114,114,115,115,115,115,115,115,115,115,115,115,115,115,115,115,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,89,89,89,89,89,89,89,89,89,89,89,89,90,90,90,90,90,90,90,90,90,90,90,90,51,62,52,51,52,52,51,52,51,59,58,60,58,107,106,51,52,61,59,62,61,58,107,106,52,58,107,61,51,106,52,62,107,107,107,107,107,107,107,106,106,106,106,106,106,51,52,61,106,58,62,107,107,51,51,58,58,61,61,52,106,62,62,52,51,62,51,51,51,51,51,51,51,51,58,58,52,59,62,51,58,58,61,51,106,107,52,62,56,111,57,110,111,110,56,111,110,56,57,110,111,56,110,111,110,111,56,57,111,110,110,57,1,101,4,7,104,105,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,19,19,19,19,19,19,19,19,19,19,19,15,15,15,15,15,15,15,15,15,15,15,15,19,19,19,19,19,19,19,19,19,19,19,19,15,15,19,19,15,19,42,43,44,45,46,47,48,49,50,116,117,52,51,69,63,58,59,111,111,118,118,110,110,67,69,69,110,113,78,1,1,1,1,1,1,1,101,101,101,101,101,101,4,4,4,4,4,4,7,7,7,7,7,7,95,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,91,1,1,1,2,2,2,101,6,6,6,6,10,10,10,10,10,15,15,16,16,18,18,24,24,24,24,24,24,24,34,38,67,67,73,73,80,80,84,11,104,105,108,109,25,34,38,39,64,72,95,112,96,97,98,100,74,113,80,81,83,84,114,115,85,86,87,102,19,109,39,72,112,100,113,78,83,84,114,115,86,87,108,39,80,83,86,87,11,108,39,39,40,40,64,95,112,112,96,96,97,97,98,98,100,100,74,74,80,80,81,83,83,86,87,108,39,112,80,83,86,87,79,108,69,91,2,3,4,5,6,102,103,7,8,9,10,11,15,17,18,19,108,24,109,25,34,38,39,40,63,64,72,73,95,112,96,97,98,100,74,76,113,78,79,80,81,83,84,114,115,85,86,87,89,90,91,6,10,108,24,40,73,74,81,11,108,39,95,80,86,87,79,2,3,5,8,9,17,18,109,25,34,38,39,95,96,100,79,2,3,5,8,9,17,18,95,96,100,79,108,108,108,108,108,102,102,102,102,102,103,103,103,103,103,103,103,103,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,58,58,58,58,58,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,53,53,53,53,53,53,53,53,53,53,108,56,56,56,110,110,110,110,110,110,110,110,57,57,57,57,57,57,57,111,111,59,62,62,62,62,62,62,62,62,62,62,95,112,112,112,112,98,98],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["u8",15],["option",4],["str",15]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["option",4],["path",3],["vec",3],["peer",3],["asref",8]],[["compactfilterserror",4],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],null,null,[[],[["result",4],["error",4]]],null,null,[[["option",4],["f32",15],["string",3]],[["error",4],["result",4]]],[[]],null,[[],["noopprogress",3]],null,[[],["logprogress",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[]],null,[[["script",3],["keychainkind",4],["u32",15]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],null,[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[["keychainkind",4],["option",4]],[["error",4],["result",4],["vec",3]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["bool",15]],[["vec",3],["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],null,null,[[]],[[],[["error",4],["result",4]]],null,null,[[],[["result",4],["error",4]]],null,null,[[["str",15]],[["descriptorerror",4],["result",4],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],[[],["string",3]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,null,[[],["bool",15]],null,null,null,null,null,null,null,[[],["bool",15]],[[["btreemap",3]],[["result",4],["condition",3],["policyerror",4]]],[[["psbt",3],["secp256k1",3],["extendeddescriptor",6]],[["result",4],["error",4]]],null,null,null,[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],null,null,null,null,null,null,[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]],null,[[["secp256k1",3],["signerscontainer",3]],[["descriptorerror",4],["option",4],["result",4]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],null,[[],["validnetworks",6]],[[],["validnetworks",6]],[[],["validnetworks",6]],[[["validnetworks",6]],["validnetworks",6]],null,[[["validnetworks",6],["descriptorpublickey",4]]],[[["descriptorsecretkey",4],["validnetworks",6]]],[[["validnetworks",6]]],null,null,null,[[],["bool",15]],[[],["bool",15]],null,[[],["scriptcontextenum",4]],[[],["bool",15]],[[],["bool",15]],null,[[],[["keyerror",4],["descriptorkey",4],["result",4]]],null,null,null,[[],["bool",15]],[[["network",4]],[["extendedprivkey",3],["option",4]]],[[["network",4],["secp256k1",3]],["extendedpubkey",3]],null,[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["derivationpath",3],["keysource",6],["option",4]],[["keyerror",4],["descriptorkey",4],["result",4]]],null,[[]],null,null,null,null,[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],null,[[],[["result",4],["generatedkey",3]]],[[],[["result",4],["generatedkey",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["script",3],["keychainkind",4],["hdkeypaths",6]],[["result",4],["addressvalidatorerror",4]]],null,null,null,null,null,[[],["u64",15]],[[],["u64",15]],null,[[["vec",3],["u64",15],["f32",15],["feerate",3],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],null,null,[[["u64",15]]],null,null,null,null,[[["bool",15],["wallet",3],["str",15]],[["str",15],["result",4]]],[[],["string",3]],[[],[["option",4],["string",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["usize",15],["option",4],["secp256k1",3],["partiallysignedtransaction",3]],[["signererror",4],["result",4]]],[[],["bool",15]],[[["secp256k1",3]],["signerid",4]],[[],[["option",4],["descriptorsecretkey",4]]],null,null,null,[[["secp256k1",3]],["keymap",6]],[[]],[[["signerid",4],["signerordering",3],["signer",8],["arc",3]],[["option",4],["arc",3]]],[[["signerid",4],["signerordering",3]],[["option",4],["arc",3]]],[[],[["vec",3],["signerid",4]]],[[],[["vec",3],["arc",3]]],[[["signerid",4]],[["option",4],["arc",3]]],null,[[],["u64",15]],null,null,null,null,null,[[["feerate",3]]],[[["u64",15]]],[[["string",3],["vec",3],["keychainkind",4],["btreemap",3]]],[[],[["error",4],["result",4]]],[[["outpoint",3]],[["error",4],["result",4]]],[[["usize",15],["outpoint",3],["input",3]],[["error",4],["result",4]]],[[]],[[["vec",3],["outpoint",3]]],[[["outpoint",3]]],[[["sighashtype",4]]],[[["txordering",4]]],[[["u32",15]]],[[["i32",15]]],[[]],[[]],[[["changespendpolicy",4]]],[[]],[[]],[[]],[[]],[[["coinselectionalgorithm",8]],[["txbuilder",3],["coinselectionalgorithm",8]]],[[],[["result",4],["error",4]]],[[["vec",3]]],[[["script",3],["u64",15]]],[[["script",3]]],[[]],[[["u32",15]]],[[],[["error",4],["result",4]]],null,null,null,null,[[["transaction",3]]],null,null,null,null,null,[[],["bool",15]],null,[[["intowalletdescriptor",8],["network",4],["option",4]],[["result",4],["error",4]]],null,null,null,null,null,[[["addressindex",4]],[["result",4],["address",3],["error",4]]],[[["script",3]],[["bool",15],["result",4],["error",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["bool",15]],[["vec",3],["result",4],["error",4]]],[[],[["u64",15],["error",4],["result",4]]],[[["signerordering",3],["signer",8],["keychainkind",4],["arc",3]]],[[["arc",3],["addressvalidator",8]]],[[],[["txbuilder",3],["defaultcoinselectionalgorithm",6],["createtx",3]]],[[["txid",3]],[["result",4],["error",4],["txbuilder",3]]],[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],[[["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["keychainkind",4]],[["result",4],["option",4],["error",4]]],[[["u32",15],["psbt",3],["option",4]],[["result",4],["error",4]]],[[],["secp256k1",3]],[[["keychainkind",4]],["extendeddescriptor",6]],[[["intowalletdescriptor",8],["network",4],["option",4]],[["result",4],["error",4]]],[[["u32",15],["progress",8],["option",4]],[["error",4],["result",4]]],[[]],[[],["network",4]],[[["transaction",3]],[["error",4],["result",4],["txid",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["str",15]],null,null,[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["scriptcontextenum",4]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[["secp256k1",3],["network",4]],[["result",4],["error",4]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["string",3]],[[],["result",4]],[[],["usize",15]],[[],[["result",4],["vec",3]]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[],["result",4]],[[],["usize",15]],[[],[["result",4],["vec",3]]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["string",3]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["bool",15]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["typeid",3]],[[]],[[],["usize",15]],[[["usize",15]]],[[["usize",15]]],[[["usize",15]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["result",4],["descriptor",4]]],[[],["result",4]],[[["tree",3]],[["miniscript",3],["result",4],["error",4]]],[[["tree",3]],[["result",4],["descriptor",4],["error",4]]],[[["str",15]],[["miniscript",3],["result",4],["error",4]]],[[["str",15]],[["result",4],["descriptor",4],["error",4]]],[[["str",15]],[["descriptorsecretkey",4],["result",4]]],[[["str",15]],[["result",4],["descriptorpublickey",4]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[]],[[]],[[]],[[["descriptorpublickey",4]],["ordering",4]],[[["segwitv0",4]],["ordering",4]],[[["descriptorsinglepub",3]],["ordering",4]],[[["descriptor",4]],["ordering",4]],[[["legacy",4]],["ordering",4]],[[["miniscript",3]],["ordering",4]],[[["sortedmultivec",3]],["ordering",4]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[["terminal",4]],[["result",4],["scriptcontexterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["usize",15],["option",4]]],[[],["descriptor",4]],[[],["miniscript",3]],[[],["descriptorsinglepub",3]],[[],["legacy",4]],[[],["descriptorpublickey",4]],[[],["sortedmultivec",3]],[[],["segwitv0",4]],[[["segwitv0",4]],["bool",15]],[[["descriptor",4]],["bool",15]],[[["descriptor",4]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorpublickey",4]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["descriptorsinglepub",3]],["bool",15]],[[["miniscript",3]],["bool",15]],[[["legacy",4]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[["sortedmultivec",3]],["bool",15]],[[],[["error",4],["result",4],["policy",4]]],[[],[["error",4],["result",4],["policy",4]]],[[],[["error",4],["result",4],["policy",4]]],[[],[["result",4],["error",4]]],[[["network",4]],[["address",3],["result",4],["error",4]]],[[],["script",3]],[[],["script",3]],[[],["script",3]],[[],[["result",4],["error",4]]],[[],[["result",4],["usize",15],["error",4]]],[[],["script",3]],[[],["bool",15]],[[],["descriptorpublickey",4]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["descriptorpublickey",4]],[["option",4],["ordering",4]]],[[["descriptorsinglepub",3]],[["option",4],["ordering",4]]],[[["descriptor",4]],[["option",4],["ordering",4]]],[[["legacy",4]],[["option",4],["ordering",4]]],[[["segwitv0",4]],[["option",4],["ordering",4]]],[[["miniscript",3]],[["option",4],["ordering",4]]],[[["sortedmultivec",3]],[["option",4],["ordering",4]]],[[],["language",4]],[[],["seed",3]],[[],["mnemonictype",4]],[[],["mnemonic",3]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[]],[[]],[[]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["language",4]],["bool",15]],[[]],[[]],[[],["str",15]],[[]],[[],["language",4]],[[],["mnemonictype",4]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[["formatter",3]],[["result",4],["error",3]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[["option",4],["f32",15],["string",3]],[["error",4],["result",4]]],[[["option",4],["f32",15],["string",3]],[["error",4],["result",4]]],[[["script",3],["keychainkind",4],["u32",15]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3],["keychainkind",4],["u32",15]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["script",3],["keychainkind",4],["u32",15]],[["error",4],["result",4]]],[[["localutxo",3]],[["error",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[["transactiondetails",3]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["error",4],["result",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[["keychainkind",4],["option",4]],[["error",4],["result",4],["vec",3]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["bool",15]],[["vec",3],["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[["asref",8],["keychainkind",4]],[["error",4],["result",4]]],[[["keychainkind",4],["option",4]],[["error",4],["result",4],["vec",3]]],[[],[["vec",3],["error",4],["result",4]]],[[],[["vec",3],["error",4],["result",4]]],[[["bool",15]],[["vec",3],["result",4],["error",4]]],[[["u32",15],["keychainkind",4]],[["option",4],["error",4],["result",4]]],[[["script",3]],[["result",4],["option",4],["error",4]]],[[["outpoint",3]],[["option",4],["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["bool",15],["txid",3]],[["result",4],["error",4],["option",4]]],[[["keychainkind",4]],[["error",4],["result",4],["option",4]]],[[["keychainkind",4]],[["u32",15],["result",4],["error",4]]],[[]],[[],[["error",4],["result",4]]],[[]],[[],[["error",4],["result",4]]],[[],[["result",4],["error",4]]],[[],[["result",4],["error",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[],[["descriptortemplateout",6],["result",4],["descriptorerror",4]]],[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]],[[["secp256k1",3],["network",4]],[["result",4],["descriptorerror",4]]],[[["secp256k1",3],["signerscontainer",3]],[["result",4],["option",4],["error",4]]],[[["secp256k1",3],["signerscontainer",3]],[["result",4],["option",4],["error",4]]],[[],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["derivationpath",3],["keysource",6],["option",4]],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["derivationpath",3],["keysource",6],["option",4]],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["derivationpath",3],["keysource",6],["option",4]],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[],[["result",4],["keyerror",4],["extendedkey",4]]],[[["derivationpath",3],["keysource",6],["option",4]],[["keyerror",4],["descriptorkey",4],["result",4]]],[[],[["result",4],["generatedkey",3]]],[[["vec",3],["u64",15],["f32",15],["feerate",3],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],[[["vec",3],["u64",15],["f32",15],["feerate",3],["weightedutxo",3]],[["error",4],["coinselectionresult",3],["result",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[],[["hashset",3],["capability",4]]],[[["usize",15],["option",4],["progress",8]],[["error",4],["result",4]]],[[["txid",3]],[["error",4],["option",4],["result",4]]],[[["transaction",3]],[["error",4],["result",4]]],[[],[["u32",15],["result",4],["error",4]]],[[["usize",15]],[["result",4],["feerate",3],["error",4]]],[[]],[[["error",4]]],[[["addressvalidatorerror",4]]],[[["policyerror",4]]],[[["signererror",4]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["esploraerror",4]]],[[["error",4]]],[[["compactfilterserror",4]]],[[["electrumblockchain",3]]],[[["esplorablockchain",3]]],[[["compactfiltersblockchain",3]]],[[["electrumblockchainconfig",3]]],[[["esplorablockchainconfig",3]]],[[["compactfiltersblockchainconfig",3]]],[[["client",3]]],[[["error",3]]],[[["parseinterror",3]]],[[["error",4]]],[[["error",4]]],[[["error",3]]],[[["error",3]]],[[["error",4]]],[[["systemtimeerror",3]]],[[["error",4]]],[[["memorydatabase",3]]],[[["tree",3]]],[[]],[[]],[[]],[[["sleddbconfiguration",3]]],[[["keyerror",4]],["error",4]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["error",4]]],[[["policyerror",4]]],[[["bool",15]]],[[["satisfiableitem",4]]],[[["extendedpubkey",3]]],[[["extendedprivkey",3]]],[[["error",4]]],[[["error",4]]],[[["hash",3]],["signerid",4]],[[["fingerprint",3]],["signerid",4]],[[["keymap",6]],["signerscontainer",3]],[[],["capability",4]],[[],["noopprogress",3]],[[],["logprogress",3]],[[],["deriveddescriptorkey",3]],[[],["pkorf",3]],[[],["satisfiableitem",4]],[[],["satisfaction",4]],[[],["policy",3]],[[],["condition",3]],[[],["scriptcontextenum",4]],[[],["privatekeygenerateoptions",3]],[[],["keychainkind",4]],[[],["feerate",3]],[[],["localutxo",3]],[[],["weightedutxo",3]],[[],["utxo",4]],[[],["transactiondetails",3]],[[],["addressvalidatorerror",4]],[[],["largestfirstcoinselection",3]],[[],["signerid",4]],[[],["signererror",4]],[[],["signerordering",3]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[],["txordering",4]],[[],["changespendpolicy",4]],[[],["mempool",3]],[[],["memorydatabase",3]],[[],["pkorf",3]],[[],["condition",3]],[[]],[[]],[[],["transactiondetails",3]],[[],["largestfirstcoinselection",3]],[[]],[[]],[[],["signerscontainer",3]],[[],["createtx",3]],[[],["bumpfee",3]],[[]],[[]],[[],["ordering",4]],[[["condition",3]],["ordering",4]],[[["signerid",4]],["ordering",4]],[[["signerordering",3]],["ordering",4]],[[["txordering",4]],["ordering",4]],[[["changespendpolicy",4]],["ordering",4]],[[["capability",4]],["bool",15]],[[],["bool",15]],[[["condition",3]],["bool",15]],[[["condition",3]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["policyerror",4]],["bool",15]],[[["scriptcontextenum",4]],["bool",15]],[[["keychainkind",4]],["bool",15]],[[["feerate",3]],["bool",15]],[[["feerate",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["localutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["weightedutxo",3]],["bool",15]],[[["utxo",4]],["bool",15]],[[["utxo",4]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["transactiondetails",3]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["addressvalidatorerror",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signerid",4]],["bool",15]],[[["signererror",4]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["signerordering",3]],["bool",15]],[[["txordering",4]],["bool",15]],[[["changespendpolicy",4]],["bool",15]],[[],[["option",4],["ordering",4]]],[[["condition",3]],[["option",4],["ordering",4]]],[[["feerate",3]],[["option",4],["ordering",4]]],[[["signerid",4]],[["option",4],["ordering",4]]],[[["signerordering",3]],[["option",4],["ordering",4]]],[[["txordering",4]],[["option",4],["ordering",4]]],[[["changespendpolicy",4]],[["option",4],["ordering",4]]],[[],["string",3]],[[]],[[]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["str",15]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[]],[[],["bool",15]],[[],["usize",15]],[[],["publickey",3]],[[],["hash",3]],[[]],[[["transaction",3]]],[[["inventory",4]],[["transaction",3],["option",4]]],[[["txid",3]],["bool",15]],[[],[["transaction",3],["vec",3]]],[[["arc",3],["network",4],["mempool",3],["tosocketaddrs",8]],[["compactfilterserror",4],["result",4]]],[[["option",4],["arc",3],["totargetaddr",8],["mempool",3],["network",4],["tosocketaddrs",8]],[["compactfilterserror",4],["result",4]]],[[],["versionmessage",3]],[[],["network",4]],[[],[["mempool",3],["arc",3]]],[[],["bool",15]],[[["networkmessage",4]],[["compactfilterserror",4],["result",4]]],[[["str",15],["option",4],["duration",3]],[["compactfilterserror",4],["result",4],["option",4]]],[[],["descriptor",4]],[[],["descriptor",4]],[[],[["result",4],["descriptor",4],["error",4]]],[[],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["legacy",4]],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["miniscript",3],["segwitv0",4]],[["result",4],["descriptor",4],["error",4]]],[[["barectx",4],["miniscript",3]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["descriptor",4],["error",4]]],[[],["descriptortype",4]],[[],["bool",15]],[[["u32",15]],[["descriptor",4],["descriptorpublickey",4]]],[[["secp256k1",3],["str",15]],[["result",4],["error",4]]],[[["hashmap",3]],["string",3]],[[],["fingerprint",3]],[[],["derivationpath",3]],[[],["bool",15]],[[["u32",15]],["descriptorpublickey",4]],[[["secp256k1",3]],[["publickey",3],["conversionerror",4],["result",4]]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],["bool",15]],[[],[["result",4],["analysiserror",4]]],[[],["iter",3]],[[],["pkiter",3]],[[],["pkhiter",3]],[[],["pkpkhiter",3]],[[],[["global",3],["vec",3],["miniscript",3]]],[[["usize",15]],[["option",4],["miniscript",3]]],[[],[["vec",3],["global",3]]],[[],[["vec",3],["global",3]]],[[],[["vec",3],["global",3],["pkpkh",4]]],[[["usize",15]],["option",4]],[[["usize",15]],["option",4]],[[["usize",15]],[["pkpkh",4],["option",4]]],[[["terminal",4]],[["miniscript",3],["result",4],["error",4]]],[[],["terminal",4]],[[],["terminal",4]],[[["script",3]],[["miniscript",3],["result",4],["error",4]]],[[["script",3]],[["miniscript",3],["result",4],["error",4]]],[[],["script",3]],[[],["usize",15]],[[],[["result",4],["usize",15],["error",4]]],[[],[["result",4],["usize",15],["error",4]]],[[["str",15]],[["miniscript",3],["result",4],["error",4]]],[[],[["error",4],["vec",3],["result",4]]],[[],[["error",4],["vec",3],["result",4]]],[[],[["result",4],["lifterror",4]]],[[],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["scriptcontexterror",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["miniscript",3]],[["result",4],["error",4]]],[[["secp256k1",3],["descriptorpublickey",4]],["deriveddescriptorkey",3]],[[["str",15]],[["language",4],["option",4]]],[[],["wordlist",3]],[[],["wordmap",3]],[[["language",4],["mnemonictype",4]],["mnemonic",3]],[[["language",4]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["result",4],["mnemonic",3],["error",3]]],[[["language",4],["str",15]],[["result",4],["error",3]]],[[],["str",15]],[[],["string",3]],[[]],[[],["language",4]],[[["usize",15]],[["error",3],["result",4],["mnemonictype",4]]],[[["usize",15]],[["error",3],["result",4],["mnemonictype",4]]],[[["str",15]],[["error",3],["result",4],["mnemonictype",4]]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[],["usize",15]],[[["mnemonic",3],["str",15]],["seed",3]],[[]],[[["secp256k1",3]],[["descriptorpublickey",4],["result",4],["descriptorkeyparseerror",3]]],[[["usize",15],["vec",3],["global",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[["tree",3]],[["result",4],["sortedmultivec",3],["error",4]]],[[],[["result",4],["sortedmultivec",3]]],[[],[["result",4],["error",4]]],[[],["terminal",4]],[[],["script",3]],[[],[["error",4],["vec",3],["result",4]]],[[],["usize",15]],[[],["usize",15]],[[],["usize",15]],[[],["u8",15]],[[["f32",15]]],[[["f32",15]]],[[]],[[],["f32",15]],[[],["outpoint",3]],[[],["txout",3]]],"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,"AddressIndex"],[4,"Error"],[13,"InsufficientFunds"],[13,"FeeRateTooLow"],[13,"FeeTooLow"],[4,"KeychainKind"],[3,"LocalUtxo"],[3,"WeightedUtxo"],[4,"Utxo"],[13,"Foreign"],[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"]]}\
}');
initSearch(searchIndex);
\ No newline at end of file
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 cea7bca378..fab614ac6e 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
@@ -1295,6 +1295,156 @@
1292
1293
1294
+1295
+1296
+1297
+1298
+1299
+1300
+1301
+1302
+1303
+1304
+1305
+1306
+1307
+1308
+1309
+1310
+1311
+1312
+1313
+1314
+1315
+1316
+1317
+1318
+1319
+1320
+1321
+1322
+1323
+1324
+1325
+1326
+1327
+1328
+1329
+1330
+1331
+1332
+1333
+1334
+1335
+1336
+1337
+1338
+1339
+1340
+1341
+1342
+1343
+1344
+1345
+1346
+1347
+1348
+1349
+1350
+1351
+1352
+1353
+1354
+1355
+1356
+1357
+1358
+1359
+1360
+1361
+1362
+1363
+1364
+1365
+1366
+1367
+1368
+1369
+1370
+1371
+1372
+1373
+1374
+1375
+1376
+1377
+1378
+1379
+1380
+1381
+1382
+1383
+1384
+1385
+1386
+1387
+1388
+1389
+1390
+1391
+1392
+1393
+1394
+1395
+1396
+1397
+1398
+1399
+1400
+1401
+1402
+1403
+1404
+1405
+1406
+1407
+1408
+1409
+1410
+1411
+1412
+1413
+1414
+1415
+1416
+1417
+1418
+1419
+1420
+1421
+1422
+1423
+1424
+1425
+1426
+1427
+1428
+1429
+1430
+1431
+1432
+1433
+1434
+1435
+1436
+1437
+1438
+1439
+1440
+1441
+1442
+1443
+1444
// Bitcoin Dev Kit
// Written in 2020 by Alekos Filini <alekos.filini@gmail.com>
@@ -1344,18 +1494,26 @@
use bitcoin::PublicKey;
use miniscript::descriptor::{DescriptorPublicKey, ShInner, SortedMultiVec, WshInner};
-use miniscript::{Descriptor, Miniscript, MiniscriptKey, ScriptContext, Terminal, ToPublicKey};
+use miniscript::{
+ Descriptor, ForEachKey, Miniscript, MiniscriptKey, Satisfier, ScriptContext, Terminal,
+ ToPublicKey,
+};
#[allow(unused_imports)]
use log::{debug, error, info, trace};
-use crate::descriptor::{DerivedDescriptorKey, ExtractPolicy};
+use crate::descriptor::{
+ DerivedDescriptor, DerivedDescriptorKey, DescriptorMeta, ExtendedDescriptor, ExtractPolicy,
+};
+use crate::psbt::PSBTUtils;
use crate::wallet::signer::{SignerId, SignersContainer};
use crate::wallet::utils::{self, SecpCtx};
use super::checksum::get_checksum;
use super::error::Error;
use super::XKeyUtils;
+use bitcoin::util::psbt::PartiallySignedTransaction as PSBT;
+use miniscript::psbt::PsbtInputSatisfier;
/// Raw public key or extended key fingerprint
#[derive(Debug, Clone, Default, Serialize)]
@@ -1554,7 +1712,7 @@
n: usize,
/// Threshold
m: usize,
- /// The items that can be satisfied by the descriptor
+ /// The items that can be satisfied by the descriptor or are satisfied in the PSBT
items: Vec<usize>,
#[serde(skip_serializing_if = "Option::is_none")]
/// Whether the items are sorted in lexicographic order (used by `sortedmulti`)
@@ -1729,7 +1887,7 @@
/// Type of this policy node
#[serde(flatten)]
pub item: SatisfiableItem,
- /// How a much given PSBT already satisfies this polcy node **(currently unused)**
+ /// How much a given PSBT already satisfies this policy node in terms of signatures
pub satisfaction: Satisfaction,
/// How the wallet's descriptor can satisfy this policy node
pub contribution: Satisfaction,
@@ -1988,6 +2146,52 @@
_ => Ok(Condition::default()),
}
}
+
+ /// fill `self.satisfaction` with the signatures we already have in the PSBT
+ pub fn fill_satisfactions(
+ &mut self,
+ psbt: &PSBT,
+ desc: &ExtendedDescriptor, // can't put in self because non Serialize
+ secp: &SecpCtx,
+ ) -> Result<(), Error> {
+ // Start from an empty Satisfaction (like a contribution without signers)
+ let policy = desc.extract_policy(&SignersContainer::default(), &secp)?;
+ if let Some(policy) = policy {
+ self.satisfaction = policy.contribution;
+
+ for (i, input) in psbt.inputs.iter().enumerate() {
+ let s = PsbtInputSatisfier::new(psbt, i);
+ let derived_desc = desc.derive_from_psbt_input(input, psbt.get_utxo_for(i), secp);
+ self.add_satisfaction(s, derived_desc);
+ }
+ self.satisfaction.finalize();
+ }
+
+ Ok(())
+ }
+
+ fn add_satisfaction<S: Satisfier<bitcoin::PublicKey>>(
+ &mut self,
+ satisfier: S,
+ derived_desc: Option<DerivedDescriptor>,
+ ) {
+ if let Some(derived_desc) = derived_desc {
+ let mut index = 0;
+ derived_desc.for_each_key(|k| {
+ if satisfier.lookup_sig(&k.as_key().to_public_key()).is_some() {
+ //TODO check signature verifies
+ let _ = self.satisfaction.add(
+ &Satisfaction::Complete {
+ condition: Default::default(),
+ },
+ index,
+ );
+ }
+ index += 1;
+ true
+ });
+ }
+ }
}
impl From<SatisfiableItem> for Policy {
@@ -2177,12 +2381,15 @@
use crate::descriptor::{ExtractPolicy, IntoWalletDescriptor};
use super::*;
+ use crate::bitcoin::consensus::deserialize;
+ use crate::descriptor::derived::AsDerived;
use crate::descriptor::policy::SatisfiableItem::{Multisig, Signature, Thresh};
use crate::keys::{DescriptorKey, IntoDescriptorKey};
use crate::wallet::signer::SignersContainer;
- use bitcoin::secp256k1::{All, Secp256k1};
+ use bitcoin::secp256k1::Secp256k1;
use bitcoin::util::bip32;
use bitcoin::Network;
+ use miniscript::DescriptorTrait;
use std::str::FromStr;
use std::sync::Arc;
@@ -2193,9 +2400,10 @@
fn setup_keys<Ctx: ScriptContext>(
tprv: &str,
+ path: &str,
+ secp: &SecpCtx,
) -> (DescriptorKey<Ctx>, DescriptorKey<Ctx>, Fingerprint) {
- let secp: Secp256k1<All> = Secp256k1::new();
- let path = bip32::DerivationPath::from_str(PATH).unwrap();
+ let path = bip32::DerivationPath::from_str(path).unwrap();
let tprv = bip32::ExtendedPrivKey::from_str(tprv).unwrap();
let tpub = bip32::ExtendedPubKey::from_private(&secp, &tprv);
let fingerprint = tprv.fingerprint(&secp);
@@ -2211,14 +2419,14 @@
fn test_extract_policy_for_wpkh() {
let secp = Secp256k1::new();
- let (prvkey, pubkey, fingerprint) = setup_keys(TPRV0_STR);
+ let (prvkey, pubkey, fingerprint) = setup_keys(TPRV0_STR, PATH, &secp);
let desc = descriptor!(wpkh(pubkey)).unwrap();
let (wallet_desc, keymap) = desc
.into_wallet_descriptor(&secp, Network::Testnet)
.unwrap();
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = wallet_desc
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2233,7 +2441,7 @@
.unwrap();
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = wallet_desc
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2246,63 +2454,66 @@
}
// 2 pub keys descriptor, required 2 prv keys
- // #[test]
- // fn test_extract_policy_for_sh_multi_partial_0of2() {
- // let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR);
- // let (_prvkey1, pubkey1, fingerprint1) = setup_keys(TPRV1_STR);
- // let desc = descriptor!(sh(multi 2, pubkey0, pubkey1)).unwrap();
- // let (wallet_desc, keymap) = desc.to_wallet_descriptor(Network::Testnet).unwrap();
- // let signers_container = Arc::new(SignersContainer::from(keymap));
- // let policy = wallet_desc
- // .extract_policy(signers_container)
- // .unwrap()
- // .unwrap();
- //
- // assert!(
- // matches!(&policy.item, Multisig { keys, threshold } if threshold == &2
- // && &keys[0].fingerprint.unwrap() == &fingerprint0
- // && &keys[1].fingerprint.unwrap() == &fingerprint1)
- // );
- //
- // // TODO should this be "Satisfaction::None" since we have no prv keys?
- // // TODO should items and conditions not be empty?
- // assert!(
- // matches!(&policy.contribution, Satisfaction::Partial { n, m, items, conditions} if n == &2
- // && m == &2
- // && items.is_empty()
- // && conditions.is_empty()
- // )
- // );
- // }
+ #[test]
+ fn test_extract_policy_for_sh_multi_partial_0of2() {
+ let secp = Secp256k1::new();
+ let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (_prvkey1, pubkey1, fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
+ let desc = descriptor!(sh(multi(2, pubkey0, pubkey1))).unwrap();
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+ let policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
+
+ assert!(
+ matches!(&policy.item, Multisig { keys, threshold } if threshold == &2usize
+ && &keys[0].fingerprint.unwrap() == &fingerprint0
+ && &keys[1].fingerprint.unwrap() == &fingerprint1)
+ );
+ // TODO should this be "Satisfaction::None" since we have no prv keys?
+ // TODO should items and conditions not be empty?
+ assert!(
+ matches!(&policy.contribution, Satisfaction::Partial { n, m, items, conditions, ..} if n == &2usize
+ && m == &2usize
+ && items.is_empty()
+ && conditions.is_empty()
+ )
+ );
+ }
// 1 prv and 1 pub key descriptor, required 2 prv keys
- // #[test]
- // fn test_extract_policy_for_sh_multi_partial_1of2() {
- // let (prvkey0, _pubkey0, fingerprint0) = setup_keys(TPRV0_STR);
- // let (_prvkey1, pubkey1, fingerprint1) = setup_keys(TPRV1_STR);
- // let desc = descriptor!(sh(multi 2, prvkey0, pubkey1)).unwrap();
- // let (wallet_desc, keymap) = desc.to_wallet_descriptor(Network::Testnet).unwrap();
- // let signers_container = Arc::new(SignersContainer::from(keymap));
- // let policy = wallet_desc
- // .extract_policy(signers_container)
- // .unwrap()
- // .unwrap();
- //
- // assert!(
- // matches!(&policy.item, Multisig { keys, threshold } if threshold == &2
- // && &keys[0].fingerprint.unwrap() == &fingerprint0
- // && &keys[1].fingerprint.unwrap() == &fingerprint1)
- // );
- //
- // // TODO should this be "Satisfaction::Partial" since we have only one of two prv keys?
- // assert!(
- // matches!(&policy.contribution, Satisfaction::PartialComplete { n, m, items, conditions} if n == &2
- // && m == &2
- // && items.len() == 2
- // && conditions.contains_key(&vec![0,1])
- // )
- // );
- // }
+ #[test]
+ fn test_extract_policy_for_sh_multi_partial_1of2() {
+ let secp = Secp256k1::new();
+ let (prvkey0, _pubkey0, fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (_prvkey1, pubkey1, fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
+ let desc = descriptor!(sh(multi(2, prvkey0, pubkey1))).unwrap();
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+ let policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
+ assert!(
+ matches!(&policy.item, Multisig { keys, threshold } if threshold == &2usize
+ && &keys[0].fingerprint.unwrap() == &fingerprint0
+ && &keys[1].fingerprint.unwrap() == &fingerprint1)
+ );
+
+ assert!(
+ matches!(&policy.contribution, Satisfaction::Partial { n, m, items, conditions, ..} if n == &2usize
+ && m == &2usize
+ && items.len() == 1
+ && conditions.contains_key(&0)
+ )
+ );
+ }
// 1 prv and 1 pub key descriptor, required 1 prv keys
#[test]
@@ -2310,15 +2521,15 @@
fn test_extract_policy_for_sh_multi_complete_1of2() {
let secp = Secp256k1::new();
- let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR);
- let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR);
+ let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
let desc = descriptor!(sh(multi(1, pubkey0, prvkey1))).unwrap();
let (wallet_desc, keymap) = desc
.into_wallet_descriptor(&secp, Network::Testnet)
.unwrap();
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = wallet_desc
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2342,15 +2553,15 @@
fn test_extract_policy_for_sh_multi_complete_2of2() {
let secp = Secp256k1::new();
- let (prvkey0, _pubkey0, fingerprint0) = setup_keys(TPRV0_STR);
- let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR);
+ let (prvkey0, _pubkey0, fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
let desc = descriptor!(sh(multi(2, prvkey0, prvkey1))).unwrap();
let (wallet_desc, keymap) = desc
.into_wallet_descriptor(&secp, Network::Testnet)
.unwrap();
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = wallet_desc
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2375,7 +2586,7 @@
fn test_extract_policy_for_single_wpkh() {
let secp = Secp256k1::new();
- let (prvkey, pubkey, fingerprint) = setup_keys(TPRV0_STR);
+ let (prvkey, pubkey, fingerprint) = setup_keys(TPRV0_STR, PATH, &secp);
let desc = descriptor!(wpkh(pubkey)).unwrap();
let (wallet_desc, keymap) = desc
.into_wallet_descriptor(&secp, Network::Testnet)
@@ -2383,7 +2594,7 @@
let single_key = wallet_desc.derive(0);
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = single_key
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2399,7 +2610,7 @@
let single_key = wallet_desc.derive(0);
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = single_key
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2417,8 +2628,8 @@
fn test_extract_policy_for_single_wsh_multi_complete_1of2() {
let secp = Secp256k1::new();
- let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR);
- let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR);
+ let (_prvkey0, pubkey0, fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (prvkey1, _pubkey1, fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
let desc = descriptor!(sh(multi(1, pubkey0, prvkey1))).unwrap();
let (wallet_desc, keymap) = desc
.into_wallet_descriptor(&secp, Network::Testnet)
@@ -2426,7 +2637,7 @@
let single_key = wallet_desc.derive(0);
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = single_key
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2452,8 +2663,8 @@
fn test_extract_policy_for_wsh_multi_timelock() {
let secp = Secp256k1::new();
- let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR);
- let (_prvkey1, pubkey1, _fingerprint1) = setup_keys(TPRV1_STR);
+ let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (_prvkey1, pubkey1, _fingerprint1) = setup_keys(TPRV1_STR, PATH, &secp);
let sequence = 50;
#[rustfmt::skip]
let desc = descriptor!(wsh(thresh(
@@ -2469,7 +2680,7 @@
.unwrap();
let signers_container = Arc::new(SignersContainer::from(keymap));
let policy = wallet_desc
- .extract_policy(&signers_container, &Secp256k1::new())
+ .extract_policy(&signers_container, &secp)
.unwrap()
.unwrap();
@@ -2490,66 +2701,82 @@
// - mixed timelocks should fail
- // #[test]
- // fn test_extract_policy_for_wsh_mixed_timelocks() {
- // let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR);
- // let locktime_threshold = 500000000; // if less than this means block number, else block time in seconds
- // let locktime_blocks = 100;
- // let locktime_seconds = locktime_blocks + locktime_threshold;
- // let desc = descriptor!(sh (and_v (+v pk prvkey0), (and_v (+v after locktime_seconds), (after locktime_blocks)))).unwrap();
- // let (wallet_desc, keymap) = desc.to_wallet_descriptor(Network::Testnet).unwrap();
- // let signers_container = Arc::new(SignersContainer::from(keymap));
- // let policy = wallet_desc
- // .extract_policy(signers_container)
- // .unwrap()
- // .unwrap();
- //
- // println!("desc policy = {:?}", policy); // TODO remove
- //
- // // TODO how should this fail with mixed timelocks?
- // }
+ #[test]
+ #[ignore]
+ fn test_extract_policy_for_wsh_mixed_timelocks() {
+ let secp = Secp256k1::new();
+ let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let locktime_threshold = 500000000; // if less than this means block number, else block time in seconds
+ let locktime_blocks = 100;
+ let locktime_seconds = locktime_blocks + locktime_threshold;
+ let desc = descriptor!(sh(and_v(
+ v: pk(prvkey0),
+ and_v(v: after(locktime_seconds), after(locktime_blocks))
+ )))
+ .unwrap();
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+ let policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
+ println!("desc policy = {:?}", policy); // TODO remove
+ // TODO how should this fail with mixed timelocks?
+ }
// - multiple timelocks of the same type should be correctly merged together
+ #[test]
+ #[ignore]
+ fn test_extract_policy_for_multiple_same_timelocks() {
+ let secp = Secp256k1::new();
+ let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR, PATH, &secp);
+ let locktime_blocks0 = 100;
+ let locktime_blocks1 = 200;
+ let desc = descriptor!(sh(and_v(
+ v: pk(prvkey0),
+ and_v(v: after(locktime_blocks0), after(locktime_blocks1))
+ )))
+ .unwrap();
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+ let policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
+ println!("desc policy = {:?}", policy); // TODO remove
+ // TODO how should this merge timelocks?
+ let (prvkey1, _pubkey1, _fingerprint1) = setup_keys(TPRV0_STR, PATH, &secp);
+ let locktime_seconds0 = 500000100;
+ let locktime_seconds1 = 500000200;
+ let desc = descriptor!(sh(and_v(
+ v: pk(prvkey1),
+ and_v(v: after(locktime_seconds0), after(locktime_seconds1))
+ )))
+ .unwrap();
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+ let policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
- // #[test]
- // fn test_extract_policy_for_multiple_same_timelocks() {
- // let (prvkey0, _pubkey0, _fingerprint0) = setup_keys(TPRV0_STR);
- // let locktime_blocks0 = 100;
- // let locktime_blocks1 = 200;
- // let desc = descriptor!(sh (and_v (+v pk prvkey0), (and_v (+v after locktime_blocks0), (after locktime_blocks1)))).unwrap();
- // let (wallet_desc, keymap) = desc.to_wallet_descriptor(Network::Testnet).unwrap();
- // let signers_container = Arc::new(SignersContainer::from(keymap));
- // let policy = wallet_desc
- // .extract_policy(signers_container)
- // .unwrap()
- // .unwrap();
- //
- // println!("desc policy = {:?}", policy); // TODO remove
- //
- // // TODO how should this merge timelocks?
- //
- // let (prvkey1, _pubkey1, _fingerprint1) = setup_keys(TPRV0_STR);
- // let locktime_seconds0 = 500000100;
- // let locktime_seconds1 = 500000200;
- // let desc = descriptor!(sh (and_v (+v pk prvkey1), (and_v (+v after locktime_seconds0), (after locktime_seconds1)))).unwrap();
- // let (wallet_desc, keymap) = desc.to_wallet_descriptor(Network::Testnet).unwrap();
- // let signers_container = Arc::new(SignersContainer::from(keymap));
- // let policy = wallet_desc
- // .extract_policy(signers_container)
- // .unwrap()
- // .unwrap();
- //
- // println!("desc policy = {:?}", policy); // TODO remove
- //
- // // TODO how should this merge timelocks?
- // }
+ println!("desc policy = {:?}", policy); // TODO remove
+
+ // TODO how should this merge timelocks?
+ }
#[test]
fn test_get_condition_multisig() {
- let secp = Secp256k1::gen_new();
+ let secp = Secp256k1::new();
- let (_, pk0, _) = setup_keys(TPRV0_STR);
- let (_, pk1, _) = setup_keys(TPRV1_STR);
+ let (_, pk0, _) = setup_keys(TPRV0_STR, PATH, &secp);
+ let (_, pk1, _) = setup_keys(TPRV1_STR, PATH, &secp);
let desc = descriptor!(wsh(multi(1, pk0, pk1))).unwrap();
let (wallet_desc, keymap) = desc
@@ -2589,6 +2816,79 @@
policy.get_condition(&vec![(policy.id.clone(), vec![5])].into_iter().collect());
assert_eq!(out_of_range, Err(PolicyError::IndexOutOfRange(5)));
}
+
+ #[test]
+ fn test_extract_satisfaction() {
+ const ALICE_TPRV_STR:&str = "tprv8ZgxMBicQKsPf6T5X327efHnvJDr45Xnb8W4JifNWtEoqXu9MRYS4v1oYe6DFcMVETxy5w3bqpubYRqvcVTqovG1LifFcVUuJcbwJwrhYzP";
+ const BOB_TPRV_STR:&str = "tprv8ZgxMBicQKsPeinZ155cJAn117KYhbaN6MV3WeG6sWhxWzcvX1eg1awd4C9GpUN1ncLEM2rzEvunAg3GizdZD4QPPCkisTz99tXXB4wZArp";
+ const ALICE_BOB_PATH: &str = "m/0'";
+ const ALICE_SIGNED_PSBT: &str = "cHNidP8BAFMBAAAAAZb0njwT2wRS3AumaaP3yb7T4MxOePpSWih4Nq+jWChMAQAAAAD/////Af4lAAAAAAAAF6kUXv2Fn+YemPP4PUpNR1ZbU16/eRCHAAAAAAABASuJJgAAAAAAACIAIERw5kTLo9DUH9QDJSClHQwPpC7VGJ+ZMDpa8U+2fzcYIgIDeAtjYQk/Vfu4db2+68hyMKjc38+kWl5sP5QH8L42ZstHMEQCIBj0jLjUeVYXNQ6cqB+gbtvuKMjV54wSgWlm1cfcgpHVAiBa3DtC9l/1Mt4IDCvR7mmwQd3eAP/m5++81euhJNSrgQEBBUdSIQN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmyyEC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhSriIGAvhhP8vi6bSPMZokerDnvffCBs8m6MdEH8+PgUJdZ5mIDBwu7j4AAACAAAAAACIGA3gLY2EJP1X7uHW9vuvIcjCo3N/PpFpebD+UB/C+NmbLDMkRfC4AAACAAAAAAAAA";
+ const BOB_SIGNED_PSBT: &str = "cHNidP8BAFMBAAAAAZb0njwT2wRS3AumaaP3yb7T4MxOePpSWih4Nq+jWChMAQAAAAD/////Af4lAAAAAAAAF6kUXv2Fn+YemPP4PUpNR1ZbU16/eRCHAAAAAAABASuJJgAAAAAAACIAIERw5kTLo9DUH9QDJSClHQwPpC7VGJ+ZMDpa8U+2fzcYIgIC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhIMEUCIQD5zDtM5MwklurwJ5aW76RsO36Iqyu+6uMdVlhL6ws2GQIgesAiz4dbKS7UmhDsC/c1ezu0o6hp00UUtsCMfUZ4anYBAQVHUiEDeAtjYQk/Vfu4db2+68hyMKjc38+kWl5sP5QH8L42ZsshAvhhP8vi6bSPMZokerDnvffCBs8m6MdEH8+PgUJdZ5mIUq4iBgL4YT/L4um0jzGaJHqw5733wgbPJujHRB/Pj4FCXWeZiAwcLu4+AAAAgAAAAAAiBgN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmywzJEXwuAAAAgAAAAAAAAA==";
+ const ALICE_BOB_SIGNED_PSBT: &str = "cHNidP8BAFMBAAAAAZb0njwT2wRS3AumaaP3yb7T4MxOePpSWih4Nq+jWChMAQAAAAD/////Af4lAAAAAAAAF6kUXv2Fn+YemPP4PUpNR1ZbU16/eRCHAAAAAAABASuJJgAAAAAAACIAIERw5kTLo9DUH9QDJSClHQwPpC7VGJ+ZMDpa8U+2fzcYIgIC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhIMEUCIQD5zDtM5MwklurwJ5aW76RsO36Iqyu+6uMdVlhL6ws2GQIgesAiz4dbKS7UmhDsC/c1ezu0o6hp00UUtsCMfUZ4anYBIgIDeAtjYQk/Vfu4db2+68hyMKjc38+kWl5sP5QH8L42ZstHMEQCIBj0jLjUeVYXNQ6cqB+gbtvuKMjV54wSgWlm1cfcgpHVAiBa3DtC9l/1Mt4IDCvR7mmwQd3eAP/m5++81euhJNSrgQEBBUdSIQN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmyyEC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhSriIGAvhhP8vi6bSPMZokerDnvffCBs8m6MdEH8+PgUJdZ5mIDBwu7j4AAACAAAAAACIGA3gLY2EJP1X7uHW9vuvIcjCo3N/PpFpebD+UB/C+NmbLDMkRfC4AAACAAAAAAAEHAAEI2wQARzBEAiAY9Iy41HlWFzUOnKgfoG7b7ijI1eeMEoFpZtXH3IKR1QIgWtw7QvZf9TLeCAwr0e5psEHd3gD/5ufvvNXroSTUq4EBSDBFAiEA+cw7TOTMJJbq8CeWlu+kbDt+iKsrvurjHVZYS+sLNhkCIHrAIs+HWyku1JoQ7Av3NXs7tKOoadNFFLbAjH1GeGp2AUdSIQN4C2NhCT9V+7h1vb7ryHIwqNzfz6RaXmw/lAfwvjZmyyEC+GE/y+LptI8xmiR6sOe998IGzybox0Qfz4+BQl1nmYhSrgAA";
+
+ let secp = Secp256k1::new();
+
+ let (prvkey_alice, _, _) = setup_keys(ALICE_TPRV_STR, ALICE_BOB_PATH, &secp);
+ let (prvkey_bob, _, _) = setup_keys(BOB_TPRV_STR, ALICE_BOB_PATH, &secp);
+
+ let desc = descriptor!(wsh(multi(2, prvkey_alice, prvkey_bob))).unwrap();
+
+ let (wallet_desc, keymap) = desc
+ .into_wallet_descriptor(&secp, Network::Testnet)
+ .unwrap();
+
+ let addr = wallet_desc
+ .as_derived(0, &secp)
+ .address(Network::Testnet)
+ .unwrap();
+ assert_eq!(
+ "tb1qg3cwv3xt50gdg875qvjjpfgaps86gtk4rz0ejvp6ttc5ldnlxuvqlcn0xk",
+ addr.to_string()
+ );
+
+ let signers_container = Arc::new(SignersContainer::from(keymap));
+
+ let original_policy = wallet_desc
+ .extract_policy(&signers_container, &secp)
+ .unwrap()
+ .unwrap();
+
+ let psbt: PSBT = deserialize(&base64::decode(ALICE_SIGNED_PSBT).unwrap()).unwrap();
+ let mut policy_clone = original_policy.clone();
+ policy_clone
+ .fill_satisfactions(&psbt, &wallet_desc, &secp)
+ .unwrap();
+ assert!(
+ matches!(&policy_clone.satisfaction, Satisfaction::Partial { n, m, items, .. } if n == &2
+ && m == &2
+ && items == &vec![0]
+ )
+ );
+
+ let mut policy_clone = original_policy.clone();
+ let psbt: PSBT = deserialize(&base64::decode(BOB_SIGNED_PSBT).unwrap()).unwrap();
+ policy_clone
+ .fill_satisfactions(&psbt, &wallet_desc, &secp)
+ .unwrap();
+ assert!(
+ matches!(&policy_clone.satisfaction, Satisfaction::Partial { n, m, items, .. } if n == &2
+ && m == &2
+ && items == &vec![1]
+ )
+ );
+
+ let mut policy_clone = original_policy.clone();
+ let psbt: PSBT = deserialize(&base64::decode(ALICE_BOB_SIGNED_PSBT).unwrap()).unwrap();
+ policy_clone
+ .fill_satisfactions(&psbt, &wallet_desc, &secp)
+ .unwrap();
+ assert!(
+ matches!(&policy_clone.satisfaction, Satisfaction::PartialComplete { n, m, items, .. } if n == &2
+ && m == &2
+ && items == &vec![0, 1]
+ )
+ );
+ }
}