Function mina_hasher::create_kimchi
source · pub fn create_kimchi<H: Hashable>(domain_param: H::D) -> PoseidonHasherKimchi<H>where
+create_kimchi in mina_hasher - Rust Function mina_hasher::create_kimchi
source · pub fn create_kimchi<H: Hashable>(domain_param: H::D) -> PoseidonHasherKimchi<H>where
H::D: DomainParameter,
Expand description
Create an experimental kimchi hasher context
\ No newline at end of file
diff --git a/rustdoc/mina_hasher/fn.create_legacy.html b/rustdoc/mina_hasher/fn.create_legacy.html
index e91d1fa3c2..872e0297d9 100644
--- a/rustdoc/mina_hasher/fn.create_legacy.html
+++ b/rustdoc/mina_hasher/fn.create_legacy.html
@@ -1,2 +1,2 @@
-create_legacy in mina_hasher - Rust Function mina_hasher::create_legacy
source · pub fn create_legacy<H: Hashable>(domain_param: H::D) -> PoseidonHasherLegacy<H>
Expand description
Create a legacy hasher context
+create_legacy in mina_hasher - Rust Function mina_hasher::create_legacy
source · pub fn create_legacy<H: Hashable>(domain_param: H::D) -> PoseidonHasherLegacy<H>
Expand description
Create a legacy hasher context
\ No newline at end of file
diff --git a/rustdoc/mina_hasher/index.html b/rustdoc/mina_hasher/index.html
index 079667c320..b94eeedfb7 100644
--- a/rustdoc/mina_hasher/index.html
+++ b/rustdoc/mina_hasher/index.html
@@ -1,4 +1,4 @@
-mina_hasher - Rust Crate mina_hasher
source · Expand description
Mina hasher
+mina_hasher - Rust Crate mina_hasher
source · Expand description
Mina hasher
This crate provides an API and framework for Mina hashing. It is a safe wrapper around Mina’s instances of the Poseidon arithmetic sponge that converts it from a sponge into a hash interface.
Hasher interface
The mina_hasher
crate currently supports creating both the legacy hasher and an experimental kimchi hasher.
diff --git a/rustdoc/mina_hasher/poseidon/struct.Poseidon.html b/rustdoc/mina_hasher/poseidon/struct.Poseidon.html
index bbf0e2fd08..19e848dc80 100644
--- a/rustdoc/mina_hasher/poseidon/struct.Poseidon.html
+++ b/rustdoc/mina_hasher/poseidon/struct.Poseidon.html
@@ -1,7 +1,7 @@
Poseidon in mina_hasher::poseidon - Rust Struct mina_hasher::poseidon::Poseidon
source · pub struct Poseidon<SC: SpongeConstants, H: Hashable> { /* private fields */ }
Expand description
Poseidon hasher context
Trait Implementations§
source§impl<SC: SpongeConstants, H: Hashable> Hasher<H> for Poseidon<SC, H>where
H::D: DomainParameter,
Auto Trait Implementations§
§impl<SC, H> RefUnwindSafe for Poseidon<SC, H>where
+generated from H::domain_string(domain_param)
Auto Trait Implementations§
§impl<SC, H> RefUnwindSafe for Poseidon<SC, H>where
H: RefUnwindSafe,
SC: RefUnwindSafe,
§impl<SC, H> Send for Poseidon<SC, H>where
H: Send,
diff --git a/rustdoc/mina_hasher/trait.DomainParameter.html b/rustdoc/mina_hasher/trait.DomainParameter.html
index 3d52d17458..0f396e9e41 100644
--- a/rustdoc/mina_hasher/trait.DomainParameter.html
+++ b/rustdoc/mina_hasher/trait.DomainParameter.html
@@ -1,7 +1,7 @@
-DomainParameter in mina_hasher - Rust Trait mina_hasher::DomainParameter
source · pub trait DomainParameter: Clone {
+DomainParameter in mina_hasher - Rust Trait mina_hasher::DomainParameter
source · pub trait DomainParameter: Clone {
// Required method
fn into_bytes(self) -> Vec<u8>;
}
Expand description
The domain parameter trait is used during hashing to convey extra
arguments to domain string generation. It is also used by generic signing code.
-Required Methods§
sourcefn into_bytes(self) -> Vec<u8>
Conversion into vector of bytes
-Implementations on Foreign Types§
source§impl DomainParameter for ()
source§fn into_bytes(self) -> Vec<u8>
source§impl DomainParameter for u64
source§fn into_bytes(self) -> Vec<u8>
source§impl DomainParameter for u32
source§fn into_bytes(self) -> Vec<u8>
Implementors§
\ No newline at end of file
+
Required Methods§
sourcefn into_bytes(self) -> Vec<u8>
Conversion into vector of bytes
+Implementations on Foreign Types§
source§impl DomainParameter for ()
source§fn into_bytes(self) -> Vec<u8>
source§impl DomainParameter for u64
source§fn into_bytes(self) -> Vec<u8>
source§impl DomainParameter for u32
source§fn into_bytes(self) -> Vec<u8>
Implementors§
\ No newline at end of file
diff --git a/rustdoc/mina_hasher/trait.Hashable.html b/rustdoc/mina_hasher/trait.Hashable.html
index 1749d188f9..511088cb0a 100644
--- a/rustdoc/mina_hasher/trait.Hashable.html
+++ b/rustdoc/mina_hasher/trait.Hashable.html
@@ -1,4 +1,4 @@
-Hashable in mina_hasher - Rust Trait mina_hasher::Hashable
source · pub trait Hashable: Clone {
+Hashable in mina_hasher - Rust Trait mina_hasher::Hashable
source · pub trait Hashable: Clone {
type D: DomainParameter;
// Required methods
@@ -31,9 +31,9 @@
}
}
See example in ROInput
documentation
-
Required Associated Types§
sourcetype D: DomainParameter
Generic domain string argument type
-Required Methods§
sourcefn to_roinput(&self) -> ROInput
Serialization to random oracle input
-sourcefn domain_string(domain_param: Self::D) -> Option<String>
Generate unique domain string of length <= 20
.
+Required Associated Types§
sourcetype D: DomainParameter
Generic domain string argument type
+Required Methods§
sourcefn to_roinput(&self) -> ROInput
Serialization to random oracle input
+sourcefn domain_string(domain_param: Self::D) -> Option<String>
Generate unique domain string of length <= 20
.
The length bound is guarded by an assertion, but uniqueness must
be enforced by the developer implementing the traits (see Hashable
for
more details). The domain string may be parameterized by the contents of
diff --git a/rustdoc/mina_hasher/trait.Hasher.html b/rustdoc/mina_hasher/trait.Hasher.html
index a1e95a1291..003ab9af86 100644
--- a/rustdoc/mina_hasher/trait.Hasher.html
+++ b/rustdoc/mina_hasher/trait.Hasher.html
@@ -1,4 +1,4 @@
-
Hasher in mina_hasher - Rust Trait mina_hasher::Hasher
source · pub trait Hasher<H: Hashable> {
+Hasher in mina_hasher - Rust Trait mina_hasher::Hasher
source · pub trait Hasher<H: Hashable> {
// Required methods
fn init(&mut self, domain_param: H::D) -> &mut dyn Hasher<H>;
fn reset(&mut self) -> &mut dyn Hasher<H>;
@@ -35,12 +35,12 @@
let mut hasher = create_legacy::<Something>(123);
let output: Fp = hasher.hash(&Something { });
-
Required Methods§
sourcefn init(&mut self, domain_param: H::D) -> &mut dyn Hasher<H>
Set the initial state based on domain separation string
+
Required Methods§
sourcefn init(&mut self, domain_param: H::D) -> &mut dyn Hasher<H>
Set the initial state based on domain separation string
generated from H::domain_string(domain_param)
-Provided Methods§
sourcefn init_and_hash(&mut self, domain_param: H::D, input: &H) -> Fp
Initialize state, hash input and obtain result output
+Provided Methods§
sourcefn init_and_hash(&mut self, domain_param: H::D, input: &H) -> Fp
Initialize state, hash input and obtain result output
Implementors§
\ No newline at end of file
diff --git a/rustdoc/src/mina_hasher/lib.rs.html b/rustdoc/src/mina_hasher/lib.rs.html
index 525e56b786..c438694bec 100644
--- a/rustdoc/src/mina_hasher/lib.rs.html
+++ b/rustdoc/src/mina_hasher/lib.rs.html
@@ -176,9 +176,6 @@
176
177
178
-179
-180
-181
#![deny(missing_docs)]
#![doc = include_str!("../README.md")]
@@ -188,9 +185,6 @@
pub use poseidon::{PoseidonHasherKimchi, PoseidonHasherLegacy};
pub use roinput::ROInput;
-#[cfg(test)]
-mod tests;
-
use ark_ff::PrimeField;
use o1_utils::FieldHelpers;
diff --git a/rustdoc/src/turshi/lib.rs.html b/rustdoc/src/turshi/lib.rs.html
index 360d267181..8068eca762 100644
--- a/rustdoc/src/turshi/lib.rs.html
+++ b/rustdoc/src/turshi/lib.rs.html
@@ -15,12 +15,16 @@
15
16
17
-
#![warn(missing_docs)]
-//! This module contains the code that executes a compiled Cairo program and generates the memory.
+18
+19
+
//! This module contains the code that executes a compiled Cairo program and
+//! generates the memory.
//! The Cairo runner includes code to execute a bytecode compiled Cairo program,
//! and obtain a memory instantiation after the execution. It uses some code to
-//! represent Cairo instructions and their decomposition, together with their logic
-//! which is represented as steps of computation making up the full program.
+//! represent Cairo instructions and their decomposition, together with their
+//! logic which is represented as steps of computation making up the full
+//! program.
+
pub mod flags;
pub mod helper;
pub mod memory;
diff --git a/rustdoc/turshi/index.html b/rustdoc/turshi/index.html
index 116c75a4dc..12c654b805 100644
--- a/rustdoc/turshi/index.html
+++ b/rustdoc/turshi/index.html
@@ -1,8 +1,10 @@
-turshi - Rust Expand description
This module contains the code that executes a compiled Cairo program and generates the memory.
+
turshi - Rust Expand description
This module contains the code that executes a compiled Cairo program and
+generates the memory.
The Cairo runner includes code to execute a bytecode compiled Cairo program,
and obtain a memory instantiation after the execution. It uses some code to
-represent Cairo instructions and their decomposition, together with their logic
-which is represented as steps of computation making up the full program.
+represent Cairo instructions and their decomposition, together with their
+logic which is represented as steps of computation making up the full
+program.
Re-exports
pub use self::memory::CairoMemory;
pub use self::runner::CairoInstruction;
pub use self::runner::CairoProgram;
pub use self::runner::Pointers;
pub use self::word::FlagBits;
pub use self::word::Offsets;
Modules
- Definition of some constants for easier readability of the steps.
When they refer to single bit flagsets, only one constant is needed.
- This module includes some field helpers that are useful for Cairo
- This module represents the Cairo memory, containing the
compiled Cairo program that occupies the first few entries
- This module represents a run of a Cairo program as a series of consecutive