winter_prover::proof

Struct Commitments

Source
pub struct Commitments(/* private fields */);
Expand description

Commitments made by the prover during commit phase of the protocol.

These commitments include:

  • Commitment to the extended execution trace, which may include commitments to one or more execution trace segments.
  • Commitment to the evaluations of constraint composition polynomial over LDE domain.
  • Commitments to the evaluations of polynomials at all FRI layers.

Internally, the commitments are stored as a sequence of bytes. Thus, to retrieve the commitments, parse() function should be used.

Implementations§

Source§

impl Commitments

Source

pub fn new<H>( trace_roots: Vec<<H as Hasher>::Digest>, constraint_root: <H as Hasher>::Digest, fri_roots: Vec<<H as Hasher>::Digest>, ) -> Commitments
where H: Hasher,

Returns a new Commitments struct initialized with the provided commitments.

Source

pub fn add<H>(&mut self, commitment: &<H as Hasher>::Digest)
where H: Hasher,

Adds the specified commitment to the list of commitments.

Source

pub fn parse<H>( self, num_trace_segments: usize, num_fri_layers: usize, ) -> Result<(Vec<<H as Hasher>::Digest>, <H as Hasher>::Digest, Vec<<H as Hasher>::Digest>), DeserializationError>
where H: Hasher,

Parses the serialized commitments into distinct parts.

The parts are (in the order in which they appear in the tuple):

  1. Extended execution trace commitments.
  2. Constraint composition polynomial evaluation commitment.
  3. FRI layer commitments.
§Errors

Returns an error if the bytes stored in self could not be parsed into the requested number of commitments, or if there are any unconsumed bytes remaining after the parsing completes.

Trait Implementations§

Source§

impl Clone for Commitments

Source§

fn clone(&self) -> Commitments

Returns a copy 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 Commitments

Source§

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

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

impl Default for Commitments

Source§

fn default() -> Commitments

Returns the “default value” for a type. Read more
Source§

impl Deserializable for Commitments

Source§

fn read_from<R>(source: &mut R) -> Result<Commitments, DeserializationError>
where R: ByteReader,

Reads commitments from the specified source and returns the result.

§Errors

Returns an error of a valid Commitments struct could not be read from the specified source.

Source§

fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>

Attempts to deserialize the provided bytes into Self and returns the result. Read more
Source§

impl PartialEq for Commitments

Source§

fn eq(&self, other: &Commitments) -> 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 Serializable for Commitments

Source§

fn write_into<W>(&self, target: &mut W)
where W: ByteWriter,

Serializes self and writes the resulting bytes into the target.

Source§

fn get_size_hint(&self) -> usize

Returns an estimate of how many bytes are needed to represent self.

Source§

fn to_bytes(&self) -> Vec<u8>

Serializes self into a vector of bytes.
Source§

impl Eq for Commitments

Source§

impl StructuralPartialEq for Commitments

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, dst: *mut T)

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

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more