|
|
@ -3,11 +3,11 @@ use core::fmt::Display; |
|
|
|
#[derive(Debug, PartialEq, Eq)]
|
|
|
|
pub enum TieredSmtProofError {
|
|
|
|
EntriesEmpty,
|
|
|
|
PathTooLong,
|
|
|
|
NotATierPath(u8),
|
|
|
|
MultipleEntriesOutsideLastTier,
|
|
|
|
EmptyValueNotAllowed,
|
|
|
|
UnmatchingPrefixes(u64, u64),
|
|
|
|
MismatchedPrefixes(u64, u64),
|
|
|
|
MultipleEntriesOutsideLastTier,
|
|
|
|
NotATierPath(u8),
|
|
|
|
PathTooLong,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl Display for TieredSmtProofError {
|
|
|
@ -16,30 +16,29 @@ impl Display for TieredSmtProofError { |
|
|
|
TieredSmtProofError::EntriesEmpty => {
|
|
|
|
write!(f, "Missing entries for tiered sparse merkle tree proof")
|
|
|
|
}
|
|
|
|
TieredSmtProofError::PathTooLong => {
|
|
|
|
TieredSmtProofError::EmptyValueNotAllowed => {
|
|
|
|
write!(
|
|
|
|
f,
|
|
|
|
"Path longer than maximum depth of 64 for tiered sparse merkle tree proof"
|
|
|
|
"The empty value [0, 0, 0, 0] is not allowed inside a tiered sparse merkle tree"
|
|
|
|
)
|
|
|
|
}
|
|
|
|
TieredSmtProofError::NotATierPath(got) => {
|
|
|
|
write!(
|
|
|
|
f,
|
|
|
|
"Path length does not correspond to a tier. Got {} Expected one of 16,32,48,64",
|
|
|
|
got
|
|
|
|
)
|
|
|
|
TieredSmtProofError::MismatchedPrefixes(first, second) => {
|
|
|
|
write!(f, "Not all leaves have the same prefix. First {first} second {second}")
|
|
|
|
}
|
|
|
|
TieredSmtProofError::MultipleEntriesOutsideLastTier => {
|
|
|
|
write!(f, "Multiple entries are only allowed for the last tier (depth 64)")
|
|
|
|
}
|
|
|
|
TieredSmtProofError::EmptyValueNotAllowed => {
|
|
|
|
TieredSmtProofError::NotATierPath(got) => {
|
|
|
|
write!(
|
|
|
|
f,
|
|
|
|
"The empty value [0,0,0,0] is not allowed inside a tiered sparse merkle tree"
|
|
|
|
"Path length does not correspond to a tier. Got {got} Expected one of 16, 32, 48, 64"
|
|
|
|
)
|
|
|
|
}
|
|
|
|
TieredSmtProofError::UnmatchingPrefixes(first, second) => {
|
|
|
|
write!(f, "Not all leaves have the same prefix. First {} second {}", first, second)
|
|
|
|
TieredSmtProofError::PathTooLong => {
|
|
|
|
write!(
|
|
|
|
f,
|
|
|
|
"Path longer than maximum depth of 64 for tiered sparse merkle tree proof"
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|