Skip to content

Commit ad2fab2

Browse files
committed
Add ZKEmail testnet verification workflow and update README with deployment details
1 parent b67108e commit ad2fab2

2 files changed

Lines changed: 100 additions & 5 deletions

File tree

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
name: ZKEmail Testnet Verification
2+
3+
on:
4+
push:
5+
branches:
6+
- next
7+
pull_request:
8+
branches:
9+
- next
10+
paths:
11+
- "zkemail_verification/**"
12+
- ".github/workflows/zkemail-testnet.yml"
13+
workflow_dispatch:
14+
15+
jobs:
16+
zkemail-testnet:
17+
name: ZKEmail Proof Verification on Testnet
18+
runs-on: ubuntu-latest
19+
env:
20+
AZTEC_VERSION: 4.2.0-aztecnr-rc.2
21+
TESTNET_URL: https://rpc.testnet.aztec-labs.com
22+
23+
steps:
24+
- name: Checkout repository
25+
uses: actions/checkout@v5
26+
27+
- name: Set up Node.js
28+
uses: actions/setup-node@v4
29+
with:
30+
node-version: "22"
31+
cache: "yarn"
32+
cache-dependency-path: zkemail_verification/yarn.lock
33+
34+
- name: Install Foundry
35+
uses: foundry-rs/foundry-toolchain@v1
36+
37+
- name: Install Aztec CLI
38+
run: |
39+
INSTALL_URL="https://install.aztec.network/${{ env.AZTEC_VERSION }}/"
40+
curl -sL $INSTALL_URL > tmp.sh
41+
VERSION=${{ env.AZTEC_VERSION }} bash tmp.sh <<< yes "yes"
42+
43+
- name: Update path
44+
run: |
45+
echo "$HOME/.aztec/current/bin" >> $GITHUB_PATH
46+
echo "$HOME/.aztec/current/node_modules/.bin" >> $GITHUB_PATH
47+
echo "$HOME/.aztec/bin" >> $GITHUB_PATH
48+
49+
- name: Install project dependencies
50+
working-directory: zkemail_verification
51+
run: yarn install --frozen-lockfile
52+
53+
- name: Compile Noir circuit
54+
working-directory: zkemail_verification/circuit
55+
run: nargo compile
56+
timeout-minutes: 10
57+
58+
- name: Change ownership for nargo files
59+
run: sudo chown -R $(whoami) ~/nargo || true
60+
61+
- name: Compile contract and generate artifacts
62+
working-directory: zkemail_verification
63+
run: |
64+
ulimit -s unlimited
65+
script -e -c "yarn ccc"
66+
timeout-minutes: 15
67+
68+
- name: Generate proof data
69+
working-directory: zkemail_verification
70+
env:
71+
BB_SINGLE_THREADED: "1"
72+
HARDWARE_CONCURRENCY: "1"
73+
NODE_OPTIONS: "--max-old-space-size=6144"
74+
run: yarn data
75+
timeout-minutes: 30
76+
77+
- name: Check testnet is reachable
78+
run: |
79+
echo "Checking testnet status..."
80+
curl -sf ${{ env.TESTNET_URL }}/status || (echo "Testnet unreachable" && exit 1)
81+
echo "Testnet is reachable"
82+
83+
- name: Deploy and verify on testnet
84+
working-directory: zkemail_verification
85+
run: yarn testnet
86+
timeout-minutes: 20
87+
88+
- name: Upload proof data on failure
89+
if: failure()
90+
uses: actions/upload-artifact@v4
91+
with:
92+
name: zkemail-testnet-logs
93+
path: |
94+
zkemail_verification/data.json
95+
retention-days: 7

zkemail_verification/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ Successfully deployed and verified on the Aztec testnet (`https://rpc.testnet.az
2121

2222
| Step | Transaction Hash |
2323
|------|-----------------|
24-
| Account deployment | `0x190a55042b4a4bd063150c0b1d2a233c07e8b4b7decb3ba57e2527c646acd2be` |
25-
| Contract deployment | `0x258f5c271e67ce681cf7db8641984d78d6e7718268d6cb4b9897d8ac624709bc` |
26-
| Email proof verification | `0x2c053bad6f58bfcdea0b2bc4b918e0e31bb3d38aed740ac836e227cd5b7bca4e` |
24+
| Account deployment | `0x11507f85ba674c2f47bb5bd71a6a039a43006bc44f84e835a0179b820d644eef` |
25+
| Contract deployment | `0x08cc244ad4363930ec56e273881c29748aeeb8cce6a710457a43811f379c9fd6` |
26+
| Email proof verification | `0x175b215e2c3bf3450c13f4494e9a099a2b2bad7eea0c9e55e659e38c65ae530b` |
2727

28-
**Contract address**: `0x1bbf99d2acd54c9dc9ef58fd05892fec9d5916fa66949aead6877964879a142b`
28+
**Contract address**: `0x0f96d7850491bfe2983fb9cb7b4a77b843ad18fbfe763e776a79e2ec11cacf9f`
2929

3030
## How It Works
3131

@@ -180,7 +180,7 @@ Ensure the circuit was compiled with `nargo compile` after any changes, then re-
180180

181181
## Dependencies
182182

183-
- [zkemail.nr](https://github.com/zkemail/zkemail.nr) — Noir library for DKIM email verification
183+
- [zkemail.nr](https://github.com/critesjosh/zkemail.nr/tree/update/aztec-4.2.0-compat) — Noir library for DKIM email verification (Aztec 4.2.0 branch)
184184
- [aztec-nr](https://github.com/AztecProtocol/aztec-nr/) v4.2.0-aztecnr-rc.2 — Aztec smart contract framework
185185
- [bb_proof_verification](https://github.com/AztecProtocol/aztec-packages/) — Barretenberg proof verification for Aztec contracts
186186
- [@aztec/bb.js](https://www.npmjs.com/package/@aztec/bb.js) 4.2.0-aztecnr-rc.2 — UltraHonk proving backend

0 commit comments

Comments
 (0)