Struct ics23::ProofSpec [−][src]
pub struct ProofSpec {
pub leaf_spec: Option<LeafOp>,
pub inner_spec: Option<InnerSpec>,
pub max_depth: i32,
pub min_depth: i32,
}
Expand description
ProofSpec defines what the expected parameters are for a given proof type. This can be stored in the client and used to validate any incoming proofs.
verify(ProofSpec, Proof) -> Proof | Error
As demonstrated in tests, if we don’t fix the algorithm used to calculate the LeafHash for a given tree, there are many possible key-value pairs that can generate a given hash (by interpretting the preimage differently). We need this for proper security, requires client knows a priori what tree format server uses. But not in code, rather a configuration object.
Fields
leaf_spec: Option<LeafOp>
any field in the ExistenceProof must be the same as in this spec. except Prefix, which is just the first bytes of prefix (spec can be longer)
inner_spec: Option<InnerSpec>
max_depth: i32
max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for fixed-depth tries)
min_depth: i32
min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for fixed-depth tries)
Trait Implementations
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: Buf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self
. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
Auto Trait Implementations
impl RefUnwindSafe for ProofSpec
impl UnwindSafe for ProofSpec
Blanket Implementations
Mutably borrows from an owned value. Read more