Expand description
Modules
Structs
AddressEnums
Wallet::get_address. If youâre unsure which one to use use WalletIndex::New.Wallet.Wallet from persistence and creating it if non-existant.Traits
Structs
Enums
SignersContainers. Used as a key to find the right signer among
+Structs
Enums
SignersContainers. Used as a key to find the right signer among
multiple of themTraits
Struct bdk::wallet::signer::SignerWrapper
source · Expand description
Wrapper structure to pair a signer with its context
+Struct bdk::wallet::signer::SignerWrapper
source · Expand description
Wrapper to pair a signer with its context
Implementations§
source§impl<S: Sized + Debug + Clone> SignerWrapper<S>
impl<S: Sized + Debug + Clone> SignerWrapper<S>
sourcepub fn new(signer: S, ctx: SignerContext) -> Self
pub fn new(signer: S, ctx: SignerContext) -> Self
Create a wrapped signer from a signer and a context
Trait Implementations§
source§impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>
impl<S: Clone + Sized + Debug + Clone> Clone for SignerWrapper<S>
source§fn clone(&self) -> SignerWrapper<S>
fn clone(&self) -> SignerWrapper<S>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl InputSigner for SignerWrapper<DescriptorMultiXKey<ExtendedPrivKey>>
impl InputSigner for SignerWrapper<DescriptorMultiXKey<ExtendedPrivKey>>
source§fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
source§impl InputSigner for SignerWrapper<DescriptorXKey<ExtendedPrivKey>>
impl InputSigner for SignerWrapper<DescriptorXKey<ExtendedPrivKey>>
source§fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
source§impl InputSigner for SignerWrapper<PrivateKey>
impl InputSigner for SignerWrapper<PrivateKey>
source§fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
fn sign_input(
&self,
psbt: &mut PartiallySignedTransaction,
input_index: usize,
sign_options: &SignOptions,
secp: &Secp256k1<All>
) -> Result<(), SignerError>
source§impl SignerCommon for SignerWrapper<DescriptorMultiXKey<ExtendedPrivKey>>
impl SignerCommon for SignerWrapper<DescriptorMultiXKey<ExtendedPrivKey>>
source§impl SignerCommon for SignerWrapper<DescriptorXKey<ExtendedPrivKey>>
impl SignerCommon for SignerWrapper<DescriptorXKey<ExtendedPrivKey>>
source§impl SignerCommon for SignerWrapper<PrivateKey>
impl SignerCommon for SignerWrapper<PrivateKey>
Auto Trait Implementations§
impl<S> RefUnwindSafe for SignerWrapper<S>where
S: RefUnwindSafe,
impl<S> Send for SignerWrapper<S>where
S: Send,
impl<S> Sync for SignerWrapper<S>where
S: Sync,
impl<S> Unpin for SignerWrapper<S>where
S: Unpin,
impl<S> UnwindSafe for SignerWrapper<S>where
S: UnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
fn into(self) -> U
Calls U::from(self).
pub struct Wallet<D = ()> { /* private fields */ }Expand description
A Bitcoin wallet
-The Wallet struct acts as a way of coherently interfacing with output descriptors and related transactions.
+
The Wallet acts as a way of coherently interfacing with output descriptors and related transactions.
Its main components are:
- output descriptors from which it can derive addresses. diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/index.html index bb4a38eb31..c3d343e338 100644 --- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/index.html +++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_bitcoind_rpc/index.html @@ -5,4 +5,4 @@ use the wallet RPC API, so this crate can be used with wallet-disabled Bitcoin C
Emitter::next_block or/and Emitter::next_header until it returns Ok(None) (which means
the chain tip is reached). A separate method, Emitter::mempool can be used to emit the whole
mempool.
-Re-exports
pub use bitcoincore_rpc;Structs
bitcoincore_rpc::Client].Traits
bitcoincore_rpc::Error].Re-exports
pub use bitcoincore_rpc;Structs
Traits
bitcoincore_rpc::Error].Struct bdk_bitcoind_rpc::Emitter
source · pub struct Emitter<'c, C> { /* private fields */ }Expand description
A structure that emits data sourced from [bitcoincore_rpc::Client].
Struct bdk_bitcoind_rpc::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>
impl<'c, C: RpcApi> Emitter<'c, C>
sourcepub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self
pub fn new(client: &'c C, last_cp: CheckPoint, start_height: u32) -> Self
Construct a new Emitter with the given RPC client, last_cp and start_height.
-
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html
index e025fed035..5b954c954e 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/constant.COINBASE_MATURITY.html
@@ -1,2 +1,2 @@
-
- Figure out what data they need to fetch. @@ -11,11 +11,11 @@ you do it synchronously or asynchronously. If you know a fact about the blockchain, you can just tell
- Error-free APIs.
- Data persistence agnostic â
bdk_chaindoes not care where you cache on-chain data, what you -cache or how you fetch it.
+cache or how you retrieve it from persistent storage.
Constant bdk_chain::COINBASE_MATURITY
source · pub const COINBASE_MATURITY: u32 = 100;Expand description
How many confirmations are needed f or a coinbase output to be spent.
+Constant bdk_chain::COINBASE_MATURITY
source · pub const COINBASE_MATURITY: u32 = 100;Expand description
How many confirmations are needed f or a coinbase output to be spent.
Expand description
This crate is a collection of core structures for Bitcoin Dev Kit (alpha release).
+Expand description
This crate is a collection of core structures for Bitcoin Dev Kit (alpha release).
The goal of this crate is to give wallets the mechanisms needed to:
bdk_chainâs APIs about it, and that information will be integrated, if it can be done
consistently.
-Re-exports
pub extern crate serde_crate as serde;pub use bitcoin;pub use indexed_tx_graph::IndexedTxGraph;pub use tx_graph::TxGraph;pub use miniscript;Modules
IndexedTxGraph structure and associated types.LocalChain is a local implementation of ChainOracle.Structs
Anchor implementation that also records the exact confirmation height of the transaction.Anchor implementation that also records the exact confirmation time and height of the
+Re-exports
pub extern crate serde_crate as serde;pub use bitcoin;pub use indexed_tx_graph::IndexedTxGraph;pub use tx_graph::TxGraph;pub use miniscript;Modules
IndexedTxGraph and associated types. Refer to the
+IndexedTxGraph documentation for more.LocalChain is a local implementation of ChainOracle.Structs
Anchor implementation that also records the exact confirmation height of the transaction.Anchor implementation that also records the exact confirmation time and height of the
transaction.TxOut with as much data as we can retrieve about itPersist wraps a PersistBackend (B) to create a convenient staging area for changes (C)
before they are persisted.TxOuts that have a script pubkey that matches those in a list.Enums
Constants
Traits
Anchor that can be constructed from a given block, block height and transaction position
within the block.Persist.Module bdk_chain::indexed_tx_graph
source · Expand description
Contains the IndexedTxGraph structure and associated types.
This is essentially a TxGraph combined with an indexer.
Structs
IndexedTxGraph.Traits
Module bdk_chain::indexed_tx_graph
source · Expand description
Contains the IndexedTxGraph and associated types. Refer to the
+IndexedTxGraph documentation for more.
Structs
IndexedTxGraph.Traits
Struct bdk_chain::indexed_tx_graph::ChangeSet
source · pub struct ChangeSet<A, IA> {
+ChangeSet in bdk_chain::indexed_tx_graph - Rust Struct bdk_chain::indexed_tx_graph::ChangeSet
source · pub struct ChangeSet<A, IA> {
pub graph: ChangeSet<A>,
pub indexer: IA,
-}
Expand description
A structure that represents changes to an IndexedTxGraph.
+}Expand description
Represents changes to an IndexedTxGraph.
Fields§
§graph: ChangeSet<A>TxGraph changeset.
§indexer: IAIndexer changeset.
-Trait Implementations§
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 moresource§impl<A: PartialEq, IA: PartialEq> PartialEq<ChangeSet<A, IA>> for ChangeSet<A, IA>
source§fn eq(&self, other: &ChangeSet<A, IA>) -> bool
This method tests for self and other values to be equal, and is used
+Trait Implementations§
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 moresource§impl<A: PartialEq, IA: PartialEq> PartialEq<ChangeSet<A, IA>> for ChangeSet<A, IA>
source§impl<A, IA> StructuralPartialEq for ChangeSet<A, IA>
Auto Trait Implementations§
§impl<A, IA> RefUnwindSafe for ChangeSet<A, IA>where
A: RefUnwindSafe,
IA: RefUnwindSafe,
§impl<A, IA> Send for ChangeSet<A, IA>where
A: Send,
IA: Send,
§impl<A, IA> Sync for ChangeSet<A, IA>where
A: Sync,
IA: Sync,
§impl<A, IA> Unpin for ChangeSet<A, IA>where
IA: Unpin,
§impl<A, IA> UnwindSafe for ChangeSet<A, IA>where
A: RefUnwindSafe,
IA: UnwindSafe,
Blanket Implementations§
source§impl<A, IA> StructuralPartialEq for ChangeSet<A, IA>
Auto Trait Implementations§
§impl<A, IA> RefUnwindSafe for ChangeSet<A, IA>where
A: RefUnwindSafe,
IA: RefUnwindSafe,
§impl<A, IA> Send for ChangeSet<A, IA>where
A: Send,
IA: Send,
§impl<A, IA> Sync for ChangeSet<A, IA>where
A: Sync,
IA: Sync,
§impl<A, IA> Unpin for ChangeSet<A, IA>where
IA: Unpin,
§impl<A, IA> UnwindSafe for ChangeSet<A, IA>where
A: RefUnwindSafe,
IA: UnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html
index b6713c7201..668caa9ca5 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/struct.IndexedTxGraph.html
@@ -1,47 +1,47 @@
-IndexedTxGraph in bdk_chain::indexed_tx_graph - Rust Struct bdk_chain::indexed_tx_graph::IndexedTxGraph
source · pub struct IndexedTxGraph<A, I> {
+IndexedTxGraph in bdk_chain::indexed_tx_graph - Rust Struct bdk_chain::indexed_tx_graph::IndexedTxGraph
source · pub struct IndexedTxGraph<A, I> {
pub index: I,
/* private fields */
-}
Expand description
A struct that combines TxGraph and an Indexer implementation.
-This structure ensures that TxGraph and Indexer are updated atomically.
+}Expand description
The IndexedTxGraph combines a TxGraph and an Indexer implementation.
+
Fields§
§index: ITransaction index.
-Implementations§
source§impl<A, I> IndexedTxGraph<A, I>
source§impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>
sourcepub fn apply_changeset(&mut self, changeset: ChangeSet<A, I::ChangeSet>)
Applies the ChangeSet to the IndexedTxGraph.
-sourcepub fn initial_changeset(&self) -> ChangeSet<A, I::ChangeSet>
Determines the ChangeSet between self and an empty IndexedTxGraph.
-source§impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>where
I::ChangeSet: Default + Append,
sourcepub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A, I::ChangeSet>
Apply an update directly.
+Implementations§
source§impl<A, I> IndexedTxGraph<A, I>
source§impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>
sourcepub fn apply_changeset(&mut self, changeset: ChangeSet<A, I::ChangeSet>)
Applies the ChangeSet to the IndexedTxGraph.
+sourcepub fn initial_changeset(&self) -> ChangeSet<A, I::ChangeSet>
Determines the ChangeSet between self and an empty IndexedTxGraph.
+source§impl<A: Anchor, I: Indexer> IndexedTxGraph<A, I>where
I::ChangeSet: Default + Append,
sourcepub fn apply_update(&mut self, update: TxGraph<A>) -> ChangeSet<A, I::ChangeSet>
Apply an update directly.
update is a TxGraph<A> and the resultant changes is returned as ChangeSet.
-sourcepub fn insert_txout(
&mut self,
outpoint: OutPoint,
txout: TxOut
) -> ChangeSet<A, I::ChangeSet>
Insert a floating txout of given outpoint.
-sourcepub fn insert_tx(&mut self, tx: Transaction) -> ChangeSet<A, I::ChangeSet>
Insert and index a transaction into the graph.
-sourcepub fn insert_anchor(
&mut self,
txid: Txid,
anchor: A
) -> ChangeSet<A, I::ChangeSet>
Insert an anchor for a given transaction.
-sourcepub fn insert_seen_at(
&mut self,
txid: Txid,
seen_at: u64
) -> ChangeSet<A, I::ChangeSet>
Insert a unix timestamp of when a transaction is seen in the mempool.
+sourcepub fn insert_txout(
&mut self,
outpoint: OutPoint,
txout: TxOut
) -> ChangeSet<A, I::ChangeSet>
Insert a floating txout of given outpoint.
+sourcepub fn insert_tx(&mut self, tx: Transaction) -> ChangeSet<A, I::ChangeSet>
Insert and index a transaction into the graph.
+sourcepub fn insert_anchor(
&mut self,
txid: Txid,
anchor: A
) -> ChangeSet<A, I::ChangeSet>
Insert an anchor for a given transaction.
+sourcepub fn insert_seen_at(
&mut self,
txid: Txid,
seen_at: u64
) -> ChangeSet<A, I::ChangeSet>
Insert a unix timestamp of when a transaction is seen in the mempool.
This is used for transaction conflict resolution in TxGraph where the transaction with
the later last-seen is prioritized.
-sourcepub fn batch_insert_relevant<'t>(
&mut self,
txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert transactions, filtering out those that are irrelevant.
+sourcepub fn batch_insert_relevant<'t>(
&mut self,
txs: impl IntoIterator<Item = (&'t Transaction, impl IntoIterator<Item = A>)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert transactions, filtering out those that are irrelevant.
Relevancy is determined by the Indexer::is_tx_relevant implementation of I. Irrelevant
transactions in txs will be ignored. txs do not need to be in topological order.
-sourcepub fn batch_insert_relevant_unconfirmed<'t>(
&mut self,
unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert unconfirmed transactions, filtering out those that are irrelevant.
+sourcepub fn batch_insert_relevant_unconfirmed<'t>(
&mut self,
unconfirmed_txs: impl IntoIterator<Item = (&'t Transaction, u64)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert unconfirmed transactions, filtering out those that are irrelevant.
Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.
Irrelevant transactions in txs will be ignored.
Items of txs are tuples containing the transaction and a last seen timestamp. The
last seen communicates when the transaction is last seen in the mempool which is used for
conflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).
-sourcepub fn batch_insert_unconfirmed(
&mut self,
txs: impl IntoIterator<Item = (Transaction, u64)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert unconfirmed transactions.
+sourcepub fn batch_insert_unconfirmed(
&mut self,
txs: impl IntoIterator<Item = (Transaction, u64)>
) -> ChangeSet<A, I::ChangeSet>
Batch insert unconfirmed transactions.
Items of txs are tuples containing the transaction and a last seen timestamp. The
last seen communicates when the transaction is last seen in the mempool which is used for
conflict-resolution in TxGraph (refer to TxGraph::insert_seen_at for details).
To filter out irrelevant transactions, use batch_insert_relevant_unconfirmed instead.
-source§impl<A, I: Indexer> IndexedTxGraph<A, I>where
I::ChangeSet: Default + Append,
A: AnchorFromBlockPosition + Anchor,
Methods are available if the anchor (A) implements AnchorFromBlockPosition.
-sourcepub fn apply_block_relevant(
&mut self,
block: Block,
height: u32
) -> ChangeSet<A, I::ChangeSet>
Batch insert all transactions of the given block of height, filtering out those that are
+
source§impl<A, I: Indexer> IndexedTxGraph<A, I>where
I::ChangeSet: Default + Append,
A: AnchorFromBlockPosition + Anchor,
Methods are available if the anchor (A) implements AnchorFromBlockPosition.
+sourcepub fn apply_block_relevant(
&mut self,
block: Block,
height: u32
) -> ChangeSet<A, I::ChangeSet>
Batch insert all transactions of the given block of height, filtering out those that are
irrelevant.
Each inserted transactionâs anchor will be constructed from
AnchorFromBlockPosition::from_block_position.
Relevancy is determined by the internal Indexer::is_tx_relevant implementation of I.
Irrelevant transactions in txs will be ignored.
-sourcepub fn apply_block(
&mut self,
block: Block,
height: u32
) -> ChangeSet<A, I::ChangeSet>
Batch insert all transactions of the given block of height.
+sourcepub fn apply_block(
&mut self,
block: Block,
height: u32
) -> ChangeSet<A, I::ChangeSet>
Batch insert all transactions of the given block of height.
Each inserted transactionâs anchor will be constructed from
AnchorFromBlockPosition::from_block_position.
To only insert relevant transactions, use apply_block_relevant instead.
-Trait Implementations§
Auto Trait Implementations§
§impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>where
A: RefUnwindSafe,
I: RefUnwindSafe,
§impl<A, I> Send for IndexedTxGraph<A, I>where
A: Send,
I: Send,
§impl<A, I> Sync for IndexedTxGraph<A, I>where
A: Sync,
I: Sync,
§impl<A, I> Unpin for IndexedTxGraph<A, I>where
I: Unpin,
§impl<A, I> UnwindSafe for IndexedTxGraph<A, I>where
A: RefUnwindSafe,
I: UnwindSafe,
Blanket Implementations§
Trait Implementations§
Auto Trait Implementations§
§impl<A, I> RefUnwindSafe for IndexedTxGraph<A, I>where
A: RefUnwindSafe,
I: RefUnwindSafe,
§impl<A, I> Send for IndexedTxGraph<A, I>where
A: Send,
I: Send,
§impl<A, I> Sync for IndexedTxGraph<A, I>where
A: Sync,
I: Sync,
§impl<A, I> Unpin for IndexedTxGraph<A, I>where
I: Unpin,
§impl<A, I> UnwindSafe for IndexedTxGraph<A, I>where
A: RefUnwindSafe,
I: UnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html
index b7ad54287c..a363d4b19d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/indexed_tx_graph/trait.Indexer.html
@@ -1,4 +1,4 @@
-Indexer in bdk_chain::indexed_tx_graph - Rust Trait bdk_chain::indexed_tx_graph::Indexer
source · pub trait Indexer {
+Indexer in bdk_chain::indexed_tx_graph - Rust Trait bdk_chain::indexed_tx_graph::Indexer
source · pub trait Indexer {
type ChangeSet;
fn index_txout(
&mut self,
outpoint: OutPoint,
txout: &TxOut
) -> Self::ChangeSet;
@@ -9,10 +9,10 @@
}
Expand description
Utilities for indexing transaction data.
Types which implement this trait can be used to construct an IndexedTxGraph.
This traitâs methods should rarely be called directly.
-Required Associated Types§
Required Methods§
sourcefn index_txout(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::ChangeSet
Scan and index the given outpoint and txout.
-sourcefn index_tx(&mut self, tx: &Transaction) -> Self::ChangeSet
Scans a transaction for relevant outpoints, which are stored and indexed internally.
-sourcefn apply_changeset(&mut self, changeset: Self::ChangeSet)
Apply changeset to itself.
-sourcefn initial_changeset(&self) -> Self::ChangeSet
sourcefn is_tx_relevant(&self, tx: &Transaction) -> bool
Determines whether the transaction should be included in the index.
+Required Associated Types§
Required Methods§
sourcefn index_txout(&mut self, outpoint: OutPoint, txout: &TxOut) -> Self::ChangeSet
Scan and index the given outpoint and txout.
+sourcefn index_tx(&mut self, tx: &Transaction) -> Self::ChangeSet
Scans a transaction for relevant outpoints, which are stored and indexed internally.
+sourcefn apply_changeset(&mut self, changeset: Self::ChangeSet)
Apply changeset to itself.
+sourcefn initial_changeset(&self) -> Self::ChangeSet
sourcefn is_tx_relevant(&self, tx: &Transaction) -> bool
Determines whether the transaction should be included in the index.
Implementors§
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html
index f8f8c9de09..57f8e6d5b7 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/keychain/struct.ChangeSet.html
@@ -7,7 +7,7 @@ monotone in that they will never decrease the revealed derivation index.
If the keychain already exists, increase the index when the otherâs index > selfâs index.
If the keychain did not exist, append the new keychain.
source§impl<'de, K> Deserialize<'de> for ChangeSet<K>where
K: 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 moresource§impl<'de, K> Deserialize<'de> for ChangeSet<K>where
K: 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 moresource§impl<K: PartialEq> PartialEq<ChangeSet<K>> for ChangeSet<K>
source§impl<K> StructuralPartialEq for ChangeSet<K>
Auto Trait Implementations§
§impl<K> RefUnwindSafe for ChangeSet<K>where
K: RefUnwindSafe,
§impl<K> Send for ChangeSet<K>where
K: Send,
§impl<K> Sync for ChangeSet<K>where
K: Sync,
§impl<K> Unpin for ChangeSet<K>
§impl<K> UnwindSafe for ChangeSet<K>where
K: RefUnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html
index ecebbba7e0..86d7b6f662 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/index.html
@@ -1,3 +1,3 @@
bdk_chain::local_chain - Rust Module bdk_chain::local_chain
source · Expand description
The LocalChain is a local implementation of ChainOracle.
Structs
Represents a failure when trying to insert/remove a checkpoint to/from LocalChain.Occurs when an update does not have a common checkpoint with the original chain.A LocalChain checkpoint is used to find the agreement point between two chains and as a
-transaction anchor.A structure that iterates over checkpoints backwards.This is a local implementation of ChainOracle.An error which occurs when a LocalChain is constructed without a genesis checkpoint.A struct to update LocalChain.Type Definitions
A structure that represents changes to LocalChain.
\ No newline at end of file
+transaction anchor.Iterates over checkpoints backwards.This is a local implementation of ChainOracle.An error which occurs when a LocalChain is constructed without a genesis checkpoint.Used to update LocalChain.Type Definitions
The ChangeSet represents changes to LocalChain.
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/sidebar-items.js
index 263f5d194d..d03940c24b 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/sidebar-items.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"struct":[["AlterCheckPointError","Represents a failure when trying to insert/remove a checkpoint to/from [`LocalChain`]."],["CannotConnectError","Occurs when an update does not have a common checkpoint with the original chain."],["CheckPoint","A [`LocalChain`] checkpoint is used to find the agreement point between two chains and as a transaction anchor."],["CheckPointIter","A structure that iterates over checkpoints backwards."],["LocalChain","This is a local implementation of [`ChainOracle`]."],["MissingGenesisError","An error which occurs when a [`LocalChain`] is constructed without a genesis checkpoint."],["Update","A struct to update [`LocalChain`]."]],"type":[["ChangeSet","A structure that represents changes to [`LocalChain`]."]]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"struct":[["AlterCheckPointError","Represents a failure when trying to insert/remove a checkpoint to/from [`LocalChain`]."],["CannotConnectError","Occurs when an update does not have a common checkpoint with the original chain."],["CheckPoint","A [`LocalChain`] checkpoint is used to find the agreement point between two chains and as a transaction anchor."],["CheckPointIter","Iterates over checkpoints backwards."],["LocalChain","This is a local implementation of [`ChainOracle`]."],["MissingGenesisError","An error which occurs when a [`LocalChain`] is constructed without a genesis checkpoint."],["Update","Used to update [`LocalChain`]."]],"type":[["ChangeSet","The [`ChangeSet`] represents changes to [`LocalChain`]."]]};
\ No newline at end of file
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 d3e74a4988..b2628de9dc 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,4 +1,4 @@
-CheckPointIter in bdk_chain::local_chain - Rust Struct bdk_chain::local_chain::CheckPointIter
source · pub struct CheckPointIter { /* private fields */ }
Expand description
A structure that iterates over checkpoints backwards.
+CheckPointIter in bdk_chain::local_chain - Rust Struct bdk_chain::local_chain::CheckPointIter
source · pub struct CheckPointIter { /* private fields */ }
Expand description
Iterates over checkpoints backwards.
Trait Implementations§
source§impl Iterator for CheckPointIter
§type Item = CheckPoint
The type of the elements being iterated over.source§fn next(&mut self) -> Option<Self::Item>
Advances the iterator and returns the next value. Read moresource§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 more1.0.0 · source§fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more1.0.0 · source§fn count(self) -> usizewhere
Self: Sized,
Consumes the iterator, counting the number of iterations and returning it. Read more1.0.0 · source§fn last(self) -> Option<Self::Item>where
Self: Sized,
Consumes the iterator, returning the last element. Read moresource§fn advance_by(&mut self, n: usize) -> Result<(), usize>
ð¬This is a nightly-only experimental API. (iter_advance_by)Advances the iterator by n elements. Read more1.0.0 · source§fn nth(&mut self, n: usize) -> Option<Self::Item>
Returns the nth element of the iterator. Read more1.28.0 · source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Creates an iterator starting at the same point, but stepping by
the given amount at each iteration. Read more1.0.0 · source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator<Item = Self::Item>,
Takes two iterators and creates a new iterator over both in sequence. Read more1.0.0 · source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
âZips upâ two iterators into a single iterator of pairs. Read moresource§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where
Self: Sized,
G: FnMut() -> Self::Item,
ð¬This is a nightly-only experimental API. (iter_intersperse)Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more1.0.0 · source§fn map<B, F>(self, f: F) -> Map<Self, F>where
Self: Sized,
F: FnMut(Self::Item) -> B,
Takes a closure and creates an iterator which calls that closure on each
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.Update.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.Update.html
index dcaa29d3dc..0de5119bba 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.Update.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/struct.Update.html
@@ -1,7 +1,7 @@
-Update in bdk_chain::local_chain - Rust Struct bdk_chain::local_chain::Update
source · pub struct Update {
+Update in bdk_chain::local_chain - Rust Struct bdk_chain::local_chain::Update
source · pub struct Update {
pub tip: CheckPoint,
pub introduce_older_blocks: bool,
-}
Expand description
A struct to update LocalChain.
+}Expand description
Used to update LocalChain.
This is used as input for LocalChain::apply_update. It contains the updateâs chain tip and
a flag introduce_older_blocks which signals whether this update intends to introduce missing
blocks to the original chain.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/type.ChangeSet.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/type.ChangeSet.html
index e090df18b7..37b59e1284 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/type.ChangeSet.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/local_chain/type.ChangeSet.html
@@ -1,4 +1,4 @@
-ChangeSet in bdk_chain::local_chain - Rust Type Definition bdk_chain::local_chain::ChangeSet
source · Expand description
A structure that represents changes to LocalChain.
+ChangeSet in bdk_chain::local_chain - Rust Type Definition bdk_chain::local_chain::ChangeSet
source · Expand description
The ChangeSet represents changes to LocalChain.
The key represents the block height, and the value either represents added a new CheckPoint
(if Some), or removing a CheckPoint (if None).
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js
index 0e3f0e7d32..90cc5e6694 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"constant":[["BIP32_MAX_INDEX","Maximum BIP32 derivation index."],["COINBASE_MATURITY","How many confirmations are needed f or a coinbase output to be spent."]],"enum":[["ChainPosition","Represents the observed position of some chain data."],["ConfirmationTime","Block height and timestamp at which a transaction is confirmed."]],"externcrate":[["serde",""]],"mod":[["indexed_tx_graph","Contains the [`IndexedTxGraph`] structure and associated types."],["keychain","Module for keychain related structures."],["local_chain","The [`LocalChain`] is a local implementation of [`ChainOracle`]."],["tx_graph","Module for structures that store and traverse transactions."]],"struct":[["BlockId","A reference to a block in the canonical chain."],["ConfirmationHeightAnchor","An [`Anchor`] implementation that also records the exact confirmation height of the transaction."],["ConfirmationTimeHeightAnchor","An [`Anchor`] implementation that also records the exact confirmation time and height of the transaction."],["FullTxOut","A `TxOut` with as much data as we can retrieve about it"],["Persist","`Persist` wraps a [`PersistBackend`] (`B`) to create a convenient staging area for changes (`C`) before they are persisted."],["SpkIterator","An iterator for derived script pubkeys."],["SpkTxOutIndex","An index storing `TxOut`s that have a script pubkey that matches those in a list."]],"trait":[["Anchor","Trait that âanchorsâ blockchain data to a specific block of height and hash."],["AnchorFromBlockPosition","An [`Anchor`] that can be constructed from a given block, block height and transaction position within the block."],["Append","Trait that makes an object appendable."],["ChainOracle","Represents a service that tracks the blockchain."],["DescriptorExt","A trait to extend the functionality of a miniscript descriptor."],["PersistBackend","A persistence backend for [`Persist`]."]]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"constant":[["BIP32_MAX_INDEX","Maximum BIP32 derivation index."],["COINBASE_MATURITY","How many confirmations are needed f or a coinbase output to be spent."]],"enum":[["ChainPosition","Represents the observed position of some chain data."],["ConfirmationTime","Block height and timestamp at which a transaction is confirmed."]],"externcrate":[["serde",""]],"mod":[["indexed_tx_graph","Contains the [`IndexedTxGraph`] and associated types. Refer to the [`IndexedTxGraph`] documentation for more."],["keychain","Module for keychain related structures."],["local_chain","The [`LocalChain`] is a local implementation of [`ChainOracle`]."],["tx_graph","Module for structures that store and traverse transactions."]],"struct":[["BlockId","A reference to a block in the canonical chain."],["ConfirmationHeightAnchor","An [`Anchor`] implementation that also records the exact confirmation height of the transaction."],["ConfirmationTimeHeightAnchor","An [`Anchor`] implementation that also records the exact confirmation time and height of the transaction."],["FullTxOut","A `TxOut` with as much data as we can retrieve about it"],["Persist","`Persist` wraps a [`PersistBackend`] (`B`) to create a convenient staging area for changes (`C`) before they are persisted."],["SpkIterator","An iterator for derived script pubkeys."],["SpkTxOutIndex","An index storing `TxOut`s that have a script pubkey that matches those in a list."]],"trait":[["Anchor","Trait that âanchorsâ blockchain data to a specific block of height and hash."],["AnchorFromBlockPosition","An [`Anchor`] that can be constructed from a given block, block height and transaction position within the block."],["Append","Trait that makes an object appendable."],["ChainOracle","Represents a service that tracks the blockchain."],["DescriptorExt","A trait to extend the functionality of a miniscript descriptor."],["PersistBackend","A persistence backend for [`Persist`]."]]};
\ No newline at end of file
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 caee226f9e..7dbca18ad7 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
@@ -6,7 +6,7 @@
block and anchor block are the same block.
Fields§
§height: u32The height of the block.
§hash: BlockHashThe 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 moresource§impl AnchorFromBlockPosition for BlockId
source§fn from_block_position(_block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl<'de> Deserialize<'de> for BlockId
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Ord for BlockId
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialEq<BlockId> for BlockId
source§fn eq(&self, other: &BlockId) -> bool
This method tests for self and other values to be equal, and is used
+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 moresource§impl AnchorFromBlockPosition for BlockId
source§fn from_block_position(_block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl<'de> Deserialize<'de> for BlockId
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Ord for BlockId
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialOrd<BlockId> for BlockId
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read more1.0.0 · source§fn ge(&self, other: &Rhs) -> bool
This method tests greater than or equal to (for self and other) and is used by the >=
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationHeightAnchor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationHeightAnchor.html
index 6740937a2f..2bd06517bc 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationHeightAnchor.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationHeightAnchor.html
@@ -1,16 +1,17 @@
-ConfirmationHeightAnchor in bdk_chain - Rust Struct bdk_chain::ConfirmationHeightAnchor
source · pub struct ConfirmationHeightAnchor {
+ConfirmationHeightAnchor in bdk_chain - Rust Struct bdk_chain::ConfirmationHeightAnchor
source · Expand description
Fields§
§anchor_block: BlockIdThe anchor block.
§confirmation_height: u32The exact confirmation height of the transaction.
It is assumed that this value is never larger than the height of the anchor block.
-Trait Implementations§
source§impl Anchor for ConfirmationHeightAnchor
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 moresource§impl AnchorFromBlockPosition for ConfirmationHeightAnchor
source§fn from_block_position(_block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl Clone for ConfirmationHeightAnchor
source§fn clone(&self) -> ConfirmationHeightAnchor
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for ConfirmationHeightAnchor
source§impl Default for ConfirmationHeightAnchor
source§fn default() -> ConfirmationHeightAnchor
Returns the âdefault valueâ for a type. Read moresource§impl<'de> Deserialize<'de> for ConfirmationHeightAnchor
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Hash for ConfirmationHeightAnchor
source§impl Ord for ConfirmationHeightAnchor
source§fn cmp(&self, other: &ConfirmationHeightAnchor) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialEq<ConfirmationHeightAnchor> for ConfirmationHeightAnchor
source§fn eq(&self, other: &ConfirmationHeightAnchor) -> bool
This method tests for self and other values to be equal, and is used
+Trait Implementations§
source§impl Anchor for ConfirmationHeightAnchor
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 moresource§impl AnchorFromBlockPosition for ConfirmationHeightAnchor
source§fn from_block_position(_block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl Clone for ConfirmationHeightAnchor
source§fn clone(&self) -> ConfirmationHeightAnchor
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Debug for ConfirmationHeightAnchor
source§impl Default for ConfirmationHeightAnchor
source§fn default() -> ConfirmationHeightAnchor
Returns the âdefault valueâ for a type. Read moresource§impl<'de> Deserialize<'de> for ConfirmationHeightAnchor
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Hash for ConfirmationHeightAnchor
source§impl Ord for ConfirmationHeightAnchor
source§fn cmp(&self, other: &ConfirmationHeightAnchor) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialEq<ConfirmationHeightAnchor> for ConfirmationHeightAnchor
source§fn eq(&self, other: &ConfirmationHeightAnchor) -> bool
source§impl PartialOrd<ConfirmationHeightAnchor> for ConfirmationHeightAnchor
source§impl PartialOrd<ConfirmationHeightAnchor> for ConfirmationHeightAnchor
source§fn partial_cmp(&self, other: &ConfirmationHeightAnchor) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read moresource§impl Copy for ConfirmationHeightAnchor
source§impl Eq for ConfirmationHeightAnchor
source§impl StructuralEq for ConfirmationHeightAnchor
source§impl StructuralPartialEq for ConfirmationHeightAnchor
Auto Trait Implementations§
§impl RefUnwindSafe for ConfirmationHeightAnchor
§impl Send for ConfirmationHeightAnchor
§impl Sync for ConfirmationHeightAnchor
§impl Unpin for ConfirmationHeightAnchor
§impl UnwindSafe for ConfirmationHeightAnchor
Blanket Implementations§
source§impl Copy for ConfirmationHeightAnchor
source§impl Eq for ConfirmationHeightAnchor
source§impl StructuralEq for ConfirmationHeightAnchor
source§impl StructuralPartialEq for ConfirmationHeightAnchor
Auto Trait Implementations§
§impl RefUnwindSafe for ConfirmationHeightAnchor
§impl Send for ConfirmationHeightAnchor
§impl Sync for ConfirmationHeightAnchor
§impl Unpin for ConfirmationHeightAnchor
§impl UnwindSafe for ConfirmationHeightAnchor
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationTimeHeightAnchor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationTimeHeightAnchor.html
index e217050f5d..0a5215d33d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationTimeHeightAnchor.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.ConfirmationTimeHeightAnchor.html
@@ -1,18 +1,19 @@
-ConfirmationTimeHeightAnchor in bdk_chain - Rust Struct bdk_chain::ConfirmationTimeHeightAnchor
source · pub struct ConfirmationTimeHeightAnchor {
+ConfirmationTimeHeightAnchor in bdk_chain - Rust Struct bdk_chain::ConfirmationTimeHeightAnchor
source · pub struct ConfirmationTimeHeightAnchor {
pub anchor_block: BlockId,
pub confirmation_height: u32,
pub confirmation_time: u64,
}
Expand description
Fields§
§anchor_block: BlockIdThe anchor block.
§confirmation_height: u32The confirmation height of the chain data being anchored.
§confirmation_time: u64The confirmation time of the chain data being anchored.
-Trait Implementations§
source§impl Anchor for ConfirmationTimeHeightAnchor
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 moresource§impl AnchorFromBlockPosition for ConfirmationTimeHeightAnchor
source§fn from_block_position(block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl Clone for ConfirmationTimeHeightAnchor
source§fn clone(&self) -> ConfirmationTimeHeightAnchor
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Default for ConfirmationTimeHeightAnchor
source§fn default() -> ConfirmationTimeHeightAnchor
Returns the âdefault valueâ for a type. Read moresource§impl<'de> Deserialize<'de> for ConfirmationTimeHeightAnchor
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Hash for ConfirmationTimeHeightAnchor
source§impl Ord for ConfirmationTimeHeightAnchor
source§fn cmp(&self, other: &ConfirmationTimeHeightAnchor) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialEq<ConfirmationTimeHeightAnchor> for ConfirmationTimeHeightAnchor
source§fn eq(&self, other: &ConfirmationTimeHeightAnchor) -> bool
This method tests for self and other values to be equal, and is used
+Trait Implementations§
source§impl Anchor for ConfirmationTimeHeightAnchor
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 moresource§impl AnchorFromBlockPosition for ConfirmationTimeHeightAnchor
source§fn from_block_position(block: &Block, block_id: BlockId, _tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.source§impl Clone for ConfirmationTimeHeightAnchor
source§fn clone(&self) -> ConfirmationTimeHeightAnchor
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl Default for ConfirmationTimeHeightAnchor
source§fn default() -> ConfirmationTimeHeightAnchor
Returns the âdefault valueâ for a type. Read moresource§impl<'de> Deserialize<'de> for ConfirmationTimeHeightAnchor
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read moresource§impl Hash for ConfirmationTimeHeightAnchor
source§impl Ord for ConfirmationTimeHeightAnchor
source§fn cmp(&self, other: &ConfirmationTimeHeightAnchor) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl PartialEq<ConfirmationTimeHeightAnchor> for ConfirmationTimeHeightAnchor
source§fn eq(&self, other: &ConfirmationTimeHeightAnchor) -> bool
source§impl PartialOrd<ConfirmationTimeHeightAnchor> for ConfirmationTimeHeightAnchor
source§impl PartialOrd<ConfirmationTimeHeightAnchor> for ConfirmationTimeHeightAnchor
source§fn partial_cmp(&self, other: &ConfirmationTimeHeightAnchor) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read moresource§impl Copy for ConfirmationTimeHeightAnchor
source§impl Eq for ConfirmationTimeHeightAnchor
source§impl StructuralEq for ConfirmationTimeHeightAnchor
source§impl StructuralPartialEq for ConfirmationTimeHeightAnchor
Auto Trait Implementations§
§impl RefUnwindSafe for ConfirmationTimeHeightAnchor
§impl Send for ConfirmationTimeHeightAnchor
§impl Sync for ConfirmationTimeHeightAnchor
§impl Unpin for ConfirmationTimeHeightAnchor
§impl UnwindSafe for ConfirmationTimeHeightAnchor
Blanket Implementations§
source§impl Copy for ConfirmationTimeHeightAnchor
source§impl Eq for ConfirmationTimeHeightAnchor
source§impl StructuralEq for ConfirmationTimeHeightAnchor
source§impl StructuralPartialEq for ConfirmationTimeHeightAnchor
Auto Trait Implementations§
§impl RefUnwindSafe for ConfirmationTimeHeightAnchor
§impl Send for ConfirmationTimeHeightAnchor
§impl Sync for ConfirmationTimeHeightAnchor
§impl Unpin for ConfirmationTimeHeightAnchor
§impl UnwindSafe for ConfirmationTimeHeightAnchor
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html
index bb8ba6d1a3..5f60b25545 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/struct.FullTxOut.html
@@ -1,4 +1,4 @@
-FullTxOut in bdk_chain - Rust pub struct FullTxOut<A> {
+FullTxOut in bdk_chain - Rust pub struct FullTxOut<A> {
pub outpoint: OutPoint,
pub txout: TxOut,
pub chain_position: ChainPosition<A>,
@@ -10,20 +10,20 @@
§chain_position: ChainPosition<A>The position of the transaction in outpoint in the overall chain.
§spent_by: Option<(ChainPosition<A>, Txid)>The txid and chain position of the transaction (if any) that has spent this output.
§is_on_coinbase: boolWhether this output is on a coinbase transaction.
-Implementations§
source§impl<A: Anchor> FullTxOut<A>
sourcepub fn is_mature(&self, tip: u32) -> bool
Whether the txout is considered mature.
+Implementations§
source§impl<A: Anchor> FullTxOut<A>
sourcepub fn is_mature(&self, tip: u32) -> bool
Whether the txout is considered mature.
Depending on the implementation of confirmation_height_upper_bound in Anchor, this
method may return false-negatives. In other words, interpreted confirmation count may be
less than the actual value.
-sourcepub fn is_confirmed_and_spendable(&self, tip: u32) -> bool
Whether the utxo is/was/will be spendable with chain tip.
+sourcepub fn is_confirmed_and_spendable(&self, tip: u32) -> bool
Whether the utxo is/was/will be spendable with chain tip.
This method does not take into account the lock time.
Depending on the implementation of confirmation_height_upper_bound in Anchor, this
method may return false-negatives. In other words, interpreted confirmation count may be
less than the actual value.
-Trait Implementations§
source§impl<A: Ord> Ord for FullTxOut<A>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moreTrait Implementations§
source§impl<A: Ord> Ord for FullTxOut<A>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl<A: PartialEq> PartialEq<FullTxOut<A>> for FullTxOut<A>
source§impl<A: PartialOrd> PartialOrd<FullTxOut<A>> for FullTxOut<A>
source§impl<A: PartialOrd> PartialOrd<FullTxOut<A>> for FullTxOut<A>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read moresource§impl<A: Eq> Eq for FullTxOut<A>
source§impl<A> StructuralEq for FullTxOut<A>
source§impl<A> StructuralPartialEq for FullTxOut<A>
Auto Trait Implementations§
§impl<A> RefUnwindSafe for FullTxOut<A>where
A: RefUnwindSafe,
§impl<A> Send for FullTxOut<A>where
A: Send,
§impl<A> Sync for FullTxOut<A>where
A: Sync,
§impl<A> Unpin for FullTxOut<A>where
A: Unpin,
§impl<A> UnwindSafe for FullTxOut<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<A: Eq> Eq for FullTxOut<A>
source§impl<A> StructuralEq for FullTxOut<A>
source§impl<A> StructuralPartialEq for FullTxOut<A>
Auto Trait Implementations§
§impl<A> RefUnwindSafe for FullTxOut<A>where
A: RefUnwindSafe,
§impl<A> Send for FullTxOut<A>where
A: Send,
§impl<A> Sync for FullTxOut<A>where
A: Sync,
§impl<A> Unpin for FullTxOut<A>where
A: Unpin,
§impl<A> UnwindSafe for FullTxOut<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html
index d8dcdddd50..579fece5d6 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Anchor.html
@@ -1,16 +1,19 @@
-Anchor in bdk_chain - Rust pub trait Anchor: Debug + Clone + Eq + PartialOrd + Ord + Hash {
+Anchor in bdk_chain - Rust pub trait Anchor: Debug + Clone + Eq + PartialOrd + Ord + Hash {
fn anchor_block(&self) -> BlockId;
fn confirmation_height_upper_bound(&self) -> u32 { ... }
}
Expand description
Trait that âanchorsâ blockchain data to a specific block of height and hash.
-Anchor implementations must be Ord by the anchor blockâs BlockId first.
-I.e. If transaction A is anchored in block B, then if block B is in the best chain, we can
+
If transaction A is anchored in block B, and block B is in the best chain, we can
assume that transaction A is also confirmed in the best chain. This does not necessarily mean
that transaction A is confirmed in block B. It could also mean transaction A is confirmed in a
parent block of B.
+Every Anchor implementation must contain a BlockId parameter, and must implement
+Ord. When implementing Ord, the anchorsâ BlockIds should take precedence
+over other elements inside the Anchors for comparison purposes, i.e., you should first
+compare the anchorsâ BlockIds and then care about the rest.
+The example shows different types of anchors:
-
-// Initialize the local chain with two blocks.
+// Initialize the local chain with two blocks.
let chain = LocalChain::from_blocks(
[
(1, Hash::hash("first".as_bytes())),
@@ -37,6 +40,7 @@ graph_a.insert_anchor(
);
// Insert `tx` into a `TxGraph` that uses `ConfirmationHeightAnchor` as the anchor type.
+// This anchor records the anchor block and the confirmation height of the transaction.
// When a transaction is anchored with `ConfirmationHeightAnchor`, the anchor block and
// confirmation block can be different. However, the confirmation block cannot be higher than
// the anchor block and both blocks must be in the same chain for the anchor to be valid.
@@ -51,9 +55,28 @@ graph_b.insert_anchor(
},
confirmation_height: 1,
},
+);
+
+// Insert `tx` into a `TxGraph` that uses `ConfirmationTimeHeightAnchor` as the anchor type.
+// This anchor records the anchor block, the confirmation height and time of the transaction.
+// When a transaction is anchored with `ConfirmationTimeHeightAnchor`, the anchor block and
+// confirmation block can be different. However, the confirmation block cannot be higher than
+// the anchor block and both blocks must be in the same chain for the anchor to be valid.
+let mut graph_c = TxGraph::<ConfirmationTimeHeightAnchor>::default();
+let _ = graph_c.insert_tx(tx.clone());
+graph_c.insert_anchor(
+ tx.txid(),
+ ConfirmationTimeHeightAnchor {
+ anchor_block: BlockId {
+ height: 2,
+ hash: Hash::hash("third".as_bytes()),
+ },
+ confirmation_height: 1,
+ confirmation_time: 123,
+ },
);
-
Required Methods§
sourcefn anchor_block(&self) -> BlockId
Returns the BlockId that the associated blockchain data is âanchoredâ in.
-Provided Methods§
sourcefn confirmation_height_upper_bound(&self) -> u32
Get the upper bound of the chain dataâs confirmation height.
+Required Methods§
sourcefn anchor_block(&self) -> BlockId
Returns the BlockId that the associated blockchain data is âanchoredâ in.
+Provided Methods§
sourcefn confirmation_height_upper_bound(&self) -> u32
Get the upper bound of the chain dataâs confirmation height.
The default definition gives a pessimistic answer. This can be overridden by the Anchor
implementation for a more accurate value.
-Implementations on Foreign Types§
Implementors§
\ No newline at end of file
+Implementations on Foreign Types§
Implementors§
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
index a5e6001a77..5641c1897d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.AnchorFromBlockPosition.html
@@ -1,6 +1,6 @@
-AnchorFromBlockPosition in bdk_chain - Rust Trait bdk_chain::AnchorFromBlockPosition
source · pub trait AnchorFromBlockPosition: Anchor {
+AnchorFromBlockPosition in bdk_chain - Rust Trait bdk_chain::AnchorFromBlockPosition
source · pub trait AnchorFromBlockPosition: Anchor {
fn from_block_position(
block: &Block,
block_id: BlockId,
tx_pos: usize
) -> Self;
}
Expand description
An Anchor that can be constructed from a given block, block height and transaction position
within the block.
-Required Methods§
sourcefn from_block_position(block: &Block, block_id: BlockId, tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.
-Implementors§
\ No newline at end of file
+
Required Methods§
sourcefn from_block_position(block: &Block, block_id: BlockId, tx_pos: usize) -> Self
Construct the anchor from a given block, block height and tx_pos within the block.
+Implementors§
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html
index c6a225af2b..a9cacd3e2b 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.Append.html
@@ -1,7 +1,7 @@
-Append in bdk_chain - Rust pub trait Append {
+Append in bdk_chain - Rust Expand description
Trait that makes an object appendable.
-Required Methods§
Implementations on Foreign Types§
source§impl<T0, T1, T2, T3> Append for (T0, T1, T2, T3)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
source§impl<T0, T1, T2, T3, T4> Append for (T0, T1, T2, T3, T4)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
source§impl<T0, T1, T2, T3, T4, T5> Append for (T0, T1, T2, T3, T4, T5)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6> Append for (T0, T1, T2, T3, T4, T5, T6)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7> Append for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
T9: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
T9: Append,
T10: Append,
Implementors§
\ No newline at end of file
+
Required Methods§
Implementations on Foreign Types§
source§impl<T0, T1, T2, T3> Append for (T0, T1, T2, T3)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
source§impl<T0, T1, T2, T3, T4> Append for (T0, T1, T2, T3, T4)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
source§impl<T0, T1, T2, T3, T4, T5> Append for (T0, T1, T2, T3, T4, T5)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6> Append for (T0, T1, T2, T3, T4, T5, T6)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7> Append for (T0, T1, T2, T3, T4, T5, T6, T7)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
T9: Append,
source§impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> Append for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)where
T0: Append,
T1: Append,
T2: Append,
T3: Append,
T4: Append,
T5: Append,
T6: Append,
T7: Append,
T8: Append,
T9: Append,
T10: Append,
Implementors§
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
index 2f3f08feb5..b38498991d 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/trait.ChainOracle.html
@@ -5,7 +5,7 @@
fn get_chain_tip(&self) -> Result<BlockId, Self::Error>;
}Expand description
Represents a service that tracks the blockchain.
The main method is is_block_in_chain which determines whether a given block of BlockId
-is an ancestor of another âstatic blockâ.
+is an ancestor of the chain_tip.
Required Associated Types§
Required Methods§
sourcefn is_block_in_chain(
&self,
block: BlockId,
chain_tip: BlockId
) -> Result<Option<bool>, Self::Error>
Determines whether block of BlockId exists as an ancestor of chain_tip.
If None is returned, it means the implementation cannot determine whether block exists
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html
index 2fdfaad6f2..36aeaa8bb7 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/enum.CalculateFeeError.html
@@ -1,12 +1,12 @@
-
CalculateFeeError in bdk_chain::tx_graph - Rust Enum bdk_chain::tx_graph::CalculateFeeError
source · pub enum CalculateFeeError {
+CalculateFeeError in bdk_chain::tx_graph - Rust Enum bdk_chain::tx_graph::CalculateFeeError
source · Expand description
Errors returned by TxGraph::calculate_fee.
Variants§
§MissingTxOut(Vec<OutPoint>)
Missing TxOut for one or more of the inputs of the tx
§NegativeFee(i64)
When the transaction is invalid according to the graph it has a negative fee
-Trait Implementations§
source§impl Debug for CalculateFeeError
source§impl Display for CalculateFeeError
source§impl Error for CalculateFeeError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
ðDeprecated since 1.42.0: use the Display impl or to_string()source§impl PartialEq<CalculateFeeError> for CalculateFeeError
source§fn eq(&self, other: &CalculateFeeError) -> bool
This method tests for self and other values to be equal, and is used
+Trait Implementations§
source§impl Debug for CalculateFeeError
source§impl Display for CalculateFeeError
source§impl Error for CalculateFeeError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more1.0.0 · source§fn description(&self) -> &str
ðDeprecated since 1.42.0: use the Display impl or to_string()source§impl PartialEq<CalculateFeeError> for CalculateFeeError
source§fn eq(&self, other: &CalculateFeeError) -> bool
source§impl Eq for CalculateFeeError
source§impl StructuralEq for CalculateFeeError
source§impl StructuralPartialEq for CalculateFeeError
Auto Trait Implementations§
§impl RefUnwindSafe for CalculateFeeError
§impl Send for CalculateFeeError
§impl Sync for CalculateFeeError
§impl Unpin for CalculateFeeError
§impl UnwindSafe for CalculateFeeError
Blanket Implementations§
source§impl Eq for CalculateFeeError
source§impl StructuralEq for CalculateFeeError
source§impl StructuralPartialEq for CalculateFeeError
Auto Trait Implementations§
§impl RefUnwindSafe for CalculateFeeError
§impl Send for CalculateFeeError
§impl Sync for CalculateFeeError
§impl Unpin for CalculateFeeError
§impl UnwindSafe for CalculateFeeError
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html
index 378f788a8e..dc0efe7551 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/index.html
@@ -1,10 +1,26 @@
-bdk_chain::tx_graph - Rust Expand description
Module for structures that store and traverse transactions.
-TxGraph is a monotone structure that inserts transactions and indexes the spends. The
-ChangeSet structure reports changes of TxGraph but can also be applied to a
-TxGraph as well. Lastly, TxDescendants is an Iterator that traverses descendants of
-a given transaction.
+bdk_chain::tx_graph - Rust Expand description
Module for structures that store and traverse transactions.
+TxGraph contains transactions and indexes them so you can easily traverse the graph of those transactions.
+TxGraph is monotone in that you can always insert a transaction â it doesnât care whether that
+transaction is in the current best chain or whether it conflicts with any of the
+existing transactions or what order you insert the transactions. This means that you can always
+combine two TxGraphs together, without resulting in inconsistencies.
+Furthermore, there is currently no way to delete a transaction.
+Transactions can be either whole or partial (i.e., transactions for which we only
+know some outputs, which we usually call âfloating outputsâ; these are usually inserted
+using the insert_txout method.).
+The graph contains transactions in the form of TxNodes. Each node contains the
+txid, the transaction (whole or partial), the blocks itâs anchored in (see the Anchor
+documentation for more details), and the timestamp of the last time we saw
+the transaction as unconfirmed.
Conflicting transactions are allowed to coexist within a TxGraph. This is useful for
-identifying and traversing conflicts and descendants of a given transaction.
+identifying and traversing conflicts and descendants of a given transaction. Some TxGraph
+methods only consider âcanonicalâ (i.e., in the best chain or in mempool) transactions,
+we decide which transactions are canonical based on anchors last_seen_unconfirmed;
+see the try_get_chain_position documentation for more details.
+The ChangeSet reports changes made to a TxGraph; it can be used to either save to
+persistent storage, or to be applied to another TxGraph.
+Lastly, you can use TxAncestors/TxDescendants to traverse ancestors and descendants of
+a given transaction, respectively.
Applying changes
Methods that apply changes to TxGraph will return ChangeSet.
ChangeSet can be applied back to a TxGraph or be used to inform persistent storage
@@ -29,4 +45,4 @@ of the changes to TxGraph// if we apply it again, the resulting changeset will be empty
let changeset = graph.apply_update(update);
assert!(changeset.is_empty());
-Structs
An outwards-facing view of a transaction that is part of the best chainâs history.An iterator that traverses ancestors of a given root transaction.An iterator that traverses transaction descendants.A graph of transactions and spends.Enums
Errors returned by TxGraph::calculate_fee.
\ No newline at end of file
+Structs
A transaction that is included in the chain, or is still in mempool.An iterator that traverses ancestors of a given root transaction.An iterator that traverses transaction descendants.A graph of transactions and spends.Enums
Errors returned by TxGraph::calculate_fee.
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js
index eef7b8c203..3d52c87023 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/sidebar-items.js
@@ -1 +1 @@
-window.SIDEBAR_ITEMS = {"enum":[["CalculateFeeError","Errors returned by `TxGraph::calculate_fee`."]],"struct":[["CanonicalTx","An outwards-facing view of a transaction that is part of the best chainâs history."],["ChangeSet","A structure that represents changes to a [`TxGraph`]."],["TxAncestors","An iterator that traverses ancestors of a given root transaction."],["TxDescendants","An iterator that traverses transaction descendants."],["TxGraph","A graph of transactions and spends."],["TxNode","An outward-facing view of a (transaction) node in the [`TxGraph`]."]]};
\ No newline at end of file
+window.SIDEBAR_ITEMS = {"enum":[["CalculateFeeError","Errors returned by `TxGraph::calculate_fee`."]],"struct":[["CanonicalTx","A transaction that is included in the chain, or is still in mempool."],["ChangeSet","The [`ChangeSet`] represents changes to a [`TxGraph`]."],["TxAncestors","An iterator that traverses ancestors of a given root transaction."],["TxDescendants","An iterator that traverses transaction descendants."],["TxGraph","A graph of transactions and spends."],["TxNode","A transaction node in the [`TxGraph`]."]]};
\ No newline at end of file
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html
index d7dbbf538d..453563e326 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.CanonicalTx.html
@@ -1,14 +1,14 @@
-CanonicalTx in bdk_chain::tx_graph - Rust Struct bdk_chain::tx_graph::CanonicalTx
source · pub struct CanonicalTx<'a, T, A> {
+CanonicalTx in bdk_chain::tx_graph - Rust Struct bdk_chain::tx_graph::CanonicalTx
source · pub struct CanonicalTx<'a, T, A> {
pub chain_position: ChainPosition<&'a A>,
pub tx_node: TxNode<'a, T, A>,
-}
Expand description
An outwards-facing view of a transaction that is part of the best chainâs history.
+}Expand description
A transaction that is included in the chain, or is still in mempool.
Fields§
§chain_position: ChainPosition<&'a A>How the transaction is observed as (confirmed or unconfirmed).
§tx_node: TxNode<'a, T, A>The transaction node (as part of the graph).
-Trait Implementations§
source§impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>
source§fn clone(&self) -> CanonicalTx<'a, T, A>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a, T: Ord, A: Ord> Ord for CanonicalTx<'a, T, A>
source§fn cmp(&self, other: &CanonicalTx<'a, T, A>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl<'a, T: PartialEq, A: PartialEq> PartialEq<CanonicalTx<'a, T, A>> for CanonicalTx<'a, T, A>
source§fn eq(&self, other: &CanonicalTx<'a, T, A>) -> bool
This method tests for self and other values to be equal, and is used
+Trait Implementations§
source§impl<'a, T: Clone, A: Clone> Clone for CanonicalTx<'a, T, A>
source§fn clone(&self) -> CanonicalTx<'a, T, A>
Returns a copy of the value. Read more1.0.0 · source§fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source. Read moresource§impl<'a, T: Ord, A: Ord> Ord for CanonicalTx<'a, T, A>
source§fn cmp(&self, other: &CanonicalTx<'a, T, A>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read moresource§impl<'a, T: PartialEq, A: PartialEq> PartialEq<CanonicalTx<'a, T, A>> for CanonicalTx<'a, T, A>
source§fn eq(&self, other: &CanonicalTx<'a, T, A>) -> bool
source§impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd<CanonicalTx<'a, T, A>> for CanonicalTx<'a, T, A>
source§impl<'a, T: PartialOrd, A: PartialOrd> PartialOrd<CanonicalTx<'a, T, A>> for CanonicalTx<'a, T, A>
source§fn partial_cmp(&self, other: &CanonicalTx<'a, T, A>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self and other) and is used by the <=
operator. Read moresource§impl<'a, T: Eq, A: Eq> Eq for CanonicalTx<'a, T, A>
source§impl<'a, T, A> StructuralEq for CanonicalTx<'a, T, A>
source§impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>
Auto Trait Implementations§
§impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>where
A: RefUnwindSafe,
T: RefUnwindSafe,
§impl<'a, T, A> Send for CanonicalTx<'a, T, A>where
A: Sync,
T: Sync,
§impl<'a, T, A> Sync for CanonicalTx<'a, T, A>where
A: Sync,
T: Sync,
§impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>
§impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>where
A: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations§
source§impl<'a, T: Eq, A: Eq> Eq for CanonicalTx<'a, T, A>
source§impl<'a, T, A> StructuralEq for CanonicalTx<'a, T, A>
source§impl<'a, T, A> StructuralPartialEq for CanonicalTx<'a, T, A>
Auto Trait Implementations§
§impl<'a, T, A> RefUnwindSafe for CanonicalTx<'a, T, A>where
A: RefUnwindSafe,
T: RefUnwindSafe,
§impl<'a, T, A> Send for CanonicalTx<'a, T, A>where
A: Sync,
T: Sync,
§impl<'a, T, A> Sync for CanonicalTx<'a, T, A>where
A: Sync,
T: Sync,
§impl<'a, T, A> Unpin for CanonicalTx<'a, T, A>
§impl<'a, T, A> UnwindSafe for CanonicalTx<'a, T, A>where
A: RefUnwindSafe,
T: RefUnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
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 6a1889d9d2..ab58030126 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
@@ -1,29 +1,29 @@
-ChangeSet in bdk_chain::tx_graph - Rust pub struct ChangeSet<A = ()> {
+ChangeSet in bdk_chain::tx_graph - Rust pub struct ChangeSet<A = ()> {
pub txs: BTreeSet<Transaction>,
pub txouts: BTreeMap<OutPoint, TxOut>,
pub anchors: BTreeSet<(A, Txid)>,
pub last_seen: BTreeMap<Txid, u64>,
-}
Expand description
A structure that represents changes to a TxGraph.
-Since TxGraph is monotone âchangesetâ can only contain transactions to be added and
+}
Expand description
The ChangeSet represents changes to a TxGraph.
+Since TxGraph is monotone, the âchangesetâ can only contain transactions to be added and
not removed.
Refer to module-level documentation for more.
Fields§
§txs: BTreeSet<Transaction>Added transactions.
§txouts: BTreeMap<OutPoint, TxOut>Added txouts.
§anchors: BTreeSet<(A, Txid)>Added anchors.
§last_seen: BTreeMap<Txid, u64>Added last-seen unix timestamps of transactions.
-Implementations§
source§impl<A> ChangeSet<A>
sourcepub fn is_empty(&self) -> bool
Returns true if the ChangeSet is empty (no transactions or txouts).
-sourcepub fn txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>
Iterates over all outpoints contained within ChangeSet.
-sourcepub fn anchor_heights(&self) -> impl Iterator<Item = u32> + '_where
A: Anchor,
Iterates over the heights of that the new transaction anchors in this changeset.
+Implementations§
source§impl<A> ChangeSet<A>
sourcepub fn is_empty(&self) -> bool
Returns true if the ChangeSet is empty (no transactions or txouts).
+sourcepub fn txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)>
Iterates over all outpoints contained within ChangeSet.
+sourcepub fn anchor_heights(&self) -> impl Iterator<Item = u32> + '_where
A: Anchor,
Iterates over the heights of that the new transaction anchors in this changeset.
This is useful if you want to find which heights you need to fetch data about in order to
confirm or exclude these anchors.
See also: TxGraph::missing_heights
-sourcepub fn missing_heights_from<'a>(
&'a self,
local_chain: &'a LocalChain
) -> impl Iterator<Item = u32> + 'awhere
A: Anchor,
Returns an iterator for the anchor_heights in this changeset that are not included in
+
sourcepub fn missing_heights_from<'a>(
&'a self,
local_chain: &'a LocalChain
) -> impl Iterator<Item = u32> + 'awhere
A: Anchor,
Returns an iterator for the anchor_heights in this changeset that are not included in
local_chain. This tells you which heights you need to include in local_chain in order
for it to conclusively act as a ChainOracle for the transaction anchors this changeset
will add.
-Trait Implementations§
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 moreTrait Implementations§
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 moresource§impl<A: PartialEq> PartialEq<ChangeSet<A>> for ChangeSet<A>
source§impl<A> StructuralPartialEq for ChangeSet<A>
Auto Trait Implementations§
§impl<A> RefUnwindSafe for ChangeSet<A>where
A: RefUnwindSafe,
§impl<A> Send for ChangeSet<A>where
A: Send,
§impl<A> Sync for ChangeSet<A>where
A: Sync,
§impl<A> Unpin for ChangeSet<A>
§impl<A> UnwindSafe for ChangeSet<A>where
A: RefUnwindSafe,
Blanket Implementations§
source§impl<A> StructuralPartialEq for ChangeSet<A>
Auto Trait Implementations§
§impl<A> RefUnwindSafe for ChangeSet<A>where
A: RefUnwindSafe,
§impl<A> Send for ChangeSet<A>where
A: Send,
§impl<A> Sync for ChangeSet<A>where
A: Sync,
§impl<A> Unpin for ChangeSet<A>
§impl<A> UnwindSafe for ChangeSet<A>where
A: RefUnwindSafe,
Blanket Implementations§
source§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html
index 7931cf5dfe..78092566e6 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxAncestors.html
@@ -1,7 +1,7 @@
-TxAncestors in bdk_chain::tx_graph - Rust Struct bdk_chain::tx_graph::TxAncestors
source · pub struct TxAncestors<'g, A, F> { /* private fields */ }
Expand description
An iterator that traverses ancestors of a given root transaction.
+TxAncestors in bdk_chain::tx_graph - Rust Struct bdk_chain::tx_graph::TxAncestors
source · pub struct TxAncestors<'g, A, F> { /* private fields */ }
Expand description
An iterator that traverses ancestors of a given root transaction.
The iterator excludes partial transactions.
-This struct is created by the walk_ancestors method of TxGraph.
-Trait Implementations§
source§impl<'g, A, F, O> Iterator for TxAncestors<'g, A, F>where
F: FnMut(usize, &'g Transaction) -> Option<O>,
source§fn next(&mut self) -> Option<Self::Item>
Advances the iterator and returns the next value. Read moresource§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 more1.0.0 · source§fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more1.0.0 · source§fn count(self) -> usizewhere
Self: Sized,
Consumes the iterator, counting the number of iterations and returning it. Read more1.0.0 · source§fn last(self) -> Option<Self::Item>where
Self: Sized,
Consumes the iterator, returning the last element. Read moresource§fn advance_by(&mut self, n: usize) -> Result<(), usize>
ð¬This is a nightly-only experimental API. (iter_advance_by)Advances the iterator by n elements. Read more1.0.0 · source§fn nth(&mut self, n: usize) -> Option<Self::Item>
Returns the nth element of the iterator. Read more1.28.0 · source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Creates an iterator starting at the same point, but stepping by
+Returned by the walk_ancestors method of TxGraph.
+Trait Implementations§
source§impl<'g, A, F, O> Iterator for TxAncestors<'g, A, F>where
F: FnMut(usize, &'g Transaction) -> Option<O>,
source§fn next(&mut self) -> Option<Self::Item>
Advances the iterator and returns the next value. Read moresource§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 more1.0.0 · source§fn size_hint(&self) -> (usize, Option<usize>)
Returns the bounds on the remaining length of the iterator. Read more1.0.0 · source§fn count(self) -> usizewhere
Self: Sized,
Consumes the iterator, counting the number of iterations and returning it. Read more1.0.0 · source§fn last(self) -> Option<Self::Item>where
Self: Sized,
Consumes the iterator, returning the last element. Read moresource§fn advance_by(&mut self, n: usize) -> Result<(), usize>
ð¬This is a nightly-only experimental API. (iter_advance_by)Advances the iterator by n elements. Read more1.0.0 · source§fn nth(&mut self, n: usize) -> Option<Self::Item>
Returns the nth element of the iterator. Read more1.28.0 · source§fn step_by(self, step: usize) -> StepBy<Self>where
Self: Sized,
Creates an iterator starting at the same point, but stepping by
the given amount at each iteration. Read more1.0.0 · source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator<Item = Self::Item>,
Takes two iterators and creates a new iterator over both in sequence. Read more1.0.0 · source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>where
Self: Sized,
U: IntoIterator,
âZips upâ two iterators into a single iterator of pairs. Read moresource§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>where
Self: Sized,
G: FnMut() -> Self::Item,
ð¬This is a nightly-only experimental API. (iter_intersperse)Creates a new iterator which places an item generated by separator
between adjacent items of the original iterator. Read more1.0.0 · source§fn map<B, F>(self, f: F) -> Map<Self, F>where
Self: Sized,
F: FnMut(Self::Item) -> B,
Takes a closure and creates an iterator which calls that closure on each
element. Read more1.21.0 · source§fn for_each<F>(self, f: F)where
Self: Sized,
F: FnMut(Self::Item),
Calls a closure on each element of an iterator. Read more1.0.0 · source§fn filter<P>(self, predicate: P) -> Filter<Self, P>where
Self: Sized,
P: FnMut(&Self::Item) -> bool,
Creates an iterator which uses a closure to determine if an element
@@ -33,8 +33,8 @@ less than those of another. Read more1.5.0 · source§fn gt<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,
Determines if the elements of this Iterator are lexicographically
greater than those of another. Read more1.5.0 · source§fn ge<I>(self, other: I) -> boolwhere
I: IntoIterator,
Self::Item: PartialOrd<<I as IntoIterator>::Item>,
Self: Sized,
Determines if the elements of this Iterator are lexicographically
greater than or equal to those of another. Read moresource§fn is_sorted_by<F>(self, compare: F) -> boolwhere
Self: Sized,
F: FnMut(&Self::Item, &Self::Item) -> Option<Ordering>,
ð¬This is a nightly-only experimental API. (is_sorted)Checks if the elements of this iterator are sorted using the given comparator function. Read moresource§fn is_sorted_by_key<F, K>(self, f: F) -> boolwhere
Self: Sized,
F: FnMut(Self::Item) -> K,
K: PartialOrd<K>,
ð¬This is a nightly-only experimental API. (is_sorted)Checks if the elements of this iterator are sorted using the given key extraction
-function. Read moreAuto Trait Implementations§
§impl<'g, A, F> RefUnwindSafe for TxAncestors<'g, A, F>where
A: RefUnwindSafe,
F: RefUnwindSafe,
§impl<'g, A, F> Send for TxAncestors<'g, A, F>where
A: Sync,
F: Send,
§impl<'g, A, F> Sync for TxAncestors<'g, A, F>where
A: Sync,
F: Sync,
§impl<'g, A, F> Unpin for TxAncestors<'g, A, F>where
F: Unpin,
§impl<'g, A, F> UnwindSafe for TxAncestors<'g, A, F>where
A: RefUnwindSafe,
F: UnwindSafe,
Blanket Implementations§
Auto Trait Implementations§
§impl<'g, A, F> RefUnwindSafe for TxAncestors<'g, A, F>where
A: RefUnwindSafe,
F: RefUnwindSafe,
§impl<'g, A, F> Send for TxAncestors<'g, A, F>where
A: Sync,
F: Send,
§impl<'g, A, F> Sync for TxAncestors<'g, A, F>where
A: Sync,
F: Sync,
§impl<'g, A, F> Unpin for TxAncestors<'g, A, F>where
F: Unpin,
§impl<'g, A, F> UnwindSafe for TxAncestors<'g, A, F>where
A: RefUnwindSafe,
F: UnwindSafe,
Blanket Implementations§
§impl<T> CheckedSum<Amount> for Twhere
T: Iterator<Item = Amount>,
§fn checked_sum(self) -> Option<Amount>
Calculate the sum over the iterator using checked arithmetic. If an over or underflow would
+happen it returns None. Read more§impl<T> CheckedSum<SignedAmount> for Twhere
T: Iterator<Item = SignedAmount>,
§fn checked_sum(self) -> Option<SignedAmount>
Calculate the sum over the iterator using checked arithmetic. If an over or underflow would
happen it returns None. Read moresource§impl<T, U> Into<U> for Twhere
U: From<T>,
const: unstable · source§fn into(self) -> U
Calls U::from(self).
That is, this conversion is whatever the implementation of
diff --git a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html
index 21e12400cf..babe8b84da 100644
--- a/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html
+++ b/docs/.vuepress/public/docs-rs/bdk/nightly/latest/bdk_chain/tx_graph/struct.TxDescendants.html
@@ -1,6 +1,6 @@
-
TxDescendants in bdk_chain::tx_graph - Rust