[−][src]Struct ics23::ProofSpec
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>
Trait Implementations
impl PartialEq<ProofSpec> for ProofSpec
[src]
impl Default for ProofSpec
[src]
impl Clone for ProofSpec
[src]
fn clone(&self) -> ProofSpec
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl Debug for ProofSpec
[src]
impl Message for ProofSpec
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(&mut self, buf: &mut B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
Encodes the message to a buffer. Read more
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
Encodes the message with a length-delimiter to a buffer. Read more
fn decode<B>(buf: B) -> Result<Self, DecodeError> where
B: IntoBuf,
Self: Default,
[src]
B: IntoBuf,
Self: Default,
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
B: IntoBuf,
Self: Default,
[src]
B: IntoBuf,
Self: Default,
Decodes a length-delimited instance of the message from the buffer.
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: IntoBuf,
[src]
B: IntoBuf,
Decodes an instance of the message from a buffer, and merges it into self
. Read more
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: IntoBuf,
[src]
B: IntoBuf,
Decodes a length-delimited instance of the message from buffer, and merges it into self
. Read more
Auto Trait Implementations
impl Send for ProofSpec
impl Unpin for ProofSpec
impl Sync for ProofSpec
impl UnwindSafe for ProofSpec
impl RefUnwindSafe for ProofSpec
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self