Struct akd::UpdateProof
source · pub struct UpdateProof {
pub epoch: u64,
pub value: AkdValue,
pub version: u64,
pub existence_vrf_proof: Vec<u8, Global>,
pub existence_proof: MembershipProof,
pub previous_version_vrf_proof: Option<Vec<u8, Global>>,
pub previous_version_proof: Option<MembershipProof>,
pub commitment_nonce: Vec<u8, Global>,
}
Expand description
A vector of UpdateProofs are sent as the proof to a history query for a particular key. For each version of the value associated with the key, the verifier must check that:
- the version was included in the claimed epoch,
- the previous version was retired at this epoch,
- the version did not exist prior to this epoch,
- the next few versions (up until the next marker), did not exist at this epoch,
- the future marker versions did not exist at this epoch.
Fields§
§epoch: u64
Epoch of this update
value: AkdValue
Value at this update
version: u64
Version at this update
existence_vrf_proof: Vec<u8, Global>
VRF proof for the label for the current version
existence_proof: MembershipProof
Membership proof to show that the key was included in this epoch
previous_version_vrf_proof: Option<Vec<u8, Global>>
VRF proof for the label for the previous version which became stale
previous_version_proof: Option<MembershipProof>
Proof that previous value was set to old at this epoch
commitment_nonce: Vec<u8, Global>
Nonce for commitment value derived from raw AkdLabel and AkdValue
Trait Implementations§
source§impl Clone for UpdateProof
impl Clone for UpdateProof
source§fn clone(&self) -> UpdateProof
fn clone(&self) -> UpdateProof
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 UpdateProof
impl Debug for UpdateProof
source§impl From<&UpdateProof> for UpdateProof
impl From<&UpdateProof> for UpdateProof
source§fn from(input: &UpdateProof) -> UpdateProof
fn from(input: &UpdateProof) -> UpdateProof
Converts to this type from the input type.
source§impl PartialEq<UpdateProof> for UpdateProof
impl PartialEq<UpdateProof> for UpdateProof
source§fn eq(&self, other: &UpdateProof) -> bool
fn eq(&self, other: &UpdateProof) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl TryFrom<&UpdateProof> for UpdateProof
impl TryFrom<&UpdateProof> for UpdateProof
§type Error = ConversionError
type Error = ConversionError
The type returned in the event of a conversion error.
source§fn try_from(
input: &UpdateProof
) -> Result<UpdateProof, <UpdateProof as TryFrom<&UpdateProof>>::Error>
fn try_from( input: &UpdateProof ) -> Result<UpdateProof, <UpdateProof as TryFrom<&UpdateProof>>::Error>
Performs the conversion.
impl Eq for UpdateProof
impl StructuralEq for UpdateProof
impl StructuralPartialEq for UpdateProof
Auto Trait Implementations§
impl RefUnwindSafe for UpdateProof
impl Send for UpdateProof
impl Sync for UpdateProof
impl Unpin for UpdateProof
impl UnwindSafe for UpdateProof
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