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§
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)
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.