Skip to main content

ProofToken

Struct ProofToken 

Source
#[repr(C)]
pub struct ProofToken { pub mutation_hash: [u8; 32], pub tier: ProofTier, pub payload: ProofPayload, pub valid_until_ns: u64, pub nonce: u64, }
Expand description

A proof token authorizing a specific mutation.

Generated by the Proof Engine and consumed by a mutating syscall. Proof tokens are single-use (nonce prevents replay).

Fields§

§mutation_hash: [u8; 32]

Hash of the mutation being authorized.

§tier: ProofTier

Proof tier (Reflex, Standard, Deep).

§payload: ProofPayload

The proof payload (varies by tier).

§valid_until_ns: u64

Expiry timestamp (nanoseconds since epoch). Proofs are time-bounded to prevent replay.

§nonce: u64

Nonce to prevent proof reuse.

Implementations§

Source§

impl ProofToken

Source

pub const fn new( mutation_hash: [u8; 32], tier: ProofTier, payload: ProofPayload, valid_until_ns: u64, nonce: u64, ) -> Self

Creates a new proof token.

Source

pub const fn is_expired(&self, current_time_ns: u64) -> bool

Checks if the proof token has expired.

Trait Implementations§

Source§

impl Clone for ProofToken

Source§

fn clone(&self) -> ProofToken

Returns a duplicate 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 ProofToken

Source§

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

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

impl Default for ProofToken

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl PartialEq for ProofToken

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for ProofToken

Source§

impl Eq for ProofToken

Source§

impl StructuralPartialEq for ProofToken

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.