Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions build/cli.cjs
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -6044,6 +6044,8 @@ async function groth16ExportSolidityCallData(proof, pub) {

async function plonkSetup$1(r1csName, ptauName, zkeyName, logger) {

if (global.gc) {global.gc();}

await Blake2b__default["default"].ready();

const {fd: fdPTau, sections: sectionsPTau} = await binFileUtils.readBinFile(ptauName, "ptau", 1, 1<<22, 1<<24);
Expand All @@ -6067,6 +6069,7 @@ async function plonkSetup$1(r1csName, ptauName, zkeyName, logger) {
const nPublic = r1cs.nOutputs + r1cs.nPubInputs;

await processConstraints();
if (global.gc) {global.gc();}

const fdZKey = await binFileUtils.createBinFile(zkeyName, "zkey", 1, 14, 1<<22, 1<<24);

Expand Down Expand Up @@ -6102,16 +6105,27 @@ async function plonkSetup$1(r1csName, ptauName, zkeyName, logger) {


await writeAdditions(3, "Additions");
if (global.gc) {global.gc();}
await writeWitnessMap(4, 0, "Amap");
if (global.gc) {global.gc();}
await writeWitnessMap(5, 1, "Bmap");
if (global.gc) {global.gc();}
await writeWitnessMap(6, 2, "Cmap");
if (global.gc) {global.gc();}
await writeQMap(7, 3, "Qm");
if (global.gc) {global.gc();}
await writeQMap(8, 4, "Ql");
if (global.gc) {global.gc();}
await writeQMap(9, 5, "Qr");
if (global.gc) {global.gc();}
await writeQMap(10, 6, "Qo");
if (global.gc) {global.gc();}
await writeQMap(11, 7, "Qc");
if (global.gc) {global.gc();}
await writeSigma(12, "sigma");
if (global.gc) {global.gc();}
await writeLs(13, "lagrange polynomials");
if (global.gc) {global.gc();}

// Write PTau points
////////////
Expand All @@ -6121,6 +6135,7 @@ async function plonkSetup$1(r1csName, ptauName, zkeyName, logger) {
await fdPTau.readToBuffer(buffOut, 0, (domainSize+6)*sG1, sectionsPTau[2][0].p);
await fdZKey.write(buffOut);
await binFileUtils.endWriteSection(fdZKey);
if (global.gc) {global.gc();}


await writeHeaders();
Expand Down Expand Up @@ -6311,22 +6326,29 @@ async function plonkSetup$1(r1csName, ptauName, zkeyName, logger) {
}
if ((logger)&&(s%1000000 == 0)) logger.debug(`writing ${name} phase2: ${s}/${plonkNVars}`);
}
if (global.gc) {global.gc();}
await binFileUtils.startWriteSection(fdZKey, sectionNum);
let S1 = sigma.slice(0, domainSize*n8r);
await writeP4(S1);
if (global.gc) {global.gc();}
let S2 = sigma.slice(domainSize*n8r, domainSize*n8r*2);
await writeP4(S2);
if (global.gc) {global.gc();}
let S3 = sigma.slice(domainSize*n8r*2, domainSize*n8r*3);
await writeP4(S3);
if (global.gc) {global.gc();}
await binFileUtils.endWriteSection(fdZKey);

S1 = await Fr.batchFromMontgomery(S1);
S2 = await Fr.batchFromMontgomery(S2);
S3 = await Fr.batchFromMontgomery(S3);

vk.S1= await curve.G1.multiExpAffine(LPoints, S1, logger, "multiexp S1");
if (global.gc) {global.gc();}
vk.S2= await curve.G1.multiExpAffine(LPoints, S2, logger, "multiexp S2");
if (global.gc) {global.gc();}
vk.S3= await curve.G1.multiExpAffine(LPoints, S3, logger, "multiexp S3");
if (global.gc) {global.gc();}

function buildSigma(s, p) {
if (typeof lastAparence[s] === "undefined") {
Expand Down
22 changes: 22 additions & 0 deletions build/main.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -6002,6 +6002,8 @@ var zkey = /*#__PURE__*/Object.freeze({

async function plonkSetup(r1csName, ptauName, zkeyName, logger) {

if (global.gc) {global.gc();}

await Blake2b__default["default"].ready();

const {fd: fdPTau, sections: sectionsPTau} = await binFileUtils.readBinFile(ptauName, "ptau", 1, 1<<22, 1<<24);
Expand All @@ -6025,6 +6027,7 @@ async function plonkSetup(r1csName, ptauName, zkeyName, logger) {
const nPublic = r1cs.nOutputs + r1cs.nPubInputs;

await processConstraints();
if (global.gc) {global.gc();}

const fdZKey = await binFileUtils.createBinFile(zkeyName, "zkey", 1, 14, 1<<22, 1<<24);

Expand Down Expand Up @@ -6060,16 +6063,27 @@ async function plonkSetup(r1csName, ptauName, zkeyName, logger) {


await writeAdditions(3, "Additions");
if (global.gc) {global.gc();}
await writeWitnessMap(4, 0, "Amap");
if (global.gc) {global.gc();}
await writeWitnessMap(5, 1, "Bmap");
if (global.gc) {global.gc();}
await writeWitnessMap(6, 2, "Cmap");
if (global.gc) {global.gc();}
await writeQMap(7, 3, "Qm");
if (global.gc) {global.gc();}
await writeQMap(8, 4, "Ql");
if (global.gc) {global.gc();}
await writeQMap(9, 5, "Qr");
if (global.gc) {global.gc();}
await writeQMap(10, 6, "Qo");
if (global.gc) {global.gc();}
await writeQMap(11, 7, "Qc");
if (global.gc) {global.gc();}
await writeSigma(12, "sigma");
if (global.gc) {global.gc();}
await writeLs(13, "lagrange polynomials");
if (global.gc) {global.gc();}

// Write PTau points
////////////
Expand All @@ -6079,6 +6093,7 @@ async function plonkSetup(r1csName, ptauName, zkeyName, logger) {
await fdPTau.readToBuffer(buffOut, 0, (domainSize+6)*sG1, sectionsPTau[2][0].p);
await fdZKey.write(buffOut);
await binFileUtils.endWriteSection(fdZKey);
if (global.gc) {global.gc();}


await writeHeaders();
Expand Down Expand Up @@ -6269,22 +6284,29 @@ async function plonkSetup(r1csName, ptauName, zkeyName, logger) {
}
if ((logger)&&(s%1000000 == 0)) logger.debug(`writing ${name} phase2: ${s}/${plonkNVars}`);
}
if (global.gc) {global.gc();}
await binFileUtils.startWriteSection(fdZKey, sectionNum);
let S1 = sigma.slice(0, domainSize*n8r);
await writeP4(S1);
if (global.gc) {global.gc();}
let S2 = sigma.slice(domainSize*n8r, domainSize*n8r*2);
await writeP4(S2);
if (global.gc) {global.gc();}
let S3 = sigma.slice(domainSize*n8r*2, domainSize*n8r*3);
await writeP4(S3);
if (global.gc) {global.gc();}
await binFileUtils.endWriteSection(fdZKey);

S1 = await Fr.batchFromMontgomery(S1);
S2 = await Fr.batchFromMontgomery(S2);
S3 = await Fr.batchFromMontgomery(S3);

vk.S1= await curve.G1.multiExpAffine(LPoints, S1, logger, "multiexp S1");
if (global.gc) {global.gc();}
vk.S2= await curve.G1.multiExpAffine(LPoints, S2, logger, "multiexp S2");
if (global.gc) {global.gc();}
vk.S3= await curve.G1.multiExpAffine(LPoints, S3, logger, "multiexp S3");
if (global.gc) {global.gc();}

function buildSigma(s, p) {
if (typeof lastAparence[s] === "undefined") {
Expand Down
Loading