1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
use flex_error::{define_error, TraceError};
use prost::DecodeError;

define_error! {
    #[derive(Debug, PartialEq, Eq)]
    Error {
        InvalidRawMerkleProof
            [ TraceError<DecodeError> ]
            |_| { "invalid raw merkle proof" },

        CommitmentProofDecodingFailed
            [ TraceError<DecodeError> ]
            |_| { "failed to decode commitment proof" },

        EmptyCommitmentPrefix
            |_| { "empty commitment prefix" },

        EmptyMerkleProof
            |_| { "empty merkle proof" },

        EmptyMerkleRoot
            |_| { "empty merkle root" },

        EmptyVerifiedValue
            |_| { "empty verified value" },

        NumberOfSpecsMismatch
            |_| { "mismatch between the number of proofs with that of specs" },

        NumberOfKeysMismatch
            |_| { "mismatch between the number of proofs with that of keys" },

        InvalidMerkleProof
            |_| { "invalid merkle proof" },

        VerificationFailure
            |_| { "proof verification failed" }
    }
}