Struct subspace_core_primitives::crypto::kzg::Kzg
source · 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(kzg_settings: FsKZGSettings) -> Self
pub fn new(kzg_settings: FsKZGSettings) -> Self
Create new instance with given KZG settings.
Canonical KZG settings can be obtained using embedded_kzg_settings()
function that becomes
available with embedded-kzg-settings
feature (enabled by default).
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default 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