pub enum MerkleTreeError {
WrongBatchSize,
WrongWidth,
WrongHeight {
log_max_height: usize,
num_siblings: usize,
},
IncompatibleHeights,
IndexOutOfBounds {
max_height: usize,
index: usize,
},
RootMismatch,
EmptyBatch,
}Expand description
Errors that may arise during Merkle tree commitment, opening, or verification.
Variants§
WrongBatchSize
The number of openings provided does not match the expected number.
WrongWidth
A matrix has a different width than expected.
WrongHeight
The number of proof nodes does not match the expected tree height.
Fields
IncompatibleHeights
Matrix heights are incompatible; they cannot share a common binary Merkle tree.
IndexOutOfBounds
The queried row index exceeds the maximum height.
RootMismatch
The computed Merkle root does not match the provided commitment.
EmptyBatch
Attempted to open an empty batch (no committed matrices).
Trait Implementations§
Source§impl Debug for MerkleTreeError
impl Debug for MerkleTreeError
Source§impl Display for MerkleTreeError
impl Display for MerkleTreeError
Source§impl Error for MerkleTreeError
impl Error for MerkleTreeError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Auto Trait Implementations§
impl Freeze for MerkleTreeError
impl RefUnwindSafe for MerkleTreeError
impl Send for MerkleTreeError
impl Sync for MerkleTreeError
impl Unpin for MerkleTreeError
impl UnwindSafe for MerkleTreeError
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more