pub enum SmtError {
CorruptedData {
key: String,
condition: String,
},
ByteLevelError(TypeError),
Datastorage(StorageError),
FailedMerge {
error: String,
},
IllogicalState {
failstate: String,
},
NoLeavesProvided {
function: String,
key_option: String,
},
NotFound {
key: String,
},
ProofAssemblyError {
error: String,
},
}Variants§
CorruptedData
Used whenever a node is read with no coherent data.
ByteLevelError(TypeError)
Datastorage(StorageError)
Used whenever there is an issue executing task in the datastorage.
FailedMerge
Informs that a merge between 2 keys was not possible.
IllogicalState
The library reaches a state in which it does not have any way to recover nor proceed.
NoLeavesProvided
Informs that a function that requires at least one leaf was provided with None.
NotFound
Informs that some critical node was not found in the datastorage.
ProofAssemblyError
Informs that some node was not found inside the main proof, hence the proof assembly process is no longer allowed to proceed.
Trait Implementations§
Source§impl Error for SmtError
impl Error for SmtError
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()
Source§impl From<StorageError> for SmtError
impl From<StorageError> for SmtError
Source§fn from(source: StorageError) -> Self
fn from(source: StorageError) -> Self
Converts to this type from the input type.
impl StructuralPartialEq for SmtError
Auto Trait Implementations§
impl Freeze for SmtError
impl RefUnwindSafe for SmtError
impl Send for SmtError
impl Sync for SmtError
impl Unpin for SmtError
impl UnwindSafe for SmtError
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