PrecompileCommitment

Struct PrecompileCommitment 

Source
pub struct PrecompileCommitment { /* private fields */ }
Expand description

A commitment to the evaluation of PrecompileRequest, representing both the input and result of the request.

This structure contains both the tag (which includes metadata like event ID) and the commitment to the input and result (calldata) of the precompile request.

§Tag Structure

The tag is a 4-element word [event_id, meta1, meta2, meta3] where:

  • First element: The EventId from the corresponding EventHandler
  • Remaining 3 elements: Available for precompile-specific metadata (e.g., len_bytes for hash functions to distinguish actual data from padding)

Implementations§

Source§

impl PrecompileCommitment

Source

pub fn new(tag: Word, comm: Word) -> Self

Creates a new precompile commitment from a TAG and COMM.

  • TAG: 4-element word where the first element encodes the EventId; the remaining elements are available as precompile-specific metadata (e.g., len_bytes).
  • COMM: 4-element word containing the commitment to the calldata (or handler-specific witness) for this precompile request.
Source

pub fn tag(&self) -> Word

Returns the TAG word which encodes the EventId in the first element and optional precompile-specific metadata in the remaining three elements.

Source

pub fn comm_calldata(&self) -> Word

Returns the COMM word (calldata commitment), i.e., the commitment to the precompile’s calldata (or other handler-specific witness).

Source

pub fn to_elements(&self) -> [Felt; 8]

Returns the concatenation of TAG and COMM as field elements.

Source

pub fn event_id(&self) -> EventId

Returns the EventId used to identify the verifier that produced this commitment from a PrecompileRequest.

Trait Implementations§

Source§

impl Clone for PrecompileCommitment

Source§

fn clone(&self) -> PrecompileCommitment

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PrecompileCommitment

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for PrecompileCommitment

Source§

fn eq(&self, other: &PrecompileCommitment) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for PrecompileCommitment

Source§

impl Eq for PrecompileCommitment

Source§

impl StructuralPartialEq for PrecompileCommitment

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V