pub trait Transcript {
type Curve: PairingCurve;
// Required methods
fn append_bytes(&mut self, label: &[u8], bytes: &[u8]);
fn append_field(
&mut self,
label: &[u8],
x: &<<Self::Curve as PairingCurve>::G1 as Group>::Scalar,
);
fn append_group<G: Group>(&mut self, label: &[u8], g: &G);
fn append_serde<S: DorySerialize>(&mut self, label: &[u8], s: &S);
fn challenge_scalar(
&mut self,
label: &[u8],
) -> <<Self::Curve as PairingCurve>::G1 as Group>::Scalar;
fn reset(&mut self, domain_label: &[u8]);
}Expand description
Transcript to standardize fiat shamir across different transcript impleemntations
Required Associated Types§
type Curve: PairingCurve
Required Methods§
fn append_bytes(&mut self, label: &[u8], bytes: &[u8])
fn append_field( &mut self, label: &[u8], x: &<<Self::Curve as PairingCurve>::G1 as Group>::Scalar, )
fn append_group<G: Group>(&mut self, label: &[u8], g: &G)
fn append_serde<S: DorySerialize>(&mut self, label: &[u8], s: &S)
fn challenge_scalar( &mut self, label: &[u8], ) -> <<Self::Curve as PairingCurve>::G1 as Group>::Scalar
fn reset(&mut self, domain_label: &[u8])
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.