-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
69 lines (48 loc) · 2.42 KB
/
Makefile
File metadata and controls
69 lines (48 loc) · 2.42 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
-include .env
########################################################
# ZK
########################################################
compile:
@circom zk/circuits/pinVerification.circom --r1cs --wasm --sym -o zk/outputs/
setup-key:
@wget https://storage.googleapis.com/zkevm/ptau/powersOfTau28_hez_final_12.ptau -O zk/outputs/pot12.ptau
generate-key:
@snarkjs groth16 setup zk/outputs/pinVerification.r1cs zk/outputs/pot12.ptau zk/outputs/pinVerification.zkey && \
snarkjs zkey export verificationkey zk/outputs/pinVerification.zkey zk/outputs/verification_key.json
generate-input:
@node zk/inputs/generateInput.js
generate-witness:
@node zk/outputs/pinVerification_js/generate_witness.js zk/outputs/pinVerification_js/pinVerification.wasm zk/inputs/input.json zk/outputs/witness.wtns
generate-proof:
@snarkjs groth16 prove zk/outputs/pinVerification.zkey zk/outputs/witness.wtns zk/proofs/proof.json zk/proofs/public.json
verify-proof:
@snarkjs groth16 verify zk/outputs/verification_key.json zk/proofs/public.json zk/proofs/proof.json
generate-contract:
@snarkjs zkey export solidityverifier zk/outputs/pinVerification.zkey src/verifier.sol
simulate-verification-call:
@snarkjs zkey export soliditycalldata zk/proofs/public.json zk/proofs/proof.json
########################################################
# Foundry
########################################################
install:
@forge install OpenZeppelin/openzeppelin-contracts
deploy-all:
@forge script script/DeployAll.s.sol:DeployAll --rpc-url $(ARBITRUM_SEPOLIA_RPC_URL) --account burner --sender 0x120C1fc5B7f357c0254cDC8027970DDD6405e115 --broadcast --verify --verifier blockscout --verifier-url https://arbitrum-sepolia.blockscout.com/api/ -vvvv
deploy-without-verify:
@forge script script/DeployAll.s.sol:DeployAll --rpc-url $(ARBITRUM_SEPOLIA_RPC_URL) --account burner --sender 0x120C1fc5B7f357c0254cDC8027970DDD6405e115 --broadcast -vvvv
# Deploy, then update env files from addresses.txt
reset:
@bash script/deploy-and-update.sh
quick-reset: deploy-without-verify update-envs
# Only update env files from existing addresses.txt (no deploy)
update-envs:
@bash script/update-envs.sh
# Audit
slither: slither-email-recovery slither-main
slither-main:
@slither . --config-file ./slither.config.json --skip-assembly
slither-email-recovery:
@cd email_recovery && \
slither . --config-file ./slither.config.json --skip-assembly
aderyn:
@aderyn . && cd email_recovery && aderyn .