mirror of https://github.com/zcash/halo2.git
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:
parent
d16b83816b
commit
3a75f875a4
|
@ -52,6 +52,7 @@ impl<F: FieldExt> Pow5T3Chip<F> {
|
||||||
meta: &mut ConstraintSystem<F>,
|
meta: &mut ConstraintSystem<F>,
|
||||||
spec: S,
|
spec: S,
|
||||||
state: [Column<Advice>; WIDTH],
|
state: [Column<Advice>; WIDTH],
|
||||||
|
partial_sbox: Column<Advice>,
|
||||||
) -> Pow5T3Config<F> {
|
) -> Pow5T3Config<F> {
|
||||||
// Generate constants for the Poseidon permutation.
|
// Generate constants for the Poseidon permutation.
|
||||||
// This gadget requires R_F and R_P to be even.
|
// 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 half_partial_rounds = S::partial_rounds() / 2;
|
||||||
let (round_constants, m_reg, m_inv) = spec.constants();
|
let (round_constants, m_reg, m_inv) = spec.constants();
|
||||||
|
|
||||||
let partial_sbox = meta.advice_column();
|
|
||||||
|
|
||||||
let rc_a = [
|
let rc_a = [
|
||||||
meta.fixed_column(),
|
meta.fixed_column(),
|
||||||
meta.fixed_column(),
|
meta.fixed_column(),
|
||||||
|
@ -644,8 +643,9 @@ mod tests {
|
||||||
meta.advice_column(),
|
meta.advice_column(),
|
||||||
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(
|
fn synthesize(
|
||||||
|
@ -739,8 +739,9 @@ mod tests {
|
||||||
meta.advice_column(),
|
meta.advice_column(),
|
||||||
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(
|
fn synthesize(
|
||||||
|
|
Loading…
Reference in New Issue