Enum bdk_chain::bitcoin::merkle_tree::MerkleBlockError
#[non_exhaustive]pub enum MerkleBlockError {
MerkleRootMismatch,
NoTransactions,
TooManyTransactions,
TooManyHashes,
NotEnoughBits,
NotAllBitsConsumed,
NotAllHashesConsumed,
BitsArrayOverflow,
HashesArrayOverflow,
IdenticalHashesFound,
}
Expand description
An error when verifying the merkle block.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
MerkleRootMismatch
Merkle root in the header doesn’t match to the root calculated from partial merkle tree.
NoTransactions
Partial merkle tree contains no transactions.
TooManyTransactions
There are too many transactions.
TooManyHashes
There are too many hashes
NotEnoughBits
There must be at least one bit per node in the partial tree, and at least one node per hash
NotAllBitsConsumed
Not all bits were consumed
NotAllHashesConsumed
Not all hashes were consumed
BitsArrayOverflow
Overflowed the bits array
HashesArrayOverflow
Overflowed the hashes array
IdenticalHashesFound
The left and right branches should never be identical
Trait Implementations§
§impl Clone for MerkleBlockError
impl Clone for MerkleBlockError
§fn clone(&self) -> MerkleBlockError
fn clone(&self) -> MerkleBlockError
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Debug for MerkleBlockError
impl Debug for MerkleBlockError
§impl Display for MerkleBlockError
impl Display for MerkleBlockError
§impl Error for MerkleBlockError
impl Error for MerkleBlockError
§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
The lower-level source of this error, if any. Read more
1.0.0 · source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
§impl From<Infallible> for MerkleBlockError
impl From<Infallible> for MerkleBlockError
§fn from(never: Infallible) -> MerkleBlockError
fn from(never: Infallible) -> MerkleBlockError
Converts to this type from the input type.
§impl PartialEq for MerkleBlockError
impl PartialEq for MerkleBlockError
§fn eq(&self, other: &MerkleBlockError) -> bool
fn eq(&self, other: &MerkleBlockError) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for MerkleBlockError
impl StructuralPartialEq for MerkleBlockError
Auto Trait Implementations§
impl Freeze for MerkleBlockError
impl RefUnwindSafe for MerkleBlockError
impl Send for MerkleBlockError
impl Sync for MerkleBlockError
impl Unpin for MerkleBlockError
impl UnwindSafe for MerkleBlockError
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more