@maci-protocol/sdk 0.0.0-ci.f3d71fd → 0.0.0-ci.f41915e

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.
Files changed (221) hide show
  1. package/LICENSE +1 -2
  2. package/build/package.json +16 -7
  3. package/build/ts/browser/index.d.ts +6 -7
  4. package/build/ts/browser/index.d.ts.map +1 -1
  5. package/build/ts/browser/index.js +16 -20
  6. package/build/ts/browser/index.js.map +1 -1
  7. package/build/ts/browser/joinPoll.d.ts +10 -0
  8. package/build/ts/browser/joinPoll.d.ts.map +1 -0
  9. package/build/ts/browser/joinPoll.js +88 -0
  10. package/build/ts/browser/joinPoll.js.map +1 -0
  11. package/build/ts/browser/utils.d.ts +18 -0
  12. package/build/ts/browser/utils.d.ts.map +1 -0
  13. package/build/ts/browser/utils.js +37 -0
  14. package/build/ts/browser/utils.js.map +1 -0
  15. package/build/ts/deploy/index.d.ts +2 -2
  16. package/build/ts/deploy/index.d.ts.map +1 -1
  17. package/build/ts/deploy/index.js +3 -3
  18. package/build/ts/deploy/index.js.map +1 -1
  19. package/build/ts/deploy/maci.js +1 -1
  20. package/build/ts/deploy/maci.js.map +1 -1
  21. package/build/ts/deploy/poll.d.ts +1 -1
  22. package/build/ts/deploy/poll.d.ts.map +1 -1
  23. package/build/ts/deploy/poll.js +20 -13
  24. package/build/ts/deploy/poll.js.map +1 -1
  25. package/build/ts/deploy/types.d.ts +21 -8
  26. package/build/ts/deploy/types.d.ts.map +1 -1
  27. package/build/ts/deploy/utils.js +1 -1
  28. package/build/ts/deploy/utils.js.map +1 -1
  29. package/build/ts/deploy/verifyingKeysRegistry.d.ts +7 -0
  30. package/build/ts/deploy/verifyingKeysRegistry.d.ts.map +1 -0
  31. package/build/ts/deploy/verifyingKeysRegistry.js +14 -0
  32. package/build/ts/deploy/verifyingKeysRegistry.js.map +1 -0
  33. package/build/ts/index.d.ts +2 -1
  34. package/build/ts/index.d.ts.map +1 -1
  35. package/build/ts/index.js +12 -7
  36. package/build/ts/index.js.map +1 -1
  37. package/build/ts/maci/policy.d.ts +13 -1
  38. package/build/ts/maci/policy.d.ts.map +1 -1
  39. package/build/ts/maci/policy.js +41 -2
  40. package/build/ts/maci/policy.js.map +1 -1
  41. package/build/ts/maci/state.d.ts +1 -1
  42. package/build/ts/maci/state.js +11 -11
  43. package/build/ts/maci/state.js.map +1 -1
  44. package/build/ts/maci/types.d.ts +34 -2
  45. package/build/ts/maci/types.d.ts.map +1 -1
  46. package/build/ts/maci/types.js +2 -0
  47. package/build/ts/maci/types.js.map +1 -1
  48. package/build/ts/maciKeys/__tests__/keypair.test.js +7 -7
  49. package/build/ts/maciKeys/__tests__/keypair.test.js.map +1 -1
  50. package/build/ts/maciKeys/__tests__/publicKeys.test.js +7 -7
  51. package/build/ts/maciKeys/__tests__/publicKeys.test.js.map +1 -1
  52. package/build/ts/maciKeys/keypair.d.ts.map +1 -1
  53. package/build/ts/maciKeys/keypair.js +4 -3
  54. package/build/ts/maciKeys/keypair.js.map +1 -1
  55. package/build/ts/maciKeys/publicKeys.d.ts +2 -2
  56. package/build/ts/maciKeys/publicKeys.d.ts.map +1 -1
  57. package/build/ts/maciKeys/publicKeys.js +6 -6
  58. package/build/ts/maciKeys/publicKeys.js.map +1 -1
  59. package/build/ts/maciKeys/types.d.ts +5 -0
  60. package/build/ts/maciKeys/types.d.ts.map +1 -1
  61. package/build/ts/poll/poll.d.ts.map +1 -1
  62. package/build/ts/poll/poll.js +8 -8
  63. package/build/ts/poll/poll.js.map +1 -1
  64. package/build/ts/poll/types.d.ts +6 -7
  65. package/build/ts/poll/types.d.ts.map +1 -1
  66. package/build/ts/poll/utils.js +3 -3
  67. package/build/ts/poll/utils.js.map +1 -1
  68. package/build/ts/proof/__tests__/download.test.js +7 -4
  69. package/build/ts/proof/__tests__/download.test.js.map +1 -1
  70. package/build/ts/proof/download.d.ts +3 -3
  71. package/build/ts/proof/download.d.ts.map +1 -1
  72. package/build/ts/proof/download.js +5 -7
  73. package/build/ts/proof/download.js.map +1 -1
  74. package/build/ts/proof/generate.d.ts +2 -2
  75. package/build/ts/proof/generate.d.ts.map +1 -1
  76. package/build/ts/proof/generate.js +31 -25
  77. package/build/ts/proof/generate.js.map +1 -1
  78. package/build/ts/proof/prove.js +16 -16
  79. package/build/ts/proof/prove.js.map +1 -1
  80. package/build/ts/proof/types.d.ts +41 -15
  81. package/build/ts/proof/types.d.ts.map +1 -1
  82. package/build/ts/proof/utils.d.ts +10 -0
  83. package/build/ts/proof/utils.d.ts.map +1 -0
  84. package/build/ts/proof/utils.js +24 -0
  85. package/build/ts/proof/utils.js.map +1 -0
  86. package/build/ts/relayer/__tests__/messages.test.js +1 -1
  87. package/build/ts/relayer/__tests__/messages.test.js.map +1 -1
  88. package/build/ts/relayer/__tests__/utils.test.js +3 -3
  89. package/build/ts/relayer/__tests__/utils.test.js.map +1 -1
  90. package/build/ts/relayer/messages.js +1 -1
  91. package/build/ts/relayer/utils.js +4 -4
  92. package/build/ts/relayer/utils.js.map +1 -1
  93. package/build/ts/subgraph/index.d.ts +3 -0
  94. package/build/ts/subgraph/index.d.ts.map +1 -0
  95. package/build/ts/subgraph/index.js +18 -0
  96. package/build/ts/subgraph/index.js.map +1 -0
  97. package/build/ts/subgraph/maciSubgraph.d.ts +28 -0
  98. package/build/ts/subgraph/maciSubgraph.d.ts.map +1 -0
  99. package/build/ts/subgraph/maciSubgraph.js +62 -0
  100. package/build/ts/subgraph/maciSubgraph.js.map +1 -0
  101. package/build/ts/subgraph/types.d.ts +20 -0
  102. package/build/ts/subgraph/types.d.ts.map +1 -0
  103. package/build/ts/subgraph/types.js +3 -0
  104. package/build/ts/subgraph/types.js.map +1 -0
  105. package/build/ts/tally/commitments.d.ts.map +1 -1
  106. package/build/ts/tally/commitments.js +8 -7
  107. package/build/ts/tally/commitments.js.map +1 -1
  108. package/build/ts/tally/index.d.ts +2 -1
  109. package/build/ts/tally/index.d.ts.map +1 -1
  110. package/build/ts/tally/index.js +5 -1
  111. package/build/ts/tally/index.js.map +1 -1
  112. package/build/ts/tally/results.d.ts +20 -0
  113. package/build/ts/tally/results.d.ts.map +1 -0
  114. package/build/ts/tally/results.js +49 -0
  115. package/build/ts/tally/results.js.map +1 -0
  116. package/build/ts/tally/types.d.ts +55 -15
  117. package/build/ts/tally/types.d.ts.map +1 -1
  118. package/build/ts/tally/utils.d.ts +3 -3
  119. package/build/ts/tally/utils.d.ts.map +1 -1
  120. package/build/ts/tally/utils.js +10 -10
  121. package/build/ts/tally/utils.js.map +1 -1
  122. package/build/ts/tally/verification.d.ts +1 -1
  123. package/build/ts/tally/verification.d.ts.map +1 -1
  124. package/build/ts/tally/verification.js +10 -10
  125. package/build/ts/tally/verification.js.map +1 -1
  126. package/build/ts/trees/index.d.ts +2 -2
  127. package/build/ts/trees/index.d.ts.map +1 -1
  128. package/build/ts/trees/index.js +3 -1
  129. package/build/ts/trees/index.js.map +1 -1
  130. package/build/ts/trees/stateTree.d.ts +23 -1
  131. package/build/ts/trees/stateTree.d.ts.map +1 -1
  132. package/build/ts/trees/stateTree.js +76 -12
  133. package/build/ts/trees/stateTree.js.map +1 -1
  134. package/build/ts/trees/types.d.ts +11 -2
  135. package/build/ts/trees/types.d.ts.map +1 -1
  136. package/build/ts/user/index.d.ts +4 -2
  137. package/build/ts/user/index.d.ts.map +1 -1
  138. package/build/ts/user/index.js +14 -8
  139. package/build/ts/user/index.js.map +1 -1
  140. package/build/ts/user/joinPoll.d.ts +8 -0
  141. package/build/ts/user/joinPoll.d.ts.map +1 -0
  142. package/build/ts/user/joinPoll.js +84 -0
  143. package/build/ts/user/joinPoll.js.map +1 -0
  144. package/build/ts/user/signup.d.ts +20 -0
  145. package/build/ts/user/signup.d.ts.map +1 -0
  146. package/build/ts/user/signup.js +84 -0
  147. package/build/ts/user/signup.js.map +1 -0
  148. package/build/ts/user/types.d.ts +63 -27
  149. package/build/ts/user/types.d.ts.map +1 -1
  150. package/build/ts/user/utils.d.ts +42 -14
  151. package/build/ts/user/utils.d.ts.map +1 -1
  152. package/build/ts/user/utils.js +121 -49
  153. package/build/ts/user/utils.js.map +1 -1
  154. package/build/ts/utils/params.d.ts +1 -1
  155. package/build/ts/utils/params.d.ts.map +1 -1
  156. package/build/ts/utils/params.js +3 -3
  157. package/build/ts/utils/params.js.map +1 -1
  158. package/build/ts/utils/proofs.d.ts +2 -2
  159. package/build/ts/utils/proofs.d.ts.map +1 -1
  160. package/build/ts/utils/proofs.js +4 -4
  161. package/build/ts/utils/proofs.js.map +1 -1
  162. package/build/ts/utils/types.d.ts +2 -2
  163. package/build/ts/utils/types.d.ts.map +1 -1
  164. package/build/ts/utils/utils.d.ts +8 -0
  165. package/build/ts/utils/utils.d.ts.map +1 -1
  166. package/build/ts/utils/utils.js +14 -1
  167. package/build/ts/utils/utils.js.map +1 -1
  168. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts +1 -1
  169. package/build/ts/verifyingKeys/checkVerifyingKeys.d.ts.map +1 -1
  170. package/build/ts/verifyingKeys/checkVerifyingKeys.js +18 -19
  171. package/build/ts/verifyingKeys/checkVerifyingKeys.js.map +1 -1
  172. package/build/ts/verifyingKeys/index.d.ts +2 -2
  173. package/build/ts/verifyingKeys/index.d.ts.map +1 -1
  174. package/build/ts/verifyingKeys/index.js +5 -5
  175. package/build/ts/verifyingKeys/index.js.map +1 -1
  176. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts +1 -1
  177. package/build/ts/verifyingKeys/setVerifyingKeys.d.ts.map +1 -1
  178. package/build/ts/verifyingKeys/setVerifyingKeys.js +46 -35
  179. package/build/ts/verifyingKeys/setVerifyingKeys.js.map +1 -1
  180. package/build/ts/verifyingKeys/types.d.ts +54 -46
  181. package/build/ts/verifyingKeys/types.d.ts.map +1 -1
  182. package/build/ts/verifyingKeys/utils.d.ts +10 -10
  183. package/build/ts/verifyingKeys/utils.d.ts.map +1 -1
  184. package/build/ts/verifyingKeys/utils.js +76 -60
  185. package/build/ts/verifyingKeys/utils.js.map +1 -1
  186. package/build/ts/vote/generate.d.ts +1 -1
  187. package/build/ts/vote/generate.d.ts.map +1 -1
  188. package/build/ts/vote/generate.js +4 -4
  189. package/build/ts/vote/generate.js.map +1 -1
  190. package/build/ts/vote/index.d.ts +2 -1
  191. package/build/ts/vote/index.d.ts.map +1 -1
  192. package/build/ts/vote/index.js +4 -2
  193. package/build/ts/vote/index.js.map +1 -1
  194. package/build/ts/vote/invalidate.js +4 -4
  195. package/build/ts/vote/invalidate.js.map +1 -1
  196. package/build/ts/vote/publish.d.ts +1 -1
  197. package/build/ts/vote/publish.d.ts.map +1 -1
  198. package/build/ts/vote/publish.js +19 -19
  199. package/build/ts/vote/publish.js.map +1 -1
  200. package/build/ts/vote/submit.js +5 -5
  201. package/build/ts/vote/submit.js.map +1 -1
  202. package/build/ts/vote/types.d.ts +6 -6
  203. package/build/ts/vote/types.d.ts.map +1 -1
  204. package/build/ts/vote/utils.d.ts +2 -2
  205. package/build/ts/vote/utils.d.ts.map +1 -1
  206. package/build/ts/vote/utils.js +7 -7
  207. package/build/ts/vote/utils.js.map +1 -1
  208. package/build/tsconfig.build.tsbuildinfo +1 -1
  209. package/package.json +22 -13
  210. package/build/ts/deploy/vkRegistry.d.ts +0 -7
  211. package/build/ts/deploy/vkRegistry.d.ts.map +0 -1
  212. package/build/ts/deploy/vkRegistry.js +0 -14
  213. package/build/ts/deploy/vkRegistry.js.map +0 -1
  214. package/build/ts/proof/constants.d.ts +0 -17
  215. package/build/ts/proof/constants.d.ts.map +0 -1
  216. package/build/ts/proof/constants.js +0 -20
  217. package/build/ts/proof/constants.js.map +0 -1
  218. package/build/ts/user/user.d.ts +0 -42
  219. package/build/ts/user/user.d.ts.map +0 -1
  220. package/build/ts/user/user.js +0 -192
  221. package/build/ts/user/user.js.map +0 -1
@@ -0,0 +1,10 @@
1
+ import type { IPollJoiningArtifactsUrl } from "./types";
2
+ /**
3
+ * Get the url of the poll joining artifacts
4
+ *
5
+ * @param testing - Whether to get the testing artifacts
6
+ * @param stateTreeDepth - The depth of the state tree
7
+ * @returns The url of the poll joining artifacts
8
+ */
9
+ export declare const getPollJoiningArtifactsUrl: (testing: boolean, stateTreeDepth: number) => IPollJoiningArtifactsUrl;
10
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../ts/proof/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,EAAE,gBAAgB,MAAM,KAAG,wBAYrF,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPollJoiningArtifactsUrl = void 0;
4
+ /**
5
+ * Get the url of the poll joining artifacts
6
+ *
7
+ * @param testing - Whether to get the testing artifacts
8
+ * @param stateTreeDepth - The depth of the state tree
9
+ * @returns The url of the poll joining artifacts
10
+ */
11
+ const getPollJoiningArtifactsUrl = (testing, stateTreeDepth) => {
12
+ if (testing) {
13
+ return {
14
+ zKeyUrl: `https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/testing/PollJoining_${stateTreeDepth}_test.0.zkey`,
15
+ wasmUrl: `https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/testing/PollJoining_${stateTreeDepth}_test.wasm`,
16
+ };
17
+ }
18
+ return {
19
+ zKeyUrl: `https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/production/PollJoining_${stateTreeDepth}.0.zkey`,
20
+ wasmUrl: `https://maci-develop-fra.s3.eu-central-1.amazonaws.com/v3.0.0/browser-poll-join/production/PollJoining_${stateTreeDepth}.wasm`,
21
+ };
22
+ };
23
+ exports.getPollJoiningArtifactsUrl = getPollJoiningArtifactsUrl;
24
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/proof/utils.ts"],"names":[],"mappings":";;;AAEA;;;;;;GAMG;AACI,MAAM,0BAA0B,GAAG,CAAC,OAAgB,EAAE,cAAsB,EAA4B,EAAE;IAC/G,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,OAAO,EAAE,uGAAuG,cAAc,cAAc;YAC5I,OAAO,EAAE,uGAAuG,cAAc,YAAY;SAC3I,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,0GAA0G,cAAc,SAAS;QAC1I,OAAO,EAAE,0GAA0G,cAAc,OAAO;KACzI,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,0BAA0B,8BAYrC"}
@@ -15,7 +15,7 @@ describe("messages", () => {
15
15
  const keypair = new domainobjs_1.Keypair();
16
16
  const defaultMessages = [
17
17
  {
18
- publicKey: keypair.pubKey.asArray().map(String),
18
+ publicKey: keypair.publicKey.asArray().map(String),
19
19
  data: new Array(10).fill("0"),
20
20
  hash: "hash",
21
21
  maciAddress: ethers_1.ZeroAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../../ts/relayer/__tests__/messages.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messages.test.js","sourceRoot":"","sources":["../../../../ts/relayer/__tests__/messages.test.ts"],"names":[],"mappings":"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"}
@@ -13,14 +13,14 @@ describe("utils", () => {
13
13
  const keypair = new domainobjs_1.Keypair();
14
14
  const defaultMessages = [
15
15
  {
16
- publicKey: keypair.pubKey.asArray().map(String),
16
+ publicKey: keypair.publicKey.asArray().map(String),
17
17
  data: new Array(10).fill("0"),
18
18
  hash: "hash1",
19
19
  maciAddress: ethers_1.ZeroAddress,
20
20
  poll: 0,
21
21
  },
22
22
  {
23
- publicKey: new domainobjs_1.Keypair().pubKey.asArray().map(String),
23
+ publicKey: new domainobjs_1.Keypair().publicKey.asArray().map(String),
24
24
  data: new Array(10).fill("0"),
25
25
  hash: "hash2",
26
26
  maciAddress: ethers_1.ZeroAddress,
@@ -47,7 +47,7 @@ describe("utils", () => {
47
47
  startBlock: 0,
48
48
  provider: mockProvider,
49
49
  pollContract: mockPollContract,
50
- publicKeys: [keypair.pubKey.serialize()],
50
+ publicKeys: [keypair.publicKey.serialize()],
51
51
  messageHashes: ["hash1"],
52
52
  });
53
53
  expect(messages).toStrictEqual([defaultMessages[0]]);
@@ -1 +1 @@
1
- {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../ts/relayer/__tests__/utils.test.ts"],"names":[],"mappings":";;AAAA,wDAA0E;AAC1E,0DAAoD;AACpD,mCAAoD;AAIpD,oCAAoD;AAEpD,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;IACrB,IAAI,gBAAsB,CAAC;IAC3B,IAAI,eAA4B,CAAC;IAEjC,MAAM,YAAY,GAAG;QACnB,cAAc,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;KAC7B,CAAC;IAEd,MAAM,OAAO,GAAG,IAAI,oBAAO,EAAE,CAAC;IAE9B,MAAM,eAAe,GAAmB;QACtC;YACE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAqB;YACnE,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAa;YACzC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,oBAAW;YACxB,IAAI,EAAE,CAAC;SACR;QACD;YACE,SAAS,EAAE,IAAI,oBAAO,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAqB;YACzE,IAAI,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAa;YACzC,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,oBAAW;YACxB,IAAI,EAAE,CAAC;SACR;KACF,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,eAAe,GAAG;YAChB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,eAAe,CAAC;SACzB,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,uBAAW,EAAE,aAAa,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;QAExE,gBAAgB,GAAG;YACjB,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE;gBACP,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE;aACzB;SACiB,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAwB,EAAC;YAClD,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,gBAAgB;YAC9B,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAwB,EAAC;YAClD,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,gBAAgB;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAwB,EAAC;YAClD,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,YAAY;YACtB,YAAY,EAAE,gBAAgB;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.test.js","sourceRoot":"","sources":["../../../../ts/relayer/__tests__/utils.test.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@ exports.getMessageBatches = getMessageBatches;
56
56
  */
57
57
  const relayMessages = async ({ maciAddress, pollId, ipfsHash, messages, signer, provider, }) => {
58
58
  const { poll: pollContract } = await (0, utils_1.getPollContracts)({ maciAddress, pollId, signer, provider });
59
- const messageHashes = await Promise.all(messages.map(({ data, publicKey }) => pollContract.hashMessageAndEncPubKey({ data }, { x: publicKey[0], y: publicKey[1] })));
59
+ const messageHashes = await Promise.all(messages.map(({ data, publicKey }) => pollContract.hashMessageAndPublicKey({ data }, { x: publicKey[0], y: publicKey[1] })));
60
60
  const receipt = await pollContract.relayMessagesBatch(messageHashes, ipfsHash).then((tx) => tx.wait());
61
61
  return {
62
62
  hash: receipt?.hash,
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.parseIpfsHashAddedEvents = void 0;
4
4
  const contracts_1 = require("@maci-protocol/contracts");
5
5
  const domainobjs_1 = require("@maci-protocol/domainobjs");
6
- const utils_1 = require("../utils");
6
+ const constants_1 = require("../utils/constants");
7
7
  /**
8
8
  * Parse the ipfs hash events from the Poll contract
9
9
  *
@@ -14,8 +14,8 @@ const parseIpfsHashAddedEvents = async ({ pollContract, startBlock, provider, pu
14
14
  const ipfsService = contracts_1.IpfsService.getInstance();
15
15
  const currentBlock = await provider.getBlockNumber();
16
16
  const ipfsHashes = [];
17
- for (let block = startBlock; block <= currentBlock; block += utils_1.BLOCKS_STEP) {
18
- const toBlock = Math.min(block + utils_1.BLOCKS_STEP - 1, currentBlock);
17
+ for (let block = startBlock; block <= currentBlock; block += constants_1.BLOCKS_STEP) {
18
+ const toBlock = Math.min(block + constants_1.BLOCKS_STEP - 1, currentBlock);
19
19
  // eslint-disable-next-line no-await-in-loop
20
20
  const events = await pollContract.queryFilter(pollContract.filters.IpfsHashAdded(), block, toBlock);
21
21
  // eslint-disable-next-line no-underscore-dangle
@@ -24,7 +24,7 @@ const parseIpfsHashAddedEvents = async ({ pollContract, startBlock, provider, pu
24
24
  const messages = await Promise.all(ipfsHashes.map((ipfsHash) => ipfsService.read(ipfsHash))).then((data) => data.reduce((acc, items) => {
25
25
  acc?.push(...(items || [])
26
26
  .filter((message) => publicKeys && publicKeys.length > 0
27
- ? publicKeys.some((publicKey) => domainobjs_1.PubKey.deserialize(publicKey).equals(new domainobjs_1.PubKey([BigInt(message.publicKey[0]), BigInt(message.publicKey[1])])))
27
+ ? publicKeys.some((publicKey) => domainobjs_1.PublicKey.deserialize(publicKey).equals(new domainobjs_1.PublicKey([BigInt(message.publicKey[0]), BigInt(message.publicKey[1])])))
28
28
  : true)
29
29
  .filter((message) => messageHashes && messageHashes.length > 0 ? messageHashes.some((hash) => message.hash === hash) : true));
30
30
  return acc ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/relayer/utils.ts"],"names":[],"mappings":";;;AAAA,wDAA0E;AAC1E,0DAAmD;AAInD,oCAAuC;AAEvC;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,GACiB,EAAyC,EAAE;IACzE,MAAM,WAAW,GAAG,uBAAW,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,IAAI,mBAAW,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,mBAAW,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAChE,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpG,gDAAgD;QAChD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAiB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/G,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACzB,GAAG,EAAE,IAAI,CACP,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;aACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,mBAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CAClC,IAAI,mBAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACzE,CACF;YACH,CAAC,CAAC,IAAI,CACT;aACA,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACvG,CACJ,CAAC;QAEF,OAAO,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,wBAAwB,4BA8CnC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../ts/relayer/utils.ts"],"names":[],"mappings":";;;AAAA,wDAA0E;AAC1E,0DAAsD;AAItD,kDAAiD;AAEjD;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,KAAK,EAAE,EAC7C,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,UAAU,EACV,aAAa,GACiB,EAAyC,EAAE;IACzE,MAAM,WAAW,GAAG,uBAAW,CAAC,WAAW,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,CAAC;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,YAAY,EAAE,KAAK,IAAI,uBAAW,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,uBAAW,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;QAChE,4CAA4C;QAC5C,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpG,gDAAgD;QAChD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAiB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/G,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACzB,GAAG,EAAE,IAAI,CACP,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;aACb,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;YACjC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC5B,sBAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,MAAM,CACrC,IAAI,sBAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC5E,CACF;YACH,CAAC,CAAC,IAAI,CACT;aACA,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAClB,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACvG,CACJ,CAAC;QAEF,OAAO,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CACT,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,QAAQ,IAAI,EAAE;KACzB,CAAC;AACJ,CAAC,CAAC;AA9CW,QAAA,wBAAwB,4BA8CnC"}
@@ -0,0 +1,3 @@
1
+ export * from "./maciSubgraph";
2
+ export type { GraphQLResponse } from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/subgraph/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./maciSubgraph"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/subgraph/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B"}
@@ -0,0 +1,28 @@
1
+ import { PublicKey } from "@maci-protocol/domainobjs";
2
+ /**
3
+ * A class that can be used to interact with MACI's subgraph
4
+ * @dev refer to apps/subgraph for subgraph deployment and configuration
5
+ */
6
+ export declare class MaciSubgraph {
7
+ /**
8
+ * The URL of the subgraph
9
+ */
10
+ private url;
11
+ /**
12
+ * The query to get all MACIs public keys signed up
13
+ */
14
+ private userQuery;
15
+ /**
16
+ * Create a new instance of the MaciSubgraph class
17
+ *
18
+ * @param url - The URL of the subgraph
19
+ */
20
+ constructor(url: string);
21
+ /**
22
+ * Get the public keys of all MACIs signed up
23
+ *
24
+ * @returns Array of public keys
25
+ */
26
+ getKeys(): Promise<PublicKey[]>;
27
+ }
28
+ //# sourceMappingURL=maciSubgraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maciSubgraph.d.ts","sourceRoot":"","sources":["../../../ts/subgraph/maciSubgraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD;;;GAGG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,OAAO,CAAC,GAAG,CAAS;IAEpB;;OAEG;IACH,OAAO,CAAC,SAAS,CAMb;IAEJ;;;;OAIG;gBACS,GAAG,EAAE,MAAM;IAIvB;;;;OAIG;IACG,OAAO,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;CAgCtC"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MaciSubgraph = void 0;
4
+ const domainobjs_1 = require("@maci-protocol/domainobjs");
5
+ /**
6
+ * A class that can be used to interact with MACI's subgraph
7
+ * @dev refer to apps/subgraph for subgraph deployment and configuration
8
+ */
9
+ class MaciSubgraph {
10
+ /**
11
+ * Create a new instance of the MaciSubgraph class
12
+ *
13
+ * @param url - The URL of the subgraph
14
+ */
15
+ constructor(url) {
16
+ /**
17
+ * The query to get all MACIs public keys signed up
18
+ */
19
+ this.userQuery = `
20
+ query {
21
+ users {
22
+ id
23
+ }
24
+ }
25
+ `;
26
+ this.url = url;
27
+ }
28
+ /**
29
+ * Get the public keys of all MACIs signed up
30
+ *
31
+ * @returns Array of public keys
32
+ */
33
+ async getKeys() {
34
+ const res = await fetch(this.url, {
35
+ method: "POST",
36
+ body: JSON.stringify({
37
+ query: this.userQuery,
38
+ }),
39
+ headers: {
40
+ "Content-Type": "application/json",
41
+ Accept: "application/json",
42
+ },
43
+ });
44
+ if (!res.ok) {
45
+ throw new Error(`GraphQL query failed: ${res.statusText}`);
46
+ }
47
+ const json = (await res.json());
48
+ if (json.errors) {
49
+ throw new Error(`GraphQL errors: ${JSON.stringify(json.errors)}`);
50
+ }
51
+ if (!json.data?.users) {
52
+ throw new Error("No users data in response");
53
+ }
54
+ return json.data.users.map((user) => {
55
+ // Split the id into x and y coordinates and convert to BigInt
56
+ const [x, y] = user.id.split(" ");
57
+ return new domainobjs_1.PublicKey([BigInt(x), BigInt(y)]);
58
+ });
59
+ }
60
+ }
61
+ exports.MaciSubgraph = MaciSubgraph;
62
+ //# sourceMappingURL=maciSubgraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maciSubgraph.js","sourceRoot":"","sources":["../../../ts/subgraph/maciSubgraph.ts"],"names":[],"mappings":";;;AAAA,0DAAsD;AAItD;;;GAGG;AACH,MAAa,YAAY;IAiBvB;;;;OAIG;IACH,YAAY,GAAW;QAhBvB;;WAEG;QACK,cAAS,GAAG;;;;;;KAMjB,CAAC;QAQF,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB,CAAC;YACF,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,8DAA8D;YAC9D,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,IAAI,sBAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA/DD,oCA+DC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The response from the GraphQL query
3
+ */
4
+ export interface GraphQLResponse {
5
+ /**
6
+ * The data from the query
7
+ */
8
+ data?: {
9
+ users: {
10
+ id: string;
11
+ }[];
12
+ };
13
+ /**
14
+ * The errors from the query
15
+ */
16
+ errors?: {
17
+ message: string;
18
+ }[];
19
+ }
20
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../ts/subgraph/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE;QACL,KAAK,EAAE;YACL,EAAE,EAAE,MAAM,CAAC;SACZ,EAAE,CAAC;KACL,CAAC;IACF;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;CACL"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../ts/subgraph/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.d.ts","sourceRoot":"","sources":["../../../ts/tally/commitments.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,qCAGtC,6BAA6B,KAAG,iBAyClC,CAAC"}
1
+ {"version":3,"file":"commitments.d.ts","sourceRoot":"","sources":["../../../ts/tally/commitments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEhF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GAAI,qCAGtC,6BAA6B,KAAG,iBAyClC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateTallyCommitments = void 0;
4
+ const core_1 = require("@maci-protocol/core");
4
5
  const crypto_1 = require("@maci-protocol/crypto");
5
6
  /**
6
7
  * Generate the tally commitments for this current batch of proving
@@ -10,22 +11,22 @@ const crypto_1 = require("@maci-protocol/crypto");
10
11
  */
11
12
  const generateTallyCommitments = ({ tallyData, voteOptionTreeDepth, }) => {
12
13
  // compute newResultsCommitment
13
- const newResultsCommitment = (0, crypto_1.genTreeCommitment)(tallyData.results.tally.map((x) => BigInt(x)), BigInt(tallyData.results.salt), voteOptionTreeDepth);
14
+ const newResultsCommitment = (0, crypto_1.generateTreeCommitment)(tallyData.results.tally.map((x) => BigInt(x)), BigInt(tallyData.results.salt), voteOptionTreeDepth);
14
15
  // compute newSpentVoiceCreditsCommitment
15
16
  const newSpentVoiceCreditsCommitment = (0, crypto_1.hash2)([
16
17
  BigInt(tallyData.totalSpentVoiceCredits.spent),
17
18
  BigInt(tallyData.totalSpentVoiceCredits.salt),
18
19
  ]);
19
20
  let newTallyCommitment;
20
- let newPerVOSpentVoiceCreditsCommitment;
21
- if (tallyData.isQuadratic) {
22
- // compute newPerVOSpentVoiceCreditsCommitment
23
- newPerVOSpentVoiceCreditsCommitment = (0, crypto_1.genTreeCommitment)(tallyData.perVOSpentVoiceCredits.tally.map((x) => BigInt(x)), BigInt(tallyData.perVOSpentVoiceCredits.salt), voteOptionTreeDepth);
21
+ let newPerVoteOptionSpentVoiceCreditsCommitment;
22
+ if (tallyData.mode === core_1.EMode.QV) {
23
+ // compute newPerVoteOptionSpentVoiceCreditsCommitment
24
+ newPerVoteOptionSpentVoiceCreditsCommitment = (0, crypto_1.generateTreeCommitment)(tallyData.perVoteOptionSpentVoiceCredits.tally.map((x) => BigInt(x)), BigInt(tallyData.perVoteOptionSpentVoiceCredits.salt), voteOptionTreeDepth);
24
25
  // compute newTallyCommitment
25
26
  newTallyCommitment = (0, crypto_1.hash3)([
26
27
  newResultsCommitment,
27
28
  newSpentVoiceCreditsCommitment,
28
- newPerVOSpentVoiceCreditsCommitment,
29
+ newPerVoteOptionSpentVoiceCreditsCommitment,
29
30
  ]);
30
31
  }
31
32
  else {
@@ -34,7 +35,7 @@ const generateTallyCommitments = ({ tallyData, voteOptionTreeDepth, }) => {
34
35
  return {
35
36
  newTallyCommitment,
36
37
  newSpentVoiceCreditsCommitment,
37
- newPerVOSpentVoiceCreditsCommitment,
38
+ newPerVoteOptionSpentVoiceCreditsCommitment,
38
39
  newResultsCommitment,
39
40
  };
40
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"commitments.js","sourceRoot":"","sources":["../../../ts/tally/commitments.ts"],"names":[],"mappings":";;;AAAA,kDAAuF;AAIvF;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACvC,SAAS,EACT,mBAAmB,GACW,EAAqB,EAAE;IACrD,+BAA+B;IAC/B,MAAM,oBAAoB,GAAG,IAAA,0BAAiB,EAC5C,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAC9B,mBAAmB,CACpB,CAAC;IAEF,yCAAyC;IACzC,MAAM,8BAA8B,GAAG,IAAA,cAAK,EAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,kBAA0B,CAAC;IAC/B,IAAI,mCAAuD,CAAC;IAE5D,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1B,8CAA8C;QAC9C,mCAAmC,GAAG,IAAA,0BAAiB,EACrD,SAAS,CAAC,sBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7D,MAAM,CAAC,SAAS,CAAC,sBAAuB,CAAC,IAAI,CAAC,EAC9C,mBAAmB,CACpB,CAAC;QAEF,6BAA6B;QAC7B,kBAAkB,GAAG,IAAA,cAAK,EAAC;YACzB,oBAAoB;YACpB,8BAA8B;YAC9B,mCAAmC;SACpC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,IAAA,sBAAa,EAAC,oBAAoB,EAAE,8BAA8B,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,8BAA8B;QAC9B,mCAAmC;QACnC,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,wBAAwB,4BA4CnC"}
1
+ {"version":3,"file":"commitments.js","sourceRoot":"","sources":["../../../ts/tally/commitments.ts"],"names":[],"mappings":";;;AAAA,8CAA4C;AAC5C,kDAA4F;AAI5F;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CAAC,EACvC,SAAS,EACT,mBAAmB,GACW,EAAqB,EAAE;IACrD,+BAA+B;IAC/B,MAAM,oBAAoB,GAAG,IAAA,+BAAsB,EACjD,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAC7C,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAC9B,mBAAmB,CACpB,CAAC;IAEF,yCAAyC;IACzC,MAAM,8BAA8B,GAAG,IAAA,cAAK,EAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC;QAC9C,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,kBAA0B,CAAC;IAC/B,IAAI,2CAA+D,CAAC;IAEpE,IAAI,SAAS,CAAC,IAAI,KAAK,YAAK,CAAC,EAAE,EAAE,CAAC;QAChC,sDAAsD;QACtD,2CAA2C,GAAG,IAAA,+BAAsB,EAClE,SAAS,CAAC,8BAA+B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACrE,MAAM,CAAC,SAAS,CAAC,8BAA+B,CAAC,IAAI,CAAC,EACtD,mBAAmB,CACpB,CAAC;QAEF,6BAA6B;QAC7B,kBAAkB,GAAG,IAAA,cAAK,EAAC;YACzB,oBAAoB;YACpB,8BAA8B;YAC9B,2CAA2C;SAC5C,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,kBAAkB,GAAG,IAAA,sBAAa,EAAC,oBAAoB,EAAE,8BAA8B,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO;QACL,kBAAkB;QAClB,8BAA8B;QAC9B,2CAA2C;QAC3C,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AA5CW,QAAA,wBAAwB,4BA4CnC"}
@@ -1,4 +1,5 @@
1
1
  export { generateTallyCommitments } from "./commitments";
2
2
  export { verify } from "./verification";
3
- export type { ITallyData, IVerifyArgs, IGenerateTallyCommitmentsArgs, ITallyCommitments, ITallyVotesInputs, } from "./types";
3
+ export type { ITallyData, IVerifyArgs, IGenerateTallyCommitmentsArgs, ITallyCommitments, IVoteTallyInputs, IGetResultPerOptionArgs, IGetResultsArgs, IResult, } from "./types";
4
+ export { getResultPerOption, getResults, isTallied } from "./results";
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EACV,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,YAAY,EACV,UAAU,EACV,WAAW,EACX,6BAA6B,EAC7B,iBAAiB,EACjB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,OAAO,GACR,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.verify = exports.generateTallyCommitments = void 0;
3
+ exports.isTallied = exports.getResults = exports.getResultPerOption = exports.verify = exports.generateTallyCommitments = void 0;
4
4
  var commitments_1 = require("./commitments");
5
5
  Object.defineProperty(exports, "generateTallyCommitments", { enumerable: true, get: function () { return commitments_1.generateTallyCommitments; } });
6
6
  var verification_1 = require("./verification");
7
7
  Object.defineProperty(exports, "verify", { enumerable: true, get: function () { return verification_1.verify; } });
8
+ var results_1 = require("./results");
9
+ Object.defineProperty(exports, "getResultPerOption", { enumerable: true, get: function () { return results_1.getResultPerOption; } });
10
+ Object.defineProperty(exports, "getResults", { enumerable: true, get: function () { return results_1.getResults; } });
11
+ Object.defineProperty(exports, "isTallied", { enumerable: true, get: function () { return results_1.isTallied; } });
8
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAAhD,uHAAA,wBAAwB,OAAA;AACjC,+CAAwC;AAA/B,sGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../ts/tally/index.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAAhD,uHAAA,wBAAwB,OAAA;AACjC,+CAAwC;AAA/B,sGAAA,MAAM,OAAA;AAWf,qCAAsE;AAA7D,6GAAA,kBAAkB,OAAA;AAAE,qGAAA,UAAU,OAAA;AAAE,oGAAA,SAAS,OAAA"}
@@ -0,0 +1,20 @@
1
+ import type { IGetResultPerOptionArgs, IGetResultsArgs, IResult } from "./types";
2
+ /**
3
+ * Get result per option
4
+ * @param {IGetResultPerOptionsArgs} - The arguments to get result per option
5
+ * @returns The result per option
6
+ */
7
+ export declare const getResultPerOption: ({ maciAddress, pollId, index, signer, }: IGetResultPerOptionArgs) => Promise<IResult>;
8
+ /**
9
+ * Get all results from the Tally contract
10
+ * @param {IGetResultsArgs} - The arguments to get all the results
11
+ * @returns The results array (The final result of vote option n is in index n-1)
12
+ */
13
+ export declare const getResults: ({ maciAddress, pollId, signer }: IGetResultsArgs) => Promise<IResult[]>;
14
+ /**
15
+ * Check if the poll is tallied
16
+ * @param {IGetResultsArgs} - The arguments to check if the poll is tallied
17
+ * @returns {boolean} - True if the poll is tallied, false otherwise
18
+ */
19
+ export declare const isTallied: ({ maciAddress, pollId, signer }: IGetResultsArgs) => Promise<boolean>;
20
+ //# sourceMappingURL=results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIjF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAU,yCAKtC,uBAAuB,KAAG,OAAO,CAAC,OAAO,CAS3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAU,iCAAiC,eAAe,KAAG,OAAO,CAAC,OAAO,EAAE,CAkBpG,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAU,iCAAiC,eAAe,KAAG,OAAO,CAAC,OAAO,CAIjG,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTallied = exports.getResults = exports.getResultPerOption = void 0;
4
+ const poll_1 = require("../poll");
5
+ /**
6
+ * Get result per option
7
+ * @param {IGetResultPerOptionsArgs} - The arguments to get result per option
8
+ * @returns The result per option
9
+ */
10
+ const getResultPerOption = async ({ maciAddress, pollId, index, signer, }) => {
11
+ const { tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
12
+ const { value, isSet } = await tally.getTallyResults(index);
13
+ return {
14
+ value,
15
+ isSet,
16
+ };
17
+ };
18
+ exports.getResultPerOption = getResultPerOption;
19
+ /**
20
+ * Get all results from the Tally contract
21
+ * @param {IGetResultsArgs} - The arguments to get all the results
22
+ * @returns The results array (The final result of vote option n is in index n-1)
23
+ */
24
+ const getResults = async ({ maciAddress, pollId, signer }) => {
25
+ const { poll, tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
26
+ const numberOfVoteOptions = await poll.voteOptions();
27
+ const results = [];
28
+ for (let i = 0; i < numberOfVoteOptions; i += 1) {
29
+ // eslint-disable-next-line no-await-in-loop
30
+ const { value, isSet } = await tally.getTallyResults(i);
31
+ results.push({
32
+ value,
33
+ isSet,
34
+ });
35
+ }
36
+ return results;
37
+ };
38
+ exports.getResults = getResults;
39
+ /**
40
+ * Check if the poll is tallied
41
+ * @param {IGetResultsArgs} - The arguments to check if the poll is tallied
42
+ * @returns {boolean} - True if the poll is tallied, false otherwise
43
+ */
44
+ const isTallied = async ({ maciAddress, pollId, signer }) => {
45
+ const { tally } = await (0, poll_1.getPollContracts)({ maciAddress, pollId, signer });
46
+ return tally.isTallied();
47
+ };
48
+ exports.isTallied = isTallied;
49
+ //# sourceMappingURL=results.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.js","sourceRoot":"","sources":["../../../ts/tally/results.ts"],"names":[],"mappings":";;;AAEA,kCAA2C;AAE3C;;;;GAIG;AACI,MAAM,kBAAkB,GAAG,KAAK,EAAE,EACvC,WAAW,EACX,MAAM,EACN,KAAK,EACL,MAAM,GACkB,EAAoB,EAAE;IAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1E,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE5D,OAAO;QACL,KAAK;QACL,KAAK;KACN,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,kBAAkB,sBAc7B;AAEF;;;;GAIG;AACI,MAAM,UAAU,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAmB,EAAsB,EAAE;IACvG,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAEhF,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,OAAO,GAAc,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,4CAA4C;QAC5C,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAExD,OAAO,CAAC,IAAI,CAAC;YACX,KAAK;YACL,KAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAlBW,QAAA,UAAU,cAkBrB;AAEF;;;;GAIG;AACI,MAAM,SAAS,GAAG,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAmB,EAAoB,EAAE;IACpG,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,uBAAgB,EAAC,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE1E,OAAO,KAAK,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB"}
@@ -1,3 +1,4 @@
1
+ import type { EMode } from "@maci-protocol/core";
1
2
  import type { Signer } from "ethers";
2
3
  /**
3
4
  * Interface for the tally file data.
@@ -21,9 +22,9 @@ export interface ITallyData {
21
22
  */
22
23
  chainId?: string;
23
24
  /**
24
- * Whether the poll is using quadratic voting or not.
25
+ * Voting mode
25
26
  */
26
- isQuadratic: boolean;
27
+ mode: EMode;
27
28
  /**
28
29
  * The address of the Tally contract.
29
30
  */
@@ -67,19 +68,19 @@ export interface ITallyData {
67
68
  commitment: string;
68
69
  };
69
70
  /**
70
- * The per VO spent voice credits.
71
+ * The per vote option spent voice credits.
71
72
  */
72
- perVOSpentVoiceCredits?: {
73
+ perVoteOptionSpentVoiceCredits?: {
73
74
  /**
74
- * The tally of the per VO spent voice credits.
75
+ * The tally of the per vote option spent voice credits.
75
76
  */
76
77
  tally: string[];
77
78
  /**
78
- * The salt of the per VO spent voice credits.
79
+ * The salt of the per vote option spent voice credits.
79
80
  */
80
81
  salt: string;
81
82
  /**
82
- * The commitment of the per VO spent voice credits.
83
+ * The commitment of the per vote option spent voice credits.
83
84
  */
84
85
  commitment: string;
85
86
  };
@@ -111,7 +112,7 @@ export interface IVerifyArgs {
111
112
  /**
112
113
  * The number of vote options
113
114
  */
114
- numVoteOptions: number;
115
+ totalVoteOptions: number;
115
116
  /**
116
117
  * The vote option tree depth
117
118
  */
@@ -145,21 +146,21 @@ export interface ITallyCommitments {
145
146
  /**
146
147
  * The new per vote option spent voice credits commitment
147
148
  */
148
- newPerVOSpentVoiceCreditsCommitment?: bigint;
149
+ newPerVoteOptionSpentVoiceCreditsCommitment?: bigint;
149
150
  /**
150
151
  * The commitment to the results tree root
151
152
  */
152
153
  newResultsCommitment: bigint;
153
154
  }
154
155
  /**
155
- * Inputs for circuit TallyVotes
156
+ * Inputs for circuit VoteTally
156
157
  */
157
- export interface ITallyVotesInputs {
158
+ export interface IVoteTallyInputs {
158
159
  stateRoot: bigint;
159
160
  ballotRoot: bigint;
160
161
  sbSalt: bigint;
161
162
  index: bigint;
162
- numSignUps: bigint;
163
+ totalSignups: bigint;
163
164
  sbCommitment: bigint;
164
165
  currentTallyCommitment: bigint;
165
166
  newTallyCommitment: bigint;
@@ -170,10 +171,49 @@ export interface ITallyVotesInputs {
170
171
  currentResultsRootSalt: bigint;
171
172
  currentSpentVoiceCreditSubtotal: bigint;
172
173
  currentSpentVoiceCreditSubtotalSalt: bigint;
173
- currentPerVOSpentVoiceCredits: bigint[];
174
- currentPerVOSpentVoiceCreditsRootSalt: bigint;
174
+ currentPerVoteOptionSpentVoiceCredits: bigint[];
175
+ currentPerVoteOptionSpentVoiceCreditsRootSalt: bigint;
175
176
  newResultsRootSalt: bigint;
176
- newPerVOSpentVoiceCreditsRootSalt: bigint;
177
+ newPerVoteOptionSpentVoiceCreditsRootSalt: bigint;
177
178
  newSpentVoiceCreditSubtotalSalt: bigint;
178
179
  }
180
+ /**
181
+ * Get results args
182
+ */
183
+ export interface IGetResultsArgs {
184
+ /**
185
+ * The address of the MACI contract
186
+ */
187
+ maciAddress: string;
188
+ /**
189
+ * The ID of the poll
190
+ */
191
+ pollId: string;
192
+ /**
193
+ * The signer
194
+ */
195
+ signer: Signer;
196
+ }
197
+ /**
198
+ * Get result per option args
199
+ */
200
+ export interface IGetResultPerOptionArgs extends IGetResultsArgs {
201
+ /**
202
+ * The index of the vote option
203
+ */
204
+ index: number;
205
+ }
206
+ /**
207
+ * Interface for the result of a voting option
208
+ */
209
+ export interface IResult {
210
+ /**
211
+ * The result
212
+ */
213
+ value: bigint;
214
+ /**
215
+ * Whether the result is set or not
216
+ */
217
+ isSet: boolean;
218
+ }
179
219
  //# sourceMappingURL=types.d.ts.map