Fix plonk solidity generation when zeros
This commit is contained in:
parent
a8cdc8083d
commit
e9fb96c976
@ -5335,7 +5335,9 @@ async function plonkVk(zkey) {
|
||||
S2: curve.G1.toObject(zkey.S2),
|
||||
S3: curve.G1.toObject(zkey.S3),
|
||||
|
||||
X_2: curve.G2.toObject(zkey.X_2)
|
||||
X_2: curve.G2.toObject(zkey.X_2),
|
||||
|
||||
w: curve.Fr.toObject(curve.Fr.w[zkey.power])
|
||||
};
|
||||
|
||||
vKey = stringifyBigInts$1(vKey);
|
||||
|
@ -5892,7 +5892,9 @@ async function plonkVk(zkey) {
|
||||
S2: curve.G1.toObject(zkey.S2),
|
||||
S3: curve.G1.toObject(zkey.S3),
|
||||
|
||||
X_2: curve.G2.toObject(zkey.X_2)
|
||||
X_2: curve.G2.toObject(zkey.X_2),
|
||||
|
||||
w: curve.Fr.toObject(curve.Fr.w[zkey.power])
|
||||
};
|
||||
|
||||
vKey = stringifyBigInts$2(vKey);
|
||||
|
File diff suppressed because one or more lines are too long
2
build/snarkjs.min.js
vendored
2
build/snarkjs.min.js
vendored
File diff suppressed because one or more lines are too long
@ -101,7 +101,9 @@ async function plonkVk(zkey) {
|
||||
S2: curve.G1.toObject(zkey.S2),
|
||||
S3: curve.G1.toObject(zkey.S3),
|
||||
|
||||
X_2: curve.G2.toObject(zkey.X_2)
|
||||
X_2: curve.G2.toObject(zkey.X_2),
|
||||
|
||||
w: curve.Fr.toObject(curve.Fr.w[zkey.power])
|
||||
};
|
||||
|
||||
vKey = stringifyBigInts(vKey);
|
||||
|
@ -28,21 +28,21 @@ contract PlonkVerifier {
|
||||
uint16 constant nLagrange = <%=Math.max(nPublic, 1)%>;
|
||||
|
||||
uint256 constant Qmx = <%=Qm[0]%>;
|
||||
uint256 constant Qmy = <%=Qm[1]%>;
|
||||
uint256 constant Qmy = <%=Qm[0] == "0" ? "0" : Qm[1]%>;
|
||||
uint256 constant Qlx = <%=Ql[0]%>;
|
||||
uint256 constant Qly = <%=Ql[1]%>;
|
||||
uint256 constant Qly = <%=Ql[0] == "0" ? "0" : Ql[1]%>;
|
||||
uint256 constant Qrx = <%=Qr[0]%>;
|
||||
uint256 constant Qry = <%=Qr[1]%>;
|
||||
uint256 constant Qry = <%=Qr[0] == "0" ? "0" : Qr[1]%>;
|
||||
uint256 constant Qox = <%=Qo[0]%>;
|
||||
uint256 constant Qoy = <%=Qo[1]%>;
|
||||
uint256 constant Qoy = <%=Qo[0] == "0" ? "0" : Qo[1]%>;
|
||||
uint256 constant Qcx = <%=Qc[0]%>;
|
||||
uint256 constant Qcy = <%=Qc[1]%>;
|
||||
uint256 constant Qcy = <%=Qc[0] == "0" ? "0" : Qc[1]%>;
|
||||
uint256 constant S1x = <%=S1[0]%>;
|
||||
uint256 constant S1y = <%=S1[1]%>;
|
||||
uint256 constant S1y = <%=S1[0] == "0" ? "0" : S1[1]%>;
|
||||
uint256 constant S2x = <%=S2[0]%>;
|
||||
uint256 constant S2y = <%=S2[1]%>;
|
||||
uint256 constant S2y = <%=S2[0] == "0" ? "0" : S2[1]%>;
|
||||
uint256 constant S3x = <%=S3[0]%>;
|
||||
uint256 constant S3y = <%=S3[1]%>;
|
||||
uint256 constant S3y = <%=S3[0] == "0" ? "0" : S3[1]%>;
|
||||
uint256 constant k1 = 2;
|
||||
uint256 constant k2 = 3;
|
||||
uint256 constant X2x1 = <%=X_2[0][0]%>;
|
||||
@ -52,7 +52,7 @@ contract PlonkVerifier {
|
||||
|
||||
uint256 constant q = 21888242871839275222246405745257275088548364400416034343698204186575808495617;
|
||||
uint256 constant qf = 21888242871839275222246405745257275088696311157297823662689037894645226208583;
|
||||
uint256 constant w1 = 19540430494807482326159819597004422086093766032135589407132600596362845576832;
|
||||
uint256 constant w1 = <%=w%>;
|
||||
|
||||
uint256 constant G1x = 1;
|
||||
uint256 constant G1y = 2;
|
||||
|
Loading…
Reference in New Issue
Block a user