Struct akd::proof_structs::LookupProof
source · pub struct LookupProof<H: Hasher> {
pub epoch: u64,
pub plaintext_value: AkdValue,
pub version: u64,
pub existence_vrf_proof: Vec<u8>,
pub existence_proof: MembershipProof<H>,
pub marker_vrf_proof: Vec<u8>,
pub marker_proof: MembershipProof<H>,
pub freshness_vrf_proof: Vec<u8>,
pub freshness_proof: NonMembershipProof<H>,
pub commitment_proof: Vec<u8>,
}
Expand description
Proof that a given label was at a particular state at the given epoch. This means we need to show that the state and version we are claiming for this node must have been:
- committed in the tree,
- not too far ahead of the most recent marker version,
- not stale when served. This proof is sent in response to a lookup query for a particular key.
Fields
epoch: u64
The epoch of this record
plaintext_value: AkdValue
The plaintext value in question
version: u64
The version of the record
existence_vrf_proof: Vec<u8>
VRF proof for the label corresponding to this version
existence_proof: MembershipProof<H>
Record existence proof
marker_vrf_proof: Vec<u8>
VRF proof for the marker preceding (less than or equal to) this version
marker_proof: MembershipProof<H>
Existence at specific marker
freshness_vrf_proof: Vec<u8>
VRF proof for the label corresponding to this version being stale
freshness_proof: NonMembershipProof<H>
Freshness proof (non membership of stale label)
commitment_proof: Vec<u8>
Proof for commitment value derived from raw AkdLabel and AkdValue
Trait Implementations
sourceimpl<H: Hasher> Clone for LookupProof<H>
impl<H: Hasher> Clone for LookupProof<H>
sourceimpl<H: Debug + Hasher> Debug for LookupProof<H>
impl<H: Debug + Hasher> Debug for LookupProof<H>
sourceimpl<H: PartialEq + Hasher> PartialEq<LookupProof<H>> for LookupProof<H>
impl<H: PartialEq + Hasher> PartialEq<LookupProof<H>> for LookupProof<H>
sourcefn eq(&self, other: &LookupProof<H>) -> bool
fn eq(&self, other: &LookupProof<H>) -> bool
impl<H: Eq + Hasher> Eq for LookupProof<H>
impl<H: Hasher> StructuralEq for LookupProof<H>
impl<H: Hasher> StructuralPartialEq for LookupProof<H>
Auto Trait Implementations
impl<H> RefUnwindSafe for LookupProof<H>where
<H as Hasher>::Digest: RefUnwindSafe,
impl<H> Send for LookupProof<H>
impl<H> Sync for LookupProof<H>
impl<H> Unpin for LookupProof<H>where
<H as Hasher>::Digest: Unpin,
impl<H> UnwindSafe for LookupProof<H>where
<H as Hasher>::Digest: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.