nexus_sdk::legacy

Trait LegacyVerifiable

Source
pub trait LegacyVerifiable<'a>:
    Setup<'a>
    + Serialize
    + DeserializeOwned {
    type View: LegacyViewable;

    // Required methods
    fn output<U: DeserializeOwned>(&self) -> Result<U, Self::Error>;
    fn logs(&self) -> &Vec<String>;
    fn detach(&mut self);
    fn verify(&self) -> Result<(), Self::Error>;
}
Expand description

A verifiable proof of a zkVM execution. Also contains a view capturing the output of the machine.

Required Associated Types§

Required Methods§

Source

fn output<U: DeserializeOwned>(&self) -> Result<U, Self::Error>

Get the contents of the output tape written by the zkVM execution.

Source

fn logs(&self) -> &Vec<String>

Get the logging output of the zkVM.

Source

fn detach(&mut self)

Detach proof from setup to make it easier to pass around without needing to manage lifetimes.

Source

fn verify(&self) -> Result<(), Self::Error>

Verify the proof of an execution.

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<'a> LegacyVerifiable<'a> for nexus_sdk::legacy::hypernova::seq::Proof<'a>

Source§

impl<'a> LegacyVerifiable<'a> for nexus_sdk::legacy::nova::seq::Proof<'a>