Move serialization files into dedicated module

This commit is contained in:
Robin Salen 2023-04-04 15:23:19 -04:00
parent 0e465c1ccf
commit 5de5bfb5e4
No known key found for this signature in database
GPG Key ID: F98FD38F65687358
9 changed files with 28 additions and 22 deletions

View File

@ -20,9 +20,9 @@ use plonky2::plonk::config::{AlgebraicHasher, GenericConfig, Hasher};
use plonky2::plonk::proof::{ProofWithPublicInputs, ProofWithPublicInputsTarget};
use plonky2::recursion::cyclic_recursion::check_cyclic_proof_verifier_data;
use plonky2::recursion::dummy_circuit::cyclic_base_proof;
use plonky2::util::gate_serialization::GateSerializer;
use plonky2::util::generator_serialization::WitnessGeneratorSerializer;
use plonky2::util::serialization::{Buffer, IoResult, Read, Write};
use plonky2::util::serialization::{
Buffer, GateSerializer, IoResult, Read, WitnessGeneratorSerializer, Write,
};
use plonky2::util::timing::TimingTree;
use plonky2_util::log2_ceil;

View File

@ -18,10 +18,10 @@ use plonky2::plonk::circuit_builder::CircuitBuilder;
use plonky2::plonk::circuit_data::{CircuitConfig, CircuitData, VerifierCircuitData};
use plonky2::plonk::config::{AlgebraicHasher, GenericConfig};
use plonky2::plonk::proof::{ProofWithPublicInputs, ProofWithPublicInputsTarget};
use plonky2::util::gate_serialization::GateSerializer;
use plonky2::util::generator_serialization::WitnessGeneratorSerializer;
use plonky2::util::reducing::ReducingFactorTarget;
use plonky2::util::serialization::{Buffer, IoResult, Read, Write};
use plonky2::util::serialization::{
Buffer, GateSerializer, IoResult, Read, WitnessGeneratorSerializer, Write,
};
use plonky2::with_context;
use plonky2_util::log2_ceil;

View File

@ -10,8 +10,7 @@ use keccak_hash::keccak;
use log::info;
use plonky2::field::goldilocks_field::GoldilocksField;
use plonky2::plonk::config::PoseidonGoldilocksConfig;
use plonky2::util::gate_serialization::default::DefaultGateSerializer;
use plonky2::util::generator_serialization::default::DefaultGeneratorSerializer;
use plonky2::util::serialization::{DefaultGateSerializer, DefaultGeneratorSerializer};
use plonky2::util::timing::TimingTree;
use plonky2_evm::all_stark::AllStark;
use plonky2_evm::config::StarkConfig;

View File

@ -22,7 +22,7 @@ use plonky2::plonk::circuit_data::{CircuitConfig, CommonCircuitData, VerifierOnl
use plonky2::plonk::config::{AlgebraicHasher, GenericConfig, PoseidonGoldilocksConfig};
use plonky2::plonk::proof::{CompressedProofWithPublicInputs, ProofWithPublicInputs};
use plonky2::plonk::prover::prove;
use plonky2::util::gate_serialization::default::DefaultGateSerializer;
use plonky2::util::serialization::DefaultGateSerializer;
use plonky2::util::timing::TimingTree;
use plonky2_field::extension::Extendable;
use plonky2_maybe_rayon::rayon;

View File

@ -30,9 +30,9 @@ use crate::plonk::plonk_common::PlonkOracle;
use crate::plonk::proof::{CompressedProofWithPublicInputs, ProofWithPublicInputs};
use crate::plonk::prover::prove;
use crate::plonk::verifier::verify;
use crate::util::gate_serialization::GateSerializer;
use crate::util::generator_serialization::WitnessGeneratorSerializer;
use crate::util::serialization::{Buffer, IoResult, Read, Write};
use crate::util::serialization::{
Buffer, GateSerializer, IoResult, Read, WitnessGeneratorSerializer, Write,
};
use crate::util::timing::TimingTree;
#[derive(Clone, Debug, Eq, PartialEq)]

View File

@ -9,11 +9,6 @@ use crate::field::types::Field;
pub(crate) mod context_tree;
pub(crate) mod partial_products;
#[macro_use]
pub mod gate_serialization;
#[macro_use]
pub mod generator_serialization;
pub mod reducing;
pub mod serialization;
pub mod strided_view;

View File

@ -41,6 +41,10 @@ macro_rules! get_gate_tag_impl {
}
#[macro_export]
/// Macro implementing the `GateSerializer` trait.
/// To serialize a list of gates used for a circuit,
/// this macro should be called with a struct on which to implement
/// this as first argument, followed by all the targeted gates.
macro_rules! impl_gate_serializer {
($target:ty, $($gate_types:ty),+) => {
fn read_gate(&self, buf: &mut $crate::util::serialization::Buffer) -> $crate::util::serialization::IoResult<$crate::gates::gate::GateRef<F, D>> {
@ -76,7 +80,7 @@ pub mod default {
use crate::gates::reducing::ReducingGate;
use crate::gates::reducing_extension::ReducingExtensionGate;
use crate::hash::hash_types::RichField;
use crate::util::gate_serialization::GateSerializer;
use crate::util::serialization::GateSerializer;
pub struct DefaultGateSerializer;
impl<F: RichField + Extendable<D>, const D: usize> GateSerializer<F, D> for DefaultGateSerializer {

View File

@ -115,7 +115,7 @@ pub mod default {
};
use crate::plonk::config::{AlgebraicHasher, GenericConfig};
use crate::recursion::dummy_circuit::DummyProofGenerator;
use crate::util::generator_serialization::WitnessGeneratorSerializer;
use crate::util::serialization::WitnessGeneratorSerializer;
pub struct DefaultGeneratorSerializer<C: GenericConfig<D>, const D: usize> {
pub _phantom: PhantomData<C>,
@ -128,7 +128,7 @@ pub mod default {
C::Hasher: AlgebraicHasher<F, C::HCO>,
{
impl_generator_serializer! {
DefaultGateSerializer,
DefaultGeneratorSerializer,
DummyProofGenerator<F, C, D>,
ArithmeticBaseGenerator<F, D>,
ArithmeticExtensionGenerator<F, D>,

View File

@ -1,3 +1,9 @@
#[macro_use]
pub mod generator_serialization;
#[macro_use]
pub mod gate_serialization;
use alloc::collections::BTreeMap;
use alloc::vec;
use alloc::vec::Vec;
@ -6,10 +12,12 @@ use core::fmt::{Debug, Display, Formatter};
use core::mem::size_of;
use core::ops::Range;
pub use gate_serialization::default::DefaultGateSerializer;
pub use gate_serialization::GateSerializer;
pub use generator_serialization::default::DefaultGeneratorSerializer;
pub use generator_serialization::WitnessGeneratorSerializer;
use hashbrown::HashMap;
use super::gate_serialization::GateSerializer;
use super::generator_serialization::WitnessGeneratorSerializer;
use crate::field::extension::{Extendable, FieldExtension};
use crate::field::polynomial::PolynomialCoeffs;
use crate::field::types::{Field64, PrimeField64};