From 334080783b7661ed27ffb3a3ad0d091931274f42 Mon Sep 17 00:00:00 2001 From: zhenfei Date: Mon, 18 Sep 2023 18:33:01 -0400 Subject: [PATCH 1/2] bin for re-randomize --- Cargo.lock | 311 +++++++++++++++++++++++++++++++++++++---- Makefile | 3 + bin/Cargo.toml | 12 +- bin/src/re_rand_srs.rs | 41 ++++++ 4 files changed, 336 insertions(+), 31 deletions(-) create mode 100644 bin/src/re_rand_srs.rs diff --git a/Cargo.lock b/Cargo.lock index 3c517ed54..c0001d177 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -33,9 +33,9 @@ name = "aggregator" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "ark-std", + "ark-std 0.3.0", "env_logger 0.10.0", - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", "ethers-core 2.0.7", "halo2_proofs", "hex", @@ -46,7 +46,28 @@ dependencies = [ "serde_json", "snark-verifier", "snark-verifier-sdk", - "zkevm-circuits", + "zkevm-circuits 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", +] + +[[package]] +name = "aggregator" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "ark-std 0.3.0", + "env_logger 0.10.0", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", + "ethers-core 2.0.7", + "halo2_proofs", + "hex", + "itertools", + "log", + "rand", + "serde", + "serde_json", + "snark-verifier", + "snark-verifier-sdk", + "zkevm-circuits 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", ] [[package]] @@ -100,6 +121,16 @@ dependencies = [ "rand", ] +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand", +] + [[package]] name = "array-init" version = "2.1.0" @@ -227,18 +258,20 @@ dependencies = [ "anyhow", "clap", "dotenv", + "env_logger 0.10.0", "ethers-providers 1.0.2", "integration", "itertools", "log", "log4rs", - "prover", + "prover 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "rand", "rand_xorshift", "reqwest", "serde", "serde_derive", "serde_json", + "tiny-keccak", "tokio", ] @@ -351,19 +384,48 @@ name = "bus-mapping" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "ethers-core 2.0.7", + "ethers-providers 2.0.7", + "ethers-signers", + "gadgets 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "halo2_proofs", + "hex", + "itertools", + "keccak256 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "lazy_static", + "log", + "mock 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "num", + "once_cell", + "poseidon-circuit", + "rand", + "revm-precompile", + "serde", + "serde_json", + "strum", + "strum_macros", +] + +[[package]] +name = "bus-mapping" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "ethers-core 2.0.7", "ethers-providers 2.0.7", "ethers-signers", - "gadgets", + "gadgets 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "halo2_proofs", "hex", "itertools", - "keccak256", + "keccak256 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "lazy_static", "log", - "mock", - "mpt-zktrie", + "mock 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "num", "once_cell", "poseidon-circuit", @@ -1092,6 +1154,32 @@ dependencies = [ "uint", ] +[[package]] +name = "eth-types" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "ethers-core 2.0.7", + "ethers-signers", + "halo2_proofs", + "hex", + "itertools", + "lazy_static", + "libsecp256k1", + "num", + "num-bigint", + "poseidon-circuit", + "regex", + "serde", + "serde_json", + "serde_with", + "sha3 0.10.6", + "strum", + "strum_macros", + "subtle", + "uint", +] + [[package]] name = "ethabi" version = "18.0.0" @@ -1290,8 +1378,20 @@ name = "external-tracer" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "eth-types", - "geth-utils", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "geth-utils 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "log", + "serde", + "serde_json", +] + +[[package]] +name = "external-tracer" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", + "geth-utils 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "log", "serde", "serde_json", @@ -1471,7 +1571,19 @@ version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ "digest 0.7.6", - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "halo2_proofs", + "sha3 0.7.3", + "strum", +] + +[[package]] +name = "gadgets" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "digest 0.7.6", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "halo2_proofs", "sha3 0.7.3", "strum", @@ -1507,6 +1619,16 @@ dependencies = [ "log", ] +[[package]] +name = "geth-utils" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "env_logger 0.9.3", + "gobuild 0.1.0-alpha.2 (git+https://github.com/scroll-tech/gobuild.git)", + "log", +] + [[package]] name = "getrandom" version = "0.2.8" @@ -1701,7 +1823,7 @@ name = "halo2_proofs" version = "0.2.0" source = "git+https://github.com/scroll-tech/halo2.git?branch=develop#4d8a405a97ce445c88fc8ec40f9a2dd0a661c697" dependencies = [ - "ark-std", + "ark-std 0.3.0", "blake2b_simd", "cfg-if 0.1.10", "crossbeam", @@ -2044,11 +2166,11 @@ dependencies = [ "itertools", "log", "log4rs", - "prover", + "prover 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", "rand", "serde", "serde_derive", - "zkevm-circuits", + "zkevm-circuits 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", ] [[package]] @@ -2146,7 +2268,22 @@ version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ "env_logger 0.9.3", - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "halo2_proofs", + "itertools", + "lazy_static", + "log", + "num-bigint", + "num-traits", +] + +[[package]] +name = "keccak256" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "env_logger 0.9.3", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "halo2_proofs", "itertools", "lazy_static", @@ -2362,10 +2499,26 @@ name = "mock" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", "ethers-core 2.0.7", "ethers-signers", - "external-tracer", + "external-tracer 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "itertools", + "lazy_static", + "log", + "rand", + "rand_chacha", +] + +[[package]] +name = "mock" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", + "ethers-core 2.0.7", + "ethers-signers", + "external-tracer 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "itertools", "lazy_static", "log", @@ -2378,7 +2531,23 @@ name = "mpt-zktrie" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "halo2-mpt-circuits", + "halo2_proofs", + "hex", + "lazy_static", + "log", + "num-bigint", + "poseidon-circuit", + "zktrie", +] + +[[package]] +name = "mpt-zktrie" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "halo2-mpt-circuits", "halo2_proofs", "hex", @@ -2850,14 +3019,50 @@ name = "prover" version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ - "aggregator", + "aggregator 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "anyhow", + "base64 0.13.1", + "blake2", + "bus-mapping 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "chrono", + "dotenvy", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "ethers-core 2.0.7", + "git-version", + "halo2_proofs", + "hex", + "itertools", + "log", + "log4rs", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "num-bigint", + "once_cell", + "rand", + "rand_xorshift", + "serde", + "serde_derive", + "serde_json", + "serde_stacker", + "sha2 0.10.6", + "snark-verifier", + "snark-verifier-sdk", + "zkevm-circuits 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", +] + +[[package]] +name = "prover" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "aggregator 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "anyhow", + "ark-std 0.4.0", "base64 0.13.1", "blake2", - "bus-mapping", + "bus-mapping 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "chrono", "dotenvy", - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "ethers-core 2.0.7", "git-version", "halo2_proofs", @@ -2865,11 +3070,13 @@ dependencies = [ "itertools", "log", "log4rs", - "mpt-zktrie", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "num-bigint", "once_cell", "rand", + "rand_chacha", "rand_xorshift", + "rayon", "serde", "serde_derive", "serde_json", @@ -2877,7 +3084,7 @@ dependencies = [ "sha2 0.10.6", "snark-verifier", "snark-verifier-sdk", - "zkevm-circuits", + "zkevm-circuits 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", ] [[package]] @@ -4611,26 +4818,70 @@ version = "0.1.0" source = "git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0#b99974d2d37696562a1035c0e595dbc87fabaa62" dependencies = [ "array-init", - "bus-mapping", + "bus-mapping 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "either", + "env_logger 0.9.3", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "ethers-core 2.0.7", + "ethers-signers", + "gadgets 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "halo2-base", + "halo2-ecc", + "halo2_proofs", + "hex", + "itertools", + "keccak256 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "lazy_static", + "libsecp256k1", + "log", + "maingate", + "misc-precompiled-circuit", + "mock 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?tag=v0.9.0)", + "num", + "num-bigint", + "once_cell", + "poseidon-circuit", + "rand", + "rand_chacha", + "rand_xorshift", + "rayon", + "serde", + "serde_json", + "sha3 0.10.6", + "snark-verifier", + "snark-verifier-sdk", + "strum", + "strum_macros", + "subtle", +] + +[[package]] +name = "zkevm-circuits" +version = "0.1.0" +source = "git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs#5e367c961273ec85f6db0ee89ab1802c5e373d56" +dependencies = [ + "array-init", + "bus-mapping 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "either", "env_logger 0.9.3", - "eth-types", + "eth-types 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "ethers-core 2.0.7", "ethers-signers", - "gadgets", + "gadgets 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "halo2-base", "halo2-ecc", "halo2_proofs", "hex", "itertools", - "keccak256", + "keccak256 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "lazy_static", "libsecp256k1", "log", "maingate", "misc-precompiled-circuit", - "mock", - "mpt-zktrie", + "mock 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", + "mpt-zktrie 0.1.0 (git+https://github.com/scroll-tech/zkevm-circuits.git?branch=re-randomize-srs)", "num", "num-bigint", "once_cell", diff --git a/Makefile b/Makefile index 97bfd0a2a..876fc7028 100644 --- a/Makefile +++ b/Makefile @@ -50,6 +50,9 @@ test-batch-prove: test-ccc: @cargo test --release test_capacity_checker +test-re-randomize: + @cargo run --bin rerandomize_srs --release + rows: @cargo test --features prove_verify --release estimate_circuit_rows diff --git a/bin/Cargo.toml b/bin/Cargo.toml index 20de95a4c..24dce2b80 100644 --- a/bin/Cargo.toml +++ b/bin/Cargo.toml @@ -9,6 +9,7 @@ edition = "2021" anyhow = "1.0" clap = { version = "3.1.3", features = ["derive"] } dotenv = "0.15.0" +env_logger = "0.10.0" ethers-providers = "1.0" itertools = "0.10.5" log = "0.4" @@ -19,9 +20,14 @@ reqwest = { version = "0.11", default-features = false, features = [ "json", "ru serde = "1.0" serde_derive = "1.0" serde_json = "1.0.66" +tiny-keccak = "2.0.2" tokio = { version = "1", features = ["full"] } integration = { path = "../integration" } -prover = { git = "https://github.com/scroll-tech/zkevm-circuits.git", tag = "v0.9.0", default-features = false, features = ["parallel_syn", "scroll", "shanghai"] } +# udpate me once +# https://github.com/scroll-tech/zkevm-circuits/pull/944 +# https://github.com/scroll-tech/halo2/pull/67 +# are merged +prover = { git = "https://github.com/scroll-tech/zkevm-circuits.git", branch = "re-randomize-srs", default-features = false, features = ["parallel_syn", "scroll", "shanghai"] } [[bin]] name = "zkevm_prove" @@ -34,3 +40,7 @@ path = "src/zkevm_verify.rs" [[bin]] name = "mock_testnet" path = "src/mock_testnet.rs" + +[[bin]] +name = "rerandomize_srs" +path = "src/re_rand_srs.rs" \ No newline at end of file diff --git a/bin/src/re_rand_srs.rs b/bin/src/re_rand_srs.rs new file mode 100644 index 000000000..90f51e146 --- /dev/null +++ b/bin/src/re_rand_srs.rs @@ -0,0 +1,41 @@ +use anyhow::Result; +use clap::Parser; +use prover::utils::{load_params, re_randomize_srs}; +use tiny_keccak::{Hasher, Keccak}; + +#[derive(Parser, Debug)] +#[clap(author, version, about, long_about = None)] +struct Args { + /// degree of input param file + #[clap(short, long = "param degree", default_value = "26")] + degree: usize, + /// input, old param file. + #[clap(short, long = "input param", default_value = "old.param")] + input_param: String, + /// output, new param file. + #[clap(short, long = "output param", default_value = "new.param")] + output_param: String, + /// Seed value for re-randomization. + #[clap(short, long = "seed", default_value = "")] + seed: String, +} + +fn main() -> Result<()> { + env_logger::init(); + let args = Args::parse(); + + log::info!("Re-randomize SRS in file: {}", args.input_param); + log::info!("Degree of SRS: {}", args.degree); + log::info!("Using seed: {}", args.seed); + log::info!("Output new SRS to: {}", args.output_param); + + let mut old_param = load_params(&args.input_param, args.degree as u32, None)?; + let mut hasher = Keccak::v256(); + hasher.update(args.seed.as_bytes()); + let mut seed = [0u8; 32]; + hasher.finalize(&mut seed); + re_randomize_srs(&mut old_param, &seed); + + log::info!("SRS re-randomization finished"); + Ok(()) +} From 07cd58553c104d81a7696daf3469a5dc75f61d50 Mon Sep 17 00:00:00 2001 From: zhenfei Date: Mon, 18 Sep 2023 18:45:11 -0400 Subject: [PATCH 2/2] write output srs --- Cargo.lock | 1 + bin/Cargo.toml | 1 + bin/src/re_rand_srs.rs | 14 ++++++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0001d177..9cc3b7f1a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -260,6 +260,7 @@ dependencies = [ "dotenv", "env_logger 0.10.0", "ethers-providers 1.0.2", + "halo2_proofs", "integration", "itertools", "log", diff --git a/bin/Cargo.toml b/bin/Cargo.toml index 24dce2b80..6f3922714 100644 --- a/bin/Cargo.toml +++ b/bin/Cargo.toml @@ -12,6 +12,7 @@ dotenv = "0.15.0" env_logger = "0.10.0" ethers-providers = "1.0" itertools = "0.10.5" +halo2_proofs = { git = "https://github.com/scroll-tech/halo2.git", branch = "develop"} log = "0.4" log4rs = { version = "1.2.0", default_features = false, features = ["console_appender", "file_appender"] } rand = "0.8" diff --git a/bin/src/re_rand_srs.rs b/bin/src/re_rand_srs.rs index 90f51e146..e20e1d055 100644 --- a/bin/src/re_rand_srs.rs +++ b/bin/src/re_rand_srs.rs @@ -1,5 +1,8 @@ +use std::{fs::File, io::BufWriter}; + use anyhow::Result; use clap::Parser; +use halo2_proofs::poly::commitment::Params; use prover::utils::{load_params, re_randomize_srs}; use tiny_keccak::{Hasher, Keccak}; @@ -26,15 +29,18 @@ fn main() -> Result<()> { log::info!("Re-randomize SRS in file: {}", args.input_param); log::info!("Degree of SRS: {}", args.degree); - log::info!("Using seed: {}", args.seed); - log::info!("Output new SRS to: {}", args.output_param); - let mut old_param = load_params(&args.input_param, args.degree as u32, None)?; + let mut param = load_params(&args.input_param, args.degree as u32, None)?; + + log::info!("Using seed: {}", args.seed); let mut hasher = Keccak::v256(); hasher.update(args.seed.as_bytes()); let mut seed = [0u8; 32]; hasher.finalize(&mut seed); - re_randomize_srs(&mut old_param, &seed); + re_randomize_srs(&mut param, &seed); + + log::info!("Output new SRS to: {}", args.output_param); + param.write(&mut BufWriter::new(File::create(args.output_param)?))?; log::info!("SRS re-randomization finished"); Ok(())