Skip to content

Commit 3709898

Browse files
committed
Merge branch 'jl/e2e' of https://github.com/noir-lang/eth-proofs into jl/e2e
2 parents 3813952 + 25dc9d2 commit 3709898

11 files changed

+14787
-48
lines changed

.github/workflows/circuits_profile.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
toolchain: 1.0.0-beta.18
2121

2222
- name: Run nargo info
23-
run: nargo info --workspace --silence-warnings --skip-brillig-constraints-check | tee profiling_info.txt
23+
run: nargo info --workspace --silence-warnings | tee profiling_info.txt
2424

2525
- name: Archive profiling artifacts
2626
uses: actions/upload-artifact@v4

.github/workflows/contract_test.yml

Lines changed: 28 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,34 @@ jobs:
3131
with:
3232
toolchain: 1.0.0-beta.18
3333

34-
# Note: Solidity verifier generation is not yet supported for UltraHonk in Nargo 1.0+
35-
# Using pre-generated verifier contracts committed to the repository
36-
# TODO: Re-enable when bb write_solidity_verifier supports Honk
37-
# - name: Generate Verifier Contracts
38-
# run: |
39-
# nargo compile --workspace
40-
# bb write_solidity_verifier -k ./target/get_storage/vk/vk -o ./contract/get_storage/plonk_vk.sol
41-
# bb write_solidity_verifier -k ./target/get_account/vk/vk -o ./contract/get_account/plonk_vk.sol
42-
# bb write_solidity_verifier -k ./target/get_header/vk/vk -o ./contract/get_header/plonk_vk.sol
43-
# bb write_solidity_verifier -k ./target/get_receipt/vk/vk -o ./contract/get_receipt/plonk_vk.sol
44-
# bb write_solidity_verifier -k ./target/get_transaction/vk/vk -o ./contract/get_transaction/plonk_vk.sol
45-
# bb write_solidity_verifier -k ./target/get_log/vk/vk -o ./contract/get_log/plonk_vk.sol
34+
- name: Install Barretenberg
35+
run: |
36+
curl -L https://raw.githubusercontent.com/AztecProtocol/aztec-packages/refs/heads/next/barretenberg/bbup/install | bash
37+
~/.bb/bbup -nv 1.0.0-beta.18
38+
sudo apt install libc++-dev
39+
40+
- name: Compile Circuits
41+
run: nargo compile --workspace --skip-brillig-constraints-check
42+
43+
- name: Generate Verification Keys
44+
run: |
45+
export PATH="$HOME/.bb:$PATH"
46+
bb write_vk -b ./target/get_header.json -o ./target/get_header
47+
bb write_vk -b ./target/get_account.json -o ./target/get_account
48+
bb write_vk -b ./target/get_storage.json -o ./target/get_storage
49+
bb write_vk -b ./target/get_receipt.json -o ./target/get_receipt
50+
bb write_vk -b ./target/get_transaction.json -o ./target/get_transaction
51+
bb write_vk -b ./target/get_log.json -o ./target/get_log
52+
53+
- name: Generate Solidity Verifier Contracts
54+
run: |
55+
export PATH="$HOME/.bb:$PATH"
56+
bb write_solidity_verifier -k ./target/get_header -o ./ethereum/contracts/src/generated-verifier/GetHeaderUltraPLONKVerifier.sol
57+
bb write_solidity_verifier -k ./target/get_account -o ./ethereum/contracts/src/generated-verifier/GetAccountUltraPLONKVerifier.sol
58+
bb write_solidity_verifier -k ./target/get_storage -o ./ethereum/contracts/src/generated-verifier/GetStorageUltraPLONKVerifier.sol
59+
bb write_solidity_verifier -k ./target/get_receipt -o ./ethereum/contracts/src/generated-verifier/GetReceiptUltraPLONKVerifier.sol
60+
bb write_solidity_verifier -k ./target/get_transaction -o ./ethereum/contracts/src/generated-verifier/GetTransactionUltraPLONKVerifier.sol
61+
bb write_solidity_verifier -k ./target/get_log -o ./ethereum/contracts/src/generated-verifier/GetLogUltraPLONKVerifier.sol
4662
4763
- name: Run Forge build
4864
run: |

.github/workflows/e2e_test.yaml

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -61,36 +61,19 @@ jobs:
6161
nargo execute --package get_transaction --oracle-resolver=http://localhost:5555 --skip-brillig-constraints-check
6262
nargo execute --package get_log --oracle-resolver=http://localhost:5555 --skip-brillig-constraints-check
6363
64-
- name: Debug - List Generated Files
65-
run: |
66-
echo "=== Checking target directories ==="
67-
find . -name "*.json" -path "*/target/*" -type f
68-
echo "=== Checking for .gz files ==="
69-
find . -name "*.gz" -path "*/target/*" -type f
70-
echo "=== Directory structure of ethereum/circuits/get_header/target ==="
71-
ls -la ethereum/circuits/get_header/target/ || echo "Directory not found"
72-
7364
- name: Generate Proofs
7465
run: |
7566
export PATH="$HOME/.bb:$PATH"
76-
bb prove -b ./ethereum/circuits/get_header/target/get_header.json -w ./ethereum/circuits/get_header/target/get_header.gz -o ./ethereum/circuits/get_header/target/proof
77-
bb prove -b ./ethereum/circuits/get_account/target/get_account.json -w ./ethereum/circuits/get_account/target/get_account.gz -o ./ethereum/circuits/get_account/target/proof
78-
bb prove -b ./ethereum/circuits/get_storage/target/get_storage.json -w ./ethereum/circuits/get_storage/target/get_storage.gz -o ./ethereum/circuits/get_storage/target/proof
79-
bb prove -b ./ethereum/circuits/get_receipt/target/get_receipt.json -w ./ethereum/circuits/get_receipt/target/get_receipt.gz -o ./ethereum/circuits/get_receipt/target/proof
80-
bb prove -b ./ethereum/circuits/get_transaction/target/get_transaction.json -w ./ethereum/circuits/get_transaction/target/get_transaction.gz -o ./ethereum/circuits/get_transaction/target/proof
81-
bb prove -b ./ethereum/circuits/get_log/target/get_log.json -w ./ethereum/circuits/get_log/target/get_log.gz -o ./ethereum/circuits/get_log/target/proof
82-
83-
# Note: Solidity verifier generation is not yet supported for UltraHonk in Nargo 1.0+
84-
# Using pre-generated verifier contracts committed to the repository
85-
# TODO: Re-enable when bb write_solidity_verifier supports Honk
86-
# - name: Generate Verifier Contracts
87-
# run: |
88-
# bb write_solidity_verifier -k ./target/get_header/vk/vk -o ./contract/get_header/plonk_vk.sol
89-
# bb write_solidity_verifier -k ./target/get_account/vk/vk -o ./contract/get_account/plonk_vk.sol
90-
# bb write_solidity_verifier -k ./target/get_storage/vk/vk -o ./contract/get_storage/plonk_vk.sol
91-
# bb write_solidity_verifier -k ./target/get_receipt/vk/vk -o ./contract/get_receipt/plonk_vk.sol
92-
# bb write_solidity_verifier -k ./target/get_transaction/vk/vk -o ./contract/get_transaction/plonk_vk.sol
93-
# bb write_solidity_verifier -k ./target/get_log/vk/vk -o ./contract/get_log/plonk_vk.sol
67+
bb prove -b ./target/get_header.json -w ./target/get_header.gz --write_vk -o ./target/get_header
68+
bb prove -b ./target/get_account.json -w ./target/get_account.gz --write_vk -o ./target/get_account
69+
bb prove -b ./target/get_storage.json -w ./target/get_storage.gz --write_vk -o ./target/get_storage
70+
bb prove -b ./target/get_receipt.json -w ./target/get_receipt.gz --write_vk -o ./target/get_receipt
71+
bb prove -b ./target/get_transaction.json -w ./target/get_transaction.gz --write_vk -o ./target/get_transaction
72+
bb prove -b ./target/get_log.json -w ./target/get_log.gz --write_vk -o ./target/get_log
73+
74+
# Note: Solidity verifiers are pre-generated and committed to ethereum/contracts/src/generated-verifier/
75+
# Generating them in CI causes OOM errors due to high memory requirements
76+
# To regenerate: bb write_solidity_verifier -k ./target/get_header -o ./ethereum/contracts/src/generated-verifier/GetHeaderUltraPLONKVerifier.sol
9477

9578
- name: Install Foundry
9679
uses: foundry-rs/foundry-toolchain@v1

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,6 @@ dist
1212
coverage
1313
.DS_Store
1414
.vscode/
15+
16+
# Generated Solidity verifiers (created in CI)
17+
ethereum/contracts/src/generated-verifier/*.sol

ethereum/contracts/src/generated-verifier/GetAccountUltraPLONKVerifier.sol

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)