From d13ecfd78ab897c8b7db0c70dc243daa3386040e Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 21 Jan 2025 19:21:27 +0000 Subject: [PATCH] Publish autogenerated nightly docs --- .../bdk_bitcoind_rpc/struct.BlockEvent.html | 12 ++--- .../bdk_bitcoind_rpc/struct.Emitter.html | 2 +- .../bdk_chain/bitcoin/base58/struct.Vec.html | 2 +- .../hashes/serde/de/trait.Deserialize.html | 2 +- .../hashes/serde/ser/trait.Serialize.html | 2 +- .../hashes/serde/trait.Deserialize.html | 2 +- .../bitcoin/hashes/serde/trait.Serialize.html | 2 +- .../bdk/nightly/latest/bdk_chain/index.html | 2 +- .../indexed_tx_graph/struct.ChangeSet.html | 2 +- .../keychain_txout/struct.ChangeSet.html | 2 +- .../local_chain/struct.ChangeSet.html | 2 +- .../local_chain/struct.CheckPoint.html | 32 ++++++------ .../local_chain/struct.CheckPointIter.html | 4 +- .../bdk_chain/spk_client/enum.SyncItem.html | 30 +++++------ .../latest/bdk_chain/spk_client/index.html | 2 +- .../spk_client/struct.FullScanRequest.html | 16 +++--- .../struct.FullScanRequestBuilder.html | 14 ++--- .../spk_client/struct.FullScanResponse.html | 6 +-- .../spk_client/struct.SyncProgress.html | 16 +++--- .../spk_client/struct.SyncRequest.html | 22 ++++---- .../spk_client/struct.SyncRequestBuilder.html | 18 +++---- .../spk_client/struct.SyncResponse.html | 6 +-- .../latest/bdk_chain/struct.BlockId.html | 16 +++--- .../latest/bdk_chain/struct.CheckPoint.html | 32 ++++++------ .../bdk_chain/struct.CheckPointIter.html | 4 +- .../struct.ConfirmationBlockTime.html | 16 +++--- .../latest/bdk_chain/struct.TxUpdate.html | 14 ++--- .../nightly/latest/bdk_chain/trait.Merge.html | 36 ++++++------- .../bdk_chain/tx_graph/struct.ChangeSet.html | 2 +- .../bdk_chain/tx_graph/struct.TxUpdate.html | 14 ++--- .../latest/bdk_chain/type.Indexed.html | 2 +- .../bdk_chain/type.KeychainIndexed.html | 2 +- .../bdk/nightly/latest/bdk_esplora/index.html | 4 +- .../bdk_esplora/trait.EsploraAsyncExt.html | 28 +++++----- .../latest/bdk_esplora/trait.EsploraExt.html | 26 +++++----- .../latest/bdk_file_store/struct.Store.html | 2 +- .../descriptor/enum.Descriptor.html | 4 +- .../bdk_wallet/enum.ApplyBlockError.html | 4 +- .../bdk_wallet/enum.FileStoreError.html | 6 +-- .../latest/bdk_wallet/enum.LoadMismatch.html | 2 +- .../bdk/nightly/latest/bdk_wallet/index.html | 4 +- .../constant.SCHEMAS_TABLE_NAME.html | 2 +- .../rusqlite_impl/fn.migrate_schema.html | 2 +- .../bdk_wallet/rusqlite_impl/index.html | 2 +- .../latest/bdk_wallet/struct.Balance.html | 14 ++--- .../latest/bdk_wallet/struct.ChangeSet.html | 16 +++--- .../bdk_wallet/struct.CreateParams.html | 6 +-- .../latest/bdk_wallet/struct.LoadParams.html | 4 +- .../latest/bdk_wallet/struct.LocalOutput.html | 4 +- .../bdk_wallet/struct.PersistedWallet.html | 52 +++++++++---------- .../latest/bdk_wallet/struct.Update.html | 14 ++--- .../latest/bdk_wallet/struct.Wallet.html | 52 +++++++++---------- .../bdk_wallet/trait.WalletPersister.html | 4 +- .../latest/bdk_wallet/type.WalletTx.html | 10 ++-- .../latest/example_cli/fn.create_tx.html | 4 +- .../example_cli/fn.handle_commands.html | 4 +- .../latest/example_cli/fn.planned_utxos.html | 4 +- .../latest/example_cli/struct.ChangeInfo.html | 4 +- .../latest/example_cli/struct.ChangeSet.html | 14 ++--- .../latest/example_cli/struct.Init.html | 8 +-- .../example_cli/type.KeychainTxGraph.html | 6 +-- .../latest/example_cli/type.PlanUtxo.html | 2 +- .../docs-rs/bdk/nightly/latest/help.html | 2 +- .../docs-rs/bdk/nightly/latest/settings.html | 2 +- .../src/bdk_wallet/wallet/persisted.rs.html | 2 +- .../trait.impl/bdk_core/merge/trait.Merge.js | 4 +- .../trait.impl/core/convert/trait.AsRef.js | 4 +- .../trait.impl/core/convert/trait.From.js | 4 +- .../collections/btree/map/struct.BTreeMap.js | 4 +- .../indexed_tx_graph/struct.IndexedTxGraph.js | 4 +- .../bdk_chain/tx_graph/struct.CanonicalTx.js | 4 +- .../bdk_wallet/descriptor/enum.Descriptor.js | 4 +- .../latest/type.impl/std/primitive.tuple.js | 4 +- 73 files changed, 341 insertions(+), 341 deletions(-) diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html index c199509523..1a9f8408c3 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.BlockEvent.html @@ -1,18 +1,18 @@ BlockEvent in bdk_bitcoind_rpc - Rust
bdk_bitcoind_rpc

Struct BlockEvent

Source
pub struct BlockEvent<B> {
     pub block: B,
-    pub checkpoint: CheckPoint,
+    pub checkpoint: CheckPoint,
 }
Expand description

A newly emitted block from Emitter.

Fields§

§block: B

Either a full [Block] or [Header] of the new block.

-
§checkpoint: CheckPoint

The checkpoint of the new block.

-

A [CheckPoint] is a node of a linked list of [BlockId]s. This checkpoint is linked to -all [BlockId]s originally passed in Emitter::new as well as emitted blocks since then. +

§checkpoint: CheckPoint

The checkpoint of the new block.

+

A CheckPoint is a node of a linked list of BlockIds. This checkpoint is linked to +all BlockIds originally passed in Emitter::new as well as emitted blocks since then. These blocks are guaranteed to be of the same chain.

This is important as BDK structures require block-to-apply to be connected with another block in the original chain.

Implementations§

Source§

impl<B> BlockEvent<B>

Source

pub fn block_height(&self) -> u32

The block height of this new block.

Source

pub fn block_hash(&self) -> BlockHash

The block hash of this new block.

-
Source

pub fn connected_to(&self) -> BlockId

The [BlockId] of a previous block that this block connects to.

-

This either returns a [BlockId] of a previously emitted block or from the chain we started +

Source

pub fn connected_to(&self) -> BlockId

The BlockId of a previous block that this block connects to.

+

This either returns a BlockId of a previously emitted block or from the chain we started with (passed in as last_cp in Emitter::new).

This value is derived from BlockEvent::checkpoint.

Trait Implementations§

Source§

impl<B: Debug> Debug for BlockEvent<B>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<B> Freeze for BlockEvent<B>
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html index 6d0629a853..c7e269b3da 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/struct.Emitter.html @@ -1,6 +1,6 @@ Emitter in bdk_bitcoind_rpc - Rust
bdk_bitcoind_rpc

Struct Emitter

Source
pub struct Emitter<'c, C> { /* private fields */ }
Expand description

The Emitter is used to emit data sourced from [bitcoincore_rpc::Client].

Refer to module-level documentation for more.

-

Implementations§

Source§

impl<'c, C: RpcApi> Emitter<'c, C>

Source

pub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self

Construct a new Emitter.

+

Implementations§

Source§

impl<'c, C: RpcApi> Emitter<'c, C>

Source

pub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self

Construct a new Emitter.

last_cp informs the emitter of the chain we are starting off with. This way, the emitter can start emission from a block that connects to the original chain.

start_height starts emission from a given height (if there are no conflicts with the diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/base58/struct.Vec.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/base58/struct.Vec.html index a5c38a070d..f338ba2f0e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/base58/struct.Vec.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/base58/struct.Vec.html @@ -4580,7 +4580,7 @@

§Examples< assert_eq!(first_element, Some("a".to_string())); assert_eq!(v_iter.next(), Some("b".to_string())); assert_eq!(v_iter.next(), None);
-
Source§

type Item = T

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<T, A>

Which kind of iterator are we turning this into?
§

impl<T> Merge for Vec<T>

§

fn merge(&mut self, other: Vec<T>)

Merge another object of the same type onto self.
§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
§

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

Take the value, replacing it with the default value.
1.0.0 · Source§

impl<T, A> Ord for Vec<T, A>
where +

Source§

type Item = T

The type of the elements being iterated over.
Source§

type IntoIter = IntoIter<T, A>

Which kind of iterator are we turning this into?
Source§

impl<T> Merge for Vec<T>

Source§

fn merge(&mut self, other: Vec<T>)

Merge another object of the same type onto self.
Source§

fn is_empty(&self) -> bool

Returns whether the structure is considered empty.
Source§

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

Take the value, replacing it with the default value.
1.0.0 · Source§

impl<T, A> Ord for Vec<T, A>
where T: Ord, A: Allocator,

Implements ordering of vectors, lexicographically.

Source§

fn cmp(&self, other: &Vec<T, A>) -> Ordering

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

fn max(self, other: Self) -> Self
where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/de/trait.Deserialize.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/de/trait.Deserialize.html index c9c048c0f7..d972453b59 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/de/trait.Deserialize.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/de/trait.Deserialize.html @@ -714,7 +714,7 @@

§Lifetime

D: Deserializer<'de>,

Implementors§

§

impl<'de> Deserialize<'de> for &'de Script

Can only deserialize borrowed bytes.

§

impl<'de> Deserialize<'de> for ChildNumber

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::LockTime

§

impl<'de> Deserialize<'de> for EcdsaSighashType

§

impl<'de> Deserialize<'de> for Network

§

impl<'de> Deserialize<'de> for TapSighashType

§

impl<'de> Deserialize<'de> for Parity

The parity is deserialized as u8 - 0 for even, 1 for odd.

§

impl<'de> Deserialize<'de> for LeafVersion

Deserializes LeafVersion as a u8 using consensus encoding.

-
§

impl<'de> Deserialize<'de> for TapLeaf

Source§

impl<'de> Deserialize<'de> for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl<'de> Deserialize<'de> for bdk_chain::local_chain::ChangeSet

Source§

impl<'de> Deserialize<'de> for Balance

§

impl<'de> Deserialize<'de> for BlockId

§

impl<'de> Deserialize<'de> for ConfirmationBlockTime

Source§

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

Source§

impl<'de> Deserialize<'de> for String

§

impl<'de> Deserialize<'de> for ChainCode

§

impl<'de> Deserialize<'de> for DerivationPath

§

impl<'de> Deserialize<'de> for Fingerprint

§

impl<'de> Deserialize<'de> for Xpriv

§

impl<'de> Deserialize<'de> for Xpub

§

impl<'de> Deserialize<'de> for ShortId

§

impl<'de> Deserialize<'de> for Header

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::block::Version

§

impl<'de> Deserialize<'de> for ChainHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::ecdsa::Signature

§

impl<'de> Deserialize<'de> for TweakedKeypair

§

impl<'de> Deserialize<'de> for TweakedPublicKey

§

impl<'de> Deserialize<'de> for Key

§

impl<'de> Deserialize<'de> for Pair

§

impl<'de> Deserialize<'de> for Input

§

impl<'de> Deserialize<'de> for Output

§

impl<'de> Deserialize<'de> for PsbtSighashType

§

impl<'de> Deserialize<'de> for SharedSecret

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl<'de> Deserialize<'de> for Keypair

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl<'de> Deserialize<'de> for SecretKey

§

impl<'de> Deserialize<'de> for Address<NetworkUnchecked>

§

impl<'de> Deserialize<'de> for Amount

§

impl<'de> Deserialize<'de> for Block

§

impl<'de> Deserialize<'de> for BlockHash

§

impl<'de> Deserialize<'de> for CompactTarget

§

impl<'de> Deserialize<'de> for CompressedPublicKey

§

impl<'de> Deserialize<'de> for FeeRate

§

impl<'de> Deserialize<'de> for FilterHash

§

impl<'de> Deserialize<'de> for FilterHeader

§

impl<'de> Deserialize<'de> for LegacySighash

§

impl<'de> Deserialize<'de> for OutPoint

§

impl<'de> Deserialize<'de> for PrivateKey

§

impl<'de> Deserialize<'de> for Psbt

§

impl<'de> Deserialize<'de> for PubkeyHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::PublicKey

§

impl<'de> Deserialize<'de> for ScriptBuf

§

impl<'de> Deserialize<'de> for ScriptHash

§

impl<'de> Deserialize<'de> for SegwitV0Sighash

§

impl<'de> Deserialize<'de> for Sequence

§

impl<'de> Deserialize<'de> for TapLeafHash

§

impl<'de> Deserialize<'de> for TapNodeHash

§

impl<'de> Deserialize<'de> for TapSighash

§

impl<'de> Deserialize<'de> for TapTweakHash

§

impl<'de> Deserialize<'de> for Target

§

impl<'de> Deserialize<'de> for Transaction

§

impl<'de> Deserialize<'de> for TxIn

§

impl<'de> Deserialize<'de> for TxMerkleNode

§

impl<'de> Deserialize<'de> for TxOut

§

impl<'de> Deserialize<'de> for Txid

§

impl<'de> Deserialize<'de> for WPubkeyHash

§

impl<'de> Deserialize<'de> for WScriptHash

§

impl<'de> Deserialize<'de> for Weight

§

impl<'de> Deserialize<'de> for Witness

§

impl<'de> Deserialize<'de> for WitnessCommitment

§

impl<'de> Deserialize<'de> for WitnessMerkleNode

§

impl<'de> Deserialize<'de> for Work

§

impl<'de> Deserialize<'de> for Wtxid

§

impl<'de> Deserialize<'de> for XKeyIdentifier

§

impl<'de> Deserialize<'de> for XOnlyPublicKey

§

impl<'de> Deserialize<'de> for ControlBlock

§

impl<'de> Deserialize<'de> for NodeInfo

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::taproot::Signature

§

impl<'de> Deserialize<'de> for TapTree

§

impl<'de> Deserialize<'de> for TaprootMerkleBranch

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl<'de> Deserialize<'de> for Midstate

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<'de> Deserialize<'de> for IgnoredAny

Source§

impl<'de, A> Deserialize<'de> for ChainPosition<A>
where +

§

impl<'de> Deserialize<'de> for TapLeaf

Source§

impl<'de> Deserialize<'de> for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl<'de> Deserialize<'de> for bdk_chain::local_chain::ChangeSet

Source§

impl<'de> Deserialize<'de> for Balance

Source§

impl<'de> Deserialize<'de> for BlockId

Source§

impl<'de> Deserialize<'de> for ConfirmationBlockTime

Source§

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

Source§

impl<'de> Deserialize<'de> for String

§

impl<'de> Deserialize<'de> for ChainCode

§

impl<'de> Deserialize<'de> for DerivationPath

§

impl<'de> Deserialize<'de> for Fingerprint

§

impl<'de> Deserialize<'de> for Xpriv

§

impl<'de> Deserialize<'de> for Xpub

§

impl<'de> Deserialize<'de> for ShortId

§

impl<'de> Deserialize<'de> for Header

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::block::Version

§

impl<'de> Deserialize<'de> for ChainHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::ecdsa::Signature

§

impl<'de> Deserialize<'de> for TweakedKeypair

§

impl<'de> Deserialize<'de> for TweakedPublicKey

§

impl<'de> Deserialize<'de> for Key

§

impl<'de> Deserialize<'de> for Pair

§

impl<'de> Deserialize<'de> for Input

§

impl<'de> Deserialize<'de> for Output

§

impl<'de> Deserialize<'de> for PsbtSighashType

§

impl<'de> Deserialize<'de> for SharedSecret

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl<'de> Deserialize<'de> for Keypair

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl<'de> Deserialize<'de> for SecretKey

§

impl<'de> Deserialize<'de> for Address<NetworkUnchecked>

§

impl<'de> Deserialize<'de> for Amount

§

impl<'de> Deserialize<'de> for Block

§

impl<'de> Deserialize<'de> for BlockHash

§

impl<'de> Deserialize<'de> for CompactTarget

§

impl<'de> Deserialize<'de> for CompressedPublicKey

§

impl<'de> Deserialize<'de> for FeeRate

§

impl<'de> Deserialize<'de> for FilterHash

§

impl<'de> Deserialize<'de> for FilterHeader

§

impl<'de> Deserialize<'de> for LegacySighash

§

impl<'de> Deserialize<'de> for OutPoint

§

impl<'de> Deserialize<'de> for PrivateKey

§

impl<'de> Deserialize<'de> for Psbt

§

impl<'de> Deserialize<'de> for PubkeyHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::PublicKey

§

impl<'de> Deserialize<'de> for ScriptBuf

§

impl<'de> Deserialize<'de> for ScriptHash

§

impl<'de> Deserialize<'de> for SegwitV0Sighash

§

impl<'de> Deserialize<'de> for Sequence

§

impl<'de> Deserialize<'de> for TapLeafHash

§

impl<'de> Deserialize<'de> for TapNodeHash

§

impl<'de> Deserialize<'de> for TapSighash

§

impl<'de> Deserialize<'de> for TapTweakHash

§

impl<'de> Deserialize<'de> for Target

§

impl<'de> Deserialize<'de> for Transaction

§

impl<'de> Deserialize<'de> for TxIn

§

impl<'de> Deserialize<'de> for TxMerkleNode

§

impl<'de> Deserialize<'de> for TxOut

§

impl<'de> Deserialize<'de> for Txid

§

impl<'de> Deserialize<'de> for WPubkeyHash

§

impl<'de> Deserialize<'de> for WScriptHash

§

impl<'de> Deserialize<'de> for Weight

§

impl<'de> Deserialize<'de> for Witness

§

impl<'de> Deserialize<'de> for WitnessCommitment

§

impl<'de> Deserialize<'de> for WitnessMerkleNode

§

impl<'de> Deserialize<'de> for Work

§

impl<'de> Deserialize<'de> for Wtxid

§

impl<'de> Deserialize<'de> for XKeyIdentifier

§

impl<'de> Deserialize<'de> for XOnlyPublicKey

§

impl<'de> Deserialize<'de> for ControlBlock

§

impl<'de> Deserialize<'de> for NodeInfo

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::taproot::Signature

§

impl<'de> Deserialize<'de> for TapTree

§

impl<'de> Deserialize<'de> for TaprootMerkleBranch

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl<'de> Deserialize<'de> for Midstate

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<'de> Deserialize<'de> for IgnoredAny

Source§

impl<'de, A> Deserialize<'de> for ChainPosition<A>
where A: Ord + Deserialize<'de>,

Source§

impl<'de, A> Deserialize<'de> for bdk_chain::tx_graph::ChangeSet<A>
where A: Ord + Deserialize<'de>,

Source§

impl<'de, A, IA> Deserialize<'de> for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>
where A: Ord + Deserialize<'de>, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/ser/trait.Serialize.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/ser/trait.Serialize.html index 65699516a5..cbc508a065 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/ser/trait.Serialize.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/ser/trait.Serialize.html @@ -838,7 +838,7 @@ ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Implementors§

§

impl Serialize for ChildNumber

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::LockTime

§

impl Serialize for EcdsaSighashType

§

impl Serialize for Network

§

impl Serialize for TapSighashType

§

impl Serialize for Parity

The parity is serialized as u8 - 0 for even, 1 for odd.

§

impl Serialize for LeafVersion

Serializes LeafVersion as a u8 using consensus encoding.

-
§

impl Serialize for TapLeaf

Source§

impl Serialize for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl Serialize for bdk_chain::local_chain::ChangeSet

Source§

impl Serialize for Balance

§

impl Serialize for BlockId

§

impl Serialize for ConfirmationBlockTime

Source§

impl Serialize for DescriptorId

Source§

impl Serialize for String

§

impl Serialize for ChainCode

§

impl Serialize for DerivationPath

§

impl Serialize for Fingerprint

§

impl Serialize for Xpriv

§

impl Serialize for Xpub

§

impl Serialize for ShortId

§

impl Serialize for Header

§

impl Serialize for bdk_chain::bitcoin::blockdata::block::Version

§

impl Serialize for ChainHash

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl Serialize for bdk_chain::bitcoin::ecdsa::Signature

§

impl Serialize for TweakedKeypair

§

impl Serialize for TweakedPublicKey

§

impl Serialize for Key

§

impl Serialize for Pair

§

impl Serialize for Input

§

impl Serialize for Output

§

impl Serialize for PsbtSighashType

§

impl Serialize for SharedSecret

§

impl Serialize for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl Serialize for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl Serialize for Keypair

§

impl Serialize for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl Serialize for SecretKey

§

impl Serialize for Amount

§

impl Serialize for Block

§

impl Serialize for BlockHash

§

impl Serialize for CompactTarget

§

impl Serialize for CompressedPublicKey

§

impl Serialize for FeeRate

§

impl Serialize for FilterHash

§

impl Serialize for FilterHeader

§

impl Serialize for LegacySighash

§

impl Serialize for Opcode

§

impl Serialize for OutPoint

§

impl Serialize for PrivateKey

§

impl Serialize for Psbt

§

impl Serialize for PubkeyHash

§

impl Serialize for bdk_chain::bitcoin::PublicKey

§

impl Serialize for Script

§

impl Serialize for ScriptBuf

§

impl Serialize for ScriptHash

§

impl Serialize for SegwitV0Sighash

§

impl Serialize for Sequence

§

impl Serialize for TapLeafHash

§

impl Serialize for TapNodeHash

§

impl Serialize for TapSighash

§

impl Serialize for TapTweakHash

§

impl Serialize for Target

§

impl Serialize for Transaction

§

impl Serialize for TxIn

§

impl Serialize for TxMerkleNode

§

impl Serialize for TxOut

§

impl Serialize for Txid

§

impl Serialize for WPubkeyHash

§

impl Serialize for WScriptHash

§

impl Serialize for Weight

§

impl Serialize for Witness

§

impl Serialize for WitnessCommitment

§

impl Serialize for WitnessMerkleNode

§

impl Serialize for Work

§

impl Serialize for Wtxid

§

impl Serialize for XKeyIdentifier

§

impl Serialize for XOnlyPublicKey

§

impl Serialize for ControlBlock

§

impl Serialize for NodeInfo

§

impl Serialize for bdk_chain::bitcoin::taproot::Signature

§

impl Serialize for TapTree

§

impl Serialize for TaprootMerkleBranch

§

impl Serialize for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl Serialize for Midstate

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<A> Serialize for ChainPosition<A>
where +

§

impl Serialize for TapLeaf

Source§

impl Serialize for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl Serialize for bdk_chain::local_chain::ChangeSet

Source§

impl Serialize for Balance

Source§

impl Serialize for BlockId

Source§

impl Serialize for ConfirmationBlockTime

Source§

impl Serialize for DescriptorId

Source§

impl Serialize for String

§

impl Serialize for ChainCode

§

impl Serialize for DerivationPath

§

impl Serialize for Fingerprint

§

impl Serialize for Xpriv

§

impl Serialize for Xpub

§

impl Serialize for ShortId

§

impl Serialize for Header

§

impl Serialize for bdk_chain::bitcoin::blockdata::block::Version

§

impl Serialize for ChainHash

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl Serialize for bdk_chain::bitcoin::ecdsa::Signature

§

impl Serialize for TweakedKeypair

§

impl Serialize for TweakedPublicKey

§

impl Serialize for Key

§

impl Serialize for Pair

§

impl Serialize for Input

§

impl Serialize for Output

§

impl Serialize for PsbtSighashType

§

impl Serialize for SharedSecret

§

impl Serialize for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl Serialize for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl Serialize for Keypair

§

impl Serialize for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl Serialize for SecretKey

§

impl Serialize for Amount

§

impl Serialize for Block

§

impl Serialize for BlockHash

§

impl Serialize for CompactTarget

§

impl Serialize for CompressedPublicKey

§

impl Serialize for FeeRate

§

impl Serialize for FilterHash

§

impl Serialize for FilterHeader

§

impl Serialize for LegacySighash

§

impl Serialize for Opcode

§

impl Serialize for OutPoint

§

impl Serialize for PrivateKey

§

impl Serialize for Psbt

§

impl Serialize for PubkeyHash

§

impl Serialize for bdk_chain::bitcoin::PublicKey

§

impl Serialize for Script

§

impl Serialize for ScriptBuf

§

impl Serialize for ScriptHash

§

impl Serialize for SegwitV0Sighash

§

impl Serialize for Sequence

§

impl Serialize for TapLeafHash

§

impl Serialize for TapNodeHash

§

impl Serialize for TapSighash

§

impl Serialize for TapTweakHash

§

impl Serialize for Target

§

impl Serialize for Transaction

§

impl Serialize for TxIn

§

impl Serialize for TxMerkleNode

§

impl Serialize for TxOut

§

impl Serialize for Txid

§

impl Serialize for WPubkeyHash

§

impl Serialize for WScriptHash

§

impl Serialize for Weight

§

impl Serialize for Witness

§

impl Serialize for WitnessCommitment

§

impl Serialize for WitnessMerkleNode

§

impl Serialize for Work

§

impl Serialize for Wtxid

§

impl Serialize for XKeyIdentifier

§

impl Serialize for XOnlyPublicKey

§

impl Serialize for ControlBlock

§

impl Serialize for NodeInfo

§

impl Serialize for bdk_chain::bitcoin::taproot::Signature

§

impl Serialize for TapTree

§

impl Serialize for TaprootMerkleBranch

§

impl Serialize for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl Serialize for Midstate

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<A> Serialize for ChainPosition<A>
where A: Ord + Serialize,

Source§

impl<A> Serialize for bdk_chain::tx_graph::ChangeSet<A>
where A: Ord + Serialize,

Source§

impl<A, IA> Serialize for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>
where A: Ord + Serialize, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html index c3a2818ded..e47a2e1182 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Deserialize.html @@ -714,7 +714,7 @@

§Lifetime

D: Deserializer<'de>,

Implementors§

§

impl<'de> Deserialize<'de> for &'de Script

Can only deserialize borrowed bytes.

§

impl<'de> Deserialize<'de> for ChildNumber

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::LockTime

§

impl<'de> Deserialize<'de> for EcdsaSighashType

§

impl<'de> Deserialize<'de> for Network

§

impl<'de> Deserialize<'de> for TapSighashType

§

impl<'de> Deserialize<'de> for Parity

The parity is deserialized as u8 - 0 for even, 1 for odd.

§

impl<'de> Deserialize<'de> for LeafVersion

Deserializes LeafVersion as a u8 using consensus encoding.

-
§

impl<'de> Deserialize<'de> for TapLeaf

Source§

impl<'de> Deserialize<'de> for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl<'de> Deserialize<'de> for bdk_chain::local_chain::ChangeSet

Source§

impl<'de> Deserialize<'de> for Balance

§

impl<'de> Deserialize<'de> for BlockId

§

impl<'de> Deserialize<'de> for ConfirmationBlockTime

Source§

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

Source§

impl<'de> Deserialize<'de> for String

§

impl<'de> Deserialize<'de> for ChainCode

§

impl<'de> Deserialize<'de> for DerivationPath

§

impl<'de> Deserialize<'de> for Fingerprint

§

impl<'de> Deserialize<'de> for Xpriv

§

impl<'de> Deserialize<'de> for Xpub

§

impl<'de> Deserialize<'de> for ShortId

§

impl<'de> Deserialize<'de> for Header

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::block::Version

§

impl<'de> Deserialize<'de> for ChainHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::ecdsa::Signature

§

impl<'de> Deserialize<'de> for TweakedKeypair

§

impl<'de> Deserialize<'de> for TweakedPublicKey

§

impl<'de> Deserialize<'de> for Key

§

impl<'de> Deserialize<'de> for Pair

§

impl<'de> Deserialize<'de> for Input

§

impl<'de> Deserialize<'de> for Output

§

impl<'de> Deserialize<'de> for PsbtSighashType

§

impl<'de> Deserialize<'de> for SharedSecret

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl<'de> Deserialize<'de> for Keypair

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl<'de> Deserialize<'de> for SecretKey

§

impl<'de> Deserialize<'de> for Address<NetworkUnchecked>

§

impl<'de> Deserialize<'de> for Amount

§

impl<'de> Deserialize<'de> for Block

§

impl<'de> Deserialize<'de> for BlockHash

§

impl<'de> Deserialize<'de> for CompactTarget

§

impl<'de> Deserialize<'de> for CompressedPublicKey

§

impl<'de> Deserialize<'de> for FeeRate

§

impl<'de> Deserialize<'de> for FilterHash

§

impl<'de> Deserialize<'de> for FilterHeader

§

impl<'de> Deserialize<'de> for LegacySighash

§

impl<'de> Deserialize<'de> for OutPoint

§

impl<'de> Deserialize<'de> for PrivateKey

§

impl<'de> Deserialize<'de> for Psbt

§

impl<'de> Deserialize<'de> for PubkeyHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::PublicKey

§

impl<'de> Deserialize<'de> for ScriptBuf

§

impl<'de> Deserialize<'de> for ScriptHash

§

impl<'de> Deserialize<'de> for SegwitV0Sighash

§

impl<'de> Deserialize<'de> for Sequence

§

impl<'de> Deserialize<'de> for TapLeafHash

§

impl<'de> Deserialize<'de> for TapNodeHash

§

impl<'de> Deserialize<'de> for TapSighash

§

impl<'de> Deserialize<'de> for TapTweakHash

§

impl<'de> Deserialize<'de> for Target

§

impl<'de> Deserialize<'de> for Transaction

§

impl<'de> Deserialize<'de> for TxIn

§

impl<'de> Deserialize<'de> for TxMerkleNode

§

impl<'de> Deserialize<'de> for TxOut

§

impl<'de> Deserialize<'de> for Txid

§

impl<'de> Deserialize<'de> for WPubkeyHash

§

impl<'de> Deserialize<'de> for WScriptHash

§

impl<'de> Deserialize<'de> for Weight

§

impl<'de> Deserialize<'de> for Witness

§

impl<'de> Deserialize<'de> for WitnessCommitment

§

impl<'de> Deserialize<'de> for WitnessMerkleNode

§

impl<'de> Deserialize<'de> for Work

§

impl<'de> Deserialize<'de> for Wtxid

§

impl<'de> Deserialize<'de> for XKeyIdentifier

§

impl<'de> Deserialize<'de> for XOnlyPublicKey

§

impl<'de> Deserialize<'de> for ControlBlock

§

impl<'de> Deserialize<'de> for NodeInfo

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::taproot::Signature

§

impl<'de> Deserialize<'de> for TapTree

§

impl<'de> Deserialize<'de> for TaprootMerkleBranch

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl<'de> Deserialize<'de> for Midstate

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<'de> Deserialize<'de> for IgnoredAny

Source§

impl<'de, A> Deserialize<'de> for ChainPosition<A>
where +

§

impl<'de> Deserialize<'de> for TapLeaf

Source§

impl<'de> Deserialize<'de> for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl<'de> Deserialize<'de> for bdk_chain::local_chain::ChangeSet

Source§

impl<'de> Deserialize<'de> for Balance

Source§

impl<'de> Deserialize<'de> for BlockId

Source§

impl<'de> Deserialize<'de> for ConfirmationBlockTime

Source§

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

Source§

impl<'de> Deserialize<'de> for String

§

impl<'de> Deserialize<'de> for ChainCode

§

impl<'de> Deserialize<'de> for DerivationPath

§

impl<'de> Deserialize<'de> for Fingerprint

§

impl<'de> Deserialize<'de> for Xpriv

§

impl<'de> Deserialize<'de> for Xpub

§

impl<'de> Deserialize<'de> for ShortId

§

impl<'de> Deserialize<'de> for Header

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::block::Version

§

impl<'de> Deserialize<'de> for ChainHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::ecdsa::Signature

§

impl<'de> Deserialize<'de> for TweakedKeypair

§

impl<'de> Deserialize<'de> for TweakedPublicKey

§

impl<'de> Deserialize<'de> for Key

§

impl<'de> Deserialize<'de> for Pair

§

impl<'de> Deserialize<'de> for Input

§

impl<'de> Deserialize<'de> for Output

§

impl<'de> Deserialize<'de> for PsbtSighashType

§

impl<'de> Deserialize<'de> for SharedSecret

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl<'de> Deserialize<'de> for Keypair

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl<'de> Deserialize<'de> for SecretKey

§

impl<'de> Deserialize<'de> for Address<NetworkUnchecked>

§

impl<'de> Deserialize<'de> for Amount

§

impl<'de> Deserialize<'de> for Block

§

impl<'de> Deserialize<'de> for BlockHash

§

impl<'de> Deserialize<'de> for CompactTarget

§

impl<'de> Deserialize<'de> for CompressedPublicKey

§

impl<'de> Deserialize<'de> for FeeRate

§

impl<'de> Deserialize<'de> for FilterHash

§

impl<'de> Deserialize<'de> for FilterHeader

§

impl<'de> Deserialize<'de> for LegacySighash

§

impl<'de> Deserialize<'de> for OutPoint

§

impl<'de> Deserialize<'de> for PrivateKey

§

impl<'de> Deserialize<'de> for Psbt

§

impl<'de> Deserialize<'de> for PubkeyHash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::PublicKey

§

impl<'de> Deserialize<'de> for ScriptBuf

§

impl<'de> Deserialize<'de> for ScriptHash

§

impl<'de> Deserialize<'de> for SegwitV0Sighash

§

impl<'de> Deserialize<'de> for Sequence

§

impl<'de> Deserialize<'de> for TapLeafHash

§

impl<'de> Deserialize<'de> for TapNodeHash

§

impl<'de> Deserialize<'de> for TapSighash

§

impl<'de> Deserialize<'de> for TapTweakHash

§

impl<'de> Deserialize<'de> for Target

§

impl<'de> Deserialize<'de> for Transaction

§

impl<'de> Deserialize<'de> for TxIn

§

impl<'de> Deserialize<'de> for TxMerkleNode

§

impl<'de> Deserialize<'de> for TxOut

§

impl<'de> Deserialize<'de> for Txid

§

impl<'de> Deserialize<'de> for WPubkeyHash

§

impl<'de> Deserialize<'de> for WScriptHash

§

impl<'de> Deserialize<'de> for Weight

§

impl<'de> Deserialize<'de> for Witness

§

impl<'de> Deserialize<'de> for WitnessCommitment

§

impl<'de> Deserialize<'de> for WitnessMerkleNode

§

impl<'de> Deserialize<'de> for Work

§

impl<'de> Deserialize<'de> for Wtxid

§

impl<'de> Deserialize<'de> for XKeyIdentifier

§

impl<'de> Deserialize<'de> for XOnlyPublicKey

§

impl<'de> Deserialize<'de> for ControlBlock

§

impl<'de> Deserialize<'de> for NodeInfo

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::taproot::Signature

§

impl<'de> Deserialize<'de> for TapTree

§

impl<'de> Deserialize<'de> for TaprootMerkleBranch

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl<'de> Deserialize<'de> for Midstate

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl<'de> Deserialize<'de> for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<'de> Deserialize<'de> for IgnoredAny

Source§

impl<'de, A> Deserialize<'de> for ChainPosition<A>
where A: Ord + Deserialize<'de>,

Source§

impl<'de, A> Deserialize<'de> for bdk_chain::tx_graph::ChangeSet<A>
where A: Ord + Deserialize<'de>,

Source§

impl<'de, A, IA> Deserialize<'de> for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>
where A: Ord + Deserialize<'de>, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Serialize.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Serialize.html index 797061f978..3b22041d77 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Serialize.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/bitcoin/hashes/serde/trait.Serialize.html @@ -838,7 +838,7 @@ ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Implementors§

§

impl Serialize for ChildNumber

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::LockTime

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::LockTime

§

impl Serialize for EcdsaSighashType

§

impl Serialize for Network

§

impl Serialize for TapSighashType

§

impl Serialize for Parity

The parity is serialized as u8 - 0 for even, 1 for odd.

§

impl Serialize for LeafVersion

Serializes LeafVersion as a u8 using consensus encoding.

-
§

impl Serialize for TapLeaf

Source§

impl Serialize for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl Serialize for bdk_chain::local_chain::ChangeSet

Source§

impl Serialize for Balance

§

impl Serialize for BlockId

§

impl Serialize for ConfirmationBlockTime

Source§

impl Serialize for DescriptorId

Source§

impl Serialize for String

§

impl Serialize for ChainCode

§

impl Serialize for DerivationPath

§

impl Serialize for Fingerprint

§

impl Serialize for Xpriv

§

impl Serialize for Xpub

§

impl Serialize for ShortId

§

impl Serialize for Header

§

impl Serialize for bdk_chain::bitcoin::blockdata::block::Version

§

impl Serialize for ChainHash

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl Serialize for bdk_chain::bitcoin::ecdsa::Signature

§

impl Serialize for TweakedKeypair

§

impl Serialize for TweakedPublicKey

§

impl Serialize for Key

§

impl Serialize for Pair

§

impl Serialize for Input

§

impl Serialize for Output

§

impl Serialize for PsbtSighashType

§

impl Serialize for SharedSecret

§

impl Serialize for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl Serialize for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl Serialize for Keypair

§

impl Serialize for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl Serialize for SecretKey

§

impl Serialize for Amount

§

impl Serialize for Block

§

impl Serialize for BlockHash

§

impl Serialize for CompactTarget

§

impl Serialize for CompressedPublicKey

§

impl Serialize for FeeRate

§

impl Serialize for FilterHash

§

impl Serialize for FilterHeader

§

impl Serialize for LegacySighash

§

impl Serialize for Opcode

§

impl Serialize for OutPoint

§

impl Serialize for PrivateKey

§

impl Serialize for Psbt

§

impl Serialize for PubkeyHash

§

impl Serialize for bdk_chain::bitcoin::PublicKey

§

impl Serialize for Script

§

impl Serialize for ScriptBuf

§

impl Serialize for ScriptHash

§

impl Serialize for SegwitV0Sighash

§

impl Serialize for Sequence

§

impl Serialize for TapLeafHash

§

impl Serialize for TapNodeHash

§

impl Serialize for TapSighash

§

impl Serialize for TapTweakHash

§

impl Serialize for Target

§

impl Serialize for Transaction

§

impl Serialize for TxIn

§

impl Serialize for TxMerkleNode

§

impl Serialize for TxOut

§

impl Serialize for Txid

§

impl Serialize for WPubkeyHash

§

impl Serialize for WScriptHash

§

impl Serialize for Weight

§

impl Serialize for Witness

§

impl Serialize for WitnessCommitment

§

impl Serialize for WitnessMerkleNode

§

impl Serialize for Work

§

impl Serialize for Wtxid

§

impl Serialize for XKeyIdentifier

§

impl Serialize for XOnlyPublicKey

§

impl Serialize for ControlBlock

§

impl Serialize for NodeInfo

§

impl Serialize for bdk_chain::bitcoin::taproot::Signature

§

impl Serialize for TapTree

§

impl Serialize for TaprootMerkleBranch

§

impl Serialize for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl Serialize for Midstate

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<A> Serialize for ChainPosition<A>
where +

§

impl Serialize for TapLeaf

Source§

impl Serialize for bdk_chain::indexer::keychain_txout::ChangeSet

Source§

impl Serialize for bdk_chain::local_chain::ChangeSet

Source§

impl Serialize for Balance

Source§

impl Serialize for BlockId

Source§

impl Serialize for ConfirmationBlockTime

Source§

impl Serialize for DescriptorId

Source§

impl Serialize for String

§

impl Serialize for ChainCode

§

impl Serialize for DerivationPath

§

impl Serialize for Fingerprint

§

impl Serialize for Xpriv

§

impl Serialize for Xpub

§

impl Serialize for ShortId

§

impl Serialize for Header

§

impl Serialize for bdk_chain::bitcoin::blockdata::block::Version

§

impl Serialize for ChainHash

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::absolute::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Height

§

impl Serialize for bdk_chain::bitcoin::blockdata::locktime::relative::Time

§

impl Serialize for bdk_chain::bitcoin::blockdata::transaction::Version

§

impl Serialize for bdk_chain::bitcoin::ecdsa::Signature

§

impl Serialize for TweakedKeypair

§

impl Serialize for TweakedPublicKey

§

impl Serialize for Key

§

impl Serialize for Pair

§

impl Serialize for Input

§

impl Serialize for Output

§

impl Serialize for PsbtSighashType

§

impl Serialize for SharedSecret

§

impl Serialize for bdk_chain::bitcoin::secp256k1::ecdsa::Signature

§

impl Serialize for bdk_chain::bitcoin::secp256k1::schnorr::Signature

§

impl Serialize for Keypair

§

impl Serialize for bdk_chain::bitcoin::secp256k1::PublicKey

§

impl Serialize for SecretKey

§

impl Serialize for Amount

§

impl Serialize for Block

§

impl Serialize for BlockHash

§

impl Serialize for CompactTarget

§

impl Serialize for CompressedPublicKey

§

impl Serialize for FeeRate

§

impl Serialize for FilterHash

§

impl Serialize for FilterHeader

§

impl Serialize for LegacySighash

§

impl Serialize for Opcode

§

impl Serialize for OutPoint

§

impl Serialize for PrivateKey

§

impl Serialize for Psbt

§

impl Serialize for PubkeyHash

§

impl Serialize for bdk_chain::bitcoin::PublicKey

§

impl Serialize for Script

§

impl Serialize for ScriptBuf

§

impl Serialize for ScriptHash

§

impl Serialize for SegwitV0Sighash

§

impl Serialize for Sequence

§

impl Serialize for TapLeafHash

§

impl Serialize for TapNodeHash

§

impl Serialize for TapSighash

§

impl Serialize for TapTweakHash

§

impl Serialize for Target

§

impl Serialize for Transaction

§

impl Serialize for TxIn

§

impl Serialize for TxMerkleNode

§

impl Serialize for TxOut

§

impl Serialize for Txid

§

impl Serialize for WPubkeyHash

§

impl Serialize for WScriptHash

§

impl Serialize for Weight

§

impl Serialize for Witness

§

impl Serialize for WitnessCommitment

§

impl Serialize for WitnessMerkleNode

§

impl Serialize for Work

§

impl Serialize for Wtxid

§

impl Serialize for XKeyIdentifier

§

impl Serialize for XOnlyPublicKey

§

impl Serialize for ControlBlock

§

impl Serialize for NodeInfo

§

impl Serialize for bdk_chain::bitcoin::taproot::Signature

§

impl Serialize for TapTree

§

impl Serialize for TaprootMerkleBranch

§

impl Serialize for bdk_chain::bitcoin::hashes::hash160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::ripemd160::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha1::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256::Hash

§

impl Serialize for Midstate

§

impl Serialize for bdk_chain::bitcoin::hashes::sha256d::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha384::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::sha512_256::Hash

§

impl Serialize for bdk_chain::bitcoin::hashes::siphash24::Hash

Source§

impl<A> Serialize for ChainPosition<A>
where A: Ord + Serialize,

Source§

impl<A> Serialize for bdk_chain::tx_graph::ChangeSet<A>
where A: Ord + Serialize,

Source§

impl<A, IA> Serialize for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>
where A: Ord + Serialize, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html index 317f2748cd..1062e761ad 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/index.html @@ -14,6 +14,6 @@
  • Data persistence agnostic – bdk_chain does not care where you cache on-chain data, what you cache or how you retrieve it from persistent storage.
  • -

    Re-exports§

    pub extern crate bdk_core;
    pub extern crate rusqlite;
    pub extern crate serde;
    pub use indexed_tx_graph::IndexedTxGraph;
    pub use indexer::spk_txout;
    pub use indexer::Indexer;
    pub use tx_graph::TxGraph;
    pub use indexer::keychain_txout;
    pub use bitcoin;
    pub use miniscript;

    Modules§

    bitcoin
    Rust Bitcoin Library
    indexed_tx_graph
    Contains the IndexedTxGraph and associated types. Refer to the +

    Re-exports§

    pub extern crate bdk_core;
    pub extern crate rusqlite;
    pub extern crate serde;
    pub use indexed_tx_graph::IndexedTxGraph;
    pub use indexer::spk_txout;
    pub use indexer::Indexer;
    pub use tx_graph::TxGraph;
    pub use indexer::keychain_txout;
    pub use bitcoin;
    pub use miniscript;

    Modules§

    bitcoin
    Rust Bitcoin Library
    indexed_tx_graph
    Contains the IndexedTxGraph and associated types. Refer to the IndexedTxGraph documentation for more.
    indexer
    Indexer provides utilities for indexing transaction data.
    local_chain
    The LocalChain is a local implementation of ChainOracle.
    rusqlite_impl
    Support for persisting bdk_chain structures to SQLite using [rusqlite].
    spk_client
    Helper types for spk-based blockchain clients.
    tx_graph
    Module for structures that store and traverse transactions.

    Structs§

    Balance
    Balance, differentiated into various categories.
    BlockId
    A reference to a block in the canonical chain.
    CanonicalIter
    Iterates over canonical txs.
    CheckPoint
    A checkpoint is a node of a reference-counted linked list of BlockIds.
    CheckPointIter
    Iterates over checkpoints backwards.
    ConfirmationBlockTime
    Represents the confirmation block and time of a transaction.
    DescriptorId
    Represents the unique ID of a descriptor.
    FullTxOut
    A TxOut with as much data as we can retrieve about it
    Impl
    A wrapper that we use to impl remote traits for types in our crate or dependency crates.
    SpkIterator
    An iterator for derived script pubkeys.
    TxPosInBlock
    Set of parameters sufficient to construct an Anchor.
    TxUpdate
    Data object used to communicate updates about relevant transactions from some chain data source to the core model (usually a bdk_chain::TxGraph).

    Enums§

    CanonicalReason
    The reason why a transaction is canonical.
    ChainPosition
    Represents the observed position of some chain data.
    ObservedIn
    Represents when and where a transaction was last observed in.

    Constants§

    BIP32_MAX_INDEX
    Maximum BIP32 derivation index.

    Traits§

    Anchor
    Trait that “anchors” blockchain data to a specific block of height and hash.
    ChainOracle
    Represents a service that tracks the blockchain.
    DescriptorExt
    A trait to extend the functionality of a miniscript descriptor.
    Merge
    Trait that makes an object mergeable.

    Type Aliases§

    Indexed
    A tuple of keychain index and T representing the indexed value.
    KeychainIndexed
    A tuple of keychain K, derivation index (u32) and a T associated with them.
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html index fc3118c88c..0bb359ef42 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.ChangeSet.html @@ -7,7 +7,7 @@

    Trait Implementations§

    Source§

    impl<A: Clone, IA: Clone> Clone for ChangeSet<A, IA>

    Source§

    fn clone(&self) -> ChangeSet<A, IA>

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl<A: Debug, IA: Debug> Debug for ChangeSet<A, IA>

    Source§

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

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

    impl<A, IA: Default> Default for ChangeSet<A, IA>

    Source§

    fn default() -> Self

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

    impl<'de, A, IA> Deserialize<'de> for ChangeSet<A, IA>
    where A: Ord + Deserialize<'de>, IA: Deserialize<'de>,

    Source§

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

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

    impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

    Source§

    fn from(graph: ChangeSet<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>

    Source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

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

    impl<A: PartialEq, IA: PartialEq> PartialEq for ChangeSet<A, IA>

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

    Source§

    fn from(graph: ChangeSet<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>

    Source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

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

    impl<A: PartialEq, IA: PartialEq> PartialEq for ChangeSet<A, IA>

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl<A, IA> Serialize for ChangeSet<A, IA>
    where A: Ord + Serialize, IA: Serialize,

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.ChangeSet.html index d034ca0325..80832268df 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexer/keychain_txout/struct.ChangeSet.html @@ -20,7 +20,7 @@

    Trait Implementations§

    Source§

    impl Clone for ChangeSet

    Source§

    fn clone(&self) -> ChangeSet

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ChangeSet

    Source§

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

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

    impl Default for ChangeSet

    Source§

    fn default() -> ChangeSet

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

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

    Source§

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

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

    impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>

    Source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another ChangeSet into self.

    Source§

    fn is_empty(&self) -> bool

    Returns whether the changeset are empty.

    -
    §

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +
    Source§

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl Serialize for ChangeSet

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

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

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html index 1dcf28aa6c..d386429afd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.ChangeSet.html @@ -13,7 +13,7 @@

    Source

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

    Persist changeset to the sqlite database.

    Remember to call Self::init_sqlite_tables beforehand.

    Trait Implementations§

    Source§

    impl Clone for ChangeSet

    Source§

    fn clone(&self) -> ChangeSet

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ChangeSet

    Source§

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

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

    impl Default for ChangeSet

    Source§

    fn default() -> ChangeSet

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

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

    Source§

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

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

    impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet

    Source§

    fn from(blocks: B) -> Self

    Converts to this type from the input type.
    Source§

    impl FromIterator<(u32, BlockHash)> for ChangeSet

    Source§

    fn from_iter<T: IntoIterator<Item = (u32, BlockHash)>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    Source§

    impl FromIterator<(u32, Option<BlockHash>)> for ChangeSet

    Source§

    fn from_iter<T: IntoIterator<Item = (u32, Option<BlockHash>)>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    Source§

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet

    Source§

    fn from(blocks: B) -> Self

    Converts to this type from the input type.
    Source§

    impl FromIterator<(u32, BlockHash)> for ChangeSet

    Source§

    fn from_iter<T: IntoIterator<Item = (u32, BlockHash)>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    Source§

    impl FromIterator<(u32, Option<BlockHash>)> for ChangeSet

    Source§

    fn from_iter<T: IntoIterator<Item = (u32, Option<BlockHash>)>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    Source§

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl Serialize for ChangeSet

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

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

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html index e5b6d6ce00..c0b4533542 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPoint.html @@ -1,8 +1,8 @@ -CheckPoint in bdk_chain::local_chain - Rust
    bdk_chain::local_chain

    Struct CheckPoint

    pub struct CheckPoint(/* private fields */);
    Expand description

    A checkpoint is a node of a reference-counted linked list of BlockIds.

    +CheckPoint in bdk_chain::local_chain - Rust
    bdk_chain::local_chain

    Struct CheckPoint

    Source
    pub struct CheckPoint(/* private fields */);
    Expand description

    A checkpoint is a node of a reference-counted linked list of BlockIds.

    Checkpoints are cheaply cloneable and are useful to find the agreement point between two sparse block chains.

    -

    Implementations§

    §

    impl CheckPoint

    pub fn new(block: BlockId) -> CheckPoint

    Construct a new base block at the front of a linked list.

    -

    pub fn from_block_ids( +

    Implementations§

    Source§

    impl CheckPoint

    Source

    pub fn new(block: BlockId) -> CheckPoint

    Construct a new base block at the front of a linked list.

    +
    Source

    pub fn from_block_ids( block_ids: impl IntoIterator<Item = BlockId>, ) -> Result<CheckPoint, Option<CheckPoint>>

    Construct a checkpoint from a list of BlockIds in ascending height order.

    §Errors
    @@ -13,30 +13,30 @@
    §Errors
  • The blocks iterator contains multiple BlockIds of the same height.
  • The error type is the last successful checkpoint constructed (if any).

    -

    pub fn from_header(header: &Header, height: u32) -> CheckPoint

    Construct a checkpoint from the given header and block height.

    +
    Source

    pub fn from_header(header: &Header, height: u32) -> CheckPoint

    Construct a checkpoint from the given header and block height.

    If header is of the genesis block, the checkpoint won’t have a prev node. Otherwise, we return a checkpoint linked with the previous block.

    -

    pub fn push(self, block: BlockId) -> Result<CheckPoint, CheckPoint>

    Puts another checkpoint onto the linked list representing the blockchain.

    +
    Source

    pub fn push(self, block: BlockId) -> Result<CheckPoint, CheckPoint>

    Puts another checkpoint onto the linked list representing the blockchain.

    Returns an Err(self) if the block you are pushing on is not at a greater height that the one you are pushing on to.

    -

    pub fn extend( +

    Source

    pub fn extend( self, blocks: impl IntoIterator<Item = BlockId>, ) -> Result<CheckPoint, CheckPoint>

    Extends the checkpoint linked list by a iterator of block ids.

    Returns an Err(self) if there is block which does not have a greater height than the previous one.

    -

    pub fn block_id(&self) -> BlockId

    Get the BlockId of the checkpoint.

    -

    pub fn height(&self) -> u32

    Get the height of the checkpoint.

    -

    pub fn hash(&self) -> BlockHash

    Get the block hash of the checkpoint.

    -

    pub fn prev(&self) -> Option<CheckPoint>

    Get the previous checkpoint in the chain

    -

    pub fn iter(&self) -> CheckPointIter

    Iterate from this checkpoint in descending height.

    -

    pub fn get(&self, height: u32) -> Option<CheckPoint>

    Get checkpoint at height.

    +
    Source

    pub fn block_id(&self) -> BlockId

    Get the BlockId of the checkpoint.

    +
    Source

    pub fn height(&self) -> u32

    Get the height of the checkpoint.

    +
    Source

    pub fn hash(&self) -> BlockHash

    Get the block hash of the checkpoint.

    +
    Source

    pub fn prev(&self) -> Option<CheckPoint>

    Get the previous checkpoint in the chain

    +
    Source

    pub fn iter(&self) -> CheckPointIter

    Iterate from this checkpoint in descending height.

    +
    Source

    pub fn get(&self, height: u32) -> Option<CheckPoint>

    Get checkpoint at height.

    Returns None if checkpoint at height does not exist`.

    -

    pub fn range<R>(&self, range: R) -> impl Iterator<Item = CheckPoint>
    where +

    Source

    pub fn range<R>(&self, range: R) -> impl Iterator<Item = CheckPoint>
    where R: RangeBounds<u32>,

    Iterate checkpoints over a height range.

    Note that we always iterate checkpoints in reverse height order (iteration starts at tip height).

    -

    pub fn insert(self, block_id: BlockId) -> CheckPoint

    Inserts block_id at its height within the chain.

    +
    Source

    pub fn insert(self, block_id: BlockId) -> CheckPoint

    Inserts block_id at its height within the chain.

    The effect of insert depends on whether a height already exists. If it doesn’t the block_id we inserted and all pre-existing blocks higher than it will be re-inserted after it. If the height already existed and has a conflicting block hash then it will be purged @@ -44,8 +44,8 @@

    §Errors
    passed in. Of course, if the block_id was already present then this just returns self.

    §Panics

    This panics if called with a genesis block that differs from that of self.

    -

    pub fn eq_ptr(&self, other: &CheckPoint) -> bool

    This method tests for self and other to have equal internal pointers.

    -

    Trait Implementations§

    §

    impl Clone for CheckPoint

    §

    fn clone(&self) -> CheckPoint

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for CheckPoint

    §

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

    Formats the value using the given formatter. Read more
    §

    impl IntoIterator for CheckPoint

    §

    type Item = CheckPoint

    The type of the elements being iterated over.
    §

    type IntoIter = CheckPointIter

    Which kind of iterator are we turning this into?
    §

    fn into_iter(self) -> <CheckPoint as IntoIterator>::IntoIter

    Creates an iterator from a value. Read more
    §

    impl PartialEq for CheckPoint

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +
    Source

    pub fn eq_ptr(&self, other: &CheckPoint) -> bool

    This method tests for self and other to have equal internal pointers.

    +

    Trait Implementations§

    Source§

    impl Clone for CheckPoint

    Source§

    fn clone(&self) -> CheckPoint

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for CheckPoint

    Source§

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

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

    impl IntoIterator for CheckPoint

    Source§

    type Item = CheckPoint

    The type of the elements being iterated over.
    Source§

    type IntoIter = CheckPointIter

    Which kind of iterator are we turning this into?
    Source§

    fn into_iter(self) -> <CheckPoint as IntoIterator>::IntoIter

    Creates an iterator from a value. Read more
    Source§

    impl PartialEq for CheckPoint

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html index 72efd53a11..f53f6bf4e7 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.CheckPointIter.html @@ -1,5 +1,5 @@ -CheckPointIter in bdk_chain::local_chain - Rust
    bdk_chain::local_chain

    Struct CheckPointIter

    pub struct CheckPointIter { /* private fields */ }
    Expand description

    Iterates over checkpoints backwards.

    -

    Trait Implementations§

    §

    impl Iterator for CheckPointIter

    §

    type Item = CheckPoint

    The type of the elements being iterated over.
    §

    fn next(&mut self) -> Option<<CheckPointIter as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    Source§

    fn next_chunk<const N: usize>( +CheckPointIter in bdk_chain::local_chain - Rust
    bdk_chain::local_chain

    Struct CheckPointIter

    Source
    pub struct CheckPointIter { /* private fields */ }
    Expand description

    Iterates over checkpoints backwards.

    +

    Trait Implementations§

    Source§

    impl Iterator for CheckPointIter

    Source§

    type Item = CheckPoint

    The type of the elements being iterated over.
    Source§

    fn next(&mut self) -> Option<<CheckPointIter as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    Source§

    fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · Source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 · Source§

    fn count(self) -> usize
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html index 75ddd794e0..a9ab446b92 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/enum.SyncItem.html @@ -1,4 +1,4 @@ -SyncItem in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Enum SyncItem

    pub enum SyncItem<'i, I> {
    +SyncItem in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Enum SyncItem

    Source
    pub enum SyncItem<'i, I> {
         Spk(I, &'i Script),
         Txid(Txid),
         OutPoint(OutPoint),
    @@ -6,26 +6,26 @@
     

    Variants§

    §

    Spk(I, &'i Script)

    Script pubkey sync item.

    §

    Txid(Txid)

    Txid sync item.

    §

    OutPoint(OutPoint)

    Outpoint sync item.

    -

    Trait Implementations§

    §

    impl<'i, I> Clone for SyncItem<'i, I>
    where - I: Clone,

    §

    fn clone(&self) -> SyncItem<'i, I>

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

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

    Performs copy-assignment from source. Read more
    §

    impl<'i, I> Debug for SyncItem<'i, I>
    where - I: Debug,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<I> Display for SyncItem<'_, I>
    where - I: Debug + Any,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<'i, I> Hash for SyncItem<'i, I>
    where - I: Hash,

    §

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

    Trait Implementations§

    Source§

    impl<'i, I> Clone for SyncItem<'i, I>
    where + I: Clone,

    Source§

    fn clone(&self) -> SyncItem<'i, I>

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl<'i, I> Debug for SyncItem<'i, I>
    where + I: Debug,

    Source§

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

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

    impl<I> Display for SyncItem<'_, I>
    where + I: Debug + Any,

    Source§

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

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

    impl<'i, I> Hash for SyncItem<'i, I>
    where + I: Hash,

    Source§

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

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

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

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

    impl<'i, I> Ord for SyncItem<'i, I>
    where - I: Ord,

    §

    fn cmp(&self, other: &SyncItem<'i, I>) -> Ordering

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

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

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

    impl<'i, I> Ord for SyncItem<'i, I>
    where + I: Ord,

    Source§

    fn cmp(&self, other: &SyncItem<'i, I>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    §

    impl<'i, I> PartialEq for SyncItem<'i, I>
    where - I: PartialEq,

    §

    fn eq(&self, other: &SyncItem<'i, I>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl<'i, I> PartialOrd for SyncItem<'i, I>
    where - I: PartialOrd,

    §

    fn partial_cmp(&self, other: &SyncItem<'i, I>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

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

    impl<'i, I> PartialEq for SyncItem<'i, I>
    where + I: PartialEq,

    Source§

    fn eq(&self, other: &SyncItem<'i, I>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl<'i, I> PartialOrd for SyncItem<'i, I>
    where + I: PartialOrd,

    Source§

    fn partial_cmp(&self, other: &SyncItem<'i, I>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

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

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

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

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

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

    impl<'i, I> Copy for SyncItem<'i, I>
    where - I: Copy,

    §

    impl<'i, I> Eq for SyncItem<'i, I>
    where - I: Eq,

    §

    impl<'i, I> StructuralPartialEq for SyncItem<'i, I>

    Auto Trait Implementations§

    §

    impl<'i, I> Freeze for SyncItem<'i, I>
    where +the >= operator. Read more

    Source§

    impl<'i, I> Copy for SyncItem<'i, I>
    where + I: Copy,

    Source§

    impl<'i, I> Eq for SyncItem<'i, I>
    where + I: Eq,

    Source§

    impl<'i, I> StructuralPartialEq for SyncItem<'i, I>

    Auto Trait Implementations§

    §

    impl<'i, I> Freeze for SyncItem<'i, I>
    where I: Freeze,

    §

    impl<'i, I> RefUnwindSafe for SyncItem<'i, I>
    where I: RefUnwindSafe,

    §

    impl<'i, I> Send for SyncItem<'i, I>
    where I: Send,

    §

    impl<'i, I> Sync for SyncItem<'i, I>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html index e7e8637560..16d3abf108 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/index.html @@ -1,2 +1,2 @@ -bdk_chain::spk_client - Rust
    bdk_chain

    Module spk_client

    Expand description

    Helper types for spk-based blockchain clients.

    +bdk_chain::spk_client - Rust
    bdk_chain

    Module spk_client

    Source
    Expand description

    Helper types for spk-based blockchain clients.

    Structs§

    FullScanRequest
    Data required to perform a spk-based blockchain client full scan.
    FullScanRequestBuilder
    Builds a FullScanRequest.
    FullScanResponse
    Data returned from a spk-based blockchain client full scan.
    SyncProgress
    The progress of SyncRequest.
    SyncRequest
    Data required to perform a spk-based blockchain client sync.
    SyncRequestBuilder
    Builds a SyncRequest.
    SyncResponse
    Data returned from a spk-based blockchain client sync.

    Enums§

    SyncItem
    An item reported to the inspect closure of SyncRequest.
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html index 5a33562c61..1fbd597a00 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequest.html @@ -1,20 +1,20 @@ -FullScanRequest in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanRequest

    pub struct FullScanRequest<K> { /* private fields */ }
    Expand description

    Data required to perform a spk-based blockchain client full scan.

    +FullScanRequest in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanRequest

    Source
    pub struct FullScanRequest<K> { /* private fields */ }
    Expand description

    Data required to perform a spk-based blockchain client full scan.

    A client full scan iterates through all the scripts for the given keychains, fetching relevant data until some stop gap number of scripts is found that have no data. This operation is generally only used when importing or restoring previously used keychains in which the list of used scripts is not known. The full scan process also updates the chain from the given chain_tip (if provided).

    -

    Implementations§

    §

    impl<K> FullScanRequest<K>
    where - K: Ord + Clone,

    pub fn builder() -> FullScanRequestBuilder<K>

    Start building a FullScanRequest.

    -

    pub fn chain_tip(&self) -> Option<CheckPoint>

    Get the chain tip CheckPoint of this request (if any).

    -

    pub fn keychains(&self) -> Vec<K>

    List all keychains contained in this request.

    -

    pub fn next_spk(&mut self, keychain: K) -> Option<(u32, ScriptBuf)>

    Advances the full scan request and returns the next indexed ScriptBuf of the given +

    Implementations§

    Source§

    impl<K> FullScanRequest<K>
    where + K: Ord + Clone,

    Source

    pub fn builder() -> FullScanRequestBuilder<K>

    Start building a FullScanRequest.

    +
    Source

    pub fn chain_tip(&self) -> Option<CheckPoint>

    Get the chain tip CheckPoint of this request (if any).

    +
    Source

    pub fn keychains(&self) -> Vec<K>

    List all keychains contained in this request.

    +
    Source

    pub fn next_spk(&mut self, keychain: K) -> Option<(u32, ScriptBuf)>

    Advances the full scan request and returns the next indexed ScriptBuf of the given keychain.

    -

    pub fn iter_spks( +

    Source

    pub fn iter_spks( &mut self, keychain: K, ) -> impl Iterator<Item = (u32, ScriptBuf)>

    Iterate over indexed ScriptBufs contained in this request of the given keychain.

    -

    Trait Implementations§

    §

    impl<K> Default for FullScanRequest<K>

    §

    fn default() -> FullScanRequest<K>

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

    impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>

    §

    fn from(builder: FullScanRequestBuilder<K>) -> FullScanRequest<K>

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<K> Freeze for FullScanRequest<K>

    §

    impl<K> !RefUnwindSafe for FullScanRequest<K>

    §

    impl<K> Send for FullScanRequest<K>
    where +

    Trait Implementations§

    Source§

    impl<K> Default for FullScanRequest<K>

    Source§

    fn default() -> FullScanRequest<K>

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

    impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>

    Source§

    fn from(builder: FullScanRequestBuilder<K>) -> FullScanRequest<K>

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<K> Freeze for FullScanRequest<K>

    §

    impl<K> !RefUnwindSafe for FullScanRequest<K>

    §

    impl<K> Send for FullScanRequest<K>
    where K: Send,

    §

    impl<K> !Sync for FullScanRequest<K>

    §

    impl<K> Unpin for FullScanRequest<K>

    §

    impl<K> !UnwindSafe for FullScanRequest<K>

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html index 475f19991f..314d056ec5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanRequestBuilder.html @@ -1,16 +1,16 @@ -FullScanRequestBuilder in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanRequestBuilder

    pub struct FullScanRequestBuilder<K> { /* private fields */ }
    Expand description

    Builds a FullScanRequest.

    -

    Implementations§

    §

    impl<K> FullScanRequestBuilder<K>
    where - K: Ord,

    pub fn chain_tip(self, tip: CheckPoint) -> FullScanRequestBuilder<K>

    Set the initial chain tip for the full scan request.

    +FullScanRequestBuilder in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanRequestBuilder

    Source
    pub struct FullScanRequestBuilder<K> { /* private fields */ }
    Expand description

    Builds a FullScanRequest.

    +

    Implementations§

    Source§

    impl<K> FullScanRequestBuilder<K>
    where + K: Ord,

    Source

    pub fn chain_tip(self, tip: CheckPoint) -> FullScanRequestBuilder<K>

    Set the initial chain tip for the full scan request.

    This is used to update LocalChain.

    -

    pub fn spks_for_keychain( +

    Source

    pub fn spks_for_keychain( self, keychain: K, spks: impl IntoIterator<IntoIter = impl Iterator<Item = (u32, ScriptBuf)> + Send + 'static>, ) -> FullScanRequestBuilder<K>

    Set the spk iterator for a given keychain.

    -

    pub fn inspect<F>(self, inspect: F) -> FullScanRequestBuilder<K>
    where +

    Source

    pub fn inspect<F>(self, inspect: F) -> FullScanRequestBuilder<K>
    where F: FnMut(K, u32, &Script) + Send + 'static,

    Set the closure that will inspect every sync item visited.

    -

    pub fn build(self) -> FullScanRequest<K>

    Build the FullScanRequest.

    -

    Trait Implementations§

    §

    impl<K> Default for FullScanRequestBuilder<K>

    §

    fn default() -> FullScanRequestBuilder<K>

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

    impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>

    §

    fn from(builder: FullScanRequestBuilder<K>) -> FullScanRequest<K>

    Converts to this type from the input type.
    Source§

    impl<K: Clone + Ord + Debug> FullScanRequestBuilderExt<K> for FullScanRequestBuilder<K>

    Source§

    fn spks_from_indexer(self, indexer: &KeychainTxOutIndex<K>) -> Self

    Add spk iterators for each keychain tracked in indexer.

    Auto Trait Implementations§

    Source

    pub fn build(self) -> FullScanRequest<K>

    Build the FullScanRequest.

    +

    Trait Implementations§

    Source§

    impl<K> Default for FullScanRequestBuilder<K>

    Source§

    fn default() -> FullScanRequestBuilder<K>

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

    impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>

    Source§

    fn from(builder: FullScanRequestBuilder<K>) -> FullScanRequest<K>

    Converts to this type from the input type.
    Source§

    impl<K: Clone + Ord + Debug> FullScanRequestBuilderExt<K> for FullScanRequestBuilder<K>

    Source§

    fn spks_from_indexer(self, indexer: &KeychainTxOutIndex<K>) -> Self

    Add spk iterators for each keychain tracked in indexer.

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResponse.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResponse.html index 8605bace46..2b5c32cdd0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResponse.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.FullScanResponse.html @@ -1,4 +1,4 @@ -FullScanResponse in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanResponse

    pub struct FullScanResponse<K, A = ConfirmationBlockTime> {
    +FullScanResponse in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct FullScanResponse

    Source
    pub struct FullScanResponse<K, A = ConfirmationBlockTime> {
         pub tx_update: TxUpdate<A>,
         pub last_active_indices: BTreeMap<K, u32>,
         pub chain_update: Option<CheckPoint>,
    @@ -8,9 +8,9 @@
     
    §last_active_indices: BTreeMap<K, u32>

    Last active indices for the corresponding keychains (K). An index is active if it had a transaction associated with the script pubkey at that index.

    §chain_update: Option<CheckPoint>

    Changes to the chain discovered during the scan.

    -

    Trait Implementations§

    §

    impl<K, A> Debug for FullScanResponse<K, A>
    where +

    Trait Implementations§

    Source§

    impl<K, A> Debug for FullScanResponse<K, A>
    where K: Debug, - A: Debug,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<K, A> Default for FullScanResponse<K, A>

    §

    fn default() -> FullScanResponse<K, A>

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

    Auto Trait Implementations§

    §

    impl<K, A> Freeze for FullScanResponse<K, A>

    §

    impl<K, A> RefUnwindSafe for FullScanResponse<K, A>
    where + A: Debug,

    Source§

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

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

    impl<K, A> Default for FullScanResponse<K, A>

    Source§

    fn default() -> FullScanResponse<K, A>

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

    Auto Trait Implementations§

    §

    impl<K, A> Freeze for FullScanResponse<K, A>

    §

    impl<K, A> RefUnwindSafe for FullScanResponse<K, A>

    §

    impl<K, A> Send for FullScanResponse<K, A>
    where K: Send, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html index eb77ed11f9..310ee2be53 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncProgress.html @@ -1,4 +1,4 @@ -SyncProgress in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncProgress

    pub struct SyncProgress {
    +SyncProgress in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncProgress

    Source
    pub struct SyncProgress {
         pub spks_consumed: usize,
         pub spks_remaining: usize,
         pub txids_consumed: usize,
    @@ -12,13 +12,13 @@
     
    §txids_remaining: usize

    Txids remaining in the request.

    §outpoints_consumed: usize

    Outpoints consumed by the request.

    §outpoints_remaining: usize

    Outpoints remaining in the request.

    -

    Implementations§

    §

    impl SyncProgress

    pub fn total(&self) -> usize

    Total items, consumed and remaining, of the request.

    -

    pub fn total_spks(&self) -> usize

    Total script pubkeys, consumed and remaining, of the request.

    -

    pub fn total_txids(&self) -> usize

    Total txids, consumed and remaining, of the request.

    -

    pub fn total_outpoints(&self) -> usize

    Total outpoints, consumed and remaining, of the request.

    -

    pub fn consumed(&self) -> usize

    Total consumed items of the request.

    -

    pub fn remaining(&self) -> usize

    Total remaining items of the request.

    -

    Trait Implementations§

    §

    impl Clone for SyncProgress

    §

    fn clone(&self) -> SyncProgress

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for SyncProgress

    §

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Implementations§

    Source§

    impl SyncProgress

    Source

    pub fn total(&self) -> usize

    Total items, consumed and remaining, of the request.

    +
    Source

    pub fn total_spks(&self) -> usize

    Total script pubkeys, consumed and remaining, of the request.

    +
    Source

    pub fn total_txids(&self) -> usize

    Total txids, consumed and remaining, of the request.

    +
    Source

    pub fn total_outpoints(&self) -> usize

    Total outpoints, consumed and remaining, of the request.

    +
    Source

    pub fn consumed(&self) -> usize

    Total consumed items of the request.

    +
    Source

    pub fn remaining(&self) -> usize

    Total remaining items of the request.

    +

    Trait Implementations§

    Source§

    impl Clone for SyncProgress

    Source§

    fn clone(&self) -> SyncProgress

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for SyncProgress

    Source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html index f5dbd64921..ada38f4ab6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequest.html @@ -1,4 +1,4 @@ -SyncRequest in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncRequest

    pub struct SyncRequest<I = ()> { /* private fields */ }
    Expand description

    Data required to perform a spk-based blockchain client sync.

    +SyncRequest in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncRequest

    Source
    pub struct SyncRequest<I = ()> { /* private fields */ }
    Expand description

    Data required to perform a spk-based blockchain client sync.

    A client sync fetches relevant chain data for a known list of scripts, transaction ids and outpoints. The sync process also updates the chain from the given chain_tip (if provided).

    @@ -13,19 +13,19 @@ .inspect(|item, progress| println!("{} (remaining: {})", item, progress.remaining())) // Finish constructing the sync request. .build();

    -

    Implementations§

    §

    impl<I> SyncRequest<I>

    pub fn builder() -> SyncRequestBuilder<I>

    Start building a SyncRequest.

    -

    pub fn progress(&self) -> SyncProgress

    Get the SyncProgress of this request.

    -

    pub fn chain_tip(&self) -> Option<CheckPoint>

    Get the chain tip CheckPoint of this request (if any).

    -

    pub fn next_spk(&mut self) -> Option<ScriptBuf>

    Advances the sync request and returns the next ScriptBuf.

    +

    Implementations§

    Source§

    impl<I> SyncRequest<I>

    Source

    pub fn builder() -> SyncRequestBuilder<I>

    Start building a SyncRequest.

    +
    Source

    pub fn progress(&self) -> SyncProgress

    Get the SyncProgress of this request.

    +
    Source

    pub fn chain_tip(&self) -> Option<CheckPoint>

    Get the chain tip CheckPoint of this request (if any).

    +
    Source

    pub fn next_spk(&mut self) -> Option<ScriptBuf>

    Advances the sync request and returns the next ScriptBuf.

    Returns None when there are no more scripts remaining in the request.

    -

    pub fn next_txid(&mut self) -> Option<Txid>

    Advances the sync request and returns the next Txid.

    +
    Source

    pub fn next_txid(&mut self) -> Option<Txid>

    Advances the sync request and returns the next Txid.

    Returns None when there are no more txids remaining in the request.

    -

    pub fn next_outpoint(&mut self) -> Option<OutPoint>

    Advances the sync request and returns the next OutPoint.

    +
    Source

    pub fn next_outpoint(&mut self) -> Option<OutPoint>

    Advances the sync request and returns the next OutPoint.

    Returns None when there are no more outpoints in the request.

    -

    pub fn iter_spks(&mut self) -> impl ExactSizeIterator

    Iterate over ScriptBufs contained in this request.

    -

    pub fn iter_txids(&mut self) -> impl ExactSizeIterator

    Iterate over Txids contained in this request.

    -

    pub fn iter_outpoints(&mut self) -> impl ExactSizeIterator

    Iterate over OutPoints contained in this request.

    -

    Trait Implementations§

    §

    impl<I> Default for SyncRequest<I>

    §

    fn default() -> SyncRequest<I>

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

    impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>

    §

    fn from(builder: SyncRequestBuilder<I>) -> SyncRequest<I>

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<I> Freeze for SyncRequest<I>

    §

    impl<I = ()> !RefUnwindSafe for SyncRequest<I>

    §

    impl<I> Send for SyncRequest<I>
    where +

    Source

    pub fn iter_spks(&mut self) -> impl ExactSizeIterator

    Iterate over ScriptBufs contained in this request.

    +
    Source

    pub fn iter_txids(&mut self) -> impl ExactSizeIterator

    Iterate over Txids contained in this request.

    +
    Source

    pub fn iter_outpoints(&mut self) -> impl ExactSizeIterator

    Iterate over OutPoints contained in this request.

    +

    Trait Implementations§

    Source§

    impl<I> Default for SyncRequest<I>

    Source§

    fn default() -> SyncRequest<I>

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

    impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>

    Source§

    fn from(builder: SyncRequestBuilder<I>) -> SyncRequest<I>

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<I> Freeze for SyncRequest<I>

    §

    impl<I = ()> !RefUnwindSafe for SyncRequest<I>

    §

    impl<I> Send for SyncRequest<I>
    where I: Send,

    §

    impl<I = ()> !Sync for SyncRequest<I>

    §

    impl<I> Unpin for SyncRequest<I>
    where I: Unpin,

    §

    impl<I = ()> !UnwindSafe for SyncRequest<I>

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html index 797e183d82..85de181c34 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncRequestBuilder.html @@ -1,11 +1,11 @@ -SyncRequestBuilder in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncRequestBuilder

    pub struct SyncRequestBuilder<I = ()> { /* private fields */ }
    Expand description

    Builds a SyncRequest.

    -

    Implementations§

    §

    impl SyncRequestBuilder

    pub fn spks( +SyncRequestBuilder in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncRequestBuilder

    Source
    pub struct SyncRequestBuilder<I = ()> { /* private fields */ }
    Expand description

    Builds a SyncRequest.

    +

    Implementations§

    Source§

    impl SyncRequestBuilder

    Source

    pub fn spks( self, spks: impl IntoIterator<Item = ScriptBuf>, ) -> SyncRequestBuilder

    Add Scripts that will be synced against.

    -
    §

    impl<I> SyncRequestBuilder<I>

    pub fn chain_tip(self, cp: CheckPoint) -> SyncRequestBuilder<I>

    Set the initial chain tip for the sync request.

    +
    Source§

    impl<I> SyncRequestBuilder<I>

    Source

    pub fn chain_tip(self, cp: CheckPoint) -> SyncRequestBuilder<I>

    Set the initial chain tip for the sync request.

    This is used to update LocalChain.

    -

    pub fn spks_with_indexes( +

    Source

    pub fn spks_with_indexes( self, spks: impl IntoIterator<Item = (I, ScriptBuf)>, ) -> SyncRequestBuilder<I>

    Add Scripts coupled with associated indexes that will be synced against.

    @@ -35,18 +35,18 @@
    §Example
    let _request = SyncRequest::builder() .spks_with_indexes(all_revealed_spks) .build();
    -

    pub fn txids( +

    Source

    pub fn txids( self, txids: impl IntoIterator<Item = Txid>, ) -> SyncRequestBuilder<I>

    Add Txids that will be synced against.

    -

    pub fn outpoints( +

    Source

    pub fn outpoints( self, outpoints: impl IntoIterator<Item = OutPoint>, ) -> SyncRequestBuilder<I>

    Add OutPoints that will be synced against.

    -

    pub fn inspect<F>(self, inspect: F) -> SyncRequestBuilder<I>
    where +

    Source

    pub fn inspect<F>(self, inspect: F) -> SyncRequestBuilder<I>
    where F: FnMut(SyncItem<'_, I>, SyncProgress) + Send + 'static,

    Set the closure that will inspect every sync item visited.

    -

    pub fn build(self) -> SyncRequest<I>

    Build the SyncRequest.

    -

    Trait Implementations§

    §

    impl<I> Default for SyncRequestBuilder<I>

    §

    fn default() -> SyncRequestBuilder<I>

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

    impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>

    §

    fn from(builder: SyncRequestBuilder<I>) -> SyncRequest<I>

    Converts to this type from the input type.
    Source§

    impl<K: Clone + Ord + Debug> SyncRequestBuilderExt<K> for SyncRequestBuilder<(K, u32)>

    Source

    pub fn build(self) -> SyncRequest<I>

    Build the SyncRequest.

    +

    Trait Implementations§

    Source§

    impl<I> Default for SyncRequestBuilder<I>

    Source§

    fn default() -> SyncRequestBuilder<I>

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

    impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>

    Source§

    fn from(builder: SyncRequestBuilder<I>) -> SyncRequest<I>

    Converts to this type from the input type.
    Source§

    impl<K: Clone + Ord + Debug> SyncRequestBuilderExt<K> for SyncRequestBuilder<(K, u32)>

    Source§

    fn revealed_spks_from_indexer<R>( self, indexer: &KeychainTxOutIndex<K>, spk_range: R, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResponse.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResponse.html index be407f231f..b83effe2f8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResponse.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/spk_client/struct.SyncResponse.html @@ -1,12 +1,12 @@ -SyncResponse in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncResponse

    pub struct SyncResponse<A = ConfirmationBlockTime> {
    +SyncResponse in bdk_chain::spk_client - Rust
    bdk_chain::spk_client

    Struct SyncResponse

    Source
    pub struct SyncResponse<A = ConfirmationBlockTime> {
         pub tx_update: TxUpdate<A>,
         pub chain_update: Option<CheckPoint>,
     }
    Expand description

    Data returned from a spk-based blockchain client sync.

    See also SyncRequest.

    Fields§

    §tx_update: TxUpdate<A>

    Relevant transaction data discovered during the scan.

    §chain_update: Option<CheckPoint>

    Changes to the chain discovered during the scan.

    -

    Trait Implementations§

    §

    impl<A> Debug for SyncResponse<A>
    where - A: Debug,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<A> Default for SyncResponse<A>

    §

    fn default() -> SyncResponse<A>

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

    Auto Trait Implementations§

    §

    impl<A> Freeze for SyncResponse<A>

    §

    impl<A> RefUnwindSafe for SyncResponse<A>
    where +

    Trait Implementations§

    Source§

    impl<A> Debug for SyncResponse<A>
    where + A: Debug,

    Source§

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

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

    impl<A> Default for SyncResponse<A>

    Source§

    fn default() -> SyncResponse<A>

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

    Auto Trait Implementations§

    §

    impl<A> Freeze for SyncResponse<A>

    §

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

    §

    impl<A> Send for SyncResponse<A>
    where A: Send,

    §

    impl<A> Sync for SyncResponse<A>
    where A: Sync,

    §

    impl<A> Unpin for SyncResponse<A>

    §

    impl<A> UnwindSafe for SyncResponse<A>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html index 29e58af699..31ae93b169 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.BlockId.html @@ -1,27 +1,27 @@ -BlockId in bdk_chain - Rust
    bdk_chain

    Struct BlockId

    pub struct BlockId {
    +BlockId in bdk_chain - Rust
    bdk_chain

    Struct BlockId

    Source
    pub struct BlockId {
         pub height: u32,
         pub hash: BlockHash,
     }
    Expand description

    A reference to a block in the canonical chain.

    Fields§

    §height: u32

    The height of the block.

    §hash: BlockHash

    The hash of the block.

    -

    Trait Implementations§

    Source§

    impl Anchor for BlockId

    Source§

    fn anchor_block(&self) -> Self

    Returns the BlockId that the associated blockchain data is “anchored” in.
    Source§

    fn confirmation_height_upper_bound(&self) -> u32

    Get the upper bound of the chain data’s confirmation height. Read more
    §

    impl Clone for BlockId

    §

    fn clone(&self) -> BlockId

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for BlockId

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for BlockId

    §

    fn default() -> BlockId

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

    impl<'de> Deserialize<'de> for BlockId

    §

    fn deserialize<__D>( +

    Trait Implementations§

    Source§

    impl Anchor for BlockId

    Source§

    fn anchor_block(&self) -> Self

    Returns the BlockId that the associated blockchain data is “anchored” in.
    Source§

    fn confirmation_height_upper_bound(&self) -> u32

    Get the upper bound of the chain data’s confirmation height. Read more
    Source§

    impl Clone for BlockId

    Source§

    fn clone(&self) -> BlockId

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for BlockId

    Source§

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

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

    impl Default for BlockId

    Source§

    fn default() -> BlockId

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

    impl<'de> Deserialize<'de> for BlockId

    Source§

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

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

    impl From<(&u32, &BlockHash)> for BlockId

    §

    fn from(_: (&u32, &BlockHash)) -> BlockId

    Converts to this type from the input type.
    §

    impl From<(u32, BlockHash)> for BlockId

    §

    fn from(_: (u32, BlockHash)) -> BlockId

    Converts to this type from the input type.
    §

    impl From<BlockId> for (u32, BlockHash)

    §

    fn from(block_id: BlockId) -> (u32, BlockHash)

    Converts to this type from the input type.
    Source§

    impl From<TxPosInBlock<'_>> for BlockId

    Source§

    fn from(pos: TxPosInBlock<'_>) -> Self

    Converts to this type from the input type.
    §

    impl Hash for BlockId

    §

    fn hash<__H>(&self, state: &mut __H)
    where + __D: Deserializer<'de>,

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

    impl From<(&u32, &BlockHash)> for BlockId

    Source§

    fn from(_: (&u32, &BlockHash)) -> BlockId

    Converts to this type from the input type.
    Source§

    impl From<(u32, BlockHash)> for BlockId

    Source§

    fn from(_: (u32, BlockHash)) -> BlockId

    Converts to this type from the input type.
    Source§

    impl From<BlockId> for (u32, BlockHash)

    Source§

    fn from(block_id: BlockId) -> (u32, BlockHash)

    Converts to this type from the input type.
    Source§

    impl From<TxPosInBlock<'_>> for BlockId

    Source§

    fn from(pos: TxPosInBlock<'_>) -> Self

    Converts to this type from the input type.
    Source§

    impl Hash for BlockId

    Source§

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

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

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

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

    impl Ord for BlockId

    §

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

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

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

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

    impl Ord for BlockId

    Source§

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

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for BlockId

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl PartialOrd for BlockId

    §

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

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

    impl PartialEq for BlockId

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl PartialOrd for BlockId

    Source§

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

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

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

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

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

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

    impl Serialize for BlockId

    §

    fn serialize<__S>( +the >= operator. Read more

    Source§

    impl Serialize for BlockId

    Source§

    fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where - __S: Serializer,

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

    impl Copy for BlockId

    §

    impl Eq for BlockId

    §

    impl StructuralPartialEq for BlockId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + __S: Serializer,

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

    impl Copy for BlockId

    Source§

    impl Eq for BlockId

    Source§

    impl StructuralPartialEq for BlockId

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPoint.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPoint.html index d83e52a368..e49ffc990e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPoint.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPoint.html @@ -1,8 +1,8 @@ -CheckPoint in bdk_chain - Rust
    bdk_chain

    Struct CheckPoint

    pub struct CheckPoint(/* private fields */);
    Expand description

    A checkpoint is a node of a reference-counted linked list of BlockIds.

    +CheckPoint in bdk_chain - Rust
    bdk_chain

    Struct CheckPoint

    Source
    pub struct CheckPoint(/* private fields */);
    Expand description

    A checkpoint is a node of a reference-counted linked list of BlockIds.

    Checkpoints are cheaply cloneable and are useful to find the agreement point between two sparse block chains.

    -

    Implementations§

    §

    impl CheckPoint

    pub fn new(block: BlockId) -> CheckPoint

    Construct a new base block at the front of a linked list.

    -

    pub fn from_block_ids( +

    Implementations§

    Source§

    impl CheckPoint

    Source

    pub fn new(block: BlockId) -> CheckPoint

    Construct a new base block at the front of a linked list.

    +
    Source

    pub fn from_block_ids( block_ids: impl IntoIterator<Item = BlockId>, ) -> Result<CheckPoint, Option<CheckPoint>>

    Construct a checkpoint from a list of BlockIds in ascending height order.

    §Errors
    @@ -13,30 +13,30 @@
    §Errors
  • The blocks iterator contains multiple BlockIds of the same height.
  • The error type is the last successful checkpoint constructed (if any).

    -

    pub fn from_header(header: &Header, height: u32) -> CheckPoint

    Construct a checkpoint from the given header and block height.

    +
    Source

    pub fn from_header(header: &Header, height: u32) -> CheckPoint

    Construct a checkpoint from the given header and block height.

    If header is of the genesis block, the checkpoint won’t have a prev node. Otherwise, we return a checkpoint linked with the previous block.

    -

    pub fn push(self, block: BlockId) -> Result<CheckPoint, CheckPoint>

    Puts another checkpoint onto the linked list representing the blockchain.

    +
    Source

    pub fn push(self, block: BlockId) -> Result<CheckPoint, CheckPoint>

    Puts another checkpoint onto the linked list representing the blockchain.

    Returns an Err(self) if the block you are pushing on is not at a greater height that the one you are pushing on to.

    -

    pub fn extend( +

    Source

    pub fn extend( self, blocks: impl IntoIterator<Item = BlockId>, ) -> Result<CheckPoint, CheckPoint>

    Extends the checkpoint linked list by a iterator of block ids.

    Returns an Err(self) if there is block which does not have a greater height than the previous one.

    -

    pub fn block_id(&self) -> BlockId

    Get the BlockId of the checkpoint.

    -

    pub fn height(&self) -> u32

    Get the height of the checkpoint.

    -

    pub fn hash(&self) -> BlockHash

    Get the block hash of the checkpoint.

    -

    pub fn prev(&self) -> Option<CheckPoint>

    Get the previous checkpoint in the chain

    -

    pub fn iter(&self) -> CheckPointIter

    Iterate from this checkpoint in descending height.

    -

    pub fn get(&self, height: u32) -> Option<CheckPoint>

    Get checkpoint at height.

    +
    Source

    pub fn block_id(&self) -> BlockId

    Get the BlockId of the checkpoint.

    +
    Source

    pub fn height(&self) -> u32

    Get the height of the checkpoint.

    +
    Source

    pub fn hash(&self) -> BlockHash

    Get the block hash of the checkpoint.

    +
    Source

    pub fn prev(&self) -> Option<CheckPoint>

    Get the previous checkpoint in the chain

    +
    Source

    pub fn iter(&self) -> CheckPointIter

    Iterate from this checkpoint in descending height.

    +
    Source

    pub fn get(&self, height: u32) -> Option<CheckPoint>

    Get checkpoint at height.

    Returns None if checkpoint at height does not exist`.

    -

    pub fn range<R>(&self, range: R) -> impl Iterator<Item = CheckPoint>
    where +

    Source

    pub fn range<R>(&self, range: R) -> impl Iterator<Item = CheckPoint>
    where R: RangeBounds<u32>,

    Iterate checkpoints over a height range.

    Note that we always iterate checkpoints in reverse height order (iteration starts at tip height).

    -

    pub fn insert(self, block_id: BlockId) -> CheckPoint

    Inserts block_id at its height within the chain.

    +
    Source

    pub fn insert(self, block_id: BlockId) -> CheckPoint

    Inserts block_id at its height within the chain.

    The effect of insert depends on whether a height already exists. If it doesn’t the block_id we inserted and all pre-existing blocks higher than it will be re-inserted after it. If the height already existed and has a conflicting block hash then it will be purged @@ -44,8 +44,8 @@

    §Errors
    passed in. Of course, if the block_id was already present then this just returns self.

    §Panics

    This panics if called with a genesis block that differs from that of self.

    -

    pub fn eq_ptr(&self, other: &CheckPoint) -> bool

    This method tests for self and other to have equal internal pointers.

    -

    Trait Implementations§

    §

    impl Clone for CheckPoint

    §

    fn clone(&self) -> CheckPoint

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for CheckPoint

    §

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

    Formats the value using the given formatter. Read more
    §

    impl IntoIterator for CheckPoint

    §

    type Item = CheckPoint

    The type of the elements being iterated over.
    §

    type IntoIter = CheckPointIter

    Which kind of iterator are we turning this into?
    §

    fn into_iter(self) -> <CheckPoint as IntoIterator>::IntoIter

    Creates an iterator from a value. Read more
    §

    impl PartialEq for CheckPoint

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +
    Source

    pub fn eq_ptr(&self, other: &CheckPoint) -> bool

    This method tests for self and other to have equal internal pointers.

    +

    Trait Implementations§

    Source§

    impl Clone for CheckPoint

    Source§

    fn clone(&self) -> CheckPoint

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for CheckPoint

    Source§

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

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

    impl IntoIterator for CheckPoint

    Source§

    type Item = CheckPoint

    The type of the elements being iterated over.
    Source§

    type IntoIter = CheckPointIter

    Which kind of iterator are we turning this into?
    Source§

    fn into_iter(self) -> <CheckPoint as IntoIterator>::IntoIter

    Creates an iterator from a value. Read more
    Source§

    impl PartialEq for CheckPoint

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

    impl<T> BorrowMut<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPointIter.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPointIter.html index 8c79fb703a..fc5244f56a 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPointIter.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.CheckPointIter.html @@ -1,5 +1,5 @@ -CheckPointIter in bdk_chain - Rust
    bdk_chain

    Struct CheckPointIter

    pub struct CheckPointIter { /* private fields */ }
    Expand description

    Iterates over checkpoints backwards.

    -

    Trait Implementations§

    §

    impl Iterator for CheckPointIter

    §

    type Item = CheckPoint

    The type of the elements being iterated over.
    §

    fn next(&mut self) -> Option<<CheckPointIter as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    Source§

    fn next_chunk<const N: usize>( +CheckPointIter in bdk_chain - Rust
    bdk_chain

    Struct CheckPointIter

    Source
    pub struct CheckPointIter { /* private fields */ }
    Expand description

    Iterates over checkpoints backwards.

    +

    Trait Implementations§

    Source§

    impl Iterator for CheckPointIter

    Source§

    type Item = CheckPoint

    The type of the elements being iterated over.
    Source§

    fn next(&mut self) -> Option<<CheckPointIter as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    Source§

    fn next_chunk<const N: usize>( &mut self, ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · Source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 · Source§

    fn count(self) -> usize
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html index 941d61c677..b01b5f86ba 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationBlockTime.html @@ -1,27 +1,27 @@ -ConfirmationBlockTime in bdk_chain - Rust
    bdk_chain

    Struct ConfirmationBlockTime

    pub struct ConfirmationBlockTime {
    +ConfirmationBlockTime in bdk_chain - Rust
    bdk_chain

    Struct ConfirmationBlockTime

    Source
    pub struct ConfirmationBlockTime {
         pub block_id: BlockId,
         pub confirmation_time: u64,
     }
    Expand description

    Represents the confirmation block and time of a transaction.

    Fields§

    §block_id: BlockId

    The anchor block.

    §confirmation_time: u64

    The confirmation time of the transaction being anchored.

    -

    Trait Implementations§

    Source§

    impl Anchor for ConfirmationBlockTime

    Source§

    fn anchor_block(&self) -> BlockId

    Returns the BlockId that the associated blockchain data is “anchored” in.
    Source§

    fn confirmation_height_upper_bound(&self) -> u32

    Get the upper bound of the chain data’s confirmation height. Read more
    §

    impl Clone for ConfirmationBlockTime

    §

    fn clone(&self) -> ConfirmationBlockTime

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for ConfirmationBlockTime

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for ConfirmationBlockTime

    §

    fn default() -> ConfirmationBlockTime

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

    impl<'de> Deserialize<'de> for ConfirmationBlockTime

    §

    fn deserialize<__D>( +

    Trait Implementations§

    Source§

    impl Anchor for ConfirmationBlockTime

    Source§

    fn anchor_block(&self) -> BlockId

    Returns the BlockId that the associated blockchain data is “anchored” in.
    Source§

    fn confirmation_height_upper_bound(&self) -> u32

    Get the upper bound of the chain data’s confirmation height. Read more
    Source§

    impl Clone for ConfirmationBlockTime

    Source§

    fn clone(&self) -> ConfirmationBlockTime

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ConfirmationBlockTime

    Source§

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

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

    impl Default for ConfirmationBlockTime

    Source§

    fn default() -> ConfirmationBlockTime

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

    impl<'de> Deserialize<'de> for ConfirmationBlockTime

    Source§

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

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

    impl From<TxPosInBlock<'_>> for ConfirmationBlockTime

    Source§

    fn from(pos: TxPosInBlock<'_>) -> Self

    Converts to this type from the input type.
    §

    impl Hash for ConfirmationBlockTime

    §

    fn hash<__H>(&self, state: &mut __H)
    where + __D: Deserializer<'de>,

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

    impl From<TxPosInBlock<'_>> for ConfirmationBlockTime

    Source§

    fn from(pos: TxPosInBlock<'_>) -> Self

    Converts to this type from the input type.
    Source§

    impl Hash for ConfirmationBlockTime

    Source§

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

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

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

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

    impl Ord for ConfirmationBlockTime

    §

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

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

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

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

    impl Ord for ConfirmationBlockTime

    Source§

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

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    §

    impl PartialEq for ConfirmationBlockTime

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl PartialOrd for ConfirmationBlockTime

    §

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the + Self: Sized,

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

    impl PartialEq for ConfirmationBlockTime

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl PartialOrd for ConfirmationBlockTime

    Source§

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

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

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

    Tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 · Source§

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

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

    impl Serialize for ConfirmationBlockTime

    §

    fn serialize<__S>( +the >= operator. Read more

    Source§

    impl Serialize for ConfirmationBlockTime

    Source§

    fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where - __S: Serializer,

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

    impl Copy for ConfirmationBlockTime

    §

    impl Eq for ConfirmationBlockTime

    §

    impl StructuralPartialEq for ConfirmationBlockTime

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + __S: Serializer,

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

    impl Copy for ConfirmationBlockTime

    Source§

    impl Eq for ConfirmationBlockTime

    Source§

    impl StructuralPartialEq for ConfirmationBlockTime

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.TxUpdate.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.TxUpdate.html index 9cd0ef0cc1..a137381b19 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.TxUpdate.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.TxUpdate.html @@ -1,4 +1,4 @@ -TxUpdate in bdk_chain - Rust
    bdk_chain

    Struct TxUpdate

    pub struct TxUpdate<A = ()> {
    +TxUpdate in bdk_chain - Rust
    bdk_chain

    Struct TxUpdate

    Source
    pub struct TxUpdate<A = ()> {
         pub txs: Vec<Arc<Transaction>>,
         pub txouts: BTreeMap<OutPoint, TxOut>,
         pub anchors: BTreeSet<(A, Txid)>,
    @@ -14,16 +14,16 @@
     confirmed.

    §seen_ats: HashMap<Txid, u64>

    Seen at times for transactions. This records when a transaction was most recently seen in the user’s mempool for the sake of tie-breaking other conflicting transactions.

    -

    Implementations§

    §

    impl<A> TxUpdate<A>
    where - A: Ord,

    pub fn map_anchors<A2, F>(self, map: F) -> TxUpdate<A2>
    where +

    Implementations§

    Source§

    impl<A> TxUpdate<A>
    where + A: Ord,

    Source

    pub fn map_anchors<A2, F>(self, map: F) -> TxUpdate<A2>
    where A2: Ord, F: FnMut(A) -> A2,

    Transforms the TxUpdate to have anchors (A) of another type (A2).

    This takes in a closure with signature FnMut(A) -> A2 which is called for each anchor to transform it.

    -

    pub fn extend(&mut self, other: TxUpdate<A>)

    Extend this update with other.

    -

    Trait Implementations§

    §

    impl<A> Clone for TxUpdate<A>
    where - A: Clone,

    §

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

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

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

    Performs copy-assignment from source. Read more
    §

    impl<A> Debug for TxUpdate<A>
    where - A: Debug,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<A> Default for TxUpdate<A>

    §

    fn default() -> TxUpdate<A>

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

    impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>

    Source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>

    Source§

    fn from(update: TxUpdate<A>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxUpdate<A>

    §

    impl<A> RefUnwindSafe for TxUpdate<A>
    where +

    Source

    pub fn extend(&mut self, other: TxUpdate<A>)

    Extend this update with other.

    +

    Trait Implementations§

    Source§

    impl<A> Clone for TxUpdate<A>
    where + A: Clone,

    Source§

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

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl<A> Debug for TxUpdate<A>
    where + A: Debug,

    Source§

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

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

    impl<A> Default for TxUpdate<A>

    Source§

    fn default() -> TxUpdate<A>

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

    impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>

    Source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>

    Source§

    fn from(update: TxUpdate<A>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxUpdate<A>

    §

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

    §

    impl<A> Send for TxUpdate<A>
    where A: Send,

    §

    impl<A> Sync for TxUpdate<A>
    where A: Sync,

    §

    impl<A> Unpin for TxUpdate<A>

    §

    impl<A> UnwindSafe for TxUpdate<A>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html index 162274284a..9fa9b8fca1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Merge.html @@ -1,4 +1,4 @@ -Merge in bdk_chain - Rust
    bdk_chain

    Trait Merge

    pub trait Merge: Default {
    +Merge in bdk_chain - Rust
    bdk_chain

    Trait Merge

    Source
    pub trait Merge: Default {
         // Required methods
         fn merge(&mut self, other: Self);
         fn is_empty(&self) -> bool;
    @@ -6,39 +6,39 @@
         // Provided method
         fn take(&mut self) -> Option<Self> { ... }
     }
    Expand description

    Trait that makes an object mergeable.

    -

    Required Methods§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.

    -

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.

    -

    Provided Methods§

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

    Take the value, replacing it with the default value.

    -

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    §

    impl Merge for ()

    §

    fn merge(&mut self, _other: ())

    §

    fn is_empty(&self) -> bool

    §

    impl<K, V> Merge for BTreeMap<K, V>
    where - K: Ord,

    §

    fn merge(&mut self, other: BTreeMap<K, V>)

    §

    fn is_empty(&self) -> bool

    §

    impl<T0> Merge for (T0,)
    where - T0: Merge,

    §

    fn merge(&mut self, _other: (T0,))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1> Merge for (T0, T1)
    where +

    Required Methods§

    Source

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.

    +
    Source

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.

    +

    Provided Methods§

    Source

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

    Take the value, replacing it with the default value.

    +

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl Merge for ()

    Source§

    fn merge(&mut self, _other: ())

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<K, V> Merge for BTreeMap<K, V>
    where + K: Ord,

    Source§

    fn merge(&mut self, other: BTreeMap<K, V>)

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0> Merge for (T0,)
    where + T0: Merge,

    Source§

    fn merge(&mut self, _other: (T0,))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1> Merge for (T0, T1)
    where T0: Merge, - T1: Merge,

    §

    fn merge(&mut self, _other: (T0, T1))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2> Merge for (T0, T1, T2)
    where + T1: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1, T2> Merge for (T0, T1, T2)
    where T0: Merge, T1: Merge, - T2: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3> Merge for (T0, T1, T2, T3)
    where + T2: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1, T2))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1, T2, T3> Merge for (T0, T1, T2, T3)
    where T0: Merge, T1: Merge, T2: Merge, - T3: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4> Merge for (T0, T1, T2, T3, T4)
    where + T3: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1, T2, T3))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1, T2, T3, T4> Merge for (T0, T1, T2, T3, T4)
    where T0: Merge, T1: Merge, T2: Merge, T3: Merge, - T4: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4, T5> Merge for (T0, T1, T2, T3, T4, T5)
    where + T4: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1, T2, T3, T4, T5> Merge for (T0, T1, T2, T3, T4, T5)
    where T0: Merge, T1: Merge, T2: Merge, T3: Merge, T4: Merge, - T5: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4, T5))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4, T5, T6> Merge for (T0, T1, T2, T3, T4, T5, T6)
    where + T5: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4, T5))

    Source§

    fn is_empty(&self) -> bool

    Source§

    impl<T0, T1, T2, T3, T4, T5, T6> Merge for (T0, T1, T2, T3, T4, T5, T6)
    where T0: Merge, T1: Merge, T2: Merge, T3: Merge, T4: Merge, T5: Merge, - T6: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4, T5, T6))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4, T5, T6, T7> Merge for (T0, T1, T2, T3, T4, T5, T6, T7)
    where + T6: Merge,

    Source§

    impl<T0, T1, T2, T3, T4, T5, T6, T7> Merge for (T0, T1, T2, T3, T4, T5, T6, T7)
    where T0: Merge, T1: Merge, T2: Merge, @@ -46,7 +46,7 @@ T4: Merge, T5: Merge, T6: Merge, - T7: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4, T5, T6, T7))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
    where + T7: Merge,

    Source§

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
    where T0: Merge, T1: Merge, T2: Merge, @@ -55,7 +55,7 @@ T5: Merge, T6: Merge, T7: Merge, - T8: Merge,

    §

    fn merge(&mut self, _other: (T0, T1, T2, T3, T4, T5, T6, T7, T8))

    §

    fn is_empty(&self) -> bool

    §

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
    where + T8: Merge,

    Source§

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
    where T0: Merge, T1: Merge, T2: Merge, @@ -65,7 +65,7 @@ T6: Merge, T7: Merge, T8: Merge, - T9: Merge,

    §

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
    where + T9: Merge,

    Source§

    impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Merge for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
    where T0: Merge, T1: Merge, T2: Merge, @@ -76,5 +76,5 @@ T7: Merge, T8: Merge, T9: Merge, - T10: Merge,

    §

    impl<T> Merge for BTreeSet<T>
    where - T: Ord,

    §

    fn merge(&mut self, other: BTreeSet<T>)

    §

    fn is_empty(&self) -> bool

    Implementors§

    Source§

    impl Merge for bdk_chain::indexer::keychain_txout::ChangeSet

    Source§

    impl Merge for bdk_chain::local_chain::ChangeSet

    Source§

    impl<A: Ord> Merge for bdk_chain::tx_graph::ChangeSet<A>

    Source§

    impl<A: Anchor, IA: Merge> Merge for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>

    §

    impl<T> Merge for Vec<T>

    \ No newline at end of file + T10: Merge,

    Source§

    impl<T> Merge for BTreeSet<T>
    where + T: Ord,

    Source§

    fn merge(&mut self, other: BTreeSet<T>)

    Source§

    fn is_empty(&self) -> bool

    Implementors§

    Source§

    impl Merge for bdk_chain::indexer::keychain_txout::ChangeSet

    Source§

    impl Merge for bdk_chain::local_chain::ChangeSet

    Source§

    impl<A: Ord> Merge for bdk_chain::tx_graph::ChangeSet<A>

    Source§

    impl<A: Anchor, IA: Merge> Merge for bdk_chain::indexed_tx_graph::ChangeSet<A, IA>

    Source§

    impl<T> Merge for Vec<T>

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html index 3b4b150292..79f33832ae 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.ChangeSet.html @@ -33,7 +33,7 @@

    Remember to call Self::init_sqlite_tables beforehand.

    Trait Implementations§

    Source§

    impl<A: Clone> Clone for ChangeSet<A>

    Source§

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

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl<A: Debug> Debug for ChangeSet<A>

    Source§

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

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

    impl<A> Default for ChangeSet<A>

    Source§

    fn default() -> Self

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

    impl<'de, A> Deserialize<'de> for ChangeSet<A>
    where A: Ord + Deserialize<'de>,

    Source§

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

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

    impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

    Source§

    fn from(graph: ChangeSet<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Ord> Merge for ChangeSet<A>

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

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

    impl<A: PartialEq> PartialEq for ChangeSet<A>

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, + __D: Deserializer<'de>,
    Deserialize this value from the given Serde deserializer. Read more
    Source§

    impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>

    Source§

    fn from(graph: ChangeSet<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Ord> Merge for ChangeSet<A>

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

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

    impl<A: PartialEq> PartialEq for ChangeSet<A>

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl<A> Serialize for ChangeSet<A>
    where A: Ord + Serialize,

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

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

    impl<A> StructuralPartialEq for ChangeSet<A>

    Auto Trait Implementations§

    §

    impl<A> Freeze for ChangeSet<A>

    §

    impl<A> RefUnwindSafe for ChangeSet<A>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxUpdate.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxUpdate.html index 089d25f698..6e97770b2e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxUpdate.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxUpdate.html @@ -1,4 +1,4 @@ -TxUpdate in bdk_chain::tx_graph - Rust
    bdk_chain::tx_graph

    Struct TxUpdate

    pub struct TxUpdate<A = ()> {
    +TxUpdate in bdk_chain::tx_graph - Rust
    bdk_chain::tx_graph

    Struct TxUpdate

    Source
    pub struct TxUpdate<A = ()> {
         pub txs: Vec<Arc<Transaction>>,
         pub txouts: BTreeMap<OutPoint, TxOut>,
         pub anchors: BTreeSet<(A, Txid)>,
    @@ -14,16 +14,16 @@
     confirmed.

    §seen_ats: HashMap<Txid, u64>

    Seen at times for transactions. This records when a transaction was most recently seen in the user’s mempool for the sake of tie-breaking other conflicting transactions.

    -

    Implementations§

    §

    impl<A> TxUpdate<A>
    where - A: Ord,

    pub fn map_anchors<A2, F>(self, map: F) -> TxUpdate<A2>
    where +

    Implementations§

    Source§

    impl<A> TxUpdate<A>
    where + A: Ord,

    Source

    pub fn map_anchors<A2, F>(self, map: F) -> TxUpdate<A2>
    where A2: Ord, F: FnMut(A) -> A2,

    Transforms the TxUpdate to have anchors (A) of another type (A2).

    This takes in a closure with signature FnMut(A) -> A2 which is called for each anchor to transform it.

    -

    pub fn extend(&mut self, other: TxUpdate<A>)

    Extend this update with other.

    -

    Trait Implementations§

    §

    impl<A> Clone for TxUpdate<A>
    where - A: Clone,

    §

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

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

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

    Performs copy-assignment from source. Read more
    §

    impl<A> Debug for TxUpdate<A>
    where - A: Debug,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl<A> Default for TxUpdate<A>

    §

    fn default() -> TxUpdate<A>

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

    impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>

    Source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>

    Source§

    fn from(update: TxUpdate<A>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxUpdate<A>

    §

    impl<A> RefUnwindSafe for TxUpdate<A>
    where +

    Source

    pub fn extend(&mut self, other: TxUpdate<A>)

    Extend this update with other.

    +

    Trait Implementations§

    Source§

    impl<A> Clone for TxUpdate<A>
    where + A: Clone,

    Source§

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

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl<A> Debug for TxUpdate<A>
    where + A: Debug,

    Source§

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

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

    impl<A> Default for TxUpdate<A>

    Source§

    fn default() -> TxUpdate<A>

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

    impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>

    Source§

    fn from(graph: TxGraph<A>) -> Self

    Converts to this type from the input type.
    Source§

    impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>

    Source§

    fn from(update: TxUpdate<A>) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl<A> Freeze for TxUpdate<A>

    §

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

    §

    impl<A> Send for TxUpdate<A>
    where A: Send,

    §

    impl<A> Sync for TxUpdate<A>
    where A: Sync,

    §

    impl<A> Unpin for TxUpdate<A>

    §

    impl<A> UnwindSafe for TxUpdate<A>
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html index c6471be395..79f8bf19be 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.Indexed.html @@ -1,2 +1,2 @@ -Indexed in bdk_chain - Rust
    bdk_chain

    Type Alias Indexed

    pub type Indexed<T> = (u32, T);
    Expand description

    A tuple of keychain index and T representing the indexed value.

    +Indexed in bdk_chain - Rust
    bdk_chain

    Type Alias Indexed

    Source
    pub type Indexed<T> = (u32, T);
    Expand description

    A tuple of keychain index and T representing the indexed value.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html index 20e584c827..da6732ec29 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/type.KeychainIndexed.html @@ -1,2 +1,2 @@ -KeychainIndexed in bdk_chain - Rust
    bdk_chain

    Type Alias KeychainIndexed

    pub type KeychainIndexed<K, T> = ((K, u32), T);
    Expand description

    A tuple of keychain K, derivation index (u32) and a T associated with them.

    +KeychainIndexed in bdk_chain - Rust
    bdk_chain

    Type Alias KeychainIndexed

    Source
    pub type KeychainIndexed<K, T> = ((K, u32), T);
    Expand description

    A tuple of keychain K, derivation index (u32) and a T associated with them.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html index bb93f3a7aa..55811536a5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/index.html @@ -1,8 +1,8 @@ bdk_esplora - Rust

    Crate bdk_esplora

    Source
    Expand description

    §BDK Esplora

    BDK Esplora extends esplora-client (with extension traits: EsploraExt and EsploraAsyncExt) to update bdk_chain structures from an Esplora server.

    -

    The extension traits are primarily intended to satisfy SyncRequests with sync and -FullScanRequests with full_scan.

    +

    The extension traits are primarily intended to satisfy SyncRequests with sync and +FullScanRequests with full_scan.

    §Usage

    For blocking-only:

    bdk_esplora = { version = "0.19", features = ["blocking"] }
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html index 277e0e45bf..250107cfe0 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraAsyncExt.html @@ -5,18 +5,18 @@ request: R, stop_gap: usize, parallel_requests: usize, - ) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>> where K: 'async_trait + Ord + Clone + Send, - R: 'async_trait + Into<FullScanRequest<K>> + Send, + R: 'async_trait + Into<FullScanRequest<K>> + Send, Self: 'async_trait, 'life0: 'async_trait; fn sync<'life0, 'async_trait, I, R>( &'life0 self, request: R, parallel_requests: usize, - ) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>> + ) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>> where I: 'async_trait + Send, - R: 'async_trait + Into<SyncRequest<I>> + Send, + R: 'async_trait + Into<SyncRequest<I>> + Send, Self: 'async_trait, 'life0: 'async_trait; }

    Expand description

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

    @@ -26,14 +26,14 @@ request: R, stop_gap: usize, parallel_requests: usize, -) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>>
    where +) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>>
    where K: 'async_trait + Ord + Clone + Send, - R: 'async_trait + Into<FullScanRequest<K>> + Send, + R: 'async_trait + Into<FullScanRequest<K>> + Send, Self: 'async_trait, 'life0: 'async_trait,

    Scan keychain scripts for transactions against Esplora, returning an update that can be applied to the receiving structures.

    request provides the data required to perform a script-pubkey-based full scan -(see [FullScanRequest]). The full scan for each keychain (K) stops after a gap of +(see FullScanRequest). The full scan for each keychain (K) stops after a gap of stop_gap script pubkeys with no associated transactions. parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    @@ -41,13 +41,13 @@ &'life0 self, request: R, parallel_requests: usize, -) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>>
    where +) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>>
    where I: 'async_trait + Send, - R: 'async_trait + Into<SyncRequest<I>> + Send, + R: 'async_trait + Into<SyncRequest<I>> + Send, Self: 'async_trait, 'life0: 'async_trait,

    Sync a set of scripts, txids, and/or outpoints against Esplora.

    request provides the data required to perform a script-pubkey-based sync (see -[SyncRequest]). parallel_requests specifies the maximum number of HTTP requests to make +SyncRequest). parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl<S> EsploraAsyncExt for AsyncClient<S>
    where @@ -57,16 +57,16 @@ request: R, stop_gap: usize, parallel_requests: usize, -) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>>
    where +) -> Pin<Box<dyn Future<Output = Result<FullScanResponse<K>, Box<Error>>> + Send + 'async_trait>>
    where K: 'async_trait + Ord + Clone + Send, - R: 'async_trait + Into<FullScanRequest<K>> + Send, + R: 'async_trait + Into<FullScanRequest<K>> + Send, Self: 'async_trait, 'life0: 'async_trait,

    Source§

    fn sync<'life0, 'async_trait, I, R>( &'life0 self, request: R, parallel_requests: usize, -) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>>
    where +) -> Pin<Box<dyn Future<Output = Result<SyncResponse, Box<Error>>> + Send + 'async_trait>>
    where I: 'async_trait + Send, - R: 'async_trait + Into<SyncRequest<I>> + Send, + R: 'async_trait + Into<SyncRequest<I>> + Send, Self: 'async_trait, 'life0: 'async_trait,

    Implementors§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html index b20e4895c0..b19876abfc 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_esplora/trait.EsploraExt.html @@ -1,46 +1,46 @@ EsploraExt in bdk_esplora - Rust
    bdk_esplora

    Trait EsploraExt

    Source
    pub trait EsploraExt {
         // Required methods
    -    fn full_scan<K: Ord + Clone, R: Into<FullScanRequest<K>>>(
    +    fn full_scan<K: Ord + Clone, R: Into<FullScanRequest<K>>>(
             &self,
             request: R,
             stop_gap: usize,
             parallel_requests: usize,
    -    ) -> Result<FullScanResponse<K>, Error>;
    -    fn sync<I: 'static, R: Into<SyncRequest<I>>>(
    +    ) -> Result<FullScanResponse<K>, Error>;
    +    fn sync<I: 'static, R: Into<SyncRequest<I>>>(
             &self,
             request: R,
             parallel_requests: usize,
    -    ) -> Result<SyncResponse, Error>;
    +    ) -> Result<SyncResponse, Error>;
     }
    Expand description

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

    Refer to crate-level documentation for more.

    -

    Required Methods§

    Source

    fn full_scan<K: Ord + Clone, R: Into<FullScanRequest<K>>>( +

    Required Methods§

    Source

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

    Scan keychain scripts for transactions against Esplora, returning an update that can be +) -> Result<FullScanResponse<K>, Error>

    Scan keychain scripts for transactions against Esplora, returning an update that can be applied to the receiving structures.

    request provides the data required to perform a script-pubkey-based full scan -(see [FullScanRequest]). The full scan for each keychain (K) stops after a gap of +(see FullScanRequest). The full scan for each keychain (K) stops after a gap of stop_gap script pubkeys with no associated transactions. parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    -
    Source

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( +

    Source

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( &self, request: R, parallel_requests: usize, -) -> Result<SyncResponse, Error>

    Sync a set of scripts, txids, and/or outpoints against Esplora.

    +) -> Result<SyncResponse, Error>

    Sync a set of scripts, txids, and/or outpoints against Esplora.

    request provides the data required to perform a script-pubkey-based sync (see -[SyncRequest]). parallel_requests specifies the maximum number of HTTP requests to make +SyncRequest). parallel_requests specifies the maximum number of HTTP requests to make in parallel.

    Refer to crate-level docs for more.

    -

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl EsploraExt for BlockingClient

    Source§

    fn full_scan<K: Ord + Clone, R: Into<FullScanRequest<K>>>( +

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl EsploraExt for BlockingClient

    Source§

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

    Source§

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( +) -> Result<FullScanResponse<K>, Error>

    Source§

    fn sync<I: 'static, R: Into<SyncRequest<I>>>( &self, request: R, parallel_requests: usize, -) -> Result<SyncResponse, Error>

    Implementors§

    \ No newline at end of file +) -> Result<SyncResponse, Error>

    Implementors§

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html index 9233c3284f..ee270ab88e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_file_store/struct.Store.html @@ -5,7 +5,7 @@ BDK version upgrades so should not be used in production.

    Implementations§

    Source§

    impl<C> Store<C>
    where - C: Merge + Serialize + DeserializeOwned + Send + Sync,

    Source

    pub fn create_new<P>(magic: &[u8], file_path: P) -> Result<Self, FileError>

    Source

    pub fn create_new<P>(magic: &[u8], file_path: P) -> Result<Self, FileError>
    where P: AsRef<Path>,

    Create a new Store file in write-only mode; error if the file exists.

    magic is the prefixed bytes to write to the new file. This will be checked when opening the Store in the future with open.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html index c8482e637e..ce9bc10669 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/descriptor/enum.Descriptor.html @@ -236,8 +236,8 @@
    §Errors

    This function will return an error if hardened derivation is attempted.

    Trait Implementations§

    §

    impl<Pk> Clone for Descriptor<Pk>
    where Pk: Clone + MiniscriptKey,

    §

    fn clone(&self) -> Descriptor<Pk>

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

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

    Performs copy-assignment from source. Read more
    §

    impl<Pk> Debug for Descriptor<Pk>
    where - Pk: MiniscriptKey,

    §

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

    Formats the value using the given formatter. Read more
    §

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    §

    fn dust_value(&self) -> Amount

    Returns the minimum [Amount] at which an output is broadcast-able. -Panics if the descriptor wildcard is hardened.
    §

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the + Pk: MiniscriptKey,
    §

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

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

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    Source§

    fn dust_value(&self) -> Amount

    Returns the minimum [Amount] at which an output is broadcast-able. +Panics if the descriptor wildcard is hardened.
    Source§

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the descriptor at index 0.
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where Pk: FromStrKey,

    §

    fn deserialize<D>( deserializer: D, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html index b2b1619635..705d7accd6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.ApplyBlockError.html @@ -1,11 +1,11 @@ ApplyBlockError in bdk_wallet - Rust
    bdk_wallet

    Enum ApplyBlockError

    Source
    pub enum ApplyBlockError {
    -    CannotConnect(CannotConnectError),
    +    CannotConnect(CannotConnectError),
         UnexpectedConnectedToHash {
             connected_to_hash: BlockHash,
             expected_hash: BlockHash,
         },
     }
    Expand description

    An error that may occur when applying a block to Wallet.

    -

    Variants§

    §

    CannotConnect(CannotConnectError)

    Occurs when the update chain cannot connect with original chain.

    +

    Variants§

    §

    CannotConnect(CannotConnectError)

    Occurs when the update chain cannot connect with original chain.

    §

    UnexpectedConnectedToHash

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

    Fields

    §connected_to_hash: BlockHash

    Block hash of connected_to.

    §expected_hash: BlockHash

    Expected block hash of connected_to, as derived from block.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html index 861391c841..f184ea7fe9 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.FileStoreError.html @@ -1,8 +1,8 @@ FileStoreError in bdk_wallet - Rust
    bdk_wallet

    Enum FileStoreError

    Source
    pub enum FileStoreError {
    -    Load(AggregateChangesetsError<ChangeSet>),
    +    Load(AggregateChangesetsError<ChangeSet>),
         Write(Error),
    -}
    Expand description

    Error for [bdk_file_store]’s implementation of WalletPersister.

    -

    Variants§

    §

    Load(AggregateChangesetsError<ChangeSet>)

    Error when loading from the store.

    +}
    Expand description

    Error for bdk_file_store’s implementation of WalletPersister.

    +

    Variants§

    §

    Load(AggregateChangesetsError<ChangeSet>)

    Error when loading from the store.

    §

    Write(Error)

    Error when writing to the store.

    Trait Implementations§

    Source§

    impl Debug for FileStoreError

    Source§

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

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

    impl Display for FileStoreError

    Source§

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

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

    impl Error for FileStoreError

    1.30.0 · Source§

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

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

    fn description(&self) -> &str

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

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

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

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

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

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html index 4c478ba846..057cc94083 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/enum.LoadMismatch.html @@ -19,7 +19,7 @@

    §

    Genesis

    Genesis hash does not match.

    Fields

    §loaded: BlockHash

    The genesis hash that is loaded.

    §expected: BlockHash

    The expected genesis hash.

    -
    §

    Descriptor

    Descriptor’s DescriptorId does not match.

    +
    §

    Descriptor

    Descriptor’s DescriptorId does not match.

    Fields

    §keychain: KeychainKind

    Keychain identifying the descriptor.

    §loaded: Option<ExtendedDescriptor>

    The loaded descriptor.

    §expected: Option<ExtendedDescriptor>

    The expected descriptor.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html index 0ca5c72a41..3efc3755c6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/index.html @@ -182,7 +182,7 @@

    §Contribut submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

    -

    Re-exports§

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

    Modules§

    coin_selection
    Coin selection
    descriptor
    Descriptors
    error
    Errors that can be thrown by the Wallet
    export
    Wallet export
    keys
    Key formats
    psbt
    Additional functions on the rust-bitcoin Psbt structure.
    rusqlite_impl
    Support for persisting bdk_chain structures to SQLite using [rusqlite].
    signer
    Generalized signers
    tx_builder
    Transaction builder

    Macros§

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

    Structs§

    AddressInfo
    A derived address and the index it was found at. -For convenience this automatically derefs to Address
    Balance
    Balance, differentiated into various categories.
    ChangeSet
    A changeset for Wallet.
    CreateParams
    Parameters for Wallet::create or PersistedWallet::create.
    LoadParams
    Parameters for Wallet::load or PersistedWallet::load.
    LocalOutput
    An unspent output owned by a Wallet.
    PersistedWallet
    Represents a persisted wallet which persists into type P.
    SignOptions
    Options for a software signer
    TxBuilder
    A transaction builder
    Update
    An update to Wallet.
    Wallet
    A Bitcoin wallet
    WeightedUtxo
    A Utxo with its satisfaction_weight.

    Enums§

    AddForeignUtxoError
    Error returned from TxBuilder::add_foreign_utxo.
    AddUtxoError
    Error returned from TxBuilder::add_utxo and TxBuilder::add_utxos
    ApplyBlockError
    An error that may occur when applying a block to Wallet.
    ChangeSpendPolicy
    Policy regarding the use of change outputs when creating a transaction
    CreateWithPersistError
    Error type for PersistedWallet::create.
    FileStoreError
    Error for [bdk_file_store]’s implementation of WalletPersister.
    KeychainKind
    Types of keychains
    LoadError
    The error type when loading a Wallet from a ChangeSet.
    LoadMismatch
    Represents a mismatch with what is loaded and what is expected from LoadParams.
    LoadWithPersistError
    Error type for PersistedWallet::load.
    TxOrdering
    Ordering of the transaction’s inputs and outputs
    Utxo
    An unspent transaction output (UTXO).

    Traits§

    AsyncWalletPersister
    Async trait that persists PersistedWallet.
    IsDust
    Trait to check if a value is below the dust limit. +

    Re-exports§

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

    Modules§

    coin_selection
    Coin selection
    descriptor
    Descriptors
    error
    Errors that can be thrown by the Wallet
    export
    Wallet export
    keys
    Key formats
    psbt
    Additional functions on the rust-bitcoin Psbt structure.
    rusqlite_impl
    Support for persisting bdk_chain structures to SQLite using [rusqlite].
    signer
    Generalized signers
    tx_builder
    Transaction builder

    Macros§

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

    Structs§

    AddressInfo
    A derived address and the index it was found at. +For convenience this automatically derefs to Address
    Balance
    Balance, differentiated into various categories.
    ChangeSet
    A changeset for Wallet.
    CreateParams
    Parameters for Wallet::create or PersistedWallet::create.
    LoadParams
    Parameters for Wallet::load or PersistedWallet::load.
    LocalOutput
    An unspent output owned by a Wallet.
    PersistedWallet
    Represents a persisted wallet which persists into type P.
    SignOptions
    Options for a software signer
    TxBuilder
    A transaction builder
    Update
    An update to Wallet.
    Wallet
    A Bitcoin wallet
    WeightedUtxo
    A Utxo with its satisfaction_weight.

    Enums§

    AddForeignUtxoError
    Error returned from TxBuilder::add_foreign_utxo.
    AddUtxoError
    Error returned from TxBuilder::add_utxo and TxBuilder::add_utxos
    ApplyBlockError
    An error that may occur when applying a block to Wallet.
    ChangeSpendPolicy
    Policy regarding the use of change outputs when creating a transaction
    CreateWithPersistError
    Error type for PersistedWallet::create.
    FileStoreError
    Error for bdk_file_store’s implementation of WalletPersister.
    KeychainKind
    Types of keychains
    LoadError
    The error type when loading a Wallet from a ChangeSet.
    LoadMismatch
    Represents a mismatch with what is loaded and what is expected from LoadParams.
    LoadWithPersistError
    Error type for PersistedWallet::load.
    TxOrdering
    Ordering of the transaction’s inputs and outputs
    Utxo
    An unspent transaction output (UTXO).

    Traits§

    AsyncWalletPersister
    Async trait that persists PersistedWallet.
    IsDust
    Trait to check if a value is below the dust limit. We are performing dust value calculation for a given script public key using rust-bitcoin to keep it compatible with network dust rate
    WalletPersister
    Trait that persists PersistedWallet.

    Functions§

    version
    Get the version of bdk_wallet at runtime.
    wallet_name_from_descriptor
    Deterministically generate a unique name given the descriptors defining the wallet

    Type Aliases§

    WalletTx
    A CanonicalTx managed by a Wallet.
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html index e062a62cc8..ef7d70114f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/constant.SCHEMAS_TABLE_NAME.html @@ -1,2 +1,2 @@ -SCHEMAS_TABLE_NAME in bdk_wallet::rusqlite_impl - Rust
    bdk_wallet::rusqlite_impl

    Constant SCHEMAS_TABLE_NAME

    pub const SCHEMAS_TABLE_NAME: &'static str;
    Expand description

    Table name for schemas.

    +SCHEMAS_TABLE_NAME in bdk_wallet::rusqlite_impl - Rust
    bdk_wallet::rusqlite_impl

    Constant SCHEMAS_TABLE_NAME

    Source
    pub const SCHEMAS_TABLE_NAME: &'static str;
    Expand description

    Table name for schemas.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html index 81e397fe39..ecf0262dae 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/fn.migrate_schema.html @@ -1,4 +1,4 @@ -migrate_schema in bdk_wallet::rusqlite_impl - Rust
    bdk_wallet::rusqlite_impl

    Function migrate_schema

    pub fn migrate_schema(
    +migrate_schema in bdk_wallet::rusqlite_impl - Rust
    bdk_wallet::rusqlite_impl

    Function migrate_schema

    Source
    pub fn migrate_schema(
         db_tx: &Transaction<'_>,
         schema_name: &str,
         versioned_scripts: &[&str],
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
    index 70569316d2..ca743735f5 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/rusqlite_impl/index.html
    @@ -1,2 +1,2 @@
    -bdk_wallet::rusqlite_impl - Rust
    bdk_wallet

    Module rusqlite_impl

    Expand description

    Support for persisting bdk_chain structures to SQLite using [rusqlite].

    +bdk_wallet::rusqlite_impl - Rust
    bdk_wallet

    Module rusqlite_impl

    Source
    Expand description

    Support for persisting bdk_chain structures to SQLite using [rusqlite].

    Constants§

    SCHEMAS_TABLE_NAME
    Table name for schemas.

    Functions§

    migrate_schema
    Runs logic that initializes/migrates the table schemas.
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html index 4a4e490cdc..812fea6c9e 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Balance.html @@ -1,4 +1,4 @@ -Balance in bdk_wallet - Rust
    bdk_wallet

    Struct Balance

    pub struct Balance {
    +Balance in bdk_wallet - Rust
    bdk_wallet

    Struct Balance

    Source
    pub struct Balance {
         pub immature: Amount,
         pub trusted_pending: Amount,
         pub untrusted_pending: Amount,
    @@ -8,19 +8,19 @@
     
    §trusted_pending: Amount

    Unconfirmed UTXOs generated by a wallet tx

    §untrusted_pending: Amount

    Unconfirmed UTXOs received from an external wallet

    §confirmed: Amount

    Confirmed and immediately spendable balance

    -

    Implementations§

    §

    impl Balance

    pub fn trusted_spendable(&self) -> Amount

    Get sum of trusted_pending and confirmed coins.

    +

    Implementations§

    Source§

    impl Balance

    Source

    pub fn trusted_spendable(&self) -> Amount

    Get sum of trusted_pending and confirmed coins.

    This is the balance you can spend right now that shouldn’t get cancelled via another party double spending it.

    -

    pub fn total(&self) -> Amount

    Get the whole balance visible to the wallet.

    -

    Trait Implementations§

    §

    impl Add for Balance

    §

    type Output = Balance

    The resulting type after applying the + operator.
    §

    fn add(self, other: Balance) -> Balance

    Performs the + operation. Read more
    §

    impl Clone for Balance

    §

    fn clone(&self) -> Balance

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

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

    Performs copy-assignment from source. Read more
    §

    impl Debug for Balance

    §

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

    Formats the value using the given formatter. Read more
    §

    impl Default for Balance

    §

    fn default() -> Balance

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

    impl<'de> Deserialize<'de> for Balance

    §

    fn deserialize<__D>( +

    Source

    pub fn total(&self) -> Amount

    Get the whole balance visible to the wallet.

    +

    Trait Implementations§

    Source§

    impl Add for Balance

    Source§

    type Output = Balance

    The resulting type after applying the + operator.
    Source§

    fn add(self, other: Balance) -> Balance

    Performs the + operation. Read more
    Source§

    impl Clone for Balance

    Source§

    fn clone(&self) -> Balance

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Balance

    Source§

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

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

    impl Default for Balance

    Source§

    fn default() -> Balance

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

    impl<'de> Deserialize<'de> for Balance

    Source§

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

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

    impl Display for Balance

    §

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

    Formats the value using the given formatter. Read more
    §

    impl PartialEq for Balance

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl Serialize for Balance

    §

    fn serialize<__S>( + __D: Deserializer<'de>,

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

    impl Display for Balance

    Source§

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

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

    impl PartialEq for Balance

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, +and should not be overridden without very good reason.
    Source§

    impl Serialize for Balance

    Source§

    fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
    where - __S: Serializer,

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

    impl Eq for Balance

    §

    impl StructuralPartialEq for Balance

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where + __S: Serializer,

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

    impl Eq for Balance

    Source§

    impl StructuralPartialEq for Balance

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html index 1e2e90ac20..3f111fcd08 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.ChangeSet.html @@ -2,16 +2,16 @@ pub descriptor: Option<Descriptor<DescriptorPublicKey>>, pub change_descriptor: Option<Descriptor<DescriptorPublicKey>>, pub network: Option<Network>, - pub local_chain: ChangeSet, - pub tx_graph: ChangeSet<ConfirmationBlockTime>, - pub indexer: ChangeSet, + pub local_chain: ChangeSet, + pub tx_graph: ChangeSet<ConfirmationBlockTime>, + pub indexer: ChangeSet, }
    Expand description

    A changeset for Wallet.

    Fields§

    §descriptor: Option<Descriptor<DescriptorPublicKey>>

    Descriptor for recipient addresses.

    §change_descriptor: Option<Descriptor<DescriptorPublicKey>>

    Descriptor for change addresses.

    §network: Option<Network>

    Stores the network type of the transaction data.

    -
    §local_chain: ChangeSet

    Changes to the LocalChain.

    -
    §tx_graph: ChangeSet<ConfirmationBlockTime>

    Changes to TxGraph.

    -
    §indexer: ChangeSet

    Changes to KeychainTxOutIndex.

    +
    §local_chain: ChangeSet

    Changes to the LocalChain.

    +
    §tx_graph: ChangeSet<ConfirmationBlockTime>

    Changes to TxGraph.

    +
    §indexer: ChangeSet

    Changes to KeychainTxOutIndex.

    Implementations§

    Source§

    impl ChangeSet

    Source

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

    Schema name for wallet.

    Source

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

    Name of table to store wallet descriptors and network.

    Source

    pub fn schema_v0() -> String

    Get v0 sqlite ChangeSet schema

    @@ -19,8 +19,8 @@
    Source

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

    Recover a ChangeSet from sqlite database.

    Source

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

    Persist ChangeSet to sqlite database.

    Trait Implementations§

    Source§

    impl Clone for ChangeSet

    Source§

    fn clone(&self) -> ChangeSet

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ChangeSet

    Source§

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

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

    impl Default for ChangeSet

    Source§

    fn default() -> ChangeSet

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

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

    Source§

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

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

    impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

    Source§

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

    Converts to this type from the input type.
    Source§

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

    Source§

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

    Converts to this type from the input type.
    Source§

    impl From<ChangeSet> for ChangeSet

    Source§

    fn from(chain: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ChangeSet> for ChangeSet

    Source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another ChangeSet into itself.

    -
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, + __D: Deserializer<'de>,

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

    impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet

    Source§

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

    Converts to this type from the input type.
    Source§

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

    Source§

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

    Converts to this type from the input type.
    Source§

    impl From<ChangeSet> for ChangeSet

    Source§

    fn from(chain: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl From<ChangeSet> for ChangeSet

    Source§

    fn from(indexer: ChangeSet) -> Self

    Converts to this type from the input type.
    Source§

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another ChangeSet into itself.

    +
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl Serialize for ChangeSet

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

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

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html index b82fb80a27..55a214de5b 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.CreateParams.html @@ -7,7 +7,7 @@
  • change_descriptor = None
  • network = [Network::Bitcoin]
  • genesis_hash = None
  • -
  • lookahead = [DEFAULT_LOOKAHEAD]
  • +
  • lookahead = DEFAULT_LOOKAHEAD
  • Use this method only when building a wallet with a single descriptor. See also Wallet::create_single.

    @@ -19,7 +19,7 @@
    • network = [Network::Bitcoin]
    • genesis_hash = None
    • -
    • lookahead = [DEFAULT_LOOKAHEAD]
    • +
    • lookahead = DEFAULT_LOOKAHEAD

    Source

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

    Extend the given keychain’s keymap.

    Source

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

    Set network.

    @@ -28,7 +28,7 @@

    The lookahead defines a number of script pubkeys to derive over and above the last revealed index. Without a lookahead the indexer will miss outputs you own when processing transactions whose output script pubkeys lie beyond the last revealed index. In most cases -the default value [DEFAULT_LOOKAHEAD] is sufficient.

    +the default value DEFAULT_LOOKAHEAD is sufficient.

    Source

    pub fn create_wallet<P>( self, persister: &mut P, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html index 0ddb058ce2..7211ba3161 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LoadParams.html @@ -1,6 +1,6 @@ LoadParams in bdk_wallet - Rust
    bdk_wallet

    Struct LoadParams

    Source
    pub struct LoadParams { /* private fields */ }
    Expand description

    Implementations§

    Source§

    impl LoadParams

    Source

    pub fn new() -> Self

    Construct parameters with default values.

    -

    Default values: lookahead = [DEFAULT_LOOKAHEAD]

    +

    Default values: lookahead = DEFAULT_LOOKAHEAD

    Source

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

    Extend the given keychain’s keymap.

    Source

    pub fn descriptor<D>( self, @@ -17,7 +17,7 @@

    §Note

    The lookahead defines a number of script pubkeys to derive over and above the last revealed index. Without a lookahead the indexer will miss outputs you own when processing transactions whose output script pubkeys lie beyond the last revealed index. In most cases -the default value [DEFAULT_LOOKAHEAD] is sufficient.

    +the default value DEFAULT_LOOKAHEAD is sufficient.

    Source

    pub fn extract_keys(self) -> Self

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

    Source

    pub fn load_wallet<P>( diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html index c4acee64c8..4c9df552d8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.LocalOutput.html @@ -4,14 +4,14 @@ pub keychain: KeychainKind, pub is_spent: bool, pub derivation_index: u32, - pub chain_position: ChainPosition<ConfirmationBlockTime>, + pub chain_position: ChainPosition<ConfirmationBlockTime>, }
    Expand description

    An unspent output owned by a Wallet.

    Fields§

    §outpoint: OutPoint

    Reference to a transaction output

    §txout: TxOut

    Transaction output

    §keychain: KeychainKind

    Type of keychain

    §is_spent: bool

    Whether this UTXO is spent or not

    §derivation_index: u32

    The derivation index for the script pubkey in the wallet

    -
    §chain_position: ChainPosition<ConfirmationBlockTime>

    The position of the output in the blockchain.

    +
    §chain_position: ChainPosition<ConfirmationBlockTime>

    The position of the output in the blockchain.

    Trait Implementations§

    Source§

    impl Clone for LocalOutput

    Source§

    fn clone(&self) -> LocalOutput

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for LocalOutput

    Source§

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

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

    impl<'de> Deserialize<'de> for LocalOutput

    Source§

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

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

    impl Hash for LocalOutput

    Source§

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

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

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where H: Hasher, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html index 37d4f574e7..2b177238cd 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.PersistedWallet.html @@ -33,8 +33,8 @@ persister: &mut P, params: LoadParams, ) -> Result<Option<Self>, LoadWithPersistError<P::Error>>

    Load a previously PersistedWallet from the given async persister and params.

    -
    Source

    pub async fn persist_async<'a>( - &'a mut self, +

    Source

    pub async fn persist_async( + &mut self, persister: &mut P, ) -> Result<bool, P::Error>

    Persist staged changes of wallet into an async persister.

    Returns whether any new changes were persisted.

    @@ -104,11 +104,11 @@
    §Panics
    Source

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

    Return the list of unspent outputs of this wallet

    Source

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

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

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

    -
    Source

    pub fn checkpoints(&self) -> CheckPointIter

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

    -
    Source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    +
    Source

    pub fn checkpoints(&self) -> CheckPointIter

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

    +
    Source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    Source

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

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

    +) -> BTreeMap<KeychainKind, impl Iterator<Item = Indexed<ScriptBuf>> + Clone>

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

    This is intended to be used when doing a full scan of your addresses (e.g. after restoring from seed words). You pass the BTreeMap of iterators to a blockchain data source (e.g. electrum server) which will go through each address until it reaches a stop gap.

    @@ -117,7 +117,7 @@
    §Panics
    Source

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

    Get an unbounded script pubkey iterator for the given keychain.

    +) -> impl Iterator<Item = Indexed<ScriptBuf>> + Clone

    Get an unbounded script pubkey iterator for the given keychain.

    See all_unbounded_spk_iters for more documentation

    Source

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

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

    @@ -133,7 +133,7 @@
    §Panics
    Source

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

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

    +) -> Result<Amount, CalculateFeeError>

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

    To calculate the fee for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

    Note tx does not have to be in the graph for this to work.

    @@ -146,7 +146,7 @@
    §Examples
    Source

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

    Calculate the [FeeRate] for a given transaction.

    +) -> Result<FeeRate, CalculateFeeError>

    Calculate the [FeeRate] for a given transaction.

    To calculate the fee rate for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

    Note tx does not have to be in the graph for this to work.

    @@ -169,9 +169,9 @@
    §Examples
    Source

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

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

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

      -
    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist +
    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist in the best chain.
    • -
    • The [ChainPosition] of the transaction in the best chain - whether the transaction is +
    • The ChainPosition of the transaction in the best chain - whether the transaction is confirmed or unconfirmed. If the transaction is confirmed, the anchor which proves the confirmation is provided. If the transaction is unconfirmed, the unix timestamp of when the transaction was last seen in the mempool is provided.
    • @@ -219,9 +219,9 @@
      §Examples
      transaction is canonical when it is confirmed in the best chain, or does not conflict with any transaction confirmed in the best chain.

      To iterate over all transactions, including those that are irrelevant and not canonical, use -[TxGraph::full_txs].

      +TxGraph::full_txs.

      To iterate over all canonical transactions, including those that are irrelevant, use -[TxGraph::list_canonical_txs].

      +TxGraph::list_canonical_txs.

    Source

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

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

    @@ -352,7 +352,7 @@
    §Example
    Source

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

    Available on crate feature std only.

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

    +) -> Result<(), CannotConnectError>
    Available on crate feature std only.

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

    Usually you create an update by interacting with some blockchain data source and inserting transactions related to your wallet into it.

    After applying updates you should persist the staged wallet changes. For an example of how @@ -361,7 +361,7 @@

    §Example
    &mut self, update: impl Into<Update>, seen_at: u64, -) -> Result<(), CannotConnectError>

    Applies an update alongside a seen_at timestamp and stages the changes.

    +) -> Result<(), CannotConnectError>

    Applies an update alongside a seen_at timestamp and stages the changes.

    seen_at represents when the update is seen (in unix seconds). It is used to determine the last_seens for all transactions in the update which have no corresponding anchor(s). The last_seen value is used internally to determine precedence of conflicting unconfirmed @@ -372,14 +372,14 @@

    §Example
    Source

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

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

    Source

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

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

    Source

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

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

    -
    Source

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

    Get a reference to the inner [TxGraph].

    -
    Source

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

    Get a reference to the inner [KeychainTxOutIndex].

    -
    Source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    Source

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

    Get a reference to the inner TxGraph.

    +
    Source

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

    Get a reference to the inner KeychainTxOutIndex.

    +
    Source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner LocalChain.

    Source

    pub fn apply_block( &mut self, block: &Block, height: u32, -) -> Result<(), CannotConnectError>

    Introduces a block of height to the wallet, and tries to connect it to the +) -> Result<(), CannotConnectError>

    Introduces a block of height to the wallet, and tries to connect it to the prev_blockhash of the block’s header.

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

    @@ -387,12 +387,12 @@
    §Example
    &mut self, block: &Block, height: u32, - connected_to: BlockId, -) -> Result<(), ApplyHeaderError>

    Applies relevant transactions from block of height to the wallet, and connects the + connected_to: BlockId, +) -> Result<(), ApplyHeaderError>

    Applies relevant transactions from block of height to the wallet, and connects the block to the internal chain.

    The connected_to parameter informs the wallet how this block connects to the internal -[LocalChain]. Relevant transactions are filtered from the block and inserted into the -internal [TxGraph].

    +LocalChain. Relevant transactions are filtered from the block and inserted into the +internal TxGraph.

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

    @@ -410,13 +410,13 @@
    §Example
    See Wallet::reveal_next_address.

    Source

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

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

    +) -> SyncRequestBuilder<(KeychainKind, u32)>

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

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

    -
    Source

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

    Create a [`FullScanRequest] for this wallet.

    +
    Source

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

    Create a `FullScanRequest for this wallet.

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

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

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html index 0c1d6bded5..2548c5e490 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Update.html @@ -1,14 +1,14 @@ Update in bdk_wallet - Rust
    bdk_wallet

    Struct Update

    Source
    pub struct Update {
         pub last_active_indices: BTreeMap<KeychainKind, u32>,
    -    pub tx_update: TxUpdate<ConfirmationBlockTime>,
    -    pub chain: Option<CheckPoint>,
    +    pub tx_update: TxUpdate<ConfirmationBlockTime>,
    +    pub chain: Option<CheckPoint>,
     }
    Expand description

    An update to Wallet.

    -

    It updates [KeychainTxOutIndex], [bdk_chain::TxGraph] and [LocalChain] atomically.

    +

    It updates KeychainTxOutIndex, bdk_chain::TxGraph and LocalChain atomically.

    Fields§

    §last_active_indices: BTreeMap<KeychainKind, u32>

    Contains the last active derivation indices per keychain (K), which is used to update the -[KeychainTxOutIndex].

    -
    §tx_update: TxUpdate<ConfirmationBlockTime>

    Update for the wallet’s internal [TxGraph].

    -
    §chain: Option<CheckPoint>

    Update for the wallet’s internal [LocalChain].

    -

    Trait Implementations§

    Source§

    impl Clone for Update

    Source§

    fn clone(&self) -> Update

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Update

    Source§

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

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

    impl Default for Update

    Source§

    fn default() -> Update

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

    impl From<FullScanResponse<KeychainKind>> for Update

    Source§

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

    Converts to this type from the input type.
    Source§

    impl From<SyncResponse> for Update

    Source§

    fn from(value: SyncResponse) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl Freeze for Update

    §

    impl RefUnwindSafe for Update

    §

    impl Send for Update

    §

    impl Sync for Update

    §

    impl Unpin for Update

    §

    impl UnwindSafe for Update

    Blanket Implementations§

    Source§

    impl<T> Any for T§tx_update: TxUpdate<ConfirmationBlockTime>

    Update for the wallet’s internal TxGraph.

    +
    §chain: Option<CheckPoint>

    Update for the wallet’s internal LocalChain.

    +

    Trait Implementations§

    Source§

    impl Clone for Update

    Source§

    fn clone(&self) -> Update

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for Update

    Source§

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

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

    impl Default for Update

    Source§

    fn default() -> Update

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

    impl From<FullScanResponse<KeychainKind>> for Update

    Source§

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

    Converts to this type from the input type.
    Source§

    impl From<SyncResponse> for Update

    Source§

    fn from(value: SyncResponse) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    §

    impl Freeze for Update

    §

    impl RefUnwindSafe for Update

    §

    impl Send for Update

    §

    impl Sync for Update

    §

    impl Unpin for Update

    §

    impl UnwindSafe for Update

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> CloneToUninit for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html index cf97f79f58..47ad247359 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/struct.Wallet.html @@ -9,7 +9,7 @@ ChangeSets (see take_staged). Also see individual functions and example for instructions on when Wallet state needs to be persisted.

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

    +script pubkeys. See KeychainTxOutIndex::insert_descriptor() for more details.

    Implementations§

    Source§

    impl Wallet

    Source

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

    Build a new single descriptor Wallet.

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

    @@ -147,11 +147,11 @@
    §Panics
    Source

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

    Return the list of unspent outputs of this wallet

    Source

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

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

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

    -
    Source

    pub fn checkpoints(&self) -> CheckPointIter

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

    -
    Source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    +
    Source

    pub fn checkpoints(&self) -> CheckPointIter

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

    +
    Source

    pub fn latest_checkpoint(&self) -> CheckPoint

    Returns the latest checkpoint.

    Source

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

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

    +) -> BTreeMap<KeychainKind, impl Iterator<Item = Indexed<ScriptBuf>> + Clone>

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

    This is intended to be used when doing a full scan of your addresses (e.g. after restoring from seed words). You pass the BTreeMap of iterators to a blockchain data source (e.g. electrum server) which will go through each address until it reaches a stop gap.

    @@ -160,7 +160,7 @@
    §Panics
    Source

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

    Get an unbounded script pubkey iterator for the given keychain.

    +) -> impl Iterator<Item = Indexed<ScriptBuf>> + Clone

    Get an unbounded script pubkey iterator for the given keychain.

    See all_unbounded_spk_iters for more documentation

    Source

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

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

    @@ -176,7 +176,7 @@
    §Panics
    Source

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

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

    +) -> Result<Amount, CalculateFeeError>

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

    To calculate the fee for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

    Note tx does not have to be in the graph for this to work.

    @@ -189,7 +189,7 @@
    §Examples
    Source

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

    Calculate the [FeeRate] for a given transaction.

    +) -> Result<FeeRate, CalculateFeeError>

    Calculate the [FeeRate] for a given transaction.

    To calculate the fee rate for a [Transaction] with inputs not owned by this wallet you must manually insert the TxOut(s) into the tx graph using the insert_txout function.

    Note tx does not have to be in the graph for this to work.

    @@ -212,9 +212,9 @@
    §Examples
    Source

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

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

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

      -
    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist +
    • Blocks that the transaction is Anchored in. These may or may not be blocks that exist in the best chain.
    • -
    • The [ChainPosition] of the transaction in the best chain - whether the transaction is +
    • The ChainPosition of the transaction in the best chain - whether the transaction is confirmed or unconfirmed. If the transaction is confirmed, the anchor which proves the confirmation is provided. If the transaction is unconfirmed, the unix timestamp of when the transaction was last seen in the mempool is provided.
    • @@ -262,9 +262,9 @@
      §Examples
      transaction is canonical when it is confirmed in the best chain, or does not conflict with any transaction confirmed in the best chain.

      To iterate over all transactions, including those that are irrelevant and not canonical, use -[TxGraph::full_txs].

      +TxGraph::full_txs.

      To iterate over all canonical transactions, including those that are irrelevant, use -[TxGraph::list_canonical_txs].

      +TxGraph::list_canonical_txs.

    Source

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

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

    @@ -395,7 +395,7 @@
    §Example
    Source

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

    Available on crate feature std only.

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

    +) -> Result<(), CannotConnectError>
    Available on crate feature std only.

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

    Usually you create an update by interacting with some blockchain data source and inserting transactions related to your wallet into it.

    After applying updates you should persist the staged wallet changes. For an example of how @@ -404,7 +404,7 @@

    §Example
    &mut self, update: impl Into<Update>, seen_at: u64, -) -> Result<(), CannotConnectError>

    Applies an update alongside a seen_at timestamp and stages the changes.

    +) -> Result<(), CannotConnectError>

    Applies an update alongside a seen_at timestamp and stages the changes.

    seen_at represents when the update is seen (in unix seconds). It is used to determine the last_seens for all transactions in the update which have no corresponding anchor(s). The last_seen value is used internally to determine precedence of conflicting unconfirmed @@ -415,14 +415,14 @@

    §Example
    Source

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

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

    Source

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

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

    Source

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

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

    -
    Source

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

    Get a reference to the inner [TxGraph].

    -
    Source

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

    Get a reference to the inner [KeychainTxOutIndex].

    -
    Source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner [LocalChain].

    +
    Source

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

    Get a reference to the inner TxGraph.

    +
    Source

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

    Get a reference to the inner KeychainTxOutIndex.

    +
    Source

    pub fn local_chain(&self) -> &LocalChain

    Get a reference to the inner LocalChain.

    Source

    pub fn apply_block( &mut self, block: &Block, height: u32, -) -> Result<(), CannotConnectError>

    Introduces a block of height to the wallet, and tries to connect it to the +) -> Result<(), CannotConnectError>

    Introduces a block of height to the wallet, and tries to connect it to the prev_blockhash of the block’s header.

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

    @@ -430,12 +430,12 @@
    §Example
    &mut self, block: &Block, height: u32, - connected_to: BlockId, -) -> Result<(), ApplyHeaderError>

    Applies relevant transactions from block of height to the wallet, and connects the + connected_to: BlockId, +) -> Result<(), ApplyHeaderError>

    Applies relevant transactions from block of height to the wallet, and connects the block to the internal chain.

    The connected_to parameter informs the wallet how this block connects to the internal -[LocalChain]. Relevant transactions are filtered from the block and inserted into the -internal [TxGraph].

    +LocalChain. Relevant transactions are filtered from the block and inserted into the +internal TxGraph.

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

    @@ -454,17 +454,17 @@
    §Example
    Source§

    impl Wallet

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

    Source

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

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

    +) -> SyncRequestBuilder<(KeychainKind, u32)>

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

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

    -
    Source

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

    Create a [`FullScanRequest] for this wallet.

    +
    Source

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

    Create a `FullScanRequest for this wallet.

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

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

    -

    Trait Implementations§

    Source§

    impl AsRef<TxGraph> for Wallet

    Source§

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

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

    impl Debug for Wallet

    Source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl !Freeze for Wallet

    §

    impl !RefUnwindSafe for Wallet

    §

    impl Send for Wallet

    §

    impl Sync for Wallet

    §

    impl Unpin for Wallet

    §

    impl !UnwindSafe for Wallet

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +

    Trait Implementations§

    Source§

    impl AsRef<TxGraph> for Wallet

    Source§

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

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

    impl Debug for Wallet

    Source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl !Freeze for Wallet

    §

    impl !RefUnwindSafe for Wallet

    §

    impl Send for Wallet

    §

    impl Sync for Wallet

    §

    impl Unpin for Wallet

    §

    impl !UnwindSafe for Wallet

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html index c017d440de..023fbb8881 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/trait.WalletPersister.html @@ -30,10 +30,10 @@
    ChangeSet, ) -> Result<(), Self::Error>

    Persist the given changeset to the persister.

    This method can fail if the persister is not initialized.

    -

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl WalletPersister for Connection

    Source§

    type Error = Error

    Source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    Source§

    fn persist( +

    Dyn Compatibility§

    This trait is not dyn compatible.

    In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

    Implementations on Foreign Types§

    Source§

    impl WalletPersister for Store<ChangeSet>

    Source§

    type Error = FileStoreError

    Source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    Source§

    fn persist( persister: &mut Self, changeset: &ChangeSet, -) -> Result<(), Self::Error>

    Source§

    impl WalletPersister for Store<ChangeSet>

    Source§

    type Error = FileStoreError

    Source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    Source§

    fn persist( +) -> Result<(), Self::Error>

    Source§

    impl WalletPersister for Connection

    Source§

    type Error = Error

    Source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    Source§

    fn persist( persister: &mut Self, changeset: &ChangeSet, ) -> Result<(), Self::Error>

    Source§

    impl WalletPersister for Transaction<'_>

    Source§

    type Error = Error

    Source§

    fn initialize(persister: &mut Self) -> Result<ChangeSet, Self::Error>

    Source§

    fn persist( diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html index b1221efa32..ff75218f6d 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_wallet/type.WalletTx.html @@ -1,7 +1,7 @@ -WalletTx in bdk_wallet - Rust
    bdk_wallet

    Type Alias WalletTx

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

    A CanonicalTx managed by a Wallet.

    +WalletTx in bdk_wallet - Rust
    bdk_wallet

    Type Alias WalletTx

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

    A CanonicalTx managed by a Wallet.

    Aliased Type§

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

    Fields§

    §chain_position: ChainPosition<ConfirmationBlockTime>

    How the transaction is observed in the canonical chain (confirmed or unconfirmed).

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

    The transaction node (as part of the graph).

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

    Fields§

    §chain_position: ChainPosition<ConfirmationBlockTime>

    How the transaction is observed in the canonical chain (confirmed or unconfirmed).

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

    The transaction node (as part of the graph).

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html index bab35373c1..f44c206cb5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.create_tx.html @@ -1,4 +1,4 @@ -create_tx in example_cli - Rust
    example_cli

    Function create_tx

    Source
    pub fn create_tx<O: ChainOracle>(
    +create_tx in example_cli - Rust
    example_cli

    Function create_tx

    Source
    pub fn create_tx<O: ChainOracle>(
         graph: &mut KeychainTxGraph,
         chain: &O,
         assets: &Assets,
    @@ -6,4 +6,4 @@
         address: Address,
         value: u64,
     ) -> Result<(Psbt, Option<ChangeInfo>)>
    where - O::Error: Error + Send + Sync + 'static,
    \ No newline at end of file + O::Error: Error + Send + Sync + 'static,
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html index 50eee1eb5a..c4ede978f8 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.handle_commands.html @@ -1,7 +1,7 @@ handle_commands in example_cli - Rust
    example_cli

    Function handle_commands

    Source
    pub fn handle_commands<CS: Subcommand, S: Args>(
         graph: &Mutex<KeychainTxGraph>,
    -    chain: &Mutex<LocalChain>,
    -    db: &Mutex<Store<ChangeSet>>,
    +    chain: &Mutex<LocalChain>,
    +    db: &Mutex<Store<ChangeSet>>,
         network: Network,
         broadcast: impl FnOnce(S, &Transaction) -> Result<()>,
         cmd: Commands<CS, S>,
    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html
    index 29e2766b25..465aa1b113 100644
    --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html
    +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/fn.planned_utxos.html
    @@ -1,5 +1,5 @@
    -planned_utxos in example_cli - Rust
    example_cli

    Function planned_utxos

    Source
    pub fn planned_utxos<O: ChainOracle>(
    +planned_utxos in example_cli - Rust
    example_cli

    Function planned_utxos

    Source
    pub fn planned_utxos<O: ChainOracle>(
         graph: &KeychainTxGraph,
         chain: &O,
         assets: &Assets,
    -) -> Result<Vec<PlanUtxo>, O::Error>
    \ No newline at end of file +) -> Result<Vec<PlanUtxo>, O::Error>
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeInfo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeInfo.html index 00422d13d9..2ab9bf3669 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeInfo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeInfo.html @@ -1,8 +1,8 @@ ChangeInfo in example_cli - Rust
    example_cli

    Struct ChangeInfo

    Source
    pub struct ChangeInfo {
         pub change_keychain: Keychain,
    -    pub indexer: ChangeSet,
    +    pub indexer: ChangeSet,
         pub index: u32,
    -}

    Fields§

    §change_keychain: Keychain§indexer: ChangeSet§index: u32

    Trait Implementations§

    Source§

    impl Debug for ChangeInfo

    Source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

    impl<T> Any for T
    where +}

    Fields§

    §change_keychain: Keychain§indexer: ChangeSet§index: u32

    Trait Implementations§

    Source§

    impl Debug for ChangeInfo

    Source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

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

    Source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    Source§

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

    Source§

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

    Mutably borrows from an owned value. Read more
    Source§

    impl<T> From<T> for T

    Source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html index 43da26d692..c1e2681510 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.ChangeSet.html @@ -2,18 +2,18 @@ pub descriptor: Option<Descriptor<DescriptorPublicKey>>, pub change_descriptor: Option<Descriptor<DescriptorPublicKey>>, pub network: Option<Network>, - pub local_chain: ChangeSet, - pub tx_graph: ChangeSet<ConfirmationBlockTime>, - pub indexer: ChangeSet, + pub local_chain: ChangeSet, + pub tx_graph: ChangeSet<ConfirmationBlockTime>, + pub indexer: ChangeSet, }
    Expand description

    ChangeSet

    Fields§

    §descriptor: Option<Descriptor<DescriptorPublicKey>>

    Descriptor for recipient addresses.

    §change_descriptor: Option<Descriptor<DescriptorPublicKey>>

    Descriptor for change addresses.

    §network: Option<Network>

    Stores the network type of the transaction data.

    -
    §local_chain: ChangeSet

    Changes to the [LocalChain].

    -
    §tx_graph: ChangeSet<ConfirmationBlockTime>

    Changes to TxGraph.

    -
    §indexer: ChangeSet

    Changes to [KeychainTxOutIndex].

    +
    §local_chain: ChangeSet

    Changes to the LocalChain.

    +
    §tx_graph: ChangeSet<ConfirmationBlockTime>

    Changes to TxGraph.

    +
    §indexer: ChangeSet

    Changes to KeychainTxOutIndex.

    Trait Implementations§

    Source§

    impl Clone for ChangeSet

    Source§

    fn clone(&self) -> ChangeSet

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

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

    Performs copy-assignment from source. Read more
    Source§

    impl Debug for ChangeSet

    Source§

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

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

    impl Default for ChangeSet

    Source§

    fn default() -> ChangeSet

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

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

    Source§

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

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

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient, + __D: Deserializer<'de>,

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

    impl Merge for ChangeSet

    Source§

    fn merge(&mut self, other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

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

    impl PartialEq for ChangeSet

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

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

    impl Serialize for ChangeSet

    Source§

    fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
    where __S: Serializer,

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

    impl StructuralPartialEq for ChangeSet

    Auto Trait Implementations§

    Blanket Implementations§

    Source§

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

    Source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    Source§

    impl<T> Borrow<T> for T
    where diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html index 086bc2c30e..4e1f4ff6aa 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/struct.Init.html @@ -1,14 +1,14 @@ Init in example_cli - Rust
    example_cli

    Struct Init

    Source
    pub struct Init<CS: Subcommand, S: Args> {
         pub args: Args<CS, S>,
         pub graph: Mutex<KeychainTxGraph>,
    -    pub chain: Mutex<LocalChain>,
    -    pub db: Mutex<Store<ChangeSet>>,
    +    pub chain: Mutex<LocalChain>,
    +    pub db: Mutex<Store<ChangeSet>>,
         pub network: Network,
     }
    Expand description

    The initial state returned by init_or_load.

    Fields§

    §args: Args<CS, S>

    CLI args

    §graph: Mutex<KeychainTxGraph>

    Indexed graph

    -
    §chain: Mutex<LocalChain>

    Local chain

    -
    §db: Mutex<Store<ChangeSet>>

    Database

    +
    §chain: Mutex<LocalChain>

    Local chain

    +
    §db: Mutex<Store<ChangeSet>>

    Database

    §network: Network

    Network

    Auto Trait Implementations§

    §

    impl<CS, S> !Freeze for Init<CS, S>

    §

    impl<CS, S> RefUnwindSafe for Init<CS, S>
    where CS: RefUnwindSafe, diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html index df01d082a7..7be31e7edb 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.KeychainTxGraph.html @@ -1,6 +1,6 @@ -KeychainTxGraph in example_cli - Rust
    example_cli

    Type Alias KeychainTxGraph

    Source
    pub type KeychainTxGraph = IndexedTxGraph<ConfirmationBlockTime, KeychainTxOutIndex<Keychain>>;
    Expand description

    Alias for a IndexedTxGraph with specific Anchor and Indexer.

    +KeychainTxGraph in example_cli - Rust
    example_cli

    Type Alias KeychainTxGraph

    Source
    pub type KeychainTxGraph = IndexedTxGraph<ConfirmationBlockTime, KeychainTxOutIndex<Keychain>>;
    Expand description

    Alias for a IndexedTxGraph with specific Anchor and Indexer.

    Aliased Type§

    struct KeychainTxGraph {
    -    pub index: KeychainTxOutIndex<Keychain>,
    +    pub index: KeychainTxOutIndex<Keychain>,
         /* private fields */
    -}

    Fields§

    §index: KeychainTxOutIndex<Keychain>

    Transaction index.

    +}

    Fields§

    §index: KeychainTxOutIndex<Keychain>

    Transaction index.

    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlanUtxo.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlanUtxo.html index 02acf94dff..a8e28f585f 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlanUtxo.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/example_cli/type.PlanUtxo.html @@ -1 +1 @@ -PlanUtxo in example_cli - Rust
    example_cli

    Type Alias PlanUtxo

    Source
    pub type PlanUtxo = (Plan, FullTxOut<ConfirmationBlockTime>);
    \ No newline at end of file +PlanUtxo in example_cli - Rust
    example_cli

    Type Alias PlanUtxo

    Source
    pub type PlanUtxo = (Plan, FullTxOut<ConfirmationBlockTime>);
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html index 259ec98d37..e27aebed14 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/help.html @@ -1 +1 @@ -Help

    Rustdoc help

    Back
    \ No newline at end of file +Help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html index 79246137ad..f9cbd24cb1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/settings.html @@ -1 +1 @@ -Settings

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/persisted.rs.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/persisted.rs.html index c55fa81bdf..96cf6a9580 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/persisted.rs.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/src/bdk_wallet/wallet/persisted.rs.html @@ -619,7 +619,7 @@ /// Returns whether any new changes were persisted. /// /// If the `persister` errors, the staged changes will not be cleared. - pub async fn persist_async<'a>(&'a mut self, persister: &mut P) -> Result<bool, P::Error> { + pub async fn persist_async(&mut self, persister: &mut P) -> Result<bool, P::Error> { match self.inner.staged_mut() { Some(stage) => { P::persist(persister, &*stage).await?; diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_core/merge/trait.Merge.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_core/merge/trait.Merge.js index eb829b46d5..26880133bb 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_core/merge/trait.Merge.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/bdk_core/merge/trait.Merge.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["bdk_chain",[["impl Merge for ChangeSet"],["impl Merge for ChangeSet"],["impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>"],["impl<A: Ord> Merge for ChangeSet<A>"]]],["bdk_core",[]],["bdk_wallet",[["impl Merge for ChangeSet"]]],["example_cli",[["impl Merge for ChangeSet"]]]]); + var implementors = Object.fromEntries([["bdk_chain",[["impl Merge for ChangeSet"],["impl Merge for ChangeSet"],["impl<A: Anchor, IA: Merge> Merge for ChangeSet<A, IA>"],["impl<A: Ord> Merge for ChangeSet<A>"]]],["bdk_core",[]],["bdk_wallet",[["impl Merge for ChangeSet"]]],["example_cli",[["impl Merge for ChangeSet"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1409,16,151,154]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1409,16,254,257]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js index 5c048cd7cb..74f6817cd5 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.AsRef.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["bdk_chain",[["impl AsRef<[u8; 32]> for DescriptorId"],["impl AsRef<[u8]> for DescriptorId"],["impl<A> AsRef<TxGraph<A>> for TxGraph<A>"],["impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>"]]],["bdk_wallet",[["impl AsRef<TxGraph> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]]]]); + var implementors = Object.fromEntries([["bdk_chain",[["impl AsRef<[u8; 32]> for DescriptorId"],["impl AsRef<[u8]> for DescriptorId"],["impl<A> AsRef<TxGraph<A>> for TxGraph<A>"],["impl<A, I> AsRef<TxGraph<A>> for IndexedTxGraph<A, I>"]]],["bdk_wallet",[["impl AsRef<TxGraph> for Wallet"],["impl AsRef<[u8]> for KeychainKind"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[1789,664]} \ No newline at end of file +//{"start":57,"fragment_lengths":[1789,782]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js index d1a0f25774..34290217a1 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/trait.impl/core/convert/trait.From.js @@ -1,9 +1,9 @@ (function() { - var implementors = Object.fromEntries([["bdk_chain",[["impl From<Hash> for DescriptorId"],["impl From<DescriptorId> for Hash"],["impl From<TxPosInBlock<'_>> for BlockId"],["impl From<TxPosInBlock<'_>> for ConfirmationBlockTime"],["impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>"],["impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>"],["impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>"],["impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>"],["impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet"],["impl<T> From<T> for Impl<T>"]]],["bdk_core",[["impl From<(&u32, &BlockHash)> for BlockId"],["impl From<(u32, BlockHash)> for BlockId"],["impl From<BlockId> for (u32, BlockHash)"],["impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>"],["impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>"]]],["bdk_file_store",[["impl From<Error> for FileError"],["impl From<Error> for IterError"]]],["bdk_wallet",[["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<LoadMismatch> for LoadError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<KeyError> for Error"],["impl From<bool> for Satisfaction"],["impl From<InsufficientFunds> for CreateTxError"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet"],["impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for CreateTxError"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Fingerprint> for SignerId"],["impl From<FullScanResponse<KeychainKind>> for Update"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<ParsePublicKeyError> for Error"],["impl From<SyncResponse> for Update"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"],["impl<E> From<LoadMismatch> for LoadWithPersistError<E>"]]],["example_bitcoind_rpc_polling",[["impl From<RpcArgs> for Auth"]]]]); + var implementors = Object.fromEntries([["bdk_chain",[["impl From<Hash> for DescriptorId"],["impl From<DescriptorId> for Hash"],["impl From<TxPosInBlock<'_>> for BlockId"],["impl From<TxPosInBlock<'_>> for ConfirmationBlockTime"],["impl<A> From<ChangeSet> for ChangeSet<A, ChangeSet>"],["impl<A, IA: Default> From<ChangeSet<A>> for ChangeSet<A, IA>"],["impl<A: Anchor> From<TxUpdate<A>> for TxGraph<A>"],["impl<A: Ord> From<TxGraph<A>> for TxUpdate<A>"],["impl<B: IntoIterator<Item = (u32, Option<BlockHash>)>> From<B> for ChangeSet"],["impl<T> From<T> for Impl<T>"]]],["bdk_core",[["impl From<(&u32, &BlockHash)> for BlockId"],["impl From<(u32, BlockHash)> for BlockId"],["impl From<BlockId> for (u32, BlockHash)"],["impl<I> From<SyncRequestBuilder<I>> for SyncRequest<I>"],["impl<K> From<FullScanRequestBuilder<K>> for FullScanRequest<K>"]]],["bdk_file_store",[["impl From<Error> for FileError"],["impl From<Error> for IterError"]]],["bdk_wallet",[["impl From<Error> for CreateTxError"],["impl From<PolicyError> for Error"],["impl From<PolicyError> for CreateTxError"],["impl From<SatisfiableItem> for Policy"],["impl From<LoadMismatch> for LoadError"],["impl From<MiniscriptPsbtError> for CreateTxError"],["impl From<KeyError> for Error"],["impl From<bool> for Satisfaction"],["impl From<ChangeSet<ConfirmationBlockTime, ChangeSet>> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet> for ChangeSet"],["impl From<ChangeSet<ConfirmationBlockTime>> for ChangeSet"],["impl From<FullScanResponse<KeychainKind>> for Update"],["impl From<SyncResponse> for Update"],["impl From<InsufficientFunds> for CreateTxError"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for Error"],["impl From<Error> for CreateTxError"],["impl From<Error> for KeyError"],["impl From<Error> for KeyError"],["impl From<Fingerprint> for SignerId"],["impl From<Hash> for SignerId"],["impl From<HexToBytesError> for Error"],["impl From<ParsePublicKeyError> for Error"],["impl<Ctx: ScriptContext> From<Xpriv> for ExtendedKey<Ctx>"],["impl<Ctx: ScriptContext> From<Xpub> for ExtendedKey<Ctx>"],["impl<E> From<LoadMismatch> for LoadWithPersistError<E>"]]],["example_bitcoind_rpc_polling",[["impl From<RpcArgs> for Auth"]]]]); if (window.register_implementors) { window.register_implementors(implementors); } else { window.pending_implementors = implementors; } })() -//{"start":57,"fragment_lengths":[5175,2130,853,10037,341]} \ No newline at end of file +//{"start":57,"fragment_lengths":[5175,2130,853,11283,341]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js index 907f8307b8..f8be26f624 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/alloc/collections/btree/map/struct.BTreeMap.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["bdk_chain",[["
    Source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · Source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · Source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · Source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · Source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · Source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · Source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    Source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    Source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    Source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    Source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    Source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · Source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:

    \n
      \n
    • for key types where non-identical keys can be considered equal;
    • \n
    • for getting the &K stored key value from a borrowed &Q lookup key; or
    • \n
    • for getting a reference to a key with the same lifetime as the collection.
    • \n
    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::cmp::Ordering;\nuse std::collections::BTreeMap;\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n    id: u32,\n    name: &'static str, // ignored by equality and ordering operations\n}\n\nimpl PartialEq for S {\n    fn eq(&self, other: &S) -> bool {\n        self.id == other.id\n    }\n}\n\nimpl Eq for S {}\n\nimpl PartialOrd for S {\n    fn partial_cmp(&self, other: &S) -> Option<Ordering> {\n        self.id.partial_cmp(&other.id)\n    }\n}\n\nimpl Ord for S {\n    fn cmp(&self, other: &S) -> Ordering {\n        self.id.cmp(&other.id)\n    }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = BTreeMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);
    \n
    1.66.0 · Source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · Source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · Source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · Source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · Source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · Source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · Source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · Source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · Source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    Source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · Source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · Source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · Source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · Source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · Source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · Source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · Source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · Source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    Source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · Source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · Source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    Source§

    fn clone(&self) -> BTreeMap<K, V, A>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    Source§

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V> Default for BTreeMap<K, V>

    Source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.7.0 · Source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.2.0 · Source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    Source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    Source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.56.0 · Source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<K, V>.

    \n

    If any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

    \n

    If the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.

    \n
    ","FromIterator<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    Source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    Source§

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    Source§

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    Source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    Source§

    type Item = (K, V)

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    §

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    §

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    §

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    Source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    Source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    Source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.64.0 · Source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"]]],["bdk_wallet",[["
    Source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · Source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · Source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · Source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · Source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · Source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · Source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    Source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    Source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    Source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    Source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    Source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · Source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:

    \n
      \n
    • for key types where non-identical keys can be considered equal;
    • \n
    • for getting the &K stored key value from a borrowed &Q lookup key; or
    • \n
    • for getting a reference to a key with the same lifetime as the collection.
    • \n
    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::cmp::Ordering;\nuse std::collections::BTreeMap;\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n    id: u32,\n    name: &'static str, // ignored by equality and ordering operations\n}\n\nimpl PartialEq for S {\n    fn eq(&self, other: &S) -> bool {\n        self.id == other.id\n    }\n}\n\nimpl Eq for S {}\n\nimpl PartialOrd for S {\n    fn partial_cmp(&self, other: &S) -> Option<Ordering> {\n        self.id.partial_cmp(&other.id)\n    }\n}\n\nimpl Ord for S {\n    fn cmp(&self, other: &S) -> Ordering {\n        self.id.cmp(&other.id)\n    }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = BTreeMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);
    \n
    1.66.0 · Source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · Source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · Source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · Source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · Source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · Source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · Source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · Source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · Source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    Source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · Source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · Source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · Source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · Source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · Source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · Source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · Source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · Source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    Source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · Source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · Source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    Source§

    fn clone(&self) -> BTreeMap<K, V, A>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    Source§

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V> Default for BTreeMap<K, V>

    Source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.7.0 · Source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.2.0 · Source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    Source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    Source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.56.0 · Source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<K, V>.

    \n

    If any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

    \n

    If the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.

    \n
    ","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    Source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    Source§

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

    §

    fn into_assets(self) -> Assets

    Convert self into a Assets struct
    ","IntoAssets","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    Source§

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    Source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    Source§

    type Item = (K, V)

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    §

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    §

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    Source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    Source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    Source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.64.0 · Source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]]]); + var type_impls = Object.fromEntries([["bdk_chain",[["
    Source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · Source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · Source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · Source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · Source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · Source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · Source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    Source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    Source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    Source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    Source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    Source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · Source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:

    \n
      \n
    • for key types where non-identical keys can be considered equal;
    • \n
    • for getting the &K stored key value from a borrowed &Q lookup key; or
    • \n
    • for getting a reference to a key with the same lifetime as the collection.
    • \n
    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::cmp::Ordering;\nuse std::collections::BTreeMap;\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n    id: u32,\n    name: &'static str, // ignored by equality and ordering operations\n}\n\nimpl PartialEq for S {\n    fn eq(&self, other: &S) -> bool {\n        self.id == other.id\n    }\n}\n\nimpl Eq for S {}\n\nimpl PartialOrd for S {\n    fn partial_cmp(&self, other: &S) -> Option<Ordering> {\n        self.id.partial_cmp(&other.id)\n    }\n}\n\nimpl Ord for S {\n    fn cmp(&self, other: &S) -> Ordering {\n        self.id.cmp(&other.id)\n    }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = BTreeMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);
    \n
    1.66.0 · Source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · Source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · Source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · Source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · Source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · Source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · Source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · Source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · Source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    Source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · Source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · Source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · Source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · Source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · Source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · Source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · Source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · Source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    Source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · Source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · Source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    Source§

    fn clone(&self) -> BTreeMap<K, V, A>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    Source§

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V> Default for BTreeMap<K, V>

    Source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.7.0 · Source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.2.0 · Source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    Source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    Source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.56.0 · Source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<K, V>.

    \n

    If any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

    \n

    If the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.

    \n
    ","FromIterator<(K, V)>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    Source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    Source§

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    Source§

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    Source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    Source§

    type Item = (K, V)

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    Source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    Source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    Source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    Source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.0.0 · Source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"],["
    1.64.0 · Source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_chain::bitcoin::psbt::SigningKeysMap","bdk_chain::bitcoin::psbt::SigningErrors"]]],["bdk_wallet",[["
    Source§

    impl<K, V> BTreeMap<K, V>

    1.0.0 (const: 1.66.0) · Source

    pub const fn new() -> BTreeMap<K, V>

    Makes a new, empty BTreeMap.

    \n

    Does not allocate anything on its own.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn iter(&self) -> Iter<'_, K, V>

    Gets an iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"c\");\nmap.insert(2, \"b\");\nmap.insert(1, \"a\");\n\nfor (key, value) in map.iter() {\n    println!(\"{key}: {value}\");\n}\n\nlet (first_key, first_value) = map.iter().next().unwrap();\nassert_eq!((*first_key, *first_value), (1, \"a\"));
    \n
    1.0.0 · Source

    pub fn iter_mut(&mut self) -> IterMut<'_, K, V>

    Gets a mutable iterator over the entries of the map, sorted by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::from([\n   (\"a\", 1),\n   (\"b\", 2),\n   (\"c\", 3),\n]);\n\n// add 10 to the value if the key isn't \"a\"\nfor (key, value) in map.iter_mut() {\n    if key != &\"a\" {\n        *value += 10;\n    }\n}
    \n
    1.0.0 · Source

    pub fn keys(&self) -> Keys<'_, K, V>

    Gets an iterator over the keys of the map, in sorted order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<_> = a.keys().cloned().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.0.0 · Source

    pub fn values(&self) -> Values<'_, K, V>

    Gets an iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.values().cloned().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    1.10.0 · Source

    pub fn values_mut(&mut self) -> ValuesMut<'_, K, V>

    Gets a mutable iterator over the values of the map, in order by key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, String::from(\"hello\"));\na.insert(2, String::from(\"goodbye\"));\n\nfor value in a.values_mut() {\n    value.push_str(\"!\");\n}\n\nlet values: Vec<String> = a.values().cloned().collect();\nassert_eq!(values, [String::from(\"hello!\"),\n                    String::from(\"goodbye!\")]);
    \n
    1.0.0 (const: unstable) · Source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert_eq!(a.len(), 0);\na.insert(1, \"a\");\nassert_eq!(a.len(), 1);
    \n
    1.0.0 (const: unstable) · Source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\nassert!(a.is_empty());\na.insert(1, \"a\");\nassert!(!a.is_empty());
    \n
    Source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.lower_bound(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &\"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &\"b\")));\n\nlet cursor = map.lower_bound(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.lower_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &\"a\")));
    \n
    Source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap before the smallest key\ngreater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap before the smallest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.lower_bound_mut(Bound::Included(&2));\nassert_eq!(cursor.peek_prev(), Some((&1, &mut \"a\")));\nassert_eq!(cursor.peek_next(), Some((&2, &mut \"b\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.lower_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), None);\nassert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));
    \n
    Source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a Cursor pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet cursor = map.upper_bound(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &\"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &\"d\")));\n\nlet cursor = map.upper_bound(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n\nlet cursor = map.upper_bound(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    Source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    🔬This is a nightly-only experimental API. (btree_cursors)

    Returns a CursorMut pointing at the gap after the greatest key\nsmaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\ngap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\ngap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\ngap after the greatest key in the map.

    \n
    §Examples
    \n
    #![feature(btree_cursors)]\n\nuse std::collections::BTreeMap;\nuse std::ops::Bound;\n\nlet mut map = BTreeMap::from([\n    (1, \"a\"),\n    (2, \"b\"),\n    (3, \"c\"),\n    (4, \"d\"),\n]);\n\nlet mut cursor = map.upper_bound_mut(Bound::Included(&3));\nassert_eq!(cursor.peek_prev(), Some((&3, &mut \"c\")));\nassert_eq!(cursor.peek_next(), Some((&4, &mut \"d\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\nassert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\nassert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n\nlet mut cursor = map.upper_bound_mut(Bound::Unbounded);\nassert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\nassert_eq!(cursor.peek_next(), None);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.clear();\nassert!(a.is_empty());
    \n
    Source

    pub const fn new_in(alloc: A) -> BTreeMap<K, V, A>

    🔬This is a nightly-only experimental API. (btreemap_alloc)

    Makes a new empty BTreeMap with a reasonable choice for B.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::alloc::Global;\n\nlet mut map = BTreeMap::new_in(Global);\n\n// entries can now be inserted into the empty map\nmap.insert(1, \"a\");
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V, A> BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    1.0.0 · Source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.get(&1), Some(&\"a\"));\nassert_eq!(map.get(&2), None);
    \n
    1.40.0 · Source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key. This is\npotentially useful:

    \n
      \n
    • for key types where non-identical keys can be considered equal;
    • \n
    • for getting the &K stored key value from a borrowed &Q lookup key; or
    • \n
    • for getting a reference to a key with the same lifetime as the collection.
    • \n
    \n

    The supplied key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::cmp::Ordering;\nuse std::collections::BTreeMap;\n\n#[derive(Clone, Copy, Debug)]\nstruct S {\n    id: u32,\n    name: &'static str, // ignored by equality and ordering operations\n}\n\nimpl PartialEq for S {\n    fn eq(&self, other: &S) -> bool {\n        self.id == other.id\n    }\n}\n\nimpl Eq for S {}\n\nimpl PartialOrd for S {\n    fn partial_cmp(&self, other: &S) -> Option<Ordering> {\n        self.id.partial_cmp(&other.id)\n    }\n}\n\nimpl Ord for S {\n    fn cmp(&self, other: &S) -> Ordering {\n        self.id.cmp(&other.id)\n    }\n}\n\nlet j_a = S { id: 1, name: \"Jessica\" };\nlet j_b = S { id: 1, name: \"Jess\" };\nlet p = S { id: 2, name: \"Paul\" };\nassert_eq!(j_a, j_b);\n\nlet mut map = BTreeMap::new();\nmap.insert(j_a, \"Paris\");\nassert_eq!(map.get_key_value(&j_a), Some((&j_a, &\"Paris\")));\nassert_eq!(map.get_key_value(&j_b), Some((&j_a, &\"Paris\"))); // the notable case\nassert_eq!(map.get_key_value(&p), None);
    \n
    1.66.0 · Source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the first key-value pair in the map.\nThe key in this pair is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.first_key_value(), None);\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    \n
    1.66.0 · Source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the first entry in the map for in-place manipulation.\nThe key of this entry is the minimum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.first_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"first\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"first\");\nassert_eq!(*map.get(&2).unwrap(), \"b\");
    \n
    1.66.0 · Source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the first element in the map.\nThe key of this element is the minimum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_first() {\n    assert!(map.iter().all(|(k, _v)| *k > key));\n}\nassert!(map.is_empty());
    \n
    1.66.0 · Source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n K: Ord,

    Returns the last key-value pair in the map.\nThe key in this pair is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"b\");\nmap.insert(2, \"a\");\nassert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    \n
    1.66.0 · Source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n K: Ord,

    Returns the last entry in the map for in-place manipulation.\nThe key of this entry is the maximum key in the map.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nif let Some(mut entry) = map.last_entry() {\n    if *entry.key() > 0 {\n        entry.insert(\"last\");\n    }\n}\nassert_eq!(*map.get(&1).unwrap(), \"a\");\nassert_eq!(*map.get(&2).unwrap(), \"last\");
    \n
    1.66.0 · Source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n K: Ord,

    Removes and returns the last element in the map.\nThe key of this element is the maximum key that was in the map.

    \n
    §Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n\n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nmap.insert(2, \"b\");\nwhile let Some((key, _val)) = map.pop_last() {\n    assert!(map.iter().all(|(k, _v)| *k < key));\n}\nassert!(map.is_empty());
    \n
    1.0.0 · Source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.contains_key(&1), true);\nassert_eq!(map.contains_key(&2), false);
    \n
    1.0.0 · Source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nif let Some(x) = map.get_mut(&1) {\n    *x = \"b\";\n}\nassert_eq!(map[&1], \"b\");
    \n
    1.0.0 · Source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\nvalue is returned. The key is not updated, though; this matters for\ntypes that can be == without being identical. See the module-level\ndocumentation for more.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.insert(37, \"a\"), None);\nassert_eq!(map.is_empty(), false);\n\nmap.insert(37, \"b\");\nassert_eq!(map.insert(37, \"c\"), Some(\"b\"));\nassert_eq!(map[&37], \"c\");
    \n
    Source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V,\n) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n K: Ord,

    🔬This is a nightly-only experimental API. (map_try_insert)

    Tries to insert a key-value pair into the map, and returns\na mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\nan error containing the occupied entry and the value is returned.

    \n
    §Examples
    \n
    #![feature(map_try_insert)]\n\nuse std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nassert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n\nlet err = map.try_insert(37, \"b\").unwrap_err();\nassert_eq!(err.entry.key(), &37);\nassert_eq!(err.entry.get(), &\"a\");\nassert_eq!(err.value, \"b\");
    \n
    1.0.0 · Source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove(&1), Some(\"a\"));\nassert_eq!(map.remove(&1), None);
    \n
    1.45.0 · Source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\nwas previously in the map.

    \n

    The key may be any borrowed form of the map’s key type, but the ordering\non the borrowed form must match the ordering on the key type.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map = BTreeMap::new();\nmap.insert(1, \"a\");\nassert_eq!(map.remove_entry(&1), Some((1, \"a\")));\nassert_eq!(map.remove_entry(&1), None);
    \n
    1.53.0 · Source

    pub fn retain<F>(&mut self, f: F)
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\nThe elements are visited in ascending key order.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n// Keep only the elements with even-numbered keys.\nmap.retain(|&k, _| k % 2 == 0);\nassert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    \n
    1.11.0 · Source

    pub fn append(&mut self, other: &mut BTreeMap<K, V, A>)
    where\n K: Ord,\n A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\nvalue from self will be overwritten with the respective value from other.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\"); // Note: Key (3) also present in b.\n\nlet mut b = BTreeMap::new();\nb.insert(3, \"d\"); // Note: Key (3) also present in a.\nb.insert(4, \"e\");\nb.insert(5, \"f\");\n\na.append(&mut b);\n\nassert_eq!(a.len(), 5);\nassert_eq!(b.len(), 0);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\nassert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\nassert_eq!(a[&4], \"e\");\nassert_eq!(a[&5], \"f\");
    \n
    1.17.0 · Source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\nuse std::ops::Bound::Included;\n\nlet mut map = BTreeMap::new();\nmap.insert(3, \"a\");\nmap.insert(5, \"b\");\nmap.insert(8, \"c\");\nfor (&key, &value) in map.range((Included(&4), Included(&8))) {\n    println!(\"{key}: {value}\");\n}\nassert_eq!(Some((&5, &\"b\")), map.range(4..).next());
    \n
    1.17.0 · Source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V>
    where\n T: Ord + ?Sized,\n K: Borrow<T> + Ord,\n R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\nThe simplest way is to use the range syntax min..max, thus range(min..max) will\nyield elements from min (inclusive) to max (exclusive).\nThe range may also be entered as (Bound<T>, Bound<T>), so for example\nrange((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\nrange from 4 to 10.

    \n
    §Panics
    \n

    Panics if range start > end.\nPanics if range start == end and both bounds are Excluded.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut map: BTreeMap<&str, i32> =\n    [(\"Alice\", 0), (\"Bob\", 0), (\"Carol\", 0), (\"Cheryl\", 0)].into();\nfor (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n    *balance += 100;\n}\nfor (name, balance) in &map {\n    println!(\"{name} => {balance}\");\n}
    \n
    1.0.0 · Source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n K: Ord,

    Gets the given key’s corresponding entry in the map for in-place manipulation.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut count: BTreeMap<&str, usize> = BTreeMap::new();\n\n// count the number of occurrences of letters in the vec\nfor x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n    count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n}\n\nassert_eq!(count[\"a\"], 3);\nassert_eq!(count[\"b\"], 2);\nassert_eq!(count[\"c\"], 1);
    \n
    1.11.0 · Source

    pub fn split_off<Q>(&mut self, key: &Q) -> BTreeMap<K, V, A>
    where\n Q: Ord + ?Sized,\n K: Borrow<Q> + Ord,\n A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\nincluding the key.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"a\");\na.insert(2, \"b\");\na.insert(3, \"c\");\na.insert(17, \"d\");\na.insert(41, \"e\");\n\nlet b = a.split_off(&3);\n\nassert_eq!(a.len(), 2);\nassert_eq!(b.len(), 3);\n\nassert_eq!(a[&1], \"a\");\nassert_eq!(a[&2], \"b\");\n\nassert_eq!(b[&3], \"c\");\nassert_eq!(b[&17], \"d\");\nassert_eq!(b[&41], \"e\");
    \n
    Source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A>
    where\n K: Ord,\n F: FnMut(&K, &mut V) -> bool,

    🔬This is a nightly-only experimental API. (btree_extract_if)

    Creates an iterator that visits all elements (key-value pairs) in\nascending key order and uses a closure to determine if an element should\nbe removed. If the closure returns true, the element is removed from\nthe map and yielded. If the closure returns false, or panics, the\nelement remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\nclosure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\nor the iteration short-circuits, then the remaining elements will be retained.\nUse retain with a negated predicate if you do not need the returned iterator.

    \n
    §Examples
    \n

    Splitting a map into even and odd keys, reusing the original map:

    \n\n
    #![feature(btree_extract_if)]\nuse std::collections::BTreeMap;\n\nlet mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x)).collect();\nlet evens: BTreeMap<_, _> = map.extract_if(|k, _v| k % 2 == 0).collect();\nlet odds = map;\nassert_eq!(evens.keys().copied().collect::<Vec<_>>(), [0, 2, 4, 6]);\nassert_eq!(odds.keys().copied().collect::<Vec<_>>(), [1, 3, 5, 7]);
    \n
    1.54.0 · Source

    pub fn into_keys(self) -> IntoKeys<K, V, A>

    Creates a consuming iterator visiting all the keys, in sorted order.\nThe map cannot be used after calling this.\nThe iterator element type is K.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(2, \"b\");\na.insert(1, \"a\");\n\nlet keys: Vec<i32> = a.into_keys().collect();\nassert_eq!(keys, [1, 2]);
    \n
    1.54.0 · Source

    pub fn into_values(self) -> IntoValues<K, V, A>

    Creates a consuming iterator visiting all the values, in order by key.\nThe map cannot be used after calling this.\nThe iterator element type is V.

    \n
    §Examples
    \n
    use std::collections::BTreeMap;\n\nlet mut a = BTreeMap::new();\na.insert(1, \"hello\");\na.insert(2, \"goodbye\");\n\nlet values: Vec<&str> = a.into_values().collect();\nassert_eq!(values, [\"hello\", \"goodbye\"]);
    \n
    ",0,"bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Clone for BTreeMap<K, V, A>
    where\n K: Clone,\n V: Clone,\n A: Allocator + Clone,

    Source§

    fn clone(&self) -> BTreeMap<K, V, A>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Debug for BTreeMap<K, V, A>
    where\n K: Debug,\n V: Debug,\n A: Allocator + Clone,

    Source§

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V> Default for BTreeMap<K, V>

    Source§

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n
    ","Default","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<'de, K, V> Deserialize<'de> for BTreeMap<K, V>
    where\n K: Deserialize<'de> + Ord,\n V: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<BTreeMap<K, V>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.7.0 · Source§

    impl<K, V, A> Drop for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.2.0 · Source§

    impl<'a, K, V, A> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>
    where\n K: Ord + Copy,\n V: Copy,\n A: Allocator + Clone,

    Source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = (&'a K, &'a V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (&'a K, &'a V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(&'a K, &'a V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Extend<(K, V)> for BTreeMap<K, V, A>
    where\n K: Ord,\n A: Allocator + Clone,

    Source§

    fn extend<T>(&mut self, iter: T)
    where\n T: IntoIterator<Item = (K, V)>,

    Extends a collection with the contents of an iterator. Read more
    Source§

    fn extend_one(&mut self, _: (K, V))

    🔬This is a nightly-only experimental API. (extend_one)
    Extends a collection with exactly one element.
    Source§

    fn extend_reserve(&mut self, additional: usize)

    🔬This is a nightly-only experimental API. (extend_one)
    Reserves capacity in a collection for the given number of additional elements. Read more
    ","Extend<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.56.0 · Source§

    impl<K, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from(arr: [(K, V); N]) -> BTreeMap<K, V>

    Converts a [(K, V); N] into a BTreeMap<K, V>.

    \n

    If any entries in the array have equal keys,\nall but one of the corresponding values will be dropped.

    \n\n
    use std::collections::BTreeMap;\n\nlet map1 = BTreeMap::from([(1, 2), (3, 4)]);\nlet map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\nassert_eq!(map1, map2);
    \n
    ","From<[(K, V); N]>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V> FromIterator<(K, V)> for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn from_iter<T>(iter: T) -> BTreeMap<K, V>
    where\n T: IntoIterator<Item = (K, V)>,

    Constructs a BTreeMap<K, V> from an iterator of key-value pairs.

    \n

    If the iterator produces any pairs with equal keys,\nall but one of the corresponding values will be dropped.

    \n
    ","FromIterator<(K, V)>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Hash for BTreeMap<K, V, A>
    where\n K: Hash,\n V: Hash,\n A: Allocator + Clone,

    Source§

    fn hash<H>(&self, state: &mut H)
    where\n H: Hasher,

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, Q, V, A> Index<&Q> for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,\n K: Borrow<Q> + Ord,\n Q: Ord + ?Sized,

    Source§

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    §Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n
    Source§

    type Output = V

    The returned type after indexing.
    ","Index<&Q>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    §

    impl IntoAssets for BTreeMap<DescriptorPublicKey, DescriptorSecretKey>

    §

    fn into_assets(self) -> Assets

    Convert self into a Assets struct
    ","IntoAssets","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<'de, K, V, E> IntoDeserializer<'de, E> for BTreeMap<K, V>
    where\n K: IntoDeserializer<'de, E> + Eq + Ord,\n V: IntoDeserializer<'de, E>,\n E: Error,

    Source§

    type Deserializer = MapDeserializer<'de, <BTreeMap<K, V> as IntoIterator>::IntoIter, E>

    The type of the deserializer being converted into.
    Source§

    fn into_deserializer(\n self,\n) -> <BTreeMap<K, V> as IntoDeserializer<'de, E>>::Deserializer

    Convert this value into a deserializer.
    ","IntoDeserializer<'de, E>","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> IntoIterator for BTreeMap<K, V, A>
    where\n A: Allocator + Clone,

    Source§

    fn into_iter(self) -> IntoIter<K, V, A>

    Gets an owning iterator over the entries of the map, sorted by key.

    \n
    Source§

    type Item = (K, V)

    The type of the elements being iterated over.
    Source§

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    ","IntoIterator","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V> Merge for BTreeMap<K, V>
    where\n K: Ord,

    Source§

    fn merge(&mut self, other: BTreeMap<K, V>)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Ord for BTreeMap<K, V, A>
    where\n K: Ord,\n V: Ord,\n A: Allocator + Clone,

    Source§

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> PartialEq for BTreeMap<K, V, A>
    where\n K: PartialEq,\n V: PartialEq,\n A: Allocator + Clone,

    Source§

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> PartialOrd for BTreeMap<K, V, A>
    where\n K: PartialOrd,\n V: PartialOrd,\n A: Allocator + Clone,

    Source§

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    Source§

    impl<K, V> Serialize for BTreeMap<K, V>
    where\n K: Serialize,\n V: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.0.0 · Source§

    impl<K, V, A> Eq for BTreeMap<K, V, A>
    where\n K: Eq,\n V: Eq,\n A: Allocator + Clone,

    ","Eq","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"],["
    1.64.0 · Source§

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>

    ","UnwindSafe","bdk_wallet::descriptor::policy::ConditionMap","bdk_wallet::descriptor::policy::FoldedConditionMap","bdk_wallet::descriptor::HdKeyPaths","bdk_wallet::descriptor::TapKeyOrigins","bdk_wallet::keys::KeyMap"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[170640,173278]} \ No newline at end of file +//{"start":55,"fragment_lengths":[170944,173853]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js index 6b60a40577..496f0f7448 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["example_cli",[["
    §

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

    §

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

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Clone for IndexedTxGraph<A, I>
    where\n A: Clone,\n I: Clone,

    §

    fn clone(&self) -> IndexedTxGraph<A, I>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Debug for IndexedTxGraph<A, I>
    where\n A: Debug,\n I: Debug,

    §

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

    Formats the value using the given formatter. Read more
    ","Debug","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> Default for IndexedTxGraph<A, I>
    where\n I: Default,

    §

    fn default() -> IndexedTxGraph<A, I>

    Returns the “default value” for a type. Read more
    ","Default","example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>

    pub fn new(index: I) -> IndexedTxGraph<A, I>

    Construct a new [IndexedTxGraph] with a given index.

    \n

    pub fn graph(&self) -> &TxGraph<A>

    Get a reference of the internal transaction graph.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n <I as Indexer>::ChangeSet: Default + Merge,\n A: for<'b> Anchor + for<'b> From<TxPosInBlock<'b>>,\n I: Indexer,

    Methods are available if the anchor (A) can be created from [TxPosInBlock].

    \n

    pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

    \n

    Each inserted transaction’s anchor will be constructed using [TxPosInBlock].

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    pub fn apply_block(\n &mut self,\n block: Block,\n height: u32,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height.

    \n

    Each inserted transaction’s anchor will be constructed using [TxPosInBlock].

    \n

    To only insert relevant transactions, use apply_block_relevant instead.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,

    pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>,\n)

    Applies the [ChangeSet] to the [IndexedTxGraph].

    \n

    pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Determines the [ChangeSet] between self and an empty [IndexedTxGraph].

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    §

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    pub fn apply_update(\n &mut self,\n update: TxUpdate<A>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply an update directly.

    \n

    update is a [tx_graph::TxUpdate<A>] and the resultant changes is returned as [ChangeSet].

    \n

    pub fn apply_update_at(\n &mut self,\n update: TxUpdate<A>,\n seen_at: Option<u64>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply the given update with an optional seen_at timestamp.

    \n

    seen_at represents when the update is seen (in unix seconds). It is used to determine the\nlast_seens for all transactions in the update which have no corresponding anchor(s). The\nlast_seen value is used internally to determine precedence of conflicting unconfirmed\ntransactions (where the transaction with the lower last_seen value is omitted from the\ncanonical history).

    \n

    Not setting a seen_at value means unconfirmed transactions introduced by this update will\nnot be part of the canonical history of transactions.

    \n

    Use apply_update to have the seen_at value automatically\nset to the current time.

    \n

    pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a floating txout of given outpoint.

    \n

    pub fn insert_tx<T>(&mut self, tx: T) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Insert and index a transaction into the graph.

    \n

    pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert an anchor for a given transaction.

    \n

    pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a unix timestamp of when a transaction is seen in the mempool.

    \n

    This is used for transaction conflict resolution in [TxGraph] where the transaction with\nthe later last-seen is prioritized.

    \n

    pub fn batch_insert_relevant<T>(\n &mut self,\n txs: impl IntoIterator<Item = (T, impl IntoIterator<Item = A>)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the [Indexer::is_tx_relevant] implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

    \n

    pub fn batch_insert_relevant_unconfirmed<T>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (T, u64)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert unconfirmed transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the internal [Indexer::is_tx_relevant] implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    pub fn batch_insert_unconfirmed<T>(\n &mut self,\n txs: impl IntoIterator<Item = (T, u64)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert unconfirmed transactions.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in [TxGraph] (refer to [TxGraph::insert_seen_at] for details).

    \n

    To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

    \n
    ",0,"example_cli::KeychainTxGraph"]]]]); + var type_impls = Object.fromEntries([["example_cli",[["
    Source§

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

    Source§

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

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef>","example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> Clone for IndexedTxGraph<A, I>
    where\n A: Clone,\n I: Clone,

    Source§

    fn clone(&self) -> IndexedTxGraph<A, I>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> Debug for IndexedTxGraph<A, I>
    where\n A: Debug,\n I: Debug,

    Source§

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

    Formats the value using the given formatter. Read more
    ","Debug","example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> Default for IndexedTxGraph<A, I>
    where\n I: Default,

    Source§

    fn default() -> IndexedTxGraph<A, I>

    Returns the “default value” for a type. Read more
    ","Default","example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> IndexedTxGraph<A, I>
    where\n <I as Indexer>::ChangeSet: Default + Merge,\n A: for<'b> Anchor + for<'b> From<TxPosInBlock<'b>>,\n I: Indexer,

    Methods are available if the anchor (A) can be created from TxPosInBlock.

    \n
    Source

    pub fn apply_block_relevant(\n &mut self,\n block: &Block,\n height: u32,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height, filtering out those that are\nirrelevant.

    \n

    Each inserted transaction’s anchor will be constructed using TxPosInBlock.

    \n

    Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n
    Source

    pub fn apply_block(\n &mut self,\n block: Block,\n height: u32,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Batch insert all transactions of the given block of height.

    \n

    Each inserted transaction’s anchor will be constructed using TxPosInBlock.

    \n

    To only insert relevant transactions, use apply_block_relevant instead.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> IndexedTxGraph<A, I>

    Source

    pub fn new(index: I) -> IndexedTxGraph<A, I>

    Construct a new IndexedTxGraph with a given index.

    \n
    Source

    pub fn graph(&self) -> &TxGraph<A>

    Get a reference of the internal transaction graph.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,

    Source

    pub fn apply_changeset(\n &mut self,\n changeset: ChangeSet<A, <I as Indexer>::ChangeSet>,\n)

    Applies the ChangeSet to the IndexedTxGraph.

    \n
    Source

    pub fn initial_changeset(&self) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Determines the ChangeSet between self and an empty IndexedTxGraph.

    \n
    ",0,"example_cli::KeychainTxGraph"],["
    Source§

    impl<A, I> IndexedTxGraph<A, I>
    where\n A: Anchor,\n I: Indexer,\n <I as Indexer>::ChangeSet: Default + Merge,

    Source

    pub fn apply_update(\n &mut self,\n update: TxUpdate<A>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply an update directly.

    \n

    update is a tx_graph::TxUpdate<A> and the resultant changes is returned as ChangeSet.

    \n
    Source

    pub fn apply_update_at(\n &mut self,\n update: TxUpdate<A>,\n seen_at: Option<u64>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Apply the given update with an optional seen_at timestamp.

    \n

    seen_at represents when the update is seen (in unix seconds). It is used to determine the\nlast_seens for all transactions in the update which have no corresponding anchor(s). The\nlast_seen value is used internally to determine precedence of conflicting unconfirmed\ntransactions (where the transaction with the lower last_seen value is omitted from the\ncanonical history).

    \n

    Not setting a seen_at value means unconfirmed transactions introduced by this update will\nnot be part of the canonical history of transactions.

    \n

    Use apply_update to have the seen_at value automatically\nset to the current time.

    \n
    Source

    pub fn insert_txout(\n &mut self,\n outpoint: OutPoint,\n txout: TxOut,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a floating txout of given outpoint.

    \n
    Source

    pub fn insert_tx<T>(&mut self, tx: T) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Insert and index a transaction into the graph.

    \n
    Source

    pub fn insert_anchor(\n &mut self,\n txid: Txid,\n anchor: A,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert an anchor for a given transaction.

    \n
    Source

    pub fn insert_seen_at(\n &mut self,\n txid: Txid,\n seen_at: u64,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>

    Insert a unix timestamp of when a transaction is seen in the mempool.

    \n

    This is used for transaction conflict resolution in TxGraph where the transaction with\nthe later last-seen is prioritized.

    \n
    Source

    pub fn batch_insert_relevant<T>(\n &mut self,\n txs: impl IntoIterator<Item = (T, impl IntoIterator<Item = A>)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the Indexer::is_tx_relevant implementation of I. Irrelevant\ntransactions in txs will be ignored. txs do not need to be in topological order.

    \n
    Source

    pub fn batch_insert_relevant_unconfirmed<T>(\n &mut self,\n unconfirmed_txs: impl IntoIterator<Item = (T, u64)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert unconfirmed transactions, filtering out those that are irrelevant.

    \n

    Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.\nIrrelevant transactions in txs will be ignored.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

    \n
    Source

    pub fn batch_insert_unconfirmed<T>(\n &mut self,\n txs: impl IntoIterator<Item = (T, u64)>,\n) -> ChangeSet<A, <I as Indexer>::ChangeSet>
    where\n T: Into<Arc<Transaction>>,

    Batch insert unconfirmed transactions.

    \n

    Items of txs are tuples containing the transaction and a last seen timestamp. The\nlast seen communicates when the transaction is last seen in the mempool which is used for\nconflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).

    \n

    To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.

    \n
    ",0,"example_cli::KeychainTxGraph"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[20862]} \ No newline at end of file +//{"start":55,"fragment_lengths":[36299]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js index 11ddca0a8a..e26a1c97b6 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_chain/tx_graph/struct.CanonicalTx.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["bdk_wallet",[["
    §

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

    §

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

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

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

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

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

    §

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

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

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

    §

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

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

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

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

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

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

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

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

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

    §

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::wallet::WalletTx"],["
    §

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

    §

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::wallet::WalletTx"],["
    §

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

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

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

    ","StructuralPartialEq","bdk_wallet::wallet::WalletTx"]]]]); + var type_impls = Object.fromEntries([["bdk_wallet",[["
    Source§

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

    Source§

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

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

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

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

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

    Source§

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

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

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

    Source§

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

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

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

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

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

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

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

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

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

    Source§

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

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::wallet::WalletTx"],["
    Source§

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

    Source§

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::wallet::WalletTx"],["
    Source§

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

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

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

    ","StructuralPartialEq","bdk_wallet::wallet::WalletTx"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[18039]} \ No newline at end of file +//{"start":55,"fragment_lengths":[20397]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js index a66bf7548f..e5210c3115 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/bdk_wallet/descriptor/enum.Descriptor.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["bdk_wallet",[["
    §

    impl<Pk> Clone for Descriptor<Pk>
    where\n Pk: Clone + MiniscriptKey,

    §

    fn clone(&self) -> Descriptor<Pk>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Debug for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n
    §Examples
    \n
    use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn plan<P>(\n self,\n provider: &P,\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n

    pub fn plan_mall<P>(\n self,\n provider: &P,\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DescriptorPublicKey>

    pub fn is_deriveable(&self) -> bool

    👎Deprecated: use has_wildcards instead

    Whether or not the descriptor has any wildcards

    \n

    pub fn has_wildcard(&self) -> bool

    Whether or not the descriptor has any wildcards i.e. /*.

    \n

    pub fn at_derivation_index(\n &self,\n index: u32,\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

    \n
    §Errors
    \n
      \n
    • If index ≥ 2^31
    • \n
    \n

    pub fn derive(\n &self,\n index: u32,\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    👎Deprecated: use at_derivation_index instead

    Deprecated name for Self::at_derivation_index.

    \n

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32,\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n

    This is a shorthand for:

    \n\n
        .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
    \n

    and is only here really here for backwards compatibility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n

    pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str,\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
    where\n C: Signing,

    Parse a descriptor that may contain secret keys

    \n

    Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

    \n

    pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>,\n) -> String

    Serialize a descriptor to string with its secret keys

    \n

    pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>,\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
    where\n C: Verification,

    Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

    \n

    If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

    \n

    pub fn is_multipath(&self) -> bool

    Whether this descriptor contains a key that has multiple derivation paths.

    \n

    pub fn into_single_descriptors(\n self,\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

    Get as many descriptors as different paths in this descriptor.

    \n

    For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey + ToPublicKey,

    pub fn address(&self, network: Network) -> Result<Address, Error>

    Computes the Bitcoin address of the descriptor, if one exists

    \n

    Some descriptors like pk() don’t have an address.

    \n
    §Errors
    \n

    For raw/bare descriptors that don’t have an address.

    \n

    pub fn script_pubkey(&self) -> ScriptBuf

    Computes the scriptpubkey of the descriptor.

    \n

    pub fn unsigned_script_sig(&self) -> ScriptBuf

    Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

    \n

    This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

    \n

    pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

    Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn script_code(&self) -> Result<ScriptBuf, Error>

    Computes the scriptCode of a transaction output.

    \n

    The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn get_satisfaction<S>(\n &self,\n satisfier: S,\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S,\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
    where\n S: Satisfier<Pk>,

    Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    pub fn new_pk(pk: Pk) -> Descriptor<Pk>

    Create a new pk descriptor

    \n

    pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new PkH descriptor

    \n

    pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

    \n

    pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

    \n

    pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

    Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

    \n

    pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

    Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

    \n

    pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wpkh descriptor

    \n

    pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wsh descriptor

    \n

    pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

    \n

    pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>,\n) -> Result<Descriptor<Pk>, Error>

    Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

    \n

    pub fn desc_type(&self) -> DescriptorType

    Get the [DescriptorType] of Descriptor

    \n

    pub fn sanity_check(&self) -> Result<(), Error>

    Checks whether the descriptor is safe.

    \n

    Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

    \n

    In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

    \n

    pub fn max_weight_to_satisfy(&self) -> Result<Weight, Error>

    Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

    \n

    Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

    \n

    In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

    \n\n
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
    \n

    Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

    \n\n
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
    \n

    Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n

    pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

    👎Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.

    Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

    \n

    Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    §

    fn dust_value(&self) -> Amount

    Returns the minimum [Amount] at which an output is broadcast-able.\nPanics if the descriptor wildcard is hardened.
    §

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.
    ","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Display for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

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

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    Source§

    impl ExtractPolicy for Descriptor<DescriptorPublicKey>

    Source§

    fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>,\n) -> Result<Option<Policy>, Error>

    Extract the spending policy
    ","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn for_each_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
    §

    fn for_any_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
    ","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromStr for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    type Err = Error

    The associated error which can be returned from parsing.
    §

    fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromTree for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

    Parse an expression tree into a descriptor.

    \n
    ","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Hash for Descriptor<Pk>
    where\n Pk: Hash + MiniscriptKey,

    §

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

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Liftable<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn lift(&self) -> Result<Policy<Pk>, Error>

    Converts this object into an abstract policy.
    ","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Ord for Descriptor<Pk>
    where\n Pk: Ord + MiniscriptKey,

    §

    fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialEq for Descriptor<Pk>
    where\n Pk: PartialEq + MiniscriptKey,

    §

    fn eq(&self, other: &Descriptor<Pk>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialOrd for Descriptor<Pk>
    where\n Pk: PartialOrd + MiniscriptKey,

    §

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where\n P: MiniscriptKey,\n Q: MiniscriptKey,

    §

    fn translate_pk<T, E>(\n &self,\n t: &mut T,\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
    where\n T: Translator<P, Q, E>,

    Converts a descriptor using abstract keys to one using specific keys.

    \n
    §

    type Output = Descriptor<Q>

    The associated output type. This must be Self<Q>.
    ","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Eq for Descriptor<Pk>
    where\n Pk: Eq + MiniscriptKey,

    ","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> StructuralPartialEq for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    ","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]]]); + var type_impls = Object.fromEntries([["bdk_wallet",[["
    §

    impl<Pk> Clone for Descriptor<Pk>
    where\n Pk: Clone + MiniscriptKey,

    §

    fn clone(&self) -> Descriptor<Pk>

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

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

    Performs copy-assignment from source. Read more
    ","Clone","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Debug for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

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

    Formats the value using the given formatter. Read more
    ","Debug","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n
    §Examples
    \n
    use miniscript::descriptor::{Descriptor, DescriptorPublicKey};\nuse miniscript::bitcoin::secp256k1;\nuse std::str::FromStr;\n\n// test from bip 86\nlet secp = secp256k1::Secp256k1::verification_only();\nlet descriptor = Descriptor::<DescriptorPublicKey>::from_str(\"tr(xpub6BgBgsespWvERF3LHQu6CnqdvfEvtMcQjYrcRzx53QJjSxarj2afYWcLteoGVky7D3UKDP9QyrLprQ3VCECoY49yfdDEHGCtMMj92pReUsQ/0/*)\")\n    .expect(\"Valid ranged descriptor\");\nlet result = descriptor.at_derivation_index(0).unwrap().derived_descriptor(&secp).expect(\"Non-hardened derivation\");\nassert_eq!(result.to_string(), \"tr(03cc8a4bc64d897bddc5fbc2f670f7a8ba0b386779106cf1223c6fc5d7cd6fc115)#6qm9h8ym\");
    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DefiniteDescriptorKey>

    pub fn plan<P>(\n self,\n provider: &P,\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a non-malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n

    pub fn plan_mall<P>(\n self,\n provider: &P,\n) -> Result<Plan, Descriptor<DefiniteDescriptorKey>>
    where\n P: AssetProvider<DefiniteDescriptorKey>,

    Returns a plan if the provided assets are sufficient to produce a malleable satisfaction

    \n

    If the assets aren’t sufficient for generating a Plan, the descriptor is returned

    \n
    ",0,"bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl Descriptor<DescriptorPublicKey>

    pub fn is_deriveable(&self) -> bool

    👎Deprecated: use has_wildcards instead

    Whether or not the descriptor has any wildcards

    \n

    pub fn has_wildcard(&self) -> bool

    Whether or not the descriptor has any wildcards i.e. /*.

    \n

    pub fn at_derivation_index(\n &self,\n index: u32,\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    Replaces all wildcards (i.e. /*) in the descriptor with a particular derivation index,\nturning it into a definite descriptor.

    \n
    §Errors
    \n
      \n
    • If index ≥ 2^31
    • \n
    \n

    pub fn derive(\n &self,\n index: u32,\n) -> Result<Descriptor<DefiniteDescriptorKey>, ConversionError>

    👎Deprecated: use at_derivation_index instead

    Deprecated name for Self::at_derivation_index.

    \n

    pub fn derived_descriptor<C>(\n &self,\n secp: &Secp256k1<C>,\n index: u32,\n) -> Result<Descriptor<PublicKey>, ConversionError>
    where\n C: Verification,

    Convert all the public keys in the descriptor to [bitcoin::PublicKey] by deriving them or\notherwise converting them. All [bitcoin::secp256k1::XOnlyPublicKey]s are converted to by adding a\ndefault(0x02) y-coordinate.

    \n

    This is a shorthand for:

    \n\n
        .expect(\"Valid ranged descriptor\");\nlet derived_descriptor = descriptor.at_derivation_index(index).unwrap().derived_descriptor(&secp).unwrap();
    \n

    and is only here really here for backwards compatibility.\nSee at_derivation_index and [derived_descriptor] for more documentation.

    \n
    §Errors
    \n

    This function will return an error if hardened derivation is attempted.

    \n

    pub fn parse_descriptor<C>(\n secp: &Secp256k1<C>,\n s: &str,\n) -> Result<(Descriptor<DescriptorPublicKey>, BTreeMap<DescriptorPublicKey, DescriptorSecretKey>), Error>
    where\n C: Signing,

    Parse a descriptor that may contain secret keys

    \n

    Internally turns every secret key found into the corresponding public key and then returns a\na descriptor that only contains public keys and a map to lookup the secret key given a public key.

    \n

    pub fn to_string_with_secret(\n &self,\n key_map: &BTreeMap<DescriptorPublicKey, DescriptorSecretKey>,\n) -> String

    Serialize a descriptor to string with its secret keys

    \n

    pub fn find_derivation_index_for_spk<C>(\n &self,\n secp: &Secp256k1<C>,\n script_pubkey: &Script,\n range: Range<u32>,\n) -> Result<Option<(u32, Descriptor<PublicKey>)>, ConversionError>
    where\n C: Verification,

    Utility method for deriving the descriptor at each index in a range to find one matching\nscript_pubkey.

    \n

    If it finds a match then it returns the index it was derived at and the concrete\ndescriptor at that index. If the descriptor is non-derivable then it will simply check the\nscript pubkey against the descriptor and return it if it matches (in this case the index\nreturned will be meaningless).

    \n

    pub fn is_multipath(&self) -> bool

    Whether this descriptor contains a key that has multiple derivation paths.

    \n

    pub fn into_single_descriptors(\n self,\n) -> Result<Vec<Descriptor<DescriptorPublicKey>>, Error>

    Get as many descriptors as different paths in this descriptor.

    \n

    For multipath descriptors it will return as many descriptors as there is\n“parallel” paths. For regular descriptors it will just return itself.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey + ToPublicKey,

    pub fn address(&self, network: Network) -> Result<Address, Error>

    Computes the Bitcoin address of the descriptor, if one exists

    \n

    Some descriptors like pk() don’t have an address.

    \n
    §Errors
    \n

    For raw/bare descriptors that don’t have an address.

    \n

    pub fn script_pubkey(&self) -> ScriptBuf

    Computes the scriptpubkey of the descriptor.

    \n

    pub fn unsigned_script_sig(&self) -> ScriptBuf

    Computes the scriptSig that will be in place for an unsigned input\nspending an output with this descriptor. For pre-segwit descriptors,\nwhich use the scriptSig for signatures, this returns the empty script.

    \n

    This is used in Segwit transactions to produce an unsigned transaction\nwhose txid will not change during signing (since only the witness data\nwill change).

    \n

    pub fn explicit_script(&self) -> Result<ScriptBuf, Error>

    Computes the the underlying script before any hashing is done. For\nBare, Pkh and Wpkh this is the scriptPubkey; for ShWpkh and Sh\nthis is the redeemScript; for the others it is the witness script.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn script_code(&self) -> Result<ScriptBuf, Error>

    Computes the scriptCode of a transaction output.

    \n

    The scriptCode is the Script of the previous transaction output being\nserialized in the sighash when evaluating a CHECKSIG & co. OP code.

    \n
    §Errors
    \n

    If the descriptor is a taproot descriptor.

    \n

    pub fn get_satisfaction<S>(\n &self,\n satisfier: S,\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn get_satisfaction_mall<S>(\n &self,\n satisfier: S,\n) -> Result<(Vec<Vec<u8>>, ScriptBuf), Error>
    where\n S: Satisfier<Pk>,

    Returns a possilbly mallable satisfying non-malleable witness and scriptSig to spend an\noutput controlled by the given descriptor if it possible to\nconstruct one using the satisfier S.

    \n

    pub fn satisfy<S>(&self, txin: &mut TxIn, satisfier: S) -> Result<(), Error>
    where\n S: Satisfier<Pk>,

    Attempts to produce a non-malleable satisfying witness and scriptSig to spend an\noutput controlled by the given descriptor; add the data to a given\nTxIn output.

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    pub fn new_pk(pk: Pk) -> Descriptor<Pk>

    Create a new pk descriptor

    \n

    pub fn new_pkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new PkH descriptor

    \n

    pub fn new_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new Wpkh descriptor\nWill return Err if uncompressed key is used

    \n

    pub fn new_sh_wpkh(pk: Pk) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wpkh from Pk.\nErrors when uncompressed keys are supplied

    \n

    pub fn new_sh(ms: Miniscript<Pk, Legacy>) -> Result<Descriptor<Pk>, Error>

    Create a new sh for a given redeem script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new wsh descriptor from witness script\nErrors when miniscript exceeds resource limits under p2sh context\nor does not type check at the top level

    \n

    pub fn new_sh_wsh(ms: Miniscript<Pk, Segwitv0>) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh descriptor with witness script\nErrors when miniscript exceeds resource limits under wsh context\nor does not type check at the top level

    \n

    pub fn new_bare(ms: Miniscript<Pk, BareCtx>) -> Result<Descriptor<Pk>, Error>

    Create a new bare descriptor from witness script\nErrors when miniscript exceeds resource limits under bare context\nor does not type check at the top level

    \n

    pub fn new_sh_with_wpkh(wpkh: Wpkh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wpkh descriptor

    \n

    pub fn new_sh_with_wsh(wsh: Wsh<Pk>) -> Descriptor<Pk>

    Create a new sh wrapper for the given wsh descriptor

    \n

    pub fn new_sh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh sortedmulti descriptor with threshold k\nand Vec of pks.\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_sh_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new sh wrapped wsh sortedmulti descriptor from threshold\nk and Vec of pks\nErrors when miniscript exceeds resource limits under segwit context

    \n

    pub fn new_wsh_sortedmulti(\n k: usize,\n pks: Vec<Pk>,\n) -> Result<Descriptor<Pk>, Error>

    Create a new wsh sorted multi descriptor\nErrors when miniscript exceeds resource limits under p2sh context

    \n

    pub fn new_tr(\n key: Pk,\n script: Option<TapTree<Pk>>,\n) -> Result<Descriptor<Pk>, Error>

    Create new tr descriptor\nErrors when miniscript exceeds resource limits under Tap context

    \n

    pub fn desc_type(&self) -> DescriptorType

    Get the [DescriptorType] of Descriptor

    \n

    pub fn sanity_check(&self) -> Result<(), Error>

    Checks whether the descriptor is safe.

    \n

    Checks whether all the spend paths in the descriptor are possible on the\nbitcoin network under the current standardness and consensus rules. Also\nchecks whether the descriptor requires signatures on all spend paths and\nwhether the script is malleable.

    \n

    In general, all the guarantees of miniscript hold only for safe scripts.\nThe signer may not be able to find satisfactions even if one exists.

    \n

    pub fn max_weight_to_satisfy(&self) -> Result<Weight, Error>

    Computes an upper bound on the difference between a non-satisfied\nTxIn’s segwit_weight and a satisfied TxIn’s segwit_weight

    \n

    Since this method uses segwit_weight instead of legacy_weight,\nif you want to include only legacy inputs in your transaction,\nyou should remove 1WU from each input’s max_weight_to_satisfy\nfor a more accurate estimate.

    \n

    In other words, for segwit inputs or legacy inputs included in\nsegwit transactions, the following will hold for each input if\nthat input was satisfied with the largest possible witness:

    \n\n
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].segwit_weight() - TxIn::default().segwit_weight()\n    );\n}
    \n

    Instead, for legacy transactions, the following will hold for each input\nif that input was satisfied with the largest possible witness:

    \n\n
    for i in 0..transaction.input.len() {\n    assert_eq!(\n        descriptor_for_input[i].max_weight_to_satisfy(),\n        transaction.input[i].legacy_weight() - TxIn::default().legacy_weight()\n    );\n}
    \n

    Assumes all ECDSA signatures are 73 bytes, including push opcode and\nsighash suffix.\nAssumes all Schnorr signatures are 66 bytes, including push opcode and\nsighash suffix.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n

    pub fn max_satisfaction_weight(&self) -> Result<usize, Error>

    👎Deprecated since 10.0.0: Use max_weight_to_satisfy instead. The method to count bytes was redesigned and the results will differ from max_weight_to_satisfy. For more details check rust-bitcoin/rust-miniscript#476.

    Computes an upper bound on the weight of a satisfying witness to the\ntransaction.

    \n

    Assumes all ec-signatures are 73 bytes, including push opcode and\nsighash suffix. Includes the weight of the VarInts encoding the\nscriptSig and witness stack length.

    \n
    §Errors
    \n

    When the descriptor is impossible to safisfy (ex: sh(OP_FALSE)).

    \n
    ",0,"bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    Source§

    impl DescriptorExt for Descriptor<DescriptorPublicKey>

    Source§

    fn dust_value(&self) -> Amount

    Returns the minimum [Amount] at which an output is broadcast-able.\nPanics if the descriptor wildcard is hardened.
    Source§

    fn descriptor_id(&self) -> DescriptorId

    Returns the descriptor ID, calculated as the sha256 hash of the spk derived from the\ndescriptor at index 0.
    ","DescriptorExt","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<'de, Pk> Deserialize<'de> for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn deserialize<D>(\n deserializer: D,\n) -> Result<Descriptor<Pk>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Display for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

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

    Formats the value using the given formatter. Read more
    ","Display","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    Source§

    impl ExtractPolicy for Descriptor<DescriptorPublicKey>

    Source§

    fn extract_policy(\n &self,\n signers: &SignersContainer,\n build_sat: BuildSatisfaction<'_>,\n secp: &Secp256k1<All>,\n) -> Result<Option<Policy>, Error>

    Extract the spending policy
    ","ExtractPolicy","bdk_wallet::descriptor::ExtendedDescriptor"],["
    §

    impl<Pk> ForEachKey<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn for_each_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for every key
    §

    fn for_any_key<'a, F>(&'a self, pred: F) -> bool
    where\n F: FnMut(&'a Pk) -> bool,\n Pk: 'a,

    Run a predicate on every key in the descriptor, returning whether\nthe predicate returned true for any key
    ","ForEachKey","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Bare<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Bare<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Pkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Pkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Sh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Sh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Tr<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Tr<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wpkh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wpkh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> From<Wsh<Pk>> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn from(inner: Wsh<Pk>) -> Descriptor<Pk>

    Converts to this type from the input type.
    ","From>","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromStr for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    type Err = Error

    The associated error which can be returned from parsing.
    §

    fn from_str(s: &str) -> Result<Descriptor<Pk>, Error>

    Parses a string s to return a value of this type. Read more
    ","FromStr","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> FromTree for Descriptor<Pk>
    where\n Pk: FromStrKey,

    §

    fn from_tree(top: &Tree<'_>) -> Result<Descriptor<Pk>, Error>

    Parse an expression tree into a descriptor.

    \n
    ","FromTree","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Hash for Descriptor<Pk>
    where\n Pk: Hash + MiniscriptKey,

    §

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

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

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

    Feeds a slice of this type into the given Hasher. Read more
    ","Hash","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Liftable<Pk> for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn lift(&self) -> Result<Policy<Pk>, Error>

    Converts this object into an abstract policy.
    ","Liftable","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Ord for Descriptor<Pk>
    where\n Pk: Ord + MiniscriptKey,

    §

    fn cmp(&self, other: &Descriptor<Pk>) -> Ordering

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

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

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

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

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

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

    Restrict a value to a certain interval. Read more
    ","Ord","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialEq for Descriptor<Pk>
    where\n Pk: PartialEq + MiniscriptKey,

    §

    fn eq(&self, other: &Descriptor<Pk>) -> bool

    Tests for self and other values to be equal, and is used by ==.
    1.0.0 · Source§

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

    Tests for !=. The default implementation is almost always sufficient,\nand should not be overridden without very good reason.
    ","PartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> PartialOrd for Descriptor<Pk>
    where\n Pk: PartialOrd + MiniscriptKey,

    §

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

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

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

    Tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 · Source§

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

    Tests less than or equal to (for self and other) and is used by the\n<= operator. Read more
    1.0.0 · Source§

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

    Tests greater than (for self and other) and is used by the >\noperator. Read more
    1.0.0 · Source§

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

    Tests greater than or equal to (for self and other) and is used by\nthe >= operator. Read more
    ","PartialOrd","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<'de, Pk> Serialize for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    §

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<P, Q> TranslatePk<P, Q> for Descriptor<P>
    where\n P: MiniscriptKey,\n Q: MiniscriptKey,

    §

    fn translate_pk<T, E>(\n &self,\n t: &mut T,\n) -> Result<<Descriptor<P> as TranslatePk<P, Q>>::Output, TranslateErr<E>>
    where\n T: Translator<P, Q, E>,

    Converts a descriptor using abstract keys to one using specific keys.

    \n
    §

    type Output = Descriptor<Q>

    The associated output type. This must be Self<Q>.
    ","TranslatePk","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> Eq for Descriptor<Pk>
    where\n Pk: Eq + MiniscriptKey,

    ","Eq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"],["
    §

    impl<Pk> StructuralPartialEq for Descriptor<Pk>
    where\n Pk: MiniscriptKey,

    ","StructuralPartialEq","bdk_wallet::descriptor::ExtendedDescriptor","bdk_wallet::descriptor::DerivedDescriptor"]]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[93403]} \ No newline at end of file +//{"start":55,"fragment_lengths":[94101]} \ No newline at end of file diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/primitive.tuple.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/primitive.tuple.js index f1027ec7b4..22453aeb62 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/primitive.tuple.js +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/type.impl/std/primitive.tuple.js @@ -1,9 +1,9 @@ (function() { - var type_impls = Object.fromEntries([["bdk_chain",[["
    §

    impl<T0, T1> Decodable for (T0, T1)
    where\n T0: Decodable,\n T1: Decodable,

    §

    fn consensus_decode<R>(r: &mut R) -> Result<(T0, T1), Error>
    where\n R: Read + ?Sized,

    Decode an object with a well-defined format. Read more
    §

    fn consensus_decode_from_finite_reader<R>(reader: &mut R) -> Result<Self, Error>
    where\n R: Read + ?Sized,

    Decode Self from a size-limited reader. Read more
    ","Decodable","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    Source§

    impl<'de, T0, T1> Deserialize<'de> for (T0, T1)
    where\n T0: Deserialize<'de>,\n T1: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<(T0, T1), <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    §

    impl<T0, T1> Encodable for (T0, T1)
    where\n T0: Encodable,\n T1: Encodable,

    §

    fn consensus_encode<W>(&self, w: &mut W) -> Result<usize, Error>
    where\n W: Write + ?Sized,

    Encodes an object with a well-defined format. Read more
    ","Encodable","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    §

    impl From<BlockId> for (u32, BlockHash)

    §

    fn from(block_id: BlockId) -> (u32, BlockHash)

    Converts to this type from the input type.
    ","From","bdk_chain::Indexed"],["
    §

    impl<T0, T1> Merge for (T0, T1)
    where\n T0: Merge,\n T1: Merge,

    §

    fn merge(&mut self, _other: (T0, T1))

    Merge another object of the same type onto self.
    §

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    §

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    Source§

    impl<T0, T1> Serialize for (T0, T1)
    where\n T0: Serialize,\n T1: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    §

    impl<'a, O, P> TryFrom<&'a Row<'a>> for (O, P)
    where\n O: FromSql,\n P: FromSql,

    §

    type Error = Error

    The type returned in the event of a conversion error.
    §

    fn try_from(row: &'a Row<'a>) -> Result<(O, P), Error>

    Performs the conversion.
    ","TryFrom<&'a Row<'a>>","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"]]],["bdk_core",[["
    Source§

    impl From<BlockId> for (u32, BlockHash)

    Source§

    fn from(block_id: BlockId) -> Self

    Converts to this type from the input type.
    ","From","bdk_core::Indexed"],["
    Source§

    impl<T0, T1> Merge for (T0, T1)
    where\n T0: Merge,\n T1: Merge,

    Source§

    fn merge(&mut self, _other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_core::Indexed","bdk_core::KeychainIndexed"]]],["bdk_wallet",[]],["example_cli",[]]]); + var type_impls = Object.fromEntries([["bdk_chain",[["
    §

    impl<T0, T1> Decodable for (T0, T1)
    where\n T0: Decodable,\n T1: Decodable,

    §

    fn consensus_decode<R>(r: &mut R) -> Result<(T0, T1), Error>
    where\n R: Read + ?Sized,

    Decode an object with a well-defined format. Read more
    §

    fn consensus_decode_from_finite_reader<R>(reader: &mut R) -> Result<Self, Error>
    where\n R: Read + ?Sized,

    Decode Self from a size-limited reader. Read more
    ","Decodable","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    Source§

    impl<'de, T0, T1> Deserialize<'de> for (T0, T1)
    where\n T0: Deserialize<'de>,\n T1: Deserialize<'de>,

    Source§

    fn deserialize<D>(\n deserializer: D,\n) -> Result<(T0, T1), <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    §

    impl<T0, T1> Encodable for (T0, T1)
    where\n T0: Encodable,\n T1: Encodable,

    §

    fn consensus_encode<W>(&self, w: &mut W) -> Result<usize, Error>
    where\n W: Write + ?Sized,

    Encodes an object with a well-defined format. Read more
    ","Encodable","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    Source§

    impl From<BlockId> for (u32, BlockHash)

    Source§

    fn from(block_id: BlockId) -> (u32, BlockHash)

    Converts to this type from the input type.
    ","From","bdk_chain::Indexed"],["
    Source§

    impl<T0, T1> Merge for (T0, T1)
    where\n T0: Merge,\n T1: Merge,

    Source§

    fn merge(&mut self, _other: (T0, T1))

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    Source§

    impl<T0, T1> Serialize for (T0, T1)
    where\n T0: Serialize,\n T1: Serialize,

    Source§

    fn serialize<S>(\n &self,\n serializer: S,\n) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
    where\n S: Serializer,

    Serialize this value into the given Serde serializer. Read more
    ","Serialize","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"],["
    §

    impl<'a, O, P> TryFrom<&'a Row<'a>> for (O, P)
    where\n O: FromSql,\n P: FromSql,

    §

    type Error = Error

    The type returned in the event of a conversion error.
    §

    fn try_from(row: &'a Row<'a>) -> Result<(O, P), Error>

    Performs the conversion.
    ","TryFrom<&'a Row<'a>>","bdk_chain::Indexed","bdk_chain::KeychainIndexed","bdk_chain::bitcoin::bip32::KeySource"]]],["bdk_core",[["
    Source§

    impl From<BlockId> for (u32, BlockHash)

    Source§

    fn from(block_id: BlockId) -> Self

    Converts to this type from the input type.
    ","From","bdk_core::Indexed"],["
    Source§

    impl<T0, T1> Merge for (T0, T1)
    where\n T0: Merge,\n T1: Merge,

    Source§

    fn merge(&mut self, _other: Self)

    Merge another object of the same type onto self.
    Source§

    fn is_empty(&self) -> bool

    Returns whether the structure is considered empty.
    Source§

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

    Take the value, replacing it with the default value.
    ","Merge","bdk_core::Indexed","bdk_core::KeychainIndexed"]]],["bdk_wallet",[]],["example_cli",[]]]); if (window.register_type_impls) { window.register_type_impls(type_impls); } else { window.pending_type_impls = type_impls; } })() -//{"start":55,"fragment_lengths":[17691,3990,18,19]} \ No newline at end of file +//{"start":55,"fragment_lengths":[18153,3990,18,19]} \ No newline at end of file