pub struct PcsVerifierTranscript {
pub fs_transcript: Blake3Transcript,
pub stream: Cursor<Vec<u8>>,
}Expand description
Version of [PcsProverTranscript] used for proof verification.
Fields§
§fs_transcript: Blake3TranscriptHandles Fiat-Shamir transformations for non-interactive zero-knowledge proofs. Used to absorb field elements and generate cryptographic challenges.
stream: Cursor<Vec<u8>>Manages serialization and deserialization of proof data as a byte stream.
Implementations§
Source§impl PcsVerifierTranscript
impl PcsVerifierTranscript
Sourcepub fn squeeze_challenge_idx(&mut self, cap: usize) -> usize
pub fn squeeze_challenge_idx(&mut self, cap: usize) -> usize
Generates a pseudorandom index based on the current transcript state. Used to create deterministic challenges for zero-knowledge protocols. Returns an index between 0 and cap-1.
pub fn read_field_elements<F>(&mut self, n: usize) -> Result<Vec<F>, ZipError>where
F: PrimeField,
F::Inner: Transcribable,
F::Modulus: Transcribable,
pub fn read<T: Transcribable>(&mut self) -> Result<T, ZipError>
pub fn read_const_many<T: ConstTranscribable>( &mut self, n: usize, ) -> Result<Vec<T>, ZipError>
pub fn read_merkle_proof(&mut self) -> Result<MerkleProof, ZipError>
Trait Implementations§
Source§impl Clone for PcsVerifierTranscript
impl Clone for PcsVerifierTranscript
Source§fn clone(&self) -> PcsVerifierTranscript
fn clone(&self) -> PcsVerifierTranscript
Returns a duplicate 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 moreAuto Trait Implementations§
impl Freeze for PcsVerifierTranscript
impl RefUnwindSafe for PcsVerifierTranscript
impl Send for PcsVerifierTranscript
impl Sync for PcsVerifierTranscript
impl Unpin for PcsVerifierTranscript
impl UnsafeUnpin for PcsVerifierTranscript
impl UnwindSafe for PcsVerifierTranscript
Blanket Implementations§
§impl<T> AsMaybeUninit for T
impl<T> AsMaybeUninit for T
§type Uninit = MaybeUninit<T>
type Uninit = MaybeUninit<T>
This type in its maybe-uninitialized form.
§fn as_ref_uninit(&self) -> &<T as AsMaybeUninit>::Uninit
fn as_ref_uninit(&self) -> &<T as AsMaybeUninit>::Uninit
Converts a
&self to its maybe-initialized equivalent.§unsafe fn as_mut_uninit(&mut self) -> &mut <T as AsMaybeUninit>::Uninit
unsafe fn as_mut_uninit(&mut self) -> &mut <T as AsMaybeUninit>::Uninit
Converts a
&mut T to its maybe-initialized equivalent. Read more§unsafe fn raw_as_uninit<'a>(raw: *const T) -> &'a <T as AsMaybeUninit>::Uninit
unsafe fn raw_as_uninit<'a>(raw: *const T) -> &'a <T as AsMaybeUninit>::Uninit
Converts a raw pointer to a reference to maybe-uninit. Read more
§unsafe fn raw_mut_as_uninit<'a>(
raw: *mut T,
) -> &'a mut <T as AsMaybeUninit>::Uninit
unsafe fn raw_mut_as_uninit<'a>( raw: *mut T, ) -> &'a mut <T as AsMaybeUninit>::Uninit
Converts a raw mutable pointer to a mutable reference to maybe-uninit. Read more
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more