pub struct EquiXBuilder {
pub(crate) hash: HashXBuilder,
}Expand description
Builder for creating EquiX instances with custom settings
Fields§
§hash: HashXBuilderInner HashXBuilder for options related to our hash function
Implementations§
Source§impl EquiXBuilder
impl EquiXBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new EquiXBuilder with default settings.
Immediately calling Self::build() would be equivalent to using
EquiX::new().
Sourcepub fn runtime(&mut self, runtime: RuntimeOption) -> &mut Self
pub fn runtime(&mut self, runtime: RuntimeOption) -> &mut Self
Select a new RuntimeOption.
Sourcepub fn build(&self, challenge: &[u8]) -> Result<EquiX, Error>
pub fn build(&self, challenge: &[u8]) -> Result<EquiX, Error>
Build an EquiX instance with a challenge string and the
selected options.
It’s normal for this to fail with a HashError::ProgramConstraints
for a small fraction of challenge values. Those challenges must be
skipped by solvers and rejected by verifiers.
Sourcepub fn solve(&self, challenge: &[u8]) -> Result<SolutionArray, Error>
pub fn solve(&self, challenge: &[u8]) -> Result<SolutionArray, Error>
Search for solutions to a particular challenge.
Each solve invocation returns zero or more solutions. Memory for the solver is allocated dynamically and not reused.
It’s normal for this to fail with a HashError::ProgramConstraints
for a small fraction of challenge values. Those challenges must be
skipped by solvers and rejected by verifiers.
Sourcepub fn verify(&self, challenge: &[u8], solution: &Solution) -> Result<(), Error>
pub fn verify(&self, challenge: &[u8], solution: &Solution) -> Result<(), Error>
Check a Solution against a particular challenge string.
Having a Solution instance guarantees that the order of items
has already been checked. This only needs to check hash tree sums.
Returns either Ok or Error::HashSum.
Sourcepub fn verify_array(
&self,
challenge: &[u8],
array: &SolutionItemArray,
) -> Result<(), Error>
pub fn verify_array( &self, challenge: &[u8], array: &SolutionItemArray, ) -> Result<(), Error>
Check a SolutionItemArray.
Returns an error if the array is not a well formed Solution or it’s
not suitable for the given challenge.
Sourcepub fn verify_bytes(
&self,
challenge: &[u8],
array: &SolutionByteArray,
) -> Result<(), Error>
pub fn verify_bytes( &self, challenge: &[u8], array: &SolutionByteArray, ) -> Result<(), Error>
Check a SolutionByteArray.
Returns an error if the array is not a well formed Solution or it’s
not suitable for the given challenge.
Trait Implementations§
Source§impl Clone for EquiXBuilder
impl Clone for EquiXBuilder
Source§fn clone(&self) -> EquiXBuilder
fn clone(&self) -> EquiXBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for EquiXBuilder
impl Debug for EquiXBuilder
Source§impl Default for EquiXBuilder
impl Default for EquiXBuilder
impl Eq for EquiXBuilder
Source§impl PartialEq for EquiXBuilder
impl PartialEq for EquiXBuilder
Source§fn eq(&self, other: &EquiXBuilder) -> bool
fn eq(&self, other: &EquiXBuilder) -> bool
self and other values to be equal, and is used by ==.