sp1_stark

Trait MachineRecord

source
pub trait MachineRecord:
    Default
    + Sized
    + Send
    + Sync
    + Clone {
    type Config: 'static + Copy + Send + Sync;

    // Required methods
    fn stats(&self) -> HashMap<String, usize>;
    fn append(&mut self, other: &mut Self);
    fn public_values<F: AbstractField>(&self) -> Vec<F>;

    // Provided method
    fn register_nonces(&mut self, _opts: &Self::Config) { ... }
}
Expand description

A record that can be proven by a machine.

Required Associated Types§

source

type Config: 'static + Copy + Send + Sync

The configuration of the machine.

Required Methods§

source

fn stats(&self) -> HashMap<String, usize>

The statistics of the record.

source

fn append(&mut self, other: &mut Self)

Appends two records together.

source

fn public_values<F: AbstractField>(&self) -> Vec<F>

Returns the public values of the record.

Provided Methods§

source

fn register_nonces(&mut self, _opts: &Self::Config)

Registers the nonces of the record.

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§