@solarity/zkit 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -48,10 +48,10 @@ contract <%=verifier_id%> {
|
|
|
48
48
|
uint16 public constant P_LAST_MEM = 896;
|
|
49
49
|
|
|
50
50
|
function verifyProof(
|
|
51
|
-
uint256[2]
|
|
52
|
-
uint256[2][2]
|
|
53
|
-
uint256[2]
|
|
54
|
-
uint256[<%=IC.length-1%>]
|
|
51
|
+
uint256[2] memory pA_,
|
|
52
|
+
uint256[2][2] memory pB_,
|
|
53
|
+
uint256[2] memory pC_,
|
|
54
|
+
uint256[<%=IC.length-1%>] memory pubSignals_
|
|
55
55
|
) public view returns (bool) {
|
|
56
56
|
assembly {
|
|
57
57
|
function checkField(v) {
|
|
@@ -96,21 +96,21 @@ contract <%=verifier_id%> {
|
|
|
96
96
|
mstore(add(pVk_, 32), IC0_Y)
|
|
97
97
|
|
|
98
98
|
/// @dev Compute the linear combination vk_x
|
|
99
|
-
<% for (let i = 1; i <= nPublic; i++) { %>g1MulAccC(pVk_, IC<%=i%>_X, IC<%=i%>_Y,
|
|
99
|
+
<% for (let i = 1; i <= nPublic; i++) { %>g1MulAccC(pVk_, IC<%=i%>_X, IC<%=i%>_Y, mload(add(pubSignals, <%=(i-1)*32%>)))
|
|
100
100
|
<% } -%>
|
|
101
101
|
|
|
102
102
|
/// @dev -A
|
|
103
|
-
mstore(pPairing_,
|
|
103
|
+
mstore(pPairing_, mload(pA))
|
|
104
104
|
mstore(
|
|
105
105
|
add(pPairing_, 32),
|
|
106
|
-
mod(sub(BASE_FIELD_SIZE,
|
|
106
|
+
mod(sub(BASE_FIELD_SIZE, mload(add(pA, 32))), BASE_FIELD_SIZE)
|
|
107
107
|
)
|
|
108
108
|
|
|
109
109
|
/// @dev B
|
|
110
|
-
mstore(add(pPairing_, 64),
|
|
111
|
-
mstore(add(pPairing_, 96),
|
|
112
|
-
mstore(add(pPairing_, 128),
|
|
113
|
-
mstore(add(pPairing_, 160),
|
|
110
|
+
mstore(add(pPairing_, 64), mload(mload(pB)))
|
|
111
|
+
mstore(add(pPairing_, 96), mload(add(mload(pB), 32)))
|
|
112
|
+
mstore(add(pPairing_, 128), mload(mload(add(pB, 32))))
|
|
113
|
+
mstore(add(pPairing_, 160), mload(add(mload(add(pB, 32)), 32)))
|
|
114
114
|
|
|
115
115
|
/// @dev alpha1
|
|
116
116
|
mstore(add(pPairing_, 192), ALPHA_X)
|
|
@@ -133,8 +133,8 @@ contract <%=verifier_id%> {
|
|
|
133
133
|
mstore(add(pPairing_, 544), GAMMA_Y2)
|
|
134
134
|
|
|
135
135
|
/// @dev C
|
|
136
|
-
mstore(add(pPairing_, 576),
|
|
137
|
-
mstore(add(pPairing_, 608),
|
|
136
|
+
mstore(add(pPairing_, 576), mload(pC))
|
|
137
|
+
mstore(add(pPairing_, 608), mload(add(pC, 32)))
|
|
138
138
|
|
|
139
139
|
/// @dev delta2
|
|
140
140
|
mstore(add(pPairing_, 640), DELTA_X1)
|
|
@@ -151,7 +151,7 @@ contract <%=verifier_id%> {
|
|
|
151
151
|
mstore(0x40, add(pMem_, P_LAST_MEM))
|
|
152
152
|
|
|
153
153
|
/// @dev Validate that all evaluations ∈ F
|
|
154
|
-
<% for (let i = 0; i < IC.length; i++) { %>checkField(
|
|
154
|
+
<% for (let i = 0; i < IC.length; i++) { %>checkField(mload(add(pubSignals_, <%=i*32%>)))
|
|
155
155
|
<% } -%>
|
|
156
156
|
|
|
157
157
|
/// @dev Validate all evaluations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circuit-zkit.d.ts","sourceRoot":"","sources":["../../src/types/circuit-zkit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B;QAAC,CAAC,aAAa,EAAE,aAAa,CAAC;QAAE,CAAC,aAAa,EAAE,aAAa,CAAC;KAAC;IAChE;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B
|
|
1
|
+
{"version":3,"file":"circuit-zkit.d.ts","sourceRoot":"","sources":["../../src/types/circuit-zkit.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG,aAAa,EAAE,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,IAAI,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B;QAAC,CAAC,aAAa,EAAE,aAAa,CAAC;QAAE,CAAC,aAAa,EAAE,aAAa,CAAC;KAAC;IAChE;QAAC,aAAa;QAAE,aAAa;KAAC;IAC9B,aAAa;CACd,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,aAAa,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,SAAS,EAAE,CAAC;AACnD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AACnF,MAAM,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAE7C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,oBAAoB,CAAC;CACrC,CAAC"}
|
package/package.json
CHANGED
|
@@ -48,10 +48,10 @@ contract <%=verifier_id%> {
|
|
|
48
48
|
uint16 public constant P_LAST_MEM = 896;
|
|
49
49
|
|
|
50
50
|
function verifyProof(
|
|
51
|
-
uint256[2]
|
|
52
|
-
uint256[2][2]
|
|
53
|
-
uint256[2]
|
|
54
|
-
uint256[<%=IC.length-1%>]
|
|
51
|
+
uint256[2] memory pA_,
|
|
52
|
+
uint256[2][2] memory pB_,
|
|
53
|
+
uint256[2] memory pC_,
|
|
54
|
+
uint256[<%=IC.length-1%>] memory pubSignals_
|
|
55
55
|
) public view returns (bool) {
|
|
56
56
|
assembly {
|
|
57
57
|
function checkField(v) {
|
|
@@ -96,21 +96,21 @@ contract <%=verifier_id%> {
|
|
|
96
96
|
mstore(add(pVk_, 32), IC0_Y)
|
|
97
97
|
|
|
98
98
|
/// @dev Compute the linear combination vk_x
|
|
99
|
-
<% for (let i = 1; i <= nPublic; i++) { %>g1MulAccC(pVk_, IC<%=i%>_X, IC<%=i%>_Y,
|
|
99
|
+
<% for (let i = 1; i <= nPublic; i++) { %>g1MulAccC(pVk_, IC<%=i%>_X, IC<%=i%>_Y, mload(add(pubSignals, <%=(i-1)*32%>)))
|
|
100
100
|
<% } -%>
|
|
101
101
|
|
|
102
102
|
/// @dev -A
|
|
103
|
-
mstore(pPairing_,
|
|
103
|
+
mstore(pPairing_, mload(pA))
|
|
104
104
|
mstore(
|
|
105
105
|
add(pPairing_, 32),
|
|
106
|
-
mod(sub(BASE_FIELD_SIZE,
|
|
106
|
+
mod(sub(BASE_FIELD_SIZE, mload(add(pA, 32))), BASE_FIELD_SIZE)
|
|
107
107
|
)
|
|
108
108
|
|
|
109
109
|
/// @dev B
|
|
110
|
-
mstore(add(pPairing_, 64),
|
|
111
|
-
mstore(add(pPairing_, 96),
|
|
112
|
-
mstore(add(pPairing_, 128),
|
|
113
|
-
mstore(add(pPairing_, 160),
|
|
110
|
+
mstore(add(pPairing_, 64), mload(mload(pB)))
|
|
111
|
+
mstore(add(pPairing_, 96), mload(add(mload(pB), 32)))
|
|
112
|
+
mstore(add(pPairing_, 128), mload(mload(add(pB, 32))))
|
|
113
|
+
mstore(add(pPairing_, 160), mload(add(mload(add(pB, 32)), 32)))
|
|
114
114
|
|
|
115
115
|
/// @dev alpha1
|
|
116
116
|
mstore(add(pPairing_, 192), ALPHA_X)
|
|
@@ -133,8 +133,8 @@ contract <%=verifier_id%> {
|
|
|
133
133
|
mstore(add(pPairing_, 544), GAMMA_Y2)
|
|
134
134
|
|
|
135
135
|
/// @dev C
|
|
136
|
-
mstore(add(pPairing_, 576),
|
|
137
|
-
mstore(add(pPairing_, 608),
|
|
136
|
+
mstore(add(pPairing_, 576), mload(pC))
|
|
137
|
+
mstore(add(pPairing_, 608), mload(add(pC, 32)))
|
|
138
138
|
|
|
139
139
|
/// @dev delta2
|
|
140
140
|
mstore(add(pPairing_, 640), DELTA_X1)
|
|
@@ -151,7 +151,7 @@ contract <%=verifier_id%> {
|
|
|
151
151
|
mstore(0x40, add(pMem_, P_LAST_MEM))
|
|
152
152
|
|
|
153
153
|
/// @dev Validate that all evaluations ∈ F
|
|
154
|
-
<% for (let i = 0; i < IC.length; i++) { %>checkField(
|
|
154
|
+
<% for (let i = 0; i < IC.length; i++) { %>checkField(mload(add(pubSignals_, <%=i*32%>)))
|
|
155
155
|
<% } -%>
|
|
156
156
|
|
|
157
157
|
/// @dev Validate all evaluations
|