diff --git a/src/circuit.rs b/src/circuit.rs index 7d5cb389f..4db6a9fa7 100644 --- a/src/circuit.rs +++ b/src/circuit.rs @@ -225,6 +225,7 @@ impl plonk::Circuit for Circuit { // Constrain split_flag = 1 or nf_old = nf_old_pub // Constrain is_native_asset to be boolean // Constraint if is_native_asset = 1 then asset = native_asset else asset != native_asset + // Constraint split_flag = 1 or derived_pk_d_old = pk_d_old let q_orchard = meta.selector(); meta.create_gate("Orchard circuit checks", |meta| { let q_orchard = meta.query_selector(q_orchard); @@ -261,6 +262,11 @@ impl plonk::Circuit for Circuit { let diff_asset_x = asset_x - Expression::Constant(*native_asset.x()); let diff_asset_y = asset_y - Expression::Constant(*native_asset.y()); + let pk_d_old_x = meta.query_advice(advices[6], Rotation::next()); + let pk_d_old_y = meta.query_advice(advices[7], Rotation::next()); + let derived_pk_d_old_x = meta.query_advice(advices[8], Rotation::next()); + let derived_pk_d_old_y = meta.query_advice(advices[9], Rotation::next()); + Constraints::with_selector( q_orchard, [ @@ -285,7 +291,7 @@ impl plonk::Circuit for Circuit { ), ( "split_flag = 1 or nf_old = nf_old_pub", - (one.clone() - split_flag) * (nf_old - nf_old_pub), + (one.clone() - split_flag.clone()) * (nf_old - nf_old_pub), ), ( "bool_check is_native_asset", @@ -308,7 +314,22 @@ impl plonk::Circuit for Circuit { "(is_native_asset = 0) => (asset != native_asset)", (one.clone() - is_native_asset) * (diff_asset_x * diff_asset_x_inv - one.clone()) - * (diff_asset_y * diff_asset_y_inv - one), + * (diff_asset_y * diff_asset_y_inv - one.clone()), + ), + // Constrain derived pk_d_old to equal witnessed pk_d_old + // + // This equality constraint is technically superfluous, because the assigned + // value of `derived_pk_d_old` is an equivalent witness. But it's nice to see + // an explicit connection between circuit-synthesized values, and explicit + // prover witnesses. We could get the best of both worlds with a write-on-copy + // abstraction (https://github.com/zcash/halo2/issues/334). + ( + "split_flag = 1 or pk_d_old_x = derived_pk_d_old_x", + (one.clone() - split_flag.clone()) * (pk_d_old_x - derived_pk_d_old_x), + ), + ( + "split_flag = 1 or pk_d_old_y = derived_pk_d_old_y", + (one - split_flag) * (pk_d_old_y - derived_pk_d_old_y), ), ], ) @@ -669,7 +690,7 @@ impl plonk::Circuit for Circuit { } // Diversified address integrity (https://p.z.cash/ZKS:action-addr-integrity?partial). - let pk_d_old = { + let (derived_pk_d_old, pk_d_old) = { let ivk = { let ak = ak_P.extract_p().inner().clone(); let rivk = ScalarFixed::new( @@ -696,22 +717,13 @@ impl plonk::Circuit for Circuit { let (derived_pk_d_old, _ivk) = g_d_old.mul(layouter.namespace(|| "[ivk] g_d_old"), ivk)?; - // Constrain derived pk_d_old to equal witnessed pk_d_old - // - // This equality constraint is technically superfluous, because the assigned - // value of `derived_pk_d_old` is an equivalent witness. But it's nice to see - // an explicit connection between circuit-synthesized values, and explicit - // prover witnesses. We could get the best of both worlds with a write-on-copy - // abstraction (https://github.com/zcash/halo2/issues/334). let pk_d_old = NonIdentityPoint::new( ecc_chip.clone(), layouter.namespace(|| "witness pk_d_old"), self.pk_d_old.map(|pk_d_old| pk_d_old.inner().to_affine()), )?; - derived_pk_d_old - .constrain_equal(layouter.namespace(|| "pk_d_old equality"), &pk_d_old)?; - pk_d_old + (derived_pk_d_old, pk_d_old) }; // Old note commitment integrity (https://p.z.cash/ZKS:action-cm-old-integrity?partial). @@ -933,6 +945,31 @@ impl plonk::Circuit for Circuit { }, )?; + pk_d_old.inner().x().copy_advice( + || "pk_d_old_x", + &mut region, + config.advices[6], + 1, + )?; + pk_d_old.inner().y().copy_advice( + || "pk_d_old_y", + &mut region, + config.advices[7], + 1, + )?; + derived_pk_d_old.inner().x().copy_advice( + || "derived_pk_d_old_x", + &mut region, + config.advices[8], + 1, + )?; + derived_pk_d_old.inner().y().copy_advice( + || "derived_pk_d_old_y", + &mut region, + config.advices[9], + 1, + )?; + config.q_orchard.enable(&mut region, 0) }, )?; diff --git a/src/circuit_description b/src/circuit_description index 32ecbe8ea..ffb19ab6f 100644 --- a/src/circuit_description +++ b/src/circuit_description @@ -913,6 +913,188 @@ PinnedVerificationKey { ), ), ), + Product( + Product( + Product( + Product( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000002, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000003, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000004, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Product( + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000001, + ), + Negated( + Advice { + query_index: 8, + column_index: 8, + rotation: Rotation( + 0, + ), + }, + ), + ), + Sum( + Advice { + query_index: 16, + column_index: 6, + rotation: Rotation( + 1, + ), + }, + Negated( + Advice { + query_index: 18, + column_index: 8, + rotation: Rotation( + 1, + ), + }, + ), + ), + ), + ), + Product( + Product( + Product( + Product( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000002, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000003, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000004, + ), + Negated( + Fixed { + query_index: 18, + column_index: 18, + rotation: Rotation( + 0, + ), + }, + ), + ), + ), + Product( + Sum( + Constant( + 0x0000000000000000000000000000000000000000000000000000000000000001, + ), + Negated( + Advice { + query_index: 8, + column_index: 8, + rotation: Rotation( + 0, + ), + }, + ), + ), + Sum( + Advice { + query_index: 17, + column_index: 7, + rotation: Rotation( + 1, + ), + }, + Negated( + Advice { + query_index: 19, + column_index: 9, + rotation: Rotation( + 1, + ), + }, + ), + ), + ), + ), Product( Product( Product( @@ -1057,7 +1239,7 @@ PinnedVerificationKey { Product( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -1066,7 +1248,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000400, ), Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -3675,7 +3857,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -3701,7 +3883,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -3919,7 +4101,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -4480,7 +4662,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -4506,7 +4688,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -4724,7 +4906,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -5223,7 +5405,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -5239,7 +5421,7 @@ PinnedVerificationKey { ), Sum( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -5250,14 +5432,14 @@ PinnedVerificationKey { Sum( Product( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, ), }, Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -5266,7 +5448,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -5558,7 +5740,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -5584,7 +5766,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -5786,7 +5968,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -5907,7 +6089,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6059,7 +6241,7 @@ PinnedVerificationKey { }, Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6146,7 +6328,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -6162,7 +6344,7 @@ PinnedVerificationKey { ), Sum( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6173,14 +6355,14 @@ PinnedVerificationKey { Sum( Product( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, ), }, Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -6189,7 +6371,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6315,7 +6497,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -6341,7 +6523,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -6559,7 +6741,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -6696,7 +6878,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6864,7 +7046,7 @@ PinnedVerificationKey { }, Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -6948,7 +7130,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -7048,7 +7230,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -7060,7 +7242,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000002, ), Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -7076,7 +7258,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -7088,7 +7270,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000002, ), Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -7193,7 +7375,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -7205,7 +7387,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000002, ), Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -7224,7 +7406,7 @@ PinnedVerificationKey { }, Negated( Advice { - query_index: 21, + query_index: 22, column_index: 1, rotation: Rotation( -1, @@ -7241,7 +7423,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -7253,7 +7435,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000002, ), Advice { - query_index: 17, + query_index: 20, column_index: 9, rotation: Rotation( -1, @@ -7273,7 +7455,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 21, + query_index: 22, column_index: 1, rotation: Rotation( -1, @@ -7468,7 +7650,7 @@ PinnedVerificationKey { Sum( Sum( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -7668,7 +7850,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -7778,7 +7960,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -7789,7 +7971,7 @@ PinnedVerificationKey { ), ), Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -7888,7 +8070,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -7914,7 +8096,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -8029,7 +8211,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -8064,7 +8246,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -8198,7 +8380,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -8233,7 +8415,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -10595,7 +10777,7 @@ PinnedVerificationKey { }, Sum( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -10701,7 +10883,7 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -10710,7 +10892,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -10727,7 +10909,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -10736,7 +10918,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -10832,7 +11014,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -11252,7 +11434,7 @@ PinnedVerificationKey { Sum( Sum( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -11620,7 +11802,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -11965,7 +12147,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -12310,7 +12492,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -12850,7 +13032,7 @@ PinnedVerificationKey { Sum( Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -12860,7 +13042,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -12871,7 +13053,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -13006,7 +13188,7 @@ PinnedVerificationKey { Sum( Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -13016,7 +13198,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -13027,7 +13209,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -13162,7 +13344,7 @@ PinnedVerificationKey { Sum( Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -13172,7 +13354,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -13183,7 +13365,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -13270,7 +13452,7 @@ PinnedVerificationKey { Sum( Sum( Advice { - query_index: 20, + query_index: 21, column_index: 6, rotation: Rotation( -1, @@ -13286,7 +13468,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -13386,7 +13568,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -13477,7 +13659,7 @@ PinnedVerificationKey { }, Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -15067,14 +15249,14 @@ PinnedVerificationKey { Product( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -15094,14 +15276,14 @@ PinnedVerificationKey { Sum( Product( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, ), }, Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -15120,7 +15302,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -15161,7 +15343,7 @@ PinnedVerificationKey { 0x0000000000000000000000000000000000000000000000000000000000000002, ), Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -15678,7 +15860,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -15797,7 +15979,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -15809,7 +15991,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -15923,7 +16105,7 @@ PinnedVerificationKey { Sum( Sum( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -16041,7 +16223,7 @@ PinnedVerificationKey { ), Sum( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -16050,7 +16232,7 @@ PinnedVerificationKey { Negated( Sum( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -16058,7 +16240,7 @@ PinnedVerificationKey { }, Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -17454,7 +17636,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -17584,7 +17766,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -17690,7 +17872,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -17900,7 +18082,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -17912,7 +18094,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -18042,7 +18224,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -18053,7 +18235,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -18409,7 +18591,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -18420,7 +18602,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -18771,7 +18953,7 @@ PinnedVerificationKey { }, Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -18782,7 +18964,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -19115,7 +19297,7 @@ PinnedVerificationKey { ), Sum( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -19144,7 +19326,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -19610,7 +19792,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -19740,7 +19922,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -19839,7 +20021,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -19944,7 +20126,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -20049,14 +20231,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -20191,7 +20373,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -20349,7 +20531,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -20464,7 +20646,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -20585,14 +20767,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -20874,7 +21056,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -21032,7 +21214,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -21147,7 +21329,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -21268,14 +21450,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -21411,7 +21593,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -21422,7 +21604,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -21580,7 +21762,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -21695,14 +21877,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -21816,7 +21998,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -21937,14 +22119,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -22215,7 +22397,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -22500,7 +22682,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -22743,7 +22925,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -22864,7 +23046,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -23106,7 +23288,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -23118,7 +23300,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -23264,7 +23446,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -23275,7 +23457,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -23679,7 +23861,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -23690,7 +23872,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -24089,7 +24271,7 @@ PinnedVerificationKey { }, Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -24100,7 +24282,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -24481,7 +24663,7 @@ PinnedVerificationKey { ), Sum( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -24510,7 +24692,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -25040,7 +25222,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -25186,7 +25368,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -25301,7 +25483,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -25422,7 +25604,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -25543,14 +25725,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -25685,7 +25867,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -25843,7 +26025,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -25958,7 +26140,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -26079,14 +26261,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -26320,7 +26502,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -26430,7 +26612,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -26497,7 +26679,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -26570,14 +26752,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -26665,7 +26847,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -26676,7 +26858,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -26786,7 +26968,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -26853,14 +27035,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -26926,7 +27108,7 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -26999,14 +27181,14 @@ PinnedVerificationKey { ), Product( Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -27181,7 +27363,7 @@ PinnedVerificationKey { ), Scaled( Advice { - query_index: 22, + query_index: 16, column_index: 6, rotation: Rotation( 1, @@ -27370,7 +27552,7 @@ PinnedVerificationKey { ), Negated( Advice { - query_index: 19, + query_index: 18, column_index: 8, rotation: Rotation( 1, @@ -27517,7 +27699,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -27590,7 +27772,7 @@ PinnedVerificationKey { ), }, Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -27855,7 +28037,7 @@ PinnedVerificationKey { ), ( Column { - index: 9, + index: 6, column_type: Advice, }, Rotation( @@ -27864,16 +28046,16 @@ PinnedVerificationKey { ), ( Column { - index: 9, + index: 7, column_type: Advice, }, Rotation( - -1, + 1, ), ), ( Column { - index: 7, + index: 8, column_type: Advice, }, Rotation( @@ -27882,7 +28064,7 @@ PinnedVerificationKey { ), ( Column { - index: 8, + index: 9, column_type: Advice, }, Rotation( @@ -27891,7 +28073,7 @@ PinnedVerificationKey { ), ( Column { - index: 6, + index: 9, column_type: Advice, }, Rotation( @@ -27900,7 +28082,7 @@ PinnedVerificationKey { ), ( Column { - index: 1, + index: 6, column_type: Advice, }, Rotation( @@ -27909,11 +28091,11 @@ PinnedVerificationKey { ), ( Column { - index: 6, + index: 1, column_type: Advice, }, Rotation( - 1, + -1, ), ), ( @@ -28313,7 +28495,7 @@ PinnedVerificationKey { Negated( Scaled( Advice { - query_index: 16, + query_index: 19, column_index: 9, rotation: Rotation( 1, @@ -28673,7 +28855,7 @@ PinnedVerificationKey { ), ), Advice { - query_index: 18, + query_index: 17, column_index: 7, rotation: Rotation( 1, @@ -28887,15 +29069,15 @@ PinnedVerificationKey { (0x3a83a8e762ebade712aa5cf3c41c730a79369475085bf1155579f7f7682408e2, 0x25b00d3ee1da9a6bbd36b35ba461da45abd931c767b863ec4a604f8ce094e4eb), (0x1caeb4d7ebb44a717f83ee5afd35446a5e2124f6a4075342ba4eff589523fb57, 0x3a8c431a13632a5b5f035eb4b804d37f2591e84d05d765ba3f70a3d61b907ebb), (0x107d95a6361fc98df9042f32451faa4fd48c1381653be7847d97cf997a55a4ad, 0x31ebf6a2e352108bb180c3278e72d88bb5bab723d3b38aa47c144fc37fb8a962), - (0x340633bc671d4839c9245701bd7877dffa14caa8516fc2b2d97ab743abff31b2, 0x2d44e13f4cbd8767746e33ca3780ca730de2e81c68fd2eac2856405c810ea835), - (0x0686df606b54c901940689a81e292bbf35653bed36d07d565e6c1bb2f04f7f16, 0x109273b534b0bcdf7d3b651b87631202e692e9799f300b93bdde0c1084644f98), - (0x3b5c55541e5ecbed649a67e81c69ecf846b0d8bb5b3fb0dca7cc855508a60291, 0x2c2d977d9db18dac2bfeb6863e04603fbe577260b77d83de7a40440d0d7e96e0), - (0x377b4690b84709cca9b5f7557a4946907582090395704a279bc3d0474649649c, 0x19d8a463645acaf5e80a0eae028da3175fe3fd07a8afa7b357266951fabf15a2), - (0x01b35d8bd7fff98c6eca9e68b04159d9e04c8c97ee823cbfb25c72759a0f1bff, 0x2f690ea00d11748a56994db1d5086cc14feb4e182950aa3bd78a5e7c39f1c438), - (0x14322512145256db0a887e0d44cb0ca576d199cd60dd6c0fc592974f5bfc982c, 0x14f0d717d83c30687335f599f0e0b313e1f908d8cb539273271d61b6c0c7a977), - (0x2cfd5a6eebaf22de42df01c35ea51d5149528799a4dae214ff5ea4964384549a, 0x0241a066241ababd11a9d336f30a68d2eb40b15a1a74ce7ebb8284818341195f), - (0x1a104a92aae262af0c12ae8e460b8a050d0609236881b44523a51ade8d58fb59, 0x1b4826150f81242668cdf5ac67894f1aaa4f958b4e26af911fcca643c4cd5265), - (0x1973139bb6cfd1f498c01fda7934f1b9954a52bb7e3778814745f73a03f1ec21, 0x0984409ed6f0dfbf0b25a658c4838327096519bd700e0b7ccd69528d971da6d4), + (0x23d190a42430492732de147e7560ae1387a0e8c6b0dc405b893c99c34d124152, 0x0f7f1cb9cd7c701f22270a68d9cb484b4fffdc6144c8ce3f4eca5b646f8a939f), + (0x2b0f9d7b69e1f353868a4d542b7a23f24f39335b16c3a46fca1edb12a69bb350, 0x1e4ac9f6f6d4ba4fa4cd21e669b8293e3be8c143c795d2eb31503a9389ad4314), + (0x28f1ed28efc008bcec444c440ddbe60a8e58fe5b9a6047f0bf4d8abf599cc4ed, 0x180eef569a332ec094a76dd55de8f8ef4f087465bb2abc8dd5f7a265e048e84f), + (0x36608273abc0c47131ee4cb410b4e936fe693e9e034c686e188438d5eab134cd, 0x304e3ffef142c51a5a081a977f9c2581fa18a356e080d20cf10a044e46a3c802), + (0x355228aaa5e1134d08305d64d86cca7abac7c4114252a2a71df6a40d6a3633a9, 0x2d492e1c28cf94f9a074b14cb4cfd0cabd46121faa034d887c5f07cb743464e2), + (0x31fe923865ff58a9e59393bf64ebff3f25831371afbd2de5ddf147519ad6160a, 0x30449e9123aee5a61d3ed4c9e5822e2f60184a6c4234cfd61575e9f9572f370e), + (0x0e24cddb59a4615d0595e5439fca547a3f1ed39c4a2b0879d7e8603306d9e4b5, 0x35ab4acd6912b9bc66c19ebc9845886a4828bac17246137e36f924df2f9be175), + (0x3bd9f4407fcbb3e4ec812de2c53e70fb9203381f5a1c0f4c5e5fa52b932f5ac1, 0x06d8356f6b642427ddfad6e3642e40c0b29034baf9adb19c8a3ab251b16f39ef), + (0x21e3606f857180611036daa84bee713ff0b360b6282adc5bbaa40a5f6f7e6bc7, 0x3bff3cd61a5ae314f5eead93e3084c60a31e8b794186061a24ffa5a5dcd7e0f5), (0x3c0f3f0d7b2306490dac7d578d4846c63adcc76988ce322d8691c3b8b5b0f623, 0x12d81ca672a1c18f6e0d9b7eb8fbabdbe450fae6667cf349c1a0e63ca9a0824e), (0x27d13b33003ffddcd36efb731fe94db93d181bd994e0c057e945402bc8501789, 0x0e1dde94ea3b35e0d0a66350163ba2ff9dd5070500912b7d076747816965ffd2), (0x3049e9c8a3e6c7fe628660121f04915e03546b7a2dcb8a3e59fa99546e4f7f86, 0x2dcebc740917584f788b776f4cf1e3cd96b4a29e9df7224fd8e5f428d4112546), @@ -28903,32 +29085,32 @@ PinnedVerificationKey { (0x1751912a19fa0009ece61b686342d6b4385415e942159e8db3f174ad24d612b9, 0x0f31114ef566211d46914d0bc2d1a27a0e34eeda04dab53a0af7a37024f057a1), (0x091c6c4854fa5d9ed8a966f2a1c4946b41f6872de6c19fa8b521a0a8eb2bd899, 0x29100b4e15344d750fae4a81c82faca1e8e0573336b1f54b394946e95e7baad0), (0x1a5bb6ffd1af2165203df63414021a531f0f2bfcec85443a180993cc222b40af, 0x0d6b8b0d2363607d15746434b670008845ed0524406c1d8a221cb6f58ee2d4ed), - (0x3b31f6e48472e06a9f21145e3a37744fa0ceb6188485ce44b1a131ae47661e17, 0x382d47f03a6703a3018d8582a6123e0e61c549d695f1e2a40bb578bc2ca0e6f2), + (0x0e3ead6853e036099146875357a97c73327ac7aac89df7af91e8e126cf1adb3d, 0x16e19a920aa5d52ec2bb18e595b12cc3f65ae6703af8c088c3741ec59acdde8a), (0x34c8b83a2cc924f1b0237978c8f911e6a54375c509ba46456a011fbb74c8698c, 0x260cc681c222535c0030f702172ee8855b681c16d706b1b9a786165e06705de6), - (0x1b7a61e8a9b32fe558433feec9aaf51204e5486aa468d7215087ed35fd6ecbe5, 0x1f36dc6852f92c141ba800f721d079ffc553c7449b85d16e7487e0c3009c7835), + (0x3dcb136a22551e524212c0325331a9dae5ad6ff356175e6b82a54039475be1ef, 0x3bbbd0d20ea0ebb0f36d740910947d1934bcb93ba16325ea42f124ec0cde7a81), (0x3bb657ca32617e6242b6c6a0b166a1db205024d0441d091b8d45fb478cd4782c, 0x3189ce1b97103345fc0eafd287eed80ab186151171f22af2c9befc71a0957529), (0x25578b0a6d546cf38dc84329fad41e59690a2bd94a0db5fddb42e0db8c267827, 0x03448e4552625dda62a96318bcafcc305deafd6a028f8379d8c8d9ffa0f86e64), (0x30d1828d7463255ad75b39ee4c718de05a762c45c5d717d059496fe05d1575b4, 0x0a8eb70a9b252ee9ee57b29e4dab191cbb29665821830b2ab60fdd5d3414de45), - (0x21c6cc32a998a56e0184238756f9bc06c034326644fa797d58d37a4ce04862ad, 0x0a3215ded9e38470be699055ba4776fda0751bc3d0b893e49c71f2817e12c354), - (0x2b8641a13009b6e2c57fb902961c97d5a37fe9e7012c48a27e644ab86c6e798c, 0x31dc90911a15d74e74ad51ac80cbfca12b1eb06038bb3d5aecc0498c5bd5ff68), - (0x10b4ec889583134fa09dc3e6f0fac585f2dbf6dddcc1eea2c95bab4b8de05be5, 0x0eb4092d1a27658602828702d73145b842f9dbe4b113b61b10049ebe406d625c), - (0x0b9493ff319556d1792c2b1ccef1c52d6097620601b22c8a6cc9f3da9608a3df, 0x098fabd4f3443138f8c72fa5991a7012266cd3d574a65083a611688aec7c631d), - (0x2574aa02cd03503fc37ade3434a4d426f97f94e5f98ae5ea8f3d1324589670a5, 0x22b31bec6726ce49ea837dc05d3576d2e71536ada0d7db4efcd06c34b2129e2c), + (0x1bdd262015bc4b15fd90dcb6dea748cb9032fed094df3edfc0ca96c419c6ea9f, 0x28bad5ad4461b66303cb84925b54258e27953e8ef5e67c1057c823091a8562b9), + (0x09e15af05d50016fd1c475fbd3ae0be95289f239f13962f755f8b39732c73feb, 0x03760949d5057f33c30391474cbc3d447858da57e8b72487a98827b339993e60), + (0x0460fc7f74c9808eea035e8df3ac031c2d05ecafd8f0189f2d6ddac3274752fb, 0x2bc99ad7317625f1a1d6bca1781557b87e8b9976cdcaf994c827a0087d1ce182), + (0x31b7012d949d0668d34cb20200d4e159262aa0dd92114d3aa5e8aa84af51a802, 0x2eb9c55ed473e18e62dc273a8606f955690a984551fbc38e80d65199ab8d0c3d), + (0x33dced988c6a1d40aff3da1710a0e36a6b787fd6dae51ebe3dda7835c2dbea15, 0x3b54a967115d43feccf77c385dcfc6e89f30343457bc8921e017c930a381b5b0), ], permutation: VerifyingKey { commitments: [ - (0x09d1106babba44f67eace95337e3b9916cf02d0b143d5993cf212ba4fa6e2d81, 0x2046a60feac842a629a24189de9d914da26b2254440c142cf851f6d4d5c586a4), - (0x26086868fee3f97d3171042e8ad377782aa845dd3e5c6c86f5d1251b41b8ff03, 0x2f60015e46a7e2bc0e30413be4782c648ec5e9dedc92ce9052fd2857a779a4cd), - (0x00d54c6162e5654355cbaa6951f86836cea891242793df30e4ae74d522747d01, 0x0f9d6c7108000d07ff766c16757c7a02cc8bcaa1ce3001c476bda543db4b52fb), - (0x131a626c24a64b23cb9a554921462f8b3848294a5a12110528b11362fe80f59c, 0x3e8076404262e3d7b5a6d2a3dbdf0fb151e2f3fe4a9239365dfd63853bfd8b8d), - (0x00aae2c83a8cb88fd04c9c631ea69362f38d41688624f519c6aab8fb15110931, 0x0294f0e5b376a7bc9fd190f34c00201c0ffa2a019148d27e1a578effba915450), - (0x2022cd25023adefba897a064d43365c59df92f547eea992189040ecf23eb1b89, 0x2d5ada0189acf8d400ed967e8537e7de7979d2bd6ad5430aa009e200edcad889), - (0x30e4290b63621db78bfadf242ac8a940179ddd601127f4fe05df818dda0de8b5, 0x13ab4dd58054df7dc7c4e59fcf5745373889113fccc60d8a79957dcbc4a1a79e), - (0x17ee4b08749d802b2cb5a8d72df1d27c4a521293347698bac389f473f573888f, 0x19efafbfa1bc8c4e62cb0d8893905ac7a30da08a9ffc18ac26f741c6419f2fe1), - (0x1a5804444e8f54cdff0f38ee9fc051672b5fcb0cf39cc608e20db884c18c2ae0, 0x11b297659614cacbc3fe5b6b8506d7b31d04ec061329c791714478f480215263), - (0x22bbc74dac7b42add29982d2d276b548b38b2fdc8628d4fd331f5d09cae93881, 0x0808f95123e9339e6643594561b28d0a4b6d7d52bdf0b60e3ab698336cfefe06), - (0x07201f37d78f79f85a69d9333e60682fd709fcb7b9fbc843d0baef7885a79246, 0x3b01c7b445dd60b44309c172d55cd2bfed068fa420f8c2cbf316eac3bda6985b), - (0x3998aad0ccd62e9339c4ca91363bec2524ec945bb780efd9984fec68b4f51efb, 0x32cdaa4c65f29fa0675df2196f3190b849dd1dc4a48d615602e57b282cb34673), + (0x01b2f977b5e96e2d00052aa77013b4a7522b714ed1265e5b761a90add04a677d, 0x06ae5604d2abf710e3720ab4ca37bc7a75cec4772624973990fe7acb95d2b90e), + (0x3487595fd169aea1e2055c38daf7b83a923600084a12f6beb068e9ef0886884b, 0x2094e9bc4aead08e32eb63939e7b365f7c4dbe7bb9e4fe439fe7855da2a8ef59), + (0x34b7b5583a32b3a2a188214b041b0402948759fbdf47b4b50421905728b78148, 0x10fafdf7f63a938d87eb031cbe61c6dd5915612ecb71865e94a7d7fdcb96f9c8), + (0x38b9b1352ef7da340b69e7d152d86c26abaa7eb8da2b2049c75eb908bc42dae1, 0x2b7880c4c7790b2bd4f603a95561e7e1f4fba95eba4096f6d44b89e4b0a16519), + (0x08b55ac77535aa391210533786aa9a62215fe2cb6950b60dde6563f8c4f47d58, 0x1ca42aafc1ae6e8554a933225daae97222e08a59c866024a936f66e45455c47b), + (0x3b23fca8ae9ee4f186c654428419b16169777a1b5cf7e959f73de3fd21cf1403, 0x3ff330b5247e4a88c38452e3bbaf20c79cff67a4a5b91c5ac3c6614d8cc17119), + (0x39c00327041f3b0a21cc10acacd55a94f968770121fb55e8bee01e146ea024a1, 0x38c3af47f4278d74e808aeecaf9407b17757384e9d50b59500604c7bb86687cd), + (0x0fe245acf5779d18b38c28fd4f6d921bb5487579d1fd257b7ea48f8d6de2db2f, 0x1f8a5b90451fa159c9c517a0b7250787d86c63555659298bb7ca10c537e94e12), + (0x13f4c48990bdcadf99fc60d63b04eb82f26dc2c59b515f265a66c2732abd0205, 0x20dbafa9a43baccfc5ee6947bc408b1e8974af2f5c141f3f704a747e194f04f0), + (0x16d8e8e787a2dfde1ec419ce969aa5a6c23b9d703a7440a6f085cb1fbbb21a57, 0x217624d76f302eb4f3a4f9bd3968fa79f66e4b06b5bc72048b979fb58b1f29d7), + (0x0f74011b79a40415b90f8f22db1a1433b7336307801cfe97b84f60bf7cb15d44, 0x10f2a0765e05ab426d0b183ad84616438187efbfb6122540d768895324d42667), + (0x2139a7b9a8c74648139b556ae77015620edcc81cf0a89cc960a57e16c4346a0b, 0x0295889e3496dac3174b2ba3c5399b78d9ecf042730cede62d37f6f0bfc021b6), (0x21d210b41675a1eae44cbd0f3fd27d69e30716c71873f6089cee61acacd403ab, 0x2275e97c7e84f68bfaa528a9d8be4e059f7abefd80d03fbfca774e8414a9b7c1), (0x0f9e7de28e0f650d99d99d95c0fcd39c9dac9db5aa1973319f66922d6eb9f7d5, 0x1ba644ecc18ad711ddd33af7f695f6834e9f35c93d47a6a5273dabbe800fc7e6), (0x0aab3ab73afac76277cd94a891de15e42ceb09f3a9865dab5c814bebfbb4453f, 0x27119fec3736d99abeeef1ad7b857db7e754e0c158780ed3dd0cdd4dc2453e10), diff --git a/src/circuit_proof_test_case.bin b/src/circuit_proof_test_case.bin index 7fe92dc3d..9d541d63f 100644 Binary files a/src/circuit_proof_test_case.bin and b/src/circuit_proof_test_case.bin differ