-
Notifications
You must be signed in to change notification settings - Fork 29
/
package.json
153 lines (153 loc) · 15.6 KB
/
package.json
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
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
{
"name": "@0xpolygonhermez/zkevm-proverjs",
"version": "6.0.0",
"description": "JS version of the zkProver.",
"main": "index.js",
"config": {
"steps_piltoolfiles": [
"buildrom buildpil buildstoragerom buildconstants exec"
],
"steps": [
"buildrom buildpil buildstoragerom buildconstants exec pilverify buildstarkinfo buildchelpers buildconstanttree prove verify gencircom compilecircom",
"c12a_setup c12a_buildstarkinfo c12a_buildchelpers c12a_exec c12a_pilverify c12a_buildconstanttree c12a_prove c12a_verify c12a_gencircom",
"recursive1_gencircom recursive1_compile recursive1_setup recursive1_buildstarkinfo recursive1_buildchelpers recursive1_buildconstanttree recursive1_verifier_gencircom",
"recursive2_gencircom recursive2_compile recursive2_setup recursive2_buildstarkinfo recursive2_buildchelpers recursive2_buildconstanttree recursive2_verifier_gencircom",
"recursive_pil_check recursive_verifier_check ",
"recursivef_gencircom recursivef_compile recursivef_setup recursivef_buildstarkinfo recursivef_buildchelpers recursivef_buildconstanttree recursivef_verifier_gencircom",
"final_gencircom final_compile",
"fflonk_setup fflonk_evk fflonk_solidity"
],
"steps_setup": [
"buildrom buildpil buildstoragerom buildconstants buildstarkinfo buildchelpers buildconstanttree gencircom compilecircom",
"c12a_setup c12a_buildstarkinfo c12a_buildchelpers c12a_buildconstanttree c12a_gencircom",
"recursive1_gencircom recursive1_compile recursive1_setup recursive1_buildstarkinfo recursive1_buildchelpers recursive1_buildconstanttree recursive1_verifier_gencircom",
"recursive2_gencircom recursive2_compile recursive2_setup recursive2_buildstarkinfo recursive2_buildchelpers recursive2_buildconstanttree recursive2_verifier_gencircom",
"recursive_pil_check recursive_verifier_check ",
"recursivef_gencircom recursivef_compile recursivef_setup recursivef_buildstarkinfo recursivef_buildchelpers recursivef_buildconstanttree recursivef_verifier_gencircom",
"final_gencircom final_compile",
"fflonk_setup fflonk_evk fflonk_solidity"
],
"steps_proof": [
"exec pilverify prove verify",
"c12a_exec c12a_pilverify c12a_prove c12a_verify"
]
},
"scripts": {
"build:input": "node tools/build-genesis/build_genesis.js",
"build:input-recursive": "node tools/build-genesis-recursive/build_genesis_recursive.js",
"buildall": "tools/build_all.sh ${npm_package_config_steps}",
"buildpiltoolfiles": "tools/build_all.sh ${npm_package_config_steps_piltoolfiles}",
"buildsetup": "tools/build_all.sh ${npm_package_config_steps_setup}",
"buildproof": "tools/build_all.sh ${npm_package_config_steps_proof}",
"buildrom": ". ./pre.sh && ROM_DIR=node_modules/@0xpolygonhermez/zkevm-rom && (cd $ROM_DIR && npm run build) && cp $ROM_DIR/build/rom.json $ROM_DIR/build/metadata-rom.txt $BDIR/",
"buildstoragerom": ". ./pre.sh && ROM_DIR=node_modules/@0xpolygonhermez/zkevm-storage-rom && (cd $ROM_DIR && npm run build:rom) && cp $ROM_DIR/build/storage_sm_rom.json src/sm/sm_storage && cp src/sm/sm_storage/storage_sm_rom.json $BDIR/",
"buildpil": ". ./pre.sh && mkdir -p $BDIR/pil/zkevm && node $NODE node_modules/.bin/pilcom $PIL -o $BDIR/pil/zkevm/$PIL_JSON -c $BDIR/pols_generated -n fork_1 && for PF in `tools/included_pils.sh $BDIR/pil/zkevm/$PIL_JSON`; do cp -v $PIL_DIR/$PF $BDIR/pil/zkevm/$PF; done",
"buildconstants": ". ./pre.sh && node $NODE src/main_buildconstants -p $PIL -r $BDIR/rom.json -o $BDIR/zkevm.const",
"exec": ". ./pre.sh && INPUT=${npm_config_input:=tools/build-genesis/input_executor.json} && echo \"input: $INPUT\" && node $NODE src/main_executor $INPUT -p $PIL -r $BDIR/rom.json -o $BDIR/zkevm$NTH.commit && cp $INPUT $BDIR/input_executor.json",
"pilverify": ". ./pre.sh && $PILCOM/main_pilverifier.js $BDIR/zkevm$NTH.commit -c $BDIR/zkevm.const -p $PIL",
"buildstarkinfo": ". ./pre.sh && $PILSTARK/main_genstarkinfo.js -p $PIL -s $BDIR/zkevm.starkstruct.json -i $BDIR/zkevm.starkinfo.json",
"buildchelpers": ". ./pre.sh && $PILSTARK/main_buildchelpers.js -m -p $PIL -s $BDIR/zkevm.starkinfo.json -c $BDIR/zkevm.chelpers/zkevm.chelpers.cpp -C ZkevmSteps -o",
"buildconstanttree": ". ./pre.sh && $BCTREE -c $BDIR/zkevm.const -p $PIL -s $BDIR/zkevm.starkstruct.json -t $BDIR/zkevm.consttree -v $BDIR/zkevm.verkey.json",
"prove": ". ./pre.sh && $PILSTARK/main_prover.js -m $BDIR/zkevm$NTH.commit -c $BDIR/zkevm.const -t $BDIR/zkevm.consttree -p $PIL -s $BDIR/zkevm.starkinfo.json -o $BDIR/zkevm$NTH.proof.json -z $BDIR/zkevm$NTH.zkin.proof.json -b $BDIR/zkevm$NTH.public.json",
"verify": ". ./pre.sh && $PILSTARK/main_verifier.js -p $PIL -s $BDIR/zkevm.starkinfo.json -o $BDIR/zkevm$NTH.proof.json -b $BDIR/zkevm$NTH.public.json -v $BDIR/zkevm.verkey.json",
"gencircom": ". ./pre.sh && $PILSTARK/main_pil2circom.js -p $PIL -s $BDIR/zkevm.starkinfo.json -v $BDIR/zkevm.verkey.json -o $BDIR/zkevm.verifier.circom",
"compilecircom": ". ./pre.sh && circom --O1 --prime goldilocks --r1cs --sym --wasm --c --verbose $BDIR/zkevm.verifier.circom -o $BDIR -l node_modules/pil-stark/circuits.gl",
"c12a_setup": ". ./pre.sh && $PILSTARK/compressor/main_compressor_setup.js -r $BDIR/zkevm.verifier.r1cs -p $BDIR/c12a.pil -c $BDIR/c12a.const -e $BDIR/c12a.exec --cols=18",
"c12a_buildstarkinfo": ". ./pre.sh && $PILSTARK/main_genstarkinfo.js -p $BDIR/c12a.pil -s $BDIR/c12a.starkstruct.json -i $BDIR/c12a.starkinfo.json",
"c12a_buildchelpers": ". ./pre.sh && $PILSTARK/main_buildchelpers.js -m -p $BDIR/c12a.pil -s $BDIR/c12a.starkinfo.json -c $BDIR/c12a.chelpers/c12a.chelpers.cpp -C C12aSteps",
"c12a_exec": ". ./pre.sh && $PILSTARK/compressor/main_compressor_exec.js -i $BDIR/zkevm.zkin.proof.json -w $BDIR/zkevm.verifier_js/zkevm.verifier.wasm -p $BDIR/c12a.pil -e $BDIR/c12a.exec -m $BDIR/c12a.commit",
"c12a_pilverify": ". ./pre.sh && $PILCOM/main_pilverifier.js $BDIR/c12a.commit -c $BDIR/c12a.const -p $BDIR/c12a.pil",
"c12a_buildconstanttree": ". ./pre.sh && $BCTREE -c $BDIR/c12a.const -p $BDIR/c12a.pil -s $BDIR/c12a.starkstruct.json -t $BDIR/c12a.consttree -v $BDIR/c12a.verkey.json",
"c12a_prove": ". ./pre.sh && $PILSTARK/main_prover.js -m $BDIR/c12a.commit -c $BDIR/c12a.const -t $BDIR/c12a.consttree -p $BDIR/c12a.pil -s $BDIR/c12a.starkinfo.json -o $BDIR/c12a.proof.json -z $BDIR/c12a.zkin.proof.json -b $BDIR/c12a.public.json",
"c12a_verify": ". ./pre.sh && $PILSTARK/main_verifier.js -p $BDIR/c12a.pil -s $BDIR/c12a.starkinfo.json -o $BDIR/c12a.proof.json -b $BDIR/c12a.public.json -v $BDIR/c12a.verkey.json",
"c12a_gencircom": ". ./pre.sh && $PILSTARK/main_pil2circom.js --skipMain -p $BDIR/c12a.pil -s $BDIR/c12a.starkinfo.json -v $BDIR/c12a.verkey.json -o $BDIR/c12a.verifier.circom",
"recursive1_gencircom": ". ./pre.sh && cp recursive/recursive1.circom $BDIR",
"recursive1_compile": ". ./pre.sh && circom --r1cs --sym --wasm --c --verbose --O1 --prime goldilocks $BDIR/recursive1.circom -o $BDIR -l node_modules/pil-stark/circuits.gl",
"recursive1_setup": ". ./pre.sh && $PILSTARK/compressor/main_compressor_setup.js -r $BDIR/recursive1.r1cs -p $BDIR/recursive1.pil -c $BDIR/recursive1.const -e $BDIR/recursive1.exec --cols=18",
"recursive1_buildstarkinfo": ". ./pre.sh && $PILSTARK/main_genstarkinfo.js -p $BDIR/recursive1.pil -s $BDIR/recursive.starkstruct.json -i $BDIR/recursive1.starkinfo.json",
"recursive1_buildchelpers": ". ./pre.sh && $PILSTARK/main_buildchelpers.js -m -p $BDIR/recursive1.pil -s $BDIR/recursive1.starkinfo.json -c $BDIR/recursive1.chelpers/recursive1.chelpers.cpp -C Recursive1Steps",
"recursive1_buildconstanttree": ". ./pre.sh && $BCTREE -c $BDIR/recursive1.const -p $BDIR/recursive1.pil -s $BDIR/recursive.starkstruct.json -t $BDIR/recursive1.consttree -v $BDIR/recursive1.verkey.json",
"recursive1_verifier_gencircom": ". ./pre.sh && $PILSTARK/main_pil2circom.js --skipMain --verkeyInput -p $BDIR/recursive1.pil -s $BDIR/recursive1.starkinfo.json -v $BDIR/recursive1.verkey.json -o $BDIR/recursive1.verifier.circom",
"recursive2_gencircom": ". ./pre.sh && node $NODE src/main_genrecursive.js -v $BDIR/recursive1.verkey.json -o $BDIR/recursive2.circom",
"recursive2_compile": ". ./pre.sh && circom --r1cs --sym --wasm --c --verbose --O1 --prime goldilocks $BDIR/recursive2.circom -o $BDIR -l node_modules/pil-stark/circuits.gl",
"recursive2_setup": ". ./pre.sh && $PILSTARK/compressor/main_compressor_setup.js -r $BDIR/recursive2.r1cs -p $BDIR/recursive2.pil -c $BDIR/recursive2.const -e $BDIR/recursive2.exec --cols=18",
"recursive2_buildstarkinfo": ". ./pre.sh && $PILSTARK/main_genstarkinfo.js -p $BDIR/recursive2.pil -s $BDIR/recursive.starkstruct.json -i $BDIR/recursive2.starkinfo.json",
"recursive2_buildchelpers": ". ./pre.sh && $PILSTARK/main_buildchelpers.js -m -p $BDIR/recursive2.pil -s $BDIR/recursive2.starkinfo.json -c $BDIR/recursive2.chelpers/recursive2.chelpers.cpp -C Recursive2Steps",
"recursive2_buildconstanttree": ". ./pre.sh && $BCTREE -c $BDIR/recursive2.const -p $BDIR/recursive2.pil -s $BDIR/recursive.starkstruct.json -t $BDIR/recursive2.consttree -v $BDIR/recursive2.verkey.json",
"recursive2_verifier_gencircom": ". ./pre.sh && $PILSTARK/main_pil2circom.js --skipMain --verkeyInput -p $BDIR/recursive2.pil -s $BDIR/recursive2.starkinfo.json -v $BDIR/recursive2.verkey.json -o $BDIR/recursive2.verifier.circom",
"recursive_pil_check": ". ./pre.sh && F1=$BDIR/recursive1.pil && F2=$BDIR/recursive2.pil && diff $F1 $F2 || (echo \"ERROR: $F1 $F2 are different\"; exit 1)",
"recursive_verifier_check": ". ./pre.sh && F1=$BDIR/recursive1.verifier.circom && F2=$BDIR/recursive2.verifier.circom && diff $F1 $F2 || (echo \"ERROR: $F1 $F2 are different\"; exit 1)",
"recursivef_gencircom": ". ./pre.sh && node $NODE src/main_genrecursivef.js --verkey1 $BDIR/recursive1.verkey.json --verkey2 $BDIR/recursive2.verkey.json -o $BDIR/recursivef.circom",
"recursivef_compile": ". ./pre.sh && circom --r1cs --sym --wasm --c --verbose --O1 --prime goldilocks $BDIR/recursivef.circom -o $BDIR -l node_modules/pil-stark/circuits.gl -l node_modules/circomlib/circuits",
"recursivef_setup": ". ./pre.sh && $PILSTARK/compressor/main_compressor_setup.js -r $BDIR/recursivef.r1cs -p $BDIR/recursivef.pil -c $BDIR/recursivef.const -e $BDIR/recursivef.exec --cols=12",
"recursivef_buildstarkinfo": ". ./pre.sh && $PILSTARK/main_genstarkinfo.js -p $BDIR/recursivef.pil -s $BDIR/recursivef.starkstruct.json -i $BDIR/recursivef.starkinfo.json",
"recursivef_buildchelpers": ". ./pre.sh && $PILSTARK/main_buildchelpers.js -m -p $BDIR/recursivef.pil -s $BDIR/recursivef.starkinfo.json -c $BDIR/recursivef.chelpers/recursivef.chelpers.cpp -C StarkRecursiveFSteps",
"recursivef_buildconstanttree": ". ./pre.sh && $BCTREE -c $BDIR/recursivef.const -p $BDIR/recursivef.pil -s $BDIR/recursivef.starkstruct.json -t $BDIR/recursivef.consttree -v $BDIR/recursivef.verkey.json",
"recursivef_verifier_gencircom": ". ./pre.sh && $PILSTARK/main_pil2circom.js --skipMain -p $BDIR/recursivef.pil -s $BDIR/recursivef.starkinfo.json -v $BDIR/recursivef.verkey.json -o $BDIR/recursivef.verifier.circom",
"final_gencircom": ". ./pre.sh && cp recursive/final.circom $BDIR",
"final_compile": ". ./pre.sh && circom --O1 --r1cs --sym --wasm --c --verbose $BDIR/final.circom -o $BDIR -l node_modules/pil-stark/circuits.bn128 -l node_modules/circomlib/circuits",
"downloadptaw": "wget -P build https://hermez.s3-eu-west-1.amazonaws.com/powersOfTau28_hez_final.ptau",
"fflonk_setup": ". ./pre.sh && $SNARKJS ffs $BDIR/final.r1cs build/powersOfTau28_hez_final.ptau $BDIR/final.fflonk.zkey --verbose",
"fflonk_evk": ". ./pre.sh && $SNARKJS zkev $BDIR/final.fflonk.zkey $BDIR/final.fflonk.verkey.json",
"fflonk_solidity": ". ./pre.sh && $SNARKJS zkesv $BDIR/final.fflonk.zkey $BDIR/final.fflonk.verifier.sol",
"prefflonk_setup": ". ./pre.sh && [ -f build/powersOfTau28_hez_final.ptau ] || npm run downloadptaw",
"prebuildstarkinfo": ". ./pre.sh && if [ \"$npm_config_starkstruct\" = \"debug\" ]; then node tools/gen_debug_starkstruct.js -t GL -p $PIL -s $BDIR/zkevm.starkstruct.json; else cp src/zkevm.starkstruct.json $BDIR; fi",
"prec12a_buildstarkinfo": ". ./pre.sh && if [ \"$npm_config_starkstruct\" = \"debug\" ]; then node tools/gen_debug_starkstruct.js -t GL -p $BDIR/c12a.pil -s $BDIR/c12a.starkstruct.json; else cp src/zkevm.c12a.starkstruct.json $BDIR/c12a.starkstruct.json; fi",
"buildarith": "node tools/arith/parse tools/arith/arith.ejs.pil -o pil/arith.pil && node tools/arith/arith_eq_gen tools/arith/arith.ejs.pil -o src/sm/sm_arith/sm_arith_##.js",
"prerecursive1_buildstarkinfo": ". ./pre.sh && if [ \"$npm_config_starkstruct\" = \"debug\" ]; then node tools/gen_debug_starkstruct.js -t GL -p $BDIR/recursive1.pil -s $BDIR/recursive.starkstruct.json; else cp src/recursive.starkstruct.json $BDIR; fi",
"prerecursivef_buildstarkinfo": ". ./pre.sh && if [ \"$npm_config_starkstruct\" = \"debug\" ]; then node tools/gen_debug_starkstruct.js -t BN128 -p $BDIR/recursivef.pil -s $BDIR/recursivef.starkstruct.json; else cp src/recursivef.starkstruct.json $BDIR; fi",
"buildsetup:basic": "npm run buildsetup --pil=pil/basic_main.pil --build=build/basic_proof --starkstruct=debug",
"buildall:basic": "npm run buildall --pil=pil/basic_main.pil --build=build/basic_proof --starkstruct=debug",
"buildproof:basic": "npm run buildproof --pil=pil/basic_main.pil --build=build/basic_proof --starkstruct=debug",
"help": "npm_config_help=true && . ./pre.sh",
"test": "mocha",
"test:arith": "mocha --max-old-space-size=25000 test/sm/sm_arith.js",
"test:storage": "mocha test/sm/sm_storage/sm_storage_test.js",
"test:mem_align": "mocha test/sm_mem_align_test.js",
"test:counters:arith": "mocha test/counters/arith.js",
"test:counters:binary": "mocha test/counters/binary.js",
"test:counters:keccak": "mocha test/counters/keccak.js",
"test:counters:mem_align": "mocha test/counters/mem_align.js",
"test:counters:padding_pg": "mocha test/counters/padding_pg.js",
"test:counters:poseidon": "mocha test/counters/poseidon.js",
"test:counters:storage": "mocha test/counters/storage.js",
"test:all-inputs": "mocha --timeout 0 --max-old-space-size=8000 tools/run-test/run-inputs-mocha.test.js",
"test:full-tracer": "node --max-old-space-size=16000 tools/full-tracer-tests/full-tracer-tests.js",
"eslint:tracer": "npx eslint src/sm/sm_main/debug/**.js",
"eslint:sm_main": "npx eslint src/sm/sm_main/sm_main_exec.js",
"eslint": "npm run eslint:tracer && npm run eslint:sm_main"
},
"author": "Jordi Baylina",
"license": "UNLICENSED",
"dependencies": {
"@0xpolygonhermez/zkasmcom": "github:0xPolygonHermez/zkasmcom#v5.0.0-fork.8",
"@0xpolygonhermez/zkevm-commonjs": "github:0xpolygonhermez/zkevm-commonjs#v6.0.0-fork.9",
"@0xpolygonhermez/zkevm-rom": "github:0xPolygonHermez/zkevm-rom#v6.0.1-fork.9",
"@0xpolygonhermez/zkevm-storage-rom": "https://github.com/0xPolygonHermez/zkevm-storage-rom.git#v4.0.0-fork.7",
"@0xpolygonhermez/zkevm-testvectors": "github:0xPolygonHermez/zkevm-testvectors#v6.0.1-fork.9",
"@grpc/grpc-js": "^1.8.14",
"chalk": "^3.0.0",
"circomlib": "^2.0.3",
"circomlibjs": "^0.1.1",
"docker-compose": "^0.23.19",
"ejs": "^3.1.6",
"ethers": "^5.4.7",
"ffjavascript": "0.2.63",
"fs": "^0.0.1-security",
"json-bigint": "^1.0.0",
"lodash": "^4.17.21",
"pil-stark": "0.0.57",
"pilcom": "0.0.24",
"snarkjs": "0.7.0",
"yargs": "^17.4.0"
},
"devDependencies": {
"chai": "^4.3.4",
"chai-as-promised": "^7.1.1",
"circom_tester": "^0.0.20",
"eslint": "^8.34.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-mocha": "^10.1.0",
"mocha": "^9.1.3"
}
}