Skip to content

Commit

Permalink
Merge branch 'feat/migrate_compression' into feat/update-prover-migra…
Browse files Browse the repository at this point in the history
…te-compression
  • Loading branch information
darth-cy authored Oct 1, 2024
2 parents 5b67992 + 03eb3e5 commit aa78865
Show file tree
Hide file tree
Showing 18 changed files with 616 additions and 576 deletions.
200 changes: 103 additions & 97 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ sha3 = "0.10"
snark-verifier = { git = "https://github.com/scroll-tech/snark-verifier", branch = "develop" }
snark-verifier-sdk = { git = "https://github.com/scroll-tech/snark-verifier", branch = "develop", default-features = false, features = ["loader_halo2", "loader_evm", "halo2-pse"] }
ce-snark-verifier = { git = "https://github.com/scroll-tech/snark-verifier", branch = "axiom-community-edition", package = "snark-verifier", default-features = false, features = ["loader_halo2", "halo2-pse", "loader_evm", "revm"] }
ce-snark-verifier-sdk = { git = "https://github.com/scroll-tech/snark-verifier", branch = "axiom-community-edition", default-features = false, features = ["loader_halo2", "halo2-pse", "loader_evm", "revm"], package = "snark-verifier-sdk" }
ce-snark-verifier-sdk = { git = "https://github.com/scroll-tech/snark-verifier", branch = "axiom-community-edition", package = "snark-verifier-sdk", default-features = false, features = ["loader_halo2", "halo2-pse", "loader_evm", "revm"] }
strum = "0.25"
strum_macros = "0.25"
subtle = "2.4"
Expand Down
27 changes: 14 additions & 13 deletions aggregator/src/aggregation/rlc/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -82,21 +82,22 @@ impl RlcConfig {
vec![cs1, cs2, cs3]
});

meta.lookup_any("rlc keccak lookup", |meta| {
let q = meta.query_selector(lookup_gate_selector);
let input_rlc = meta.query_advice(phase_2_column, Rotation::cur());
let output_rlc = meta.query_advice(phase_2_column, Rotation::next());
let data_len = meta.query_advice(phase_2_column, Rotation(2));
// compression_debug
// meta.lookup_any("rlc keccak lookup", |meta| {
// let q = meta.query_selector(lookup_gate_selector);
// let input_rlc = meta.query_advice(phase_2_column, Rotation::cur());
// let output_rlc = meta.query_advice(phase_2_column, Rotation::next());
// let data_len = meta.query_advice(phase_2_column, Rotation(2));

let input_exprs = vec![1.expr(), 1.expr(), input_rlc, data_len, output_rlc];
let table_exprs = keccak_table.table_exprs(meta);
// let input_exprs = vec![1.expr(), 1.expr(), input_rlc, data_len, output_rlc];
// let table_exprs = keccak_table.table_exprs(meta);

input_exprs
.into_iter()
.zip_eq(table_exprs)
.map(|(input, table)| (q.clone() * input, table))
.collect::<Vec<_>>()
});
// input_exprs
// .into_iter()
// .zip_eq(table_exprs)
// .map(|(input, table)| (q.clone() * input, table))
// .collect::<Vec<_>>()
// });

Self {
#[cfg(test)]
Expand Down
13 changes: 6 additions & 7 deletions compression/src/circuit.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ impl CeCircuitExt<Fr> for CompressionCircuit {
impl CompressionCircuit {
/// Build a new circuit from a snark, with a flag whether this snark has been compressed before
pub fn new(
degree: u32,
agg_params: AggregationConfigParams,
params: &ParamsKZG<Bn256>,
snark: snark_verifier_sdk::Snark,
has_accumulator: bool,
Expand All @@ -103,11 +103,11 @@ impl CompressionCircuit {
// compression_debug
// verify_snark_accumulator_pairing(&snark, params)
// .expect("Compression circuit accumulator pre-check should not fail.");
Self::new_from_ce_snark(degree, params, to_ce_snark(&snark), has_accumulator, rng)
Self::new_from_ce_snark(agg_params, params, to_ce_snark(&snark), has_accumulator, rng)
}

pub fn new_from_ce_snark(
degree: u32,
agg_params: AggregationConfigParams,
params: &ParamsKZG<Bn256>,
snark: ce_snark_verifier_sdk::Snark,
has_accumulator: bool,
Expand All @@ -124,23 +124,22 @@ impl CompressionCircuit {
// inner.expose_previous_instances(has_accumulator);
// Ok(Self(inner))

let lookup_bits = degree as usize - 1;
let mut agg_circuit = AggregationCircuit::new::<SHPLONK>(
CircuitBuilderStage::Keygen,
AggregationConfigParams { degree, lookup_bits, ..Default::default() },
agg_params,
&params,
[snark.clone()],
VerifierUniversality::Full,
);
let agg_config = agg_circuit.calculate_params(Some(10));
// let agg_config = agg_circuit.calculate_params(Some(10));

let _pk = gen_pk(&params, &agg_circuit, None);
let break_points = agg_circuit.break_points();
drop(agg_circuit);

let mut inner = AggregationCircuit::new::<SHPLONK>(
CircuitBuilderStage::Prover,
agg_config,
agg_params,
&params,
[snark],
VerifierUniversality::Full,
Expand Down
1 change: 1 addition & 0 deletions compression/src/inner_snark_inner_7156762.json

Large diffs are not rendered by default.

Loading

0 comments on commit aa78865

Please sign in to comment.