From 3a75f875a45f55b646817c8917fdcfe2ac9d2782 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Mon, 7 Jun 2021 20:45:33 +0800 Subject: [PATCH] poseidon::pow5t3.rs: Take partial_sbox advice column as input. This was previously creating an extra advice column. Instead, we should pass in all required advice columns as inputs. Co-authored-by: Jack Grigg --- src/circuit/gadget/poseidon/pow5t3.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/circuit/gadget/poseidon/pow5t3.rs b/src/circuit/gadget/poseidon/pow5t3.rs index d1e10c00..1ec4fdd4 100644 --- a/src/circuit/gadget/poseidon/pow5t3.rs +++ b/src/circuit/gadget/poseidon/pow5t3.rs @@ -52,6 +52,7 @@ impl Pow5T3Chip { meta: &mut ConstraintSystem, spec: S, state: [Column; WIDTH], + partial_sbox: Column, ) -> Pow5T3Config { // Generate constants for the Poseidon permutation. // This gadget requires R_F and R_P to be even. @@ -61,8 +62,6 @@ impl Pow5T3Chip { let half_partial_rounds = S::partial_rounds() / 2; let (round_constants, m_reg, m_inv) = spec.constants(); - let partial_sbox = meta.advice_column(); - let rc_a = [ meta.fixed_column(), meta.fixed_column(), @@ -644,8 +643,9 @@ mod tests { meta.advice_column(), meta.advice_column(), ]; + let partial_sbox = meta.advice_column(); - Pow5T3Chip::configure(meta, OrchardNullifier, state) + Pow5T3Chip::configure(meta, OrchardNullifier, state, partial_sbox) } fn synthesize( @@ -739,8 +739,9 @@ mod tests { meta.advice_column(), meta.advice_column(), ]; + let partial_sbox = meta.advice_column(); - Pow5T3Chip::configure(meta, OrchardNullifier, state) + Pow5T3Chip::configure(meta, OrchardNullifier, state, partial_sbox) } fn synthesize(