Skip to main content

ProverChannel

Trait ProverChannel 

Source
pub trait ProverChannel: Channel {
    // Required methods
    fn send_field_slice(&mut self, values: &[Self::F]);
    fn send_commitment_slice(&mut self, values: &[Self::Commitment]);
    fn hint_field_slice(&mut self, values: &[Self::F]);
    fn hint_commitment_slice(&mut self, values: &[Self::Commitment]);
    fn grind(&mut self, bits: usize) -> Self::F;

    // Provided methods
    fn send_field_element(&mut self, value: Self::F) { ... }
    fn send_algebra_element<A>(&mut self, value: A)
       where A: BasedVectorSpace<Self::F> { ... }
    fn send_algebra_slice<A>(&mut self, values: &[A])
       where A: BasedVectorSpace<Self::F> { ... }
    fn send_commitment(&mut self, value: Self::Commitment) { ... }
    fn hint_field_element(&mut self, value: Self::F) { ... }
    fn hint_commitment(&mut self, value: Self::Commitment) { ... }
}
Expand description

Prover-side channel interface for transcript operations.

Required Methods§

Source

fn send_field_slice(&mut self, values: &[Self::F])

Source

fn send_commitment_slice(&mut self, values: &[Self::Commitment])

Source

fn hint_field_slice(&mut self, values: &[Self::F])

Source

fn hint_commitment_slice(&mut self, values: &[Self::Commitment])

Source

fn grind(&mut self, bits: usize) -> Self::F

Provided Methods§

Source

fn send_field_element(&mut self, value: Self::F)

Source

fn send_algebra_element<A>(&mut self, value: A)
where A: BasedVectorSpace<Self::F>,

Source

fn send_algebra_slice<A>(&mut self, values: &[A])
where A: BasedVectorSpace<Self::F>,

Source

fn send_commitment(&mut self, value: Self::Commitment)

Source

fn hint_field_element(&mut self, value: Self::F)

Source

fn hint_commitment(&mut self, value: Self::Commitment)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<F, C, Ch> ProverChannel for ProverTranscript<F, C, Ch>
where F: Field, C: Clone, Ch: TranscriptChallenger<F, C>,