pub struct Kzg { /* private fields */ }
Expand description
Wrapper data structure for working with KZG commitment scheme
Implementations§
source§impl Kzg
impl Kzg
sourcepub fn new() -> Self
pub fn new() -> Self
Create new instance with embedded KZG settings.
NOTE: Prefer cloning to instantiation since cloning is cheap and instantiation is not!
sourcepub fn poly(&self, data: &[Scalar]) -> Result<Polynomial, String>
pub fn poly(&self, data: &[Scalar]) -> Result<Polynomial, String>
Create polynomial from data. Data must be multiple of 32 bytes, each containing up to 254 bits of information.
The resulting polynomial is in coefficient form.
sourcepub fn commit(&self, polynomial: &Polynomial) -> Result<Commitment, String>
pub fn commit(&self, polynomial: &Polynomial) -> Result<Commitment, String>
Computes a Commitment
to polynomial
sourcepub fn create_witness(
&self,
polynomial: &Polynomial,
num_values: usize,
index: u32,
) -> Result<Witness, String>
pub fn create_witness( &self, polynomial: &Polynomial, num_values: usize, index: u32, ) -> Result<Witness, String>
Computes a Witness
of evaluation of polynomial
at index
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Kzg
impl !RefUnwindSafe for Kzg
impl Send for Kzg
impl Sync for Kzg
impl Unpin for Kzg
impl !UnwindSafe for Kzg
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more