-
Notifications
You must be signed in to change notification settings - Fork 36
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add comment for recursive * add --agg_stage flag * add aggregation stage * add recursive_proof_to_stark.sh * add stark_aggregation.sh * add combine two zkin script * update stark_aggregation.sh * update stark_aggregation.sh * add prover.js * update stark_verifier_circom.rs * update stark aggregation shell * add prover.js * add snark_verifier.sh * add stark setup * update snark_verifier.sh * add final_test * update snark_verifier.sh * update snark_verifier.sh * update aggregation * fmt stark_verifier_circom.rs * remove unused code at main_joinzkin.js * update main_joinzkin.js * update main_joinzkin.js * update recurvie_proof_to_snark to support generate stark proof * remove recursive_proof_to_stark.sh * update stark_aggregation shell * update stark_aggregation.sh * update stark_aggregation.sh * update stark_aggregation.sh * update snark_verifier.sh: back run to generate zkey * remove recursive_proof_to_stark * fix recursive2 err after update version * update stark_aggregation shell * update stark_aggregation.sh * update stark_aggregation.sh * update main_joinzkin: generate fri proof by setup.steps * update stark_aggregation * update main_joinkin * optimize verifier circom * add snarkjs local * update main_joinzkin
- Loading branch information
1 parent
da03d53
commit a61fcf0
Showing
16 changed files
with
768 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
const fs= require("fs"); | ||
const version = require("../../package").version; | ||
|
||
const argv = require("yargs") | ||
.version(version) | ||
.usage("node --starksetup <starksetup.json> --zkin1 <in1.zkin.json> --zkin2 <in2.zkin.json> --zkinout <out.zkin.json>") | ||
.alias("s","starksetup") | ||
.alias("1","zkin1") | ||
.alias("2","zkin2") | ||
.alias("o","zkinout") | ||
.argv; | ||
|
||
async function run() { | ||
|
||
const starkSetupFile = typeof(argv.starksetup) === "string" ? argv.starksetup.trim() : "starksetup.json"; | ||
const zkin1File = typeof(argv.zkin1) === "string" ? argv.zkin1.trim() : "zkin1.json"; | ||
const zkin2File = typeof(argv.zkin2) === "string" ? argv.zkin2.trim() : "zkin2.json"; | ||
const zkinOutFile = typeof(argv.zkinout) === "string" ? argv.zkinout : "zkinOut.json"; | ||
|
||
const starkSetup = JSON.parse(await fs.promises.readFile(starkSetupFile, "utf8")); | ||
const zkin1 = JSON.parse(await fs.promises.readFile(zkin1File, "utf8")); | ||
const zkin2 = JSON.parse(await fs.promises.readFile(zkin2File, "utf8")); | ||
|
||
const zkinOut = {}; | ||
|
||
zkinOut.a_publics = zkin1.publics; | ||
zkinOut.a_rootC = zkin1.rootC; | ||
zkinOut.a_root1 = zkin1.root1; | ||
zkinOut.a_root2 = zkin1.root2; | ||
zkinOut.a_root3 = zkin1.root3; | ||
zkinOut.a_root4 = zkin1.root4; | ||
zkinOut.a_evals = zkin1.evals; | ||
zkinOut.a_s0_vals1 = zkin1.s0_vals1; | ||
zkinOut.a_s0_vals3 = zkin1.s0_vals3; | ||
zkinOut.a_s0_vals4 = zkin1.s0_vals4; | ||
zkinOut.a_s0_valsC = zkin1.s0_valsC; | ||
zkinOut.a_s0_siblings1 = zkin1.s0_siblings1; | ||
zkinOut.a_s0_siblings3 = zkin1.s0_siblings3; | ||
zkinOut.a_s0_siblings4 = zkin1.s0_siblings4; | ||
zkinOut.a_s0_siblingsC = zkin1.s0_siblingsC; | ||
for (let i = 1; i < starkSetup["steps"].length; i++) { | ||
let keyRoot = `a_s${i}_root`; | ||
let keySiblings = `a_s${i}_siblings`; | ||
let keyVals = `a_s${i}_vals`; | ||
|
||
zkinOut[keyRoot] = zkin1[`s${i}_root`]; | ||
zkinOut[keySiblings] = zkin1[`s${i}_siblings`]; | ||
zkinOut[keyVals] = zkin1[`s${i}_vals`]; | ||
} | ||
zkinOut.a_finalPol = zkin1.finalPol; | ||
|
||
zkinOut.b_publics = zkin2.publics; | ||
zkinOut.b_rootC = zkin2.rootC; | ||
zkinOut.b_root1 = zkin2.root1; | ||
zkinOut.b_root2 = zkin2.root2; | ||
zkinOut.b_root3 = zkin2.root3; | ||
zkinOut.b_root4 = zkin2.root4; | ||
zkinOut.b_evals = zkin2.evals; | ||
zkinOut.b_s0_vals1 = zkin2.s0_vals1; | ||
zkinOut.b_s0_vals3 = zkin2.s0_vals3; | ||
zkinOut.b_s0_vals4 = zkin2.s0_vals4; | ||
zkinOut.b_s0_valsC = zkin2.s0_valsC; | ||
zkinOut.b_s0_siblings1 = zkin2.s0_siblings1; | ||
zkinOut.b_s0_siblings3 = zkin2.s0_siblings3; | ||
zkinOut.b_s0_siblings4 = zkin2.s0_siblings4; | ||
zkinOut.b_s0_siblingsC = zkin2.s0_siblingsC; | ||
for (let i = 1; i < starkSetup["steps"].length; i++) { | ||
let keyRoot = `b_s${i}_root`; | ||
let keySiblings = `b_s${i}_siblings`; | ||
let keyVals = `b_s${i}_vals`; | ||
|
||
zkinOut[keyRoot] = zkin2[`s${i}_root`]; | ||
zkinOut[keySiblings] = zkin2[`s${i}_siblings`]; | ||
zkinOut[keyVals] = zkin2[`s${i}_vals`]; | ||
} | ||
|
||
zkinOut.b_finalPol = zkin2.finalPol; | ||
|
||
fs.writeFileSync(zkinOutFile, JSON.stringify(zkinOut, null, 1), "utf8"); | ||
|
||
console.log("file Generated Correctly"); | ||
|
||
} | ||
|
||
run().then(()=> { | ||
process.exit(0); | ||
}, (err) => { | ||
console.log(err.message); | ||
console.log(err.stack); | ||
process.exit(1); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"nBits": 16, | ||
"nBitsExt": 17, | ||
"nQueries": 8, | ||
"verificationHashType": "BN128", | ||
"steps": [ | ||
{ "nBits": 17 }, | ||
{ "nBits": 11 }, | ||
{ "nBits": 7 }, | ||
{ "nBits": 4 } | ||
] | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
{ | ||
"nBits": 20, | ||
"nBitsExt": 21, | ||
"nQueries": 8, | ||
"verificationHashType": "BN128", | ||
"steps": [ | ||
{ "nBits": 21 }, | ||
{ "nBits": 15 }, | ||
{ "nBits": 11 }, | ||
{ "nBits": 7 }, | ||
{ "nBits": 4 } | ||
] | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
{ | ||
"nBits": 17, | ||
"nBitsExt": 18, | ||
"nQueries": 6, | ||
"verificationHashType": "GL", | ||
"steps": [ | ||
{ "nBits": 18 }, | ||
{ "nBits": 11 }, | ||
{ "nBits": 7 }, | ||
{ "nBits": 4 } | ||
] | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.