Skip to content

Commit 669e89e

Browse files
committed
feat: improve GHA
1 parent ee27820 commit 669e89e

File tree

1 file changed

+9
-20
lines changed

1 file changed

+9
-20
lines changed

.github/workflows/solidity.yml

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,16 @@ jobs:
124124
circom circuits/nf_anon_nullifier.circom --output ./js/lib --sym --wasm
125125
circom circuits/nf_anon.circom --output ./js/lib --sym --wasm
126126
127-
- name: Create folder
127+
- name: Create folders
128128
if: github.repository == 'settlemint/solidity-zeto'
129129
run: |
130130
mkdir -p ./zeto/proving-keys
131+
mkdir -p ./zeto/contracts-lib
131132
132133
- name: Download ptau
133134
if: github.repository == 'settlemint/solidity-zeto'
135+
working-directory: zeto/proving-keys/
134136
run: |
135-
cd zeto
136-
cd proving-keys
137137
wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_12.ptau
138138
wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_13.ptau
139139
wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_16.ptau
@@ -142,23 +142,20 @@ jobs:
142142
143143
- name: Generate R1CS circuit format
144144
if: github.repository == 'settlemint/solidity-zeto'
145+
working-directory: zeto/zkp/
145146
run: |
146-
cd zeto
147-
cd zkp/
148147
circom circuits/anon_enc_nullifier.circom --output ../proving-keys --r1cs
149148
circom circuits/anon_enc.circom --output ../proving-keys --r1cs
150149
circom circuits/anon_nullifier.circom --output ../proving-keys --r1cs
151150
circom circuits/anon.circom --output ../proving-keys --r1cs
152151
circom circuits/check-nullifiers.circom --output ../proving-keys --r1cs
153152
circom circuits/nf_anon_nullifier.circom --output ../proving-keys --r1cs
154153
circom circuits/nf_anon.circom --output ../proving-keys --r1cs
155-
ls ../proving-keys -la
156154
157155
- name: Generate proving keys
158156
if: github.repository == 'settlemint/solidity-zeto'
157+
working-directory: zeto/zkp/
159158
run: |
160-
cd zeto
161-
cd zkp/
162159
snarkjs groth16 setup ../proving-keys/anon.r1cs ../proving-keys/powersOfTau28_hez_final_12.ptau ../proving-keys/anon.zkey
163160
snarkjs groth16 setup ../proving-keys/anon_enc.r1cs ../proving-keys/powersOfTau28_hez_final_13.ptau ../proving-keys/anon_enc.zkey
164161
snarkjs groth16 setup ../proving-keys/anon_nullifier.r1cs ../proving-keys/powersOfTau28_hez_final_16.ptau ../proving-keys/anon_nullifier.zkey
@@ -168,9 +165,8 @@ jobs:
168165
169166
- name: Per-circuit set up ceremony on proving keys
170167
if: github.repository == 'settlemint/solidity-zeto'
168+
working-directory: zeto/zkp/
171169
run: |
172-
cd zeto
173-
cd zkp/
174170
snarkjs zkey contribute ../proving-keys/anon.zkey ../proving-keys/anon_new.zkey --name="contribution" -v -e="random entropy"
175171
snarkjs zkey contribute ../proving-keys/anon_enc.zkey ../proving-keys/anon_enc_new.zkey --name="contribution" -v -e="random entropy"
176172
snarkjs zkey contribute ../proving-keys/anon_nullifier.zkey ../proving-keys/anon_nullifier_new.zkey --name="contribution" -v -e="random entropy"
@@ -180,10 +176,8 @@ jobs:
180176
181177
- name: Generate verfication keys
182178
if: github.repository == 'settlemint/solidity-zeto'
179+
working-directory: zeto/zkp/
183180
run: |
184-
cd zeto
185-
cd zeto
186-
cd zkp/
187181
snarkjs zkey export verificationkey ../proving-keys/anon_new.zkey ../proving-keys/anon-vkey.json
188182
snarkjs zkey export verificationkey ../proving-keys/anon_enc_new.zkey ../proving-keys/anon_enc-vkey.json
189183
snarkjs zkey export verificationkey ../proving-keys/anon_nullifier_new.zkey ../proving-keys/anon_nullifier-vkey.json
@@ -193,24 +187,19 @@ jobs:
193187
194188
- name: Generate solidity verifier library
195189
if: github.repository == 'settlemint/solidity-zeto'
190+
working-directory: zeto/zkp/
196191
run: |
197-
mkdir -p ./zeto/contracts-lib
198-
mkdir -p ./zeto/contracts-lib
199-
cd zeto
200-
cd zkp/
201192
snarkjs zkey export solidityverifier ../proving-keys/anon_new.zkey ../contracts-lib/verifier_anon.sol
202193
snarkjs zkey export solidityverifier ../proving-keys/anon_enc_new.zkey ../contracts-lib/verifier_anon_enc.sol
203194
snarkjs zkey export solidityverifier ../proving-keys/anon_nullifier_new.zkey ../contracts-lib/verifier_anon_nullifier.sol
204195
snarkjs zkey export solidityverifier ../proving-keys/anon_enc_nullifier_new.zkey ../contracts-lib/verifier_anon_enc_nullifier.sol
205196
snarkjs zkey export solidityverifier ../proving-keys/nf_anon_new.zkey ../contracts-lib/verifier_nf_anon.sol
206197
snarkjs zkey export solidityverifier ../proving-keys/nf_anon_nullifier_new.zkey ../contracts-lib/verifier_nf_anon_nullifier.sol
207198
208-
209199
- name: Edit solidity files
210200
if: github.repository == 'settlemint/solidity-zeto'
201+
working-directory: zeto/contracts-lib/
211202
run: |
212-
cd zeto
213-
cd contracts-lib
214203
sed 's/Groth16Verifier/Groth16Verifier_Anon/' verifier_anon.sol > ../solidity/contracts/lib/verifier_anon.sol
215204
sed 's/Groth16Verifier/Groth16Verifier_AnonEnc/' verifier_anon_enc.sol > ../solidity/contracts/lib/verifier_anon_enc.sol
216205
sed 's/Groth16Verifier/Groth16Verifier_AnonNullifier/' verifier_anon_nullifier.sol > ../solidity/contracts/lib/verifier_anon_nullifier.sol

0 commit comments

Comments
 (0)