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 <jack@electriccoin.co>
This commit is contained in:
therealyingtong 2021-06-07 20:45:33 +08:00
parent d16b83816b
commit 3a75f875a4
1 changed files with 5 additions and 4 deletions

View File

@ -52,6 +52,7 @@ impl<F: FieldExt> Pow5T3Chip<F> {
meta: &mut ConstraintSystem<F>,
spec: S,
state: [Column<Advice>; WIDTH],
partial_sbox: Column<Advice>,
) -> Pow5T3Config<F> {
// Generate constants for the Poseidon permutation.
// This gadget requires R_F and R_P to be even.
@ -61,8 +62,6 @@ impl<F: FieldExt> Pow5T3Chip<F> {
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(