pub struct ExecutionProof {
pub proof: Proof,
pub hash_fn: HashFunction,
pub pc_requests: Vec<PrecompileRequest>,
}Expand description
A proof of correct execution of Miden VM.
The proof encodes the proof itself as well as STARK protocol parameters used to generate the proof. However, the proof does not contain public inputs needed to verify the proof.
Fields§
§proof: Proof§hash_fn: HashFunction§pc_requests: Vec<PrecompileRequest>Implementations§
Source§impl ExecutionProof
impl ExecutionProof
Sourcepub const fn new(
proof: Proof,
hash_fn: HashFunction,
pc_requests: Vec<PrecompileRequest>,
) -> ExecutionProof
pub const fn new( proof: Proof, hash_fn: HashFunction, pc_requests: Vec<PrecompileRequest>, ) -> ExecutionProof
Creates a new instance of ExecutionProof from the specified STARK proof and hash function, and a list of all deferred PrecompileRequests.
Sourcepub const fn stark_proof(&self) -> &Proof
pub const fn stark_proof(&self) -> &Proof
Returns the underlying STARK proof.
Sourcepub const fn hash_fn(&self) -> HashFunction
pub const fn hash_fn(&self) -> HashFunction
Returns the hash function used during proof generation process.
Sourcepub fn precompile_requests(&self) -> &[PrecompileRequest]
pub fn precompile_requests(&self) -> &[PrecompileRequest]
Returns the list of precompile requests made during the execution of the program.
Sourcepub fn security_level(&self) -> u32
pub fn security_level(&self) -> u32
Returns conjectured security level of this proof in bits.
Sourcepub fn from_bytes(source: &[u8]) -> Result<ExecutionProof, DeserializationError>
pub fn from_bytes(source: &[u8]) -> Result<ExecutionProof, DeserializationError>
Reads the source bytes, parsing a new proof instance.
Sourcepub fn into_parts(self) -> (HashFunction, Proof, Vec<PrecompileRequest>)
pub fn into_parts(self) -> (HashFunction, Proof, Vec<PrecompileRequest>)
Returns components of this execution proof.
Trait Implementations§
Source§impl Clone for ExecutionProof
impl Clone for ExecutionProof
Source§fn clone(&self) -> ExecutionProof
fn clone(&self) -> ExecutionProof
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExecutionProof
impl Debug for ExecutionProof
Source§impl Deserializable for ExecutionProof
impl Deserializable for ExecutionProof
Source§fn read_from<R>(source: &mut R) -> Result<ExecutionProof, DeserializationError>where
R: ByteReader,
fn read_from<R>(source: &mut R) -> Result<ExecutionProof, DeserializationError>where
R: ByteReader,
Reads a sequence of bytes from the provided
source, attempts to deserialize these bytes
into Self, and returns the result. Read moreSource§fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
Source§impl PartialEq for ExecutionProof
impl PartialEq for ExecutionProof
Source§impl Serializable for ExecutionProof
impl Serializable for ExecutionProof
Source§fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
fn write_into<W>(&self, target: &mut W)where
W: ByteWriter,
Serializes
self into bytes and writes these bytes into the target.Source§fn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
Returns an estimate of how many bytes are needed to represent self. Read more
impl Eq for ExecutionProof
impl StructuralPartialEq for ExecutionProof
Auto Trait Implementations§
impl Freeze for ExecutionProof
impl RefUnwindSafe for ExecutionProof
impl Send for ExecutionProof
impl Sync for ExecutionProof
impl Unpin for ExecutionProof
impl UnwindSafe for ExecutionProof
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more