Struct akd::LookupProof
source · pub struct LookupProof {
pub epoch: u64,
pub value: AkdValue,
pub version: u64,
pub existence_vrf_proof: Vec<u8, Global>,
pub existence_proof: MembershipProof,
pub marker_vrf_proof: Vec<u8, Global>,
pub marker_proof: MembershipProof,
pub freshness_vrf_proof: Vec<u8, Global>,
pub freshness_proof: NonMembershipProof,
pub commitment_nonce: Vec<u8, Global>,
}
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
value: AkdValue
The plaintext value in question
version: u64
The version of the record
existence_vrf_proof: Vec<u8, Global>
VRF proof for the label corresponding to this version
existence_proof: MembershipProof
Record existence proof
marker_vrf_proof: Vec<u8, Global>
VRF proof for the marker preceding (less than or equal to) this version
marker_proof: MembershipProof
Existence at specific marker
freshness_vrf_proof: Vec<u8, Global>
VRF proof for the label corresponding to this version being stale
freshness_proof: NonMembershipProof
Freshness proof (non member at previous epoch)
commitment_nonce: Vec<u8, Global>
Proof for commitment value derived from raw AkdLabel and AkdValue
Trait Implementations§
source§impl Clone for LookupProof
impl Clone for LookupProof
source§fn clone(&self) -> LookupProof
fn clone(&self) -> LookupProof
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for LookupProof
impl Debug for LookupProof
source§impl From<&LookupProof> for LookupProof
impl From<&LookupProof> for LookupProof
source§fn from(input: &LookupProof) -> LookupProof
fn from(input: &LookupProof) -> LookupProof
Converts to this type from the input type.
source§impl PartialEq<LookupProof> for LookupProof
impl PartialEq<LookupProof> for LookupProof
source§fn eq(&self, other: &LookupProof) -> bool
fn eq(&self, other: &LookupProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TryFrom<&LookupProof> for LookupProof
impl TryFrom<&LookupProof> for LookupProof
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(
input: &LookupProof
) -> Result<LookupProof, <LookupProof as TryFrom<&LookupProof>>::Error>
fn try_from( input: &LookupProof ) -> Result<LookupProof, <LookupProof as TryFrom<&LookupProof>>::Error>
Performs the conversion.
impl Eq for LookupProof
impl StructuralEq for LookupProof
impl StructuralPartialEq for LookupProof
Auto Trait Implementations§
impl RefUnwindSafe for LookupProof
impl Send for LookupProof
impl Sync for LookupProof
impl Unpin for LookupProof
impl UnwindSafe for LookupProof
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<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,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more