Skip to main content

Transcript

Trait Transcript 

Source
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§

Required Methods§

Source

fn append_bytes(&mut self, label: &[u8], bytes: &[u8])

Source

fn append_field( &mut self, label: &[u8], x: &<<Self::Curve as PairingCurve>::G1 as Group>::Scalar, )

Source

fn append_group<G: Group>(&mut self, label: &[u8], g: &G)

Source

fn append_serde<S: DorySerialize>(&mut self, label: &[u8], s: &S)

Source

fn challenge_scalar( &mut self, label: &[u8], ) -> <<Self::Curve as PairingCurve>::G1 as Group>::Scalar

Source

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.

Implementors§