use plonky2::{fri::{reduction_strategies::FriReductionStrategy, FriConfig}, plonk::{circuit_data::CircuitConfig, config::{GenericConfig, PoseidonGoldilocksConfig}}};
use plonky2::field::types::Field64;
pub const BATCH_SIZE: usize = 512;
pub const RECURSIVE_SIZE: usize = 8;
pub const D: usize = 2;
pub type C = PoseidonGoldilocksConfig;
pub type F = <C as GenericConfig<D>>::F;
pub type H = <C as GenericConfig<D>>::Hasher;
pub const MAX_ACCOUNT_BALANCE: u64 = (F::ORDER - 1) / 2 / BATCH_SIZE as u64;
pub const MAX_ACCOUNT_BALANCE_BITS: usize = MAX_ACCOUNT_BALANCE.ilog2() as usize;
pub const BATCH_CIRCUIT_CONFIG: CircuitConfig = CircuitConfig {
num_wires: 135,
num_routed_wires: 80,
num_constants: 2,
use_base_arithmetic_gate: true,
security_bits: 100,
num_challenges: 2,
zero_knowledge: false, max_quotient_degree_factor: 8,
fri_config: FriConfig {
rate_bits: 3,
cap_height: 4,
proof_of_work_bits: 16,
reduction_strategy: FriReductionStrategy::ConstantArityBits(4, 5),
num_query_rounds: 28,
}
};
pub const RECURSIVE_CIRCUIT_CONFIG: CircuitConfig = CircuitConfig {
num_wires: 135,
num_routed_wires: 80,
num_constants: 2,
use_base_arithmetic_gate: true,
security_bits: 100,
num_challenges: 2,
zero_knowledge: false, max_quotient_degree_factor: 8,
fri_config: FriConfig {
rate_bits: 3,
cap_height: 4,
proof_of_work_bits: 16,
reduction_strategy: FriReductionStrategy::ConstantArityBits(4, 5),
num_query_rounds: 28,
}
};