diff --git a/.gitmodules b/.gitmodules index fb11fe109..3f5aa9f38 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "jolt-verifier/lib/forge-std"] - path = jolt-verifier/lib/forge-std +[submodule "jolt-evm-verifier/lib/forge-std"] + path = jolt-evm-verifier/lib/forge-std url = https://github.com/foundry-rs/forge-std diff --git a/jolt-verifier/.gitignore b/jolt-evm-verifier/.gitignore similarity index 100% rename from jolt-verifier/.gitignore rename to jolt-evm-verifier/.gitignore diff --git a/jolt-verifier/README.md b/jolt-evm-verifier/README.md similarity index 100% rename from jolt-verifier/README.md rename to jolt-evm-verifier/README.md diff --git a/jolt-verifier/foundry.toml b/jolt-evm-verifier/foundry.toml similarity index 100% rename from jolt-verifier/foundry.toml rename to jolt-evm-verifier/foundry.toml diff --git a/jolt-evm-verifier/lib/forge-std b/jolt-evm-verifier/lib/forge-std new file mode 160000 index 000000000..19891e6a0 --- /dev/null +++ b/jolt-evm-verifier/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 19891e6a0b5474b9ea6827ddb90bb9388f7acfc0 diff --git a/jolt-verifier/script/.gitignore b/jolt-evm-verifier/script/.gitignore similarity index 100% rename from jolt-verifier/script/.gitignore rename to jolt-evm-verifier/script/.gitignore diff --git a/jolt-verifier/script/Cargo.toml b/jolt-evm-verifier/script/Cargo.toml similarity index 100% rename from jolt-verifier/script/Cargo.toml rename to jolt-evm-verifier/script/Cargo.toml diff --git a/jolt-verifier/script/Counter.s.sol b/jolt-evm-verifier/script/Counter.s.sol similarity index 100% rename from jolt-verifier/script/Counter.s.sol rename to jolt-evm-verifier/script/Counter.s.sol diff --git a/jolt-verifier/script/run.sh b/jolt-evm-verifier/script/run.sh similarity index 100% rename from jolt-verifier/script/run.sh rename to jolt-evm-verifier/script/run.sh diff --git a/jolt-verifier/script/rust-toolchain.toml b/jolt-evm-verifier/script/rust-toolchain.toml similarity index 100% rename from jolt-verifier/script/rust-toolchain.toml rename to jolt-evm-verifier/script/rust-toolchain.toml diff --git a/jolt-verifier/script/src/main.rs b/jolt-evm-verifier/script/src/main.rs similarity index 75% rename from jolt-verifier/script/src/main.rs rename to jolt-evm-verifier/script/src/main.rs index e841861bf..76df9a839 100644 --- a/jolt-verifier/script/src/main.rs +++ b/jolt-evm-verifier/script/src/main.rs @@ -1,5 +1,6 @@ use jolt_core::{ field::JoltField, + poly::commitment::zeromorph::Zeromorph, subprotocols::grand_product::{BatchedDenseGrandProduct, BatchedGrandProduct}, utils::transcript::ProofTranscript, }; @@ -9,13 +10,16 @@ use ark_ff::{BigInteger, PrimeField}; use alloy_primitives::{hex, U256}; use alloy_sol_types::{sol, SolType}; -use ark_bn254::Fr; +use ark_bn254::{Bn254, Fr}; use ark_std::test_rng; -fn get_proof_data(batched_circuit: &mut BatchedDenseGrandProduct) { +fn get_proof_data(batched_circuit: &mut BatchedDenseGrandProduct) { let mut transcript: ProofTranscript = ProofTranscript::new(b"test_transcript"); - let (proof, _r_prover) = batched_circuit.prove_grand_product(&mut transcript); + let (proof, _r_prover) = as BatchedGrandProduct< + Fr, + Zeromorph, + >>::prove_grand_product(batched_circuit, &mut transcript, None); //encoding the proof into abi @@ -67,9 +71,12 @@ fn get_proof_data(batched_circuit: &mut BatchedDenseG ); } -fn get_claims_data(batched_circuit: &BatchedDenseGrandProduct) { - let claims = batched_circuit - .claims() +fn get_claims_data(batched_circuit: &BatchedDenseGrandProduct) { + let claims = + as BatchedGrandProduct>>::claims( + batched_circuit, + ); + let claims = claims .iter() .map(|c| U256::from_le_slice(c.into_bigint().to_bytes_le().as_slice())) .collect::>(); @@ -78,19 +85,6 @@ fn get_claims_data(batched_circuit: &BatchedDenseGran print!("{}", hex::encode(encoded_claims)); } -fn verify_proof(batched_circuit: &mut BatchedDenseGrandProduct) { - let claims = batched_circuit.claims(); - - let mut transcript: ProofTranscript = ProofTranscript::new(b"test_transcript"); - - let (proof, _r_prover) = batched_circuit.prove_grand_product(&mut transcript); - - let mut transcript: ProofTranscript = ProofTranscript::new(b"test_transcript"); - - let (_, _r_verifier) = - BatchedDenseGrandProduct::verify_grand_product(&proof, &claims, &mut transcript); -} - fn main() { let args: Vec<_> = env::args().collect(); @@ -106,12 +100,14 @@ fn main() { .take(BATCH_SIZE) .collect(); - let mut batched_circuit = BatchedDenseGrandProduct::construct(leaves); + let mut batched_circuit = as BatchedGrandProduct< + Fr, + Zeromorph, + >>::construct(leaves); match args[1].as_str() { "proofs" => get_proof_data(&mut batched_circuit), "claims" => get_claims_data(&batched_circuit), - "verify" => verify_proof(&mut batched_circuit), _ => println!("invalid arguement"), }; } diff --git a/jolt-verifier/src/Counter.sol b/jolt-evm-verifier/src/Counter.sol similarity index 100% rename from jolt-verifier/src/Counter.sol rename to jolt-evm-verifier/src/Counter.sol diff --git a/jolt-verifier/src/interfaces/ITranscript.sol b/jolt-evm-verifier/src/interfaces/ITranscript.sol similarity index 100% rename from jolt-verifier/src/interfaces/ITranscript.sol rename to jolt-evm-verifier/src/interfaces/ITranscript.sol diff --git a/jolt-verifier/src/interfaces/IVerifier.sol b/jolt-evm-verifier/src/interfaces/IVerifier.sol similarity index 100% rename from jolt-verifier/src/interfaces/IVerifier.sol rename to jolt-evm-verifier/src/interfaces/IVerifier.sol diff --git a/jolt-verifier/src/reference/Fr.sol b/jolt-evm-verifier/src/reference/Fr.sol similarity index 100% rename from jolt-verifier/src/reference/Fr.sol rename to jolt-evm-verifier/src/reference/Fr.sol diff --git a/jolt-verifier/src/reference/JoltTranscript.sol b/jolt-evm-verifier/src/reference/JoltTranscript.sol similarity index 100% rename from jolt-verifier/src/reference/JoltTranscript.sol rename to jolt-evm-verifier/src/reference/JoltTranscript.sol diff --git a/jolt-verifier/src/reference/JoltTypes.sol b/jolt-evm-verifier/src/reference/JoltTypes.sol similarity index 100% rename from jolt-verifier/src/reference/JoltTypes.sol rename to jolt-evm-verifier/src/reference/JoltTypes.sol diff --git a/jolt-verifier/src/reference/JoltVerifier.sol b/jolt-evm-verifier/src/reference/JoltVerifier.sol similarity index 100% rename from jolt-verifier/src/reference/JoltVerifier.sol rename to jolt-evm-verifier/src/reference/JoltVerifier.sol diff --git a/jolt-verifier/src/reference/UniPoly.sol b/jolt-evm-verifier/src/reference/UniPoly.sol similarity index 100% rename from jolt-verifier/src/reference/UniPoly.sol rename to jolt-evm-verifier/src/reference/UniPoly.sol diff --git a/jolt-verifier/test/Counter.t.sol b/jolt-evm-verifier/test/Counter.t.sol similarity index 100% rename from jolt-verifier/test/Counter.t.sol rename to jolt-evm-verifier/test/Counter.t.sol diff --git a/jolt-verifier/test/base/TestBase.sol b/jolt-evm-verifier/test/base/TestBase.sol similarity index 100% rename from jolt-verifier/test/base/TestBase.sol rename to jolt-evm-verifier/test/base/TestBase.sol diff --git a/jolt-verifier/test/base/TestBaseJolt.sol b/jolt-evm-verifier/test/base/TestBaseJolt.sol similarity index 100% rename from jolt-verifier/test/base/TestBaseJolt.sol rename to jolt-evm-verifier/test/base/TestBaseJolt.sol diff --git a/jolt-verifier/.github/workflows/test.yml b/jolt-verifier/.github/workflows/test.yml deleted file mode 100644 index 9282e8294..000000000 --- a/jolt-verifier/.github/workflows/test.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: test - -on: workflow_dispatch - -env: - FOUNDRY_PROFILE: ci - -jobs: - check: - strategy: - fail-fast: true - - name: Foundry project - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Install Foundry - uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly - - - name: Run Forge build - run: | - forge --version - forge build --sizes - id: build - - - name: Run Forge tests - run: | - forge test -vvv - id: test diff --git a/jolt-verifier/lib/forge-std b/jolt-verifier/lib/forge-std deleted file mode 160000 index 978ac6fad..000000000 --- a/jolt-verifier/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 978ac6fadb62f5f0b723c996f64be52eddba6801