pub struct ScalarHeader {Show 13 fields
pub public: u32,
pub prev_challenges: u32,
pub zk_rows: u64,
pub max_poly_size: u64,
pub disable_gates_checks: bool,
pub domain_d1_size: u64,
pub feature_flags: u32,
pub optional_selectors_present: u32,
pub lookup_selectors_present: u32,
pub has_verifier_index_digest: bool,
pub endo_limbs: [u64; 4],
pub shift_limbs: [[u64; 4]; 7],
pub verifier_index_digest_limbs: [u64; 4],
}Expand description
Fixed-size header holding all scalar-valued metadata.
Packed explicitly via a fixed byte layout rather than #[repr(C)] to keep
the on-disk format independent of Rust’s layout algorithm. All integer
fields are little-endian; field elements are stored as four LE u64
limbs matching ark_ff::BigInt<4>.
Fields§
§public: u32§prev_challenges: u32§zk_rows: u64§max_poly_size: u64§disable_gates_checks: bool§domain_d1_size: u64d1 domain size. d2, d4, d8 are deterministic derivatives of
d1 under Radix2EvaluationDomain::new, so they are not serialized.
feature_flags: u32Feature flags packed into a u32 bitmap. See FeatureFlagBits.
optional_selectors_present: u32Bitmap of which optional ColumnEvaluations selectors are present.
See OptionalSelectorBits.
lookup_selectors_present: u32Bitmap of which lookup selectors are present.
has_verifier_index_digest: boolWhether the verifier_index_digest field below is populated.
endo_limbs: [u64; 4]Group endomorphism coefficient, as 4 LE u64 limbs.
shift_limbs: [[u64; 4]; 7]Wire coordinate shifts, one per permutation column.
verifier_index_digest_limbs: [u64; 4]Optional verifier_index_digest field (populated iff
has_verifier_index_digest).
Implementations§
Source§impl ScalarHeader
impl ScalarHeader
Sourcepub const SERIALIZED_SIZE: usize
pub const SERIALIZED_SIZE: usize
Serialized size in bytes. Must stay stable across format
FORMAT_VERSION revisions.
Trait Implementations§
Source§impl Clone for ScalarHeader
impl Clone for ScalarHeader
Source§fn clone(&self) -> ScalarHeader
fn clone(&self) -> ScalarHeader
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more