5050 with :
5151 sarif : slither.sarif
5252 slither-args : --filter-paths "lib/" --filter-paths "node_modules/"
53- solc-version : 0.8.24
5453 fail-on : none
5554
5655 - name : Upload findings to GitHub Advanced Security Dashboard
@@ -94,122 +93,121 @@ jobs:
9493 - name : Install Node dependencies
9594 run : npm install
9695
97- - name : install circom
96+ - name : Install circom
97+ if : github.repository == 'settlemint/solidity-zeto'
9898 run : |
99- if [[ ${{ github.repository }} == *"zeto"* ]]; then
100- curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y
101- git clone https://github.com/iden3/circom.git
102- cd circom
103- cargo build --release
104- cargo install --path circom
105- fi
106-
107- - name : install snarkjs
99+ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh -s -- -y
100+ git clone https://github.com/iden3/circom.git
101+ cd circom
102+ cargo build --release
103+ cargo install --path circom
104+
105+ - name : Install snarkjs
106+ if : github.repository == 'settlemint/solidity-zeto'
108107 run : |
109- if [[ ${{ github.repository }} == *"zeto"* ]]; then
110- npm install -g snarkjs@latest
111- fi
108+ npm install -g snarkjs@latest
112109
113- - name : install zeto
110+ - name : Install zeto
111+ if : github.repository == 'settlemint/solidity-zeto'
114112 run : |
115- if [[ ${{ github.repository }} == *" zeto"* ]]; then
116- git clone https://github.com/victoryeo/ zeto.git
117- cd zeto
118- cd zkp/circuits
119- npm install
120- cd ..
121- circom circuits/anon_enc_nullifier .circom --output ./js/lib --sym --wasm
122- circom circuits/anon_enc .circom --output ./js/lib --sym --wasm
123- circom circuits/anon_nullifier .circom --output ./js/lib --sym --wasm
124- circom circuits/anon .circom --output ./js/lib --sym --wasm
125- circom circuits/check-nullifiers .circom --output ./js/lib --sym --wasm
126- circom circuits/nf_anon_nullifier .circom --output ./js/lib --sym --wasm
127- circom circuits/nf_anon.circom --output ./js/lib --sym --wasm
128- fi
129- - name : create folder
113+ git clone https:// github.com/victoryeo/ zeto.git
114+ cd zeto
115+ cd zkp/circuits
116+ npm install
117+ cd ..
118+ circom circuits/anon_enc_nullifier.circom --output ./js/lib --sym --wasm
119+ circom circuits/anon_enc .circom --output ./js/lib --sym --wasm
120+ circom circuits/anon_nullifier .circom --output ./js/lib --sym --wasm
121+ circom circuits/anon .circom --output ./js/lib --sym --wasm
122+ circom circuits/check-nullifiers .circom --output ./js/lib --sym --wasm
123+ circom circuits/nf_anon_nullifier .circom --output ./js/lib --sym --wasm
124+ circom circuits/nf_anon .circom --output ./js/lib --sym --wasm
125+
126+ - name : Create folder
127+ if : github.repository == 'settlemint/solidity-zeto'
130128 run : |
131- if [[ ${{ github.repository }} == *" zeto"* ]]; then
132- mkdir -p ./zeto/proving-keys
133- fi
134- - name : download ptau
129+ mkdir -p ./ zeto/proving-keys
130+
131+ - name : Download ptau
132+ if : github.repository == 'settlemint/solidity-zeto'
135133 run : |
136- if [[ ${{ github.repository }} == *" zeto"* ]]; then
137- cd zeto
138- cd proving-keys
139- wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_12 .ptau
140- wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_13 .ptau
141- wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_16 .ptau
142- wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_11 .ptau
143- wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_15.ptau
144- fi
145- - name : generate R1CS circuit format
134+ cd zeto
135+ cd proving-keys
136+ wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_12.ptau
137+ wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_13 .ptau
138+ wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_16 .ptau
139+ wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_11 .ptau
140+ wget -nv https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_15 .ptau
141+
142+ - name : Generate R1CS circuit format
143+ if : github.repository == 'settlemint/solidity-zeto'
146144 run : |
147- if [[ ${{ github.repository }} == *" zeto"* ]]; then
148- cd zeto
149- cd zkp/
150- circom circuits/anon_enc_nullifier .circom --output ../proving-keys --r1cs
151- circom circuits/anon_enc .circom --output ../proving-keys --r1cs
152- circom circuits/anon_nullifier .circom --output ../proving-keys --r1cs
153- circom circuits/anon .circom --output ../proving-keys --r1cs
154- circom circuits/check-nullifiers .circom --output ../proving-keys --r1cs
155- circom circuits/nf_anon_nullifier .circom --output ../proving-keys --r1cs
156- circom circuits/nf_anon.circom --output .. /proving-keys --r1cs
157- ls ../proving-keys -la
158- fi
159- - name : generate proving keys
145+ cd zeto
146+ cd zkp/
147+ circom circuits/anon_enc_nullifier.circom --output ../proving-keys --r1cs
148+ circom circuits/anon_enc .circom --output ../proving-keys --r1cs
149+ circom circuits/anon_nullifier .circom --output ../proving-keys --r1cs
150+ circom circuits/anon .circom --output ../proving-keys --r1cs
151+ circom circuits/check-nullifiers .circom --output ../proving-keys --r1cs
152+ circom circuits/nf_anon_nullifier .circom --output ../proving-keys --r1cs
153+ circom circuits/nf_anon .circom --output ../proving-keys --r1cs
154+ ls .. /proving-keys -la
155+
156+ - name : Generate proving keys
157+ if : github.repository == 'settlemint/solidity-zeto'
160158 run : |
161- if [[ ${{ github.repository }} == *" zeto"* ]]; then
162- cd zeto
163- cd zkp/
164- snarkjs groth16 setup ../proving-keys/anon .r1cs ../proving-keys/powersOfTau28_hez_final_12 .ptau ../proving-keys/anon .zkey
165- snarkjs groth16 setup ../proving-keys/anon_enc .r1cs ../proving-keys/powersOfTau28_hez_final_13 .ptau ../proving-keys/anon_enc .zkey
166- snarkjs groth16 setup ../proving-keys/anon_nullifier .r1cs ../proving-keys/powersOfTau28_hez_final_16.ptau ../proving-keys/anon_nullifier .zkey
167- snarkjs groth16 setup ../proving-keys/anon_enc_nullifier .r1cs ../proving-keys/powersOfTau28_hez_final_16 .ptau ../proving-keys/anon_enc_nullifier .zkey
168- snarkjs groth16 setup ../proving-keys/nf_anon .r1cs ../proving-keys/powersOfTau28_hez_final_11 .ptau ../proving-keys/nf_anon .zkey
169- snarkjs groth16 setup ../proving-keys/nf_anon_nullifier.r1cs ../proving-keys/powersOfTau28_hez_final_15.ptau ../proving-keys/nf_anon_nullifier.zkey
170- fi
171- - name : per-circuit set up ceremony on proving keys
159+ cd zeto
160+ cd zkp/
161+ snarkjs groth16 setup ../proving-keys/anon.r1cs ../proving-keys/powersOfTau28_hez_final_12.ptau ../proving-keys/anon.zkey
162+ snarkjs groth16 setup ../proving-keys/anon_enc .r1cs ../proving-keys/powersOfTau28_hez_final_13 .ptau ../proving-keys/anon_enc .zkey
163+ snarkjs groth16 setup ../proving-keys/anon_nullifier .r1cs ../proving-keys/powersOfTau28_hez_final_16 .ptau ../proving-keys/anon_nullifier .zkey
164+ snarkjs groth16 setup ../proving-keys/anon_enc_nullifier .r1cs ../proving-keys/powersOfTau28_hez_final_16.ptau ../proving-keys/anon_enc_nullifier .zkey
165+ snarkjs groth16 setup ../proving-keys/nf_anon .r1cs ../proving-keys/powersOfTau28_hez_final_11 .ptau ../proving-keys/nf_anon .zkey
166+ snarkjs groth16 setup ../proving-keys/nf_anon_nullifier .r1cs ../proving-keys/powersOfTau28_hez_final_15 .ptau ../proving-keys/nf_anon_nullifier .zkey
167+
168+ - name : Per-circuit set up ceremony on proving keys
169+ if : github.repository == 'settlemint/solidity-zeto'
172170 run : |
173- if [[ ${{ github.repository }} == *" zeto"* ]]; then
174- cd zeto
175- cd zkp/
176- snarkjs zkey contribute ../proving-keys/anon .zkey ../proving-keys/anon_new .zkey --name="contribution" -v -e="random entropy"
177- snarkjs zkey contribute ../proving-keys/anon_enc .zkey ../proving-keys/anon_enc_new .zkey --name="contribution" -v -e="random entropy"
178- snarkjs zkey contribute ../proving-keys/anon_nullifier .zkey ../proving-keys/anon_nullifier_new .zkey --name="contribution" -v -e="random entropy"
179- snarkjs zkey contribute ../proving-keys/anon_enc_nullifier .zkey ../proving-keys/anon_enc_nullifier_new .zkey --name="contribution" -v -e="random entropy"
180- snarkjs zkey contribute ../proving-keys/nf_anon .zkey ../proving-keys/nf_anon_new .zkey --name="contribution" -v -e="random entropy"
181- snarkjs zkey contribute ../proving-keys/nf_anon_nullifier.zkey ../proving-keys/nf_anon_nullifier_new.zkey --name="contribution" -v -e="random entropy"
182- fi
183- - name : generate verfication keys
171+ cd zeto
172+ cd zkp/
173+ snarkjs zkey contribute ../proving-keys/anon.zkey ../proving-keys/anon_new.zkey --name="contribution" -v -e="random entropy"
174+ snarkjs zkey contribute ../proving-keys/anon_enc .zkey ../proving-keys/anon_enc_new .zkey --name="contribution" -v -e="random entropy"
175+ snarkjs zkey contribute ../proving-keys/anon_nullifier .zkey ../proving-keys/anon_nullifier_new .zkey --name="contribution" -v -e="random entropy"
176+ snarkjs zkey contribute ../proving-keys/anon_enc_nullifier .zkey ../proving-keys/anon_enc_nullifier_new .zkey --name="contribution" -v -e="random entropy"
177+ snarkjs zkey contribute ../proving-keys/nf_anon .zkey ../proving-keys/nf_anon_new .zkey --name="contribution" -v -e="random entropy"
178+ snarkjs zkey contribute ../proving-keys/nf_anon_nullifier .zkey ../proving-keys/nf_anon_nullifier_new .zkey --name="contribution" -v -e="random entropy"
179+
180+ - name : Generate verfication keys
181+ if : github.repository == 'settlemint/solidity-zeto'
184182 run : |
185- if [[ ${{ github.repository }} == *"zeto"* ]]; then
186- cd zeto
187- cd zkp/
188- snarkjs zkey export verificationkey ../proving-keys/anon_new.zkey ../proving-keys/anon-vkey.json
189- snarkjs zkey export verificationkey ../proving-keys/anon_enc_new.zkey ../proving-keys/anon_enc-vkey.json
190- snarkjs zkey export verificationkey ../proving-keys/anon_nullifier_new.zkey ../proving-keys/anon_nullifier-vkey.json
191- snarkjs zkey export verificationkey ../proving-keys/anon_enc_nullifier_new.zkey ../proving-keys/anon_enc_nullifier-vkey.json
192- snarkjs zkey export verificationkey ../proving-keys/nf_anon_new.zkey ../proving-keys/nf_anon-vkey.json
193- snarkjs zkey export verificationkey ../proving-keys/nf_anon_nullifier_new.zkey ../proving-keys/nf_anon_nullifier-vkey.json
194- fi
195- - name : generate solidity verifier library
183+ cd zeto
184+ cd zeto
185+ cd zkp/
186+ snarkjs zkey export verificationkey ../proving-keys/anon_new.zkey ../proving-keys/anon-vkey.json
187+ snarkjs zkey export verificationkey ../proving-keys/anon_enc_new.zkey ../proving-keys/anon_enc-vkey.json
188+ snarkjs zkey export verificationkey ../proving-keys/anon_nullifier_new.zkey ../proving-keys/anon_nullifier-vkey.json
189+ snarkjs zkey export verificationkey ../proving-keys/anon_enc_nullifier_new.zkey ../proving-keys/anon_enc_nullifier-vkey.json
190+ snarkjs zkey export verificationkey ../proving-keys/nf_anon_new.zkey ../proving-keys/nf_anon-vkey.json
191+ snarkjs zkey export verificationkey ../proving-keys/nf_anon_nullifier_new.zkey ../proving-keys/nf_anon_nullifier-vkey.json
192+
193+ - name : Generate solidity verifier library
194+ if : github.repository == 'settlemint/solidity-zeto'
196195 run : |
197- if [[ ${{ github.repository }} == *" zeto"* ]]; then
198- mkdir -p ./zeto/contracts-lib
199- cd zeto
200- cd zkp/
201- snarkjs zkey export solidityverifier ../proving-keys/anon_new.zkey ../contracts-lib/verifier_anon.sol
202- snarkjs zkey export solidityverifier ../proving-keys/anon_enc_new.zkey ../contracts-lib/verifier_anon_enc.sol
203- snarkjs zkey export solidityverifier ../proving-keys/anon_nullifier_new.zkey ../contracts-lib/verifier_anon_nullifier.sol
204- snarkjs zkey export solidityverifier ../proving-keys/anon_enc_nullifier_new.zkey ../contracts-lib/verifier_anon_enc_nullifier.sol
205- snarkjs zkey export solidityverifier ../proving-keys/nf_anon_new.zkey ../contracts-lib/verifier_nf_anon.sol
206- snarkjs zkey export solidityverifier ../proving-keys/nf_anon_nullifier_new.zkey ../contracts-lib/verifier_nf_anon_nullifier.sol
207- ls ../proving-keys -la
208- ls ../contracts-lib -la
209- fi
210- - name : edit solidity files
196+ mkdir -p ./ zeto/contracts-lib
197+ mkdir -p ./zeto/contracts-lib
198+ cd zeto
199+ cd zkp/
200+ snarkjs zkey export solidityverifier ../proving-keys/anon_new.zkey ../contracts-lib/verifier_anon.sol
201+ snarkjs zkey export solidityverifier ../proving-keys/anon_enc_new.zkey ../contracts-lib/verifier_anon_enc.sol
202+ snarkjs zkey export solidityverifier ../proving-keys/anon_nullifier_new.zkey ../contracts-lib/verifier_anon_nullifier.sol
203+ snarkjs zkey export solidityverifier ../proving-keys/anon_enc_nullifier_new.zkey ../contracts-lib/verifier_anon_enc_nullifier.sol
204+ snarkjs zkey export solidityverifier ../proving-keys/nf_anon_new.zkey ../contracts-lib/verifier_nf_anon.sol
205+ snarkjs zkey export solidityverifier ../proving-keys/nf_anon_nullifier_new.zkey ../contracts-lib/verifier_nf_anon_nullifier.sol
206+
207+
208+ - name : Edit solidity files
209+ if : github.repository == 'settlemint/solidity-zeto'
211210 run : |
212- if [[ ${{ github.repository }} == *"zeto"* ]]; then
213211 cd zeto
214212 cd contracts-lib
215213 sed 's/Groth16Verifier/Groth16Verifier_Anon/' verifier_anon.sol > ../solidity/contracts/lib/verifier_anon.sol
@@ -218,7 +216,6 @@ jobs:
218216 sed 's/Groth16Verifier/Groth16Verifier_AnonEncNullifier/' verifier_anon_enc_nullifier.sol > ../solidity/contracts/lib/verifier_anon_enc_nullifier.sol
219217 sed 's/Groth16Verifier/Groth16Verifier_NFAnon/' verifier_nf_anon.sol > ../solidity/contracts/lib/verifier_nf_anon.sol
220218 sed 's/Groth16Verifier/Groth16Verifier_NFAnonNullifier/' verifier_nf_anon_nullifier.sol > ../solidity/contracts/lib/verifier_nf_anon_nullifier.sol
221- fi
222219
223220 - name : Run Forge build
224221 run : |
0 commit comments