Struct akd_client::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

source§

fn clone(&self) -> LookupProof

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for LookupProof

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl PartialEq<LookupProof> for LookupProof

source§

fn eq(&self, other: &LookupProof) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for LookupProof

source§

impl StructuralEq for LookupProof

source§

impl StructuralPartialEq for LookupProof

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

§

fn vzip(self) -> V