@digitaldefiance/node-ecies-lib 4.8.2 → 4.10.6

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 (252) hide show
  1. package/package.json +10 -5
  2. package/src/constants.d.ts.map +1 -1
  3. package/src/constants.js +31 -25
  4. package/src/constants.js.map +1 -1
  5. package/src/interfaces/index.d.ts +1 -2
  6. package/src/interfaces/index.d.ts.map +1 -1
  7. package/src/interfaces/index.js +6 -3
  8. package/src/interfaces/index.js.map +1 -1
  9. package/src/interfaces/member.d.ts +30 -12
  10. package/src/interfaces/member.d.ts.map +1 -1
  11. package/src/interfaces/platform-buffer.d.ts +9 -0
  12. package/src/interfaces/platform-buffer.d.ts.map +1 -0
  13. package/src/interfaces/platform-buffer.js +3 -0
  14. package/src/interfaces/platform-buffer.js.map +1 -0
  15. package/src/interfaces/platform-id.d.ts +2 -2
  16. package/src/interfaces/platform-id.d.ts.map +1 -1
  17. package/src/lib/id-providers/buffer-provider.d.ts +54 -0
  18. package/src/lib/id-providers/buffer-provider.d.ts.map +1 -0
  19. package/src/lib/id-providers/buffer-provider.js +93 -0
  20. package/src/lib/id-providers/buffer-provider.js.map +1 -0
  21. package/src/lib/index.d.ts +1 -0
  22. package/src/lib/index.d.ts.map +1 -1
  23. package/src/lib/index.js +1 -0
  24. package/src/lib/index.js.map +1 -1
  25. package/src/lib/voting/audit.d.ts +39 -48
  26. package/src/lib/voting/audit.d.ts.map +1 -1
  27. package/src/lib/voting/audit.js +103 -111
  28. package/src/lib/voting/audit.js.map +1 -1
  29. package/src/lib/voting/bulletin-board.d.ts +47 -81
  30. package/src/lib/voting/bulletin-board.d.ts.map +1 -1
  31. package/src/lib/voting/bulletin-board.js +95 -231
  32. package/src/lib/voting/bulletin-board.js.map +1 -1
  33. package/src/lib/voting/encoder.d.ts +7 -16
  34. package/src/lib/voting/encoder.d.ts.map +1 -1
  35. package/src/lib/voting/encoder.js +11 -107
  36. package/src/lib/voting/encoder.js.map +1 -1
  37. package/src/lib/voting/enumerations/index.d.ts +6 -0
  38. package/src/lib/voting/enumerations/index.d.ts.map +1 -0
  39. package/src/lib/voting/enumerations/index.js +14 -0
  40. package/src/lib/voting/enumerations/index.js.map +1 -0
  41. package/src/lib/voting/event-logger.d.ts +13 -74
  42. package/src/lib/voting/event-logger.d.ts.map +1 -1
  43. package/src/lib/voting/event-logger.js +19 -140
  44. package/src/lib/voting/event-logger.js.map +1 -1
  45. package/src/lib/voting/examples.d.ts +112 -0
  46. package/src/lib/voting/examples.d.ts.map +1 -0
  47. package/src/lib/voting/examples.js +386 -0
  48. package/src/lib/voting/examples.js.map +1 -0
  49. package/src/lib/voting/factory.d.ts +38 -9
  50. package/src/lib/voting/factory.d.ts.map +1 -1
  51. package/src/lib/voting/factory.js +42 -8
  52. package/src/lib/voting/factory.js.map +1 -1
  53. package/src/lib/voting/hierarchical-aggregator.d.ts +44 -0
  54. package/src/lib/voting/hierarchical-aggregator.d.ts.map +1 -0
  55. package/src/lib/voting/hierarchical-aggregator.js +56 -0
  56. package/src/lib/voting/hierarchical-aggregator.js.map +1 -0
  57. package/src/lib/voting/index.d.ts +43 -7
  58. package/src/lib/voting/index.d.ts.map +1 -1
  59. package/src/lib/voting/index.js +53 -10
  60. package/src/lib/voting/index.js.map +1 -1
  61. package/src/lib/voting/interfaces/aggregated-tally.d.ts +10 -0
  62. package/src/lib/voting/interfaces/aggregated-tally.d.ts.map +1 -0
  63. package/src/lib/voting/interfaces/aggregated-tally.js +3 -0
  64. package/src/lib/voting/interfaces/aggregated-tally.js.map +1 -0
  65. package/src/lib/voting/interfaces/audit-entry.d.ts +10 -0
  66. package/src/lib/voting/interfaces/audit-entry.d.ts.map +1 -0
  67. package/src/lib/voting/interfaces/audit-entry.js +3 -0
  68. package/src/lib/voting/interfaces/audit-entry.js.map +1 -0
  69. package/src/lib/voting/interfaces/audit-log.d.ts +10 -0
  70. package/src/lib/voting/interfaces/audit-log.d.ts.map +1 -0
  71. package/src/lib/voting/interfaces/audit-log.js +3 -0
  72. package/src/lib/voting/interfaces/audit-log.js.map +1 -0
  73. package/src/lib/voting/interfaces/bulletin-board-entry.d.ts +10 -0
  74. package/src/lib/voting/interfaces/bulletin-board-entry.d.ts.map +1 -0
  75. package/src/lib/voting/interfaces/bulletin-board-entry.js +3 -0
  76. package/src/lib/voting/interfaces/bulletin-board-entry.js.map +1 -0
  77. package/src/lib/voting/interfaces/bulletin-board.d.ts +10 -0
  78. package/src/lib/voting/interfaces/bulletin-board.d.ts.map +1 -0
  79. package/src/lib/voting/interfaces/bulletin-board.js +3 -0
  80. package/src/lib/voting/interfaces/bulletin-board.js.map +1 -0
  81. package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts +10 -0
  82. package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts.map +1 -0
  83. package/src/lib/voting/interfaces/checkpoint-manager-extended.js +3 -0
  84. package/src/lib/voting/interfaces/checkpoint-manager-extended.js.map +1 -0
  85. package/src/lib/voting/interfaces/checkpoint-manager.d.ts +9 -0
  86. package/src/lib/voting/interfaces/checkpoint-manager.d.ts.map +1 -0
  87. package/src/lib/voting/interfaces/checkpoint-manager.js +3 -0
  88. package/src/lib/voting/interfaces/checkpoint-manager.js.map +1 -0
  89. package/src/lib/voting/interfaces/checkpoint-metadata.d.ts +8 -0
  90. package/src/lib/voting/interfaces/checkpoint-metadata.d.ts.map +1 -0
  91. package/src/lib/voting/interfaces/checkpoint-metadata.js +3 -0
  92. package/src/lib/voting/interfaces/checkpoint-metadata.js.map +1 -0
  93. package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts +8 -0
  94. package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts.map +1 -0
  95. package/src/lib/voting/interfaces/ecies-service-with-voting.js +3 -0
  96. package/src/lib/voting/interfaces/ecies-service-with-voting.js.map +1 -0
  97. package/src/lib/voting/interfaces/encrypted-vote.d.ts +10 -0
  98. package/src/lib/voting/interfaces/encrypted-vote.d.ts.map +1 -0
  99. package/src/lib/voting/interfaces/encrypted-vote.js +3 -0
  100. package/src/lib/voting/interfaces/encrypted-vote.js.map +1 -0
  101. package/src/lib/voting/interfaces/event-log-entry.d.ts +10 -0
  102. package/src/lib/voting/interfaces/event-log-entry.d.ts.map +1 -0
  103. package/src/lib/voting/interfaces/event-log-entry.js +3 -0
  104. package/src/lib/voting/interfaces/event-log-entry.js.map +1 -0
  105. package/src/lib/voting/interfaces/event-logger.d.ts +10 -0
  106. package/src/lib/voting/interfaces/event-logger.d.ts.map +1 -0
  107. package/src/lib/voting/interfaces/event-logger.js +3 -0
  108. package/src/lib/voting/interfaces/event-logger.js.map +1 -0
  109. package/src/lib/voting/interfaces/index.d.ts +37 -0
  110. package/src/lib/voting/interfaces/index.d.ts.map +1 -0
  111. package/src/lib/voting/interfaces/index.js +9 -0
  112. package/src/lib/voting/interfaces/index.js.map +1 -0
  113. package/src/lib/voting/interfaces/jurisdiction-config.d.ts +10 -0
  114. package/src/lib/voting/interfaces/jurisdiction-config.d.ts.map +1 -0
  115. package/src/lib/voting/interfaces/jurisdiction-config.js +3 -0
  116. package/src/lib/voting/interfaces/jurisdiction-config.js.map +1 -0
  117. package/src/lib/voting/interfaces/plaintext-vote.d.ts +10 -0
  118. package/src/lib/voting/interfaces/plaintext-vote.d.ts.map +1 -0
  119. package/src/lib/voting/interfaces/plaintext-vote.js +3 -0
  120. package/src/lib/voting/interfaces/plaintext-vote.js.map +1 -0
  121. package/src/lib/voting/interfaces/poll-configuration.d.ts +8 -0
  122. package/src/lib/voting/interfaces/poll-configuration.d.ts.map +1 -0
  123. package/src/lib/voting/interfaces/poll-configuration.js +3 -0
  124. package/src/lib/voting/interfaces/poll-configuration.js.map +1 -0
  125. package/src/lib/voting/interfaces/poll-results.d.ts +8 -0
  126. package/src/lib/voting/interfaces/poll-results.d.ts.map +1 -0
  127. package/src/lib/voting/interfaces/poll-results.js +3 -0
  128. package/src/lib/voting/interfaces/poll-results.js.map +1 -0
  129. package/src/lib/voting/interfaces/poll-tallier.d.ts +10 -0
  130. package/src/lib/voting/interfaces/poll-tallier.d.ts.map +1 -0
  131. package/src/lib/voting/interfaces/poll-tallier.js +3 -0
  132. package/src/lib/voting/interfaces/poll-tallier.js.map +1 -0
  133. package/src/lib/voting/interfaces/poll.d.ts +10 -0
  134. package/src/lib/voting/interfaces/poll.d.ts.map +1 -0
  135. package/src/lib/voting/interfaces/poll.js +3 -0
  136. package/src/lib/voting/interfaces/poll.js.map +1 -0
  137. package/src/lib/voting/interfaces/round-result.d.ts +8 -0
  138. package/src/lib/voting/interfaces/round-result.d.ts.map +1 -0
  139. package/src/lib/voting/interfaces/round-result.js +3 -0
  140. package/src/lib/voting/interfaces/round-result.js.map +1 -0
  141. package/src/lib/voting/interfaces/state-snapshot.d.ts +15 -0
  142. package/src/lib/voting/interfaces/state-snapshot.d.ts.map +1 -0
  143. package/src/lib/voting/interfaces/state-snapshot.js +3 -0
  144. package/src/lib/voting/interfaces/state-snapshot.js.map +1 -0
  145. package/src/lib/voting/interfaces/supermajority-config.d.ts +8 -0
  146. package/src/lib/voting/interfaces/supermajority-config.d.ts.map +1 -0
  147. package/src/lib/voting/interfaces/supermajority-config.js +3 -0
  148. package/src/lib/voting/interfaces/supermajority-config.js.map +1 -0
  149. package/src/lib/voting/interfaces/tally-proof.d.ts +10 -0
  150. package/src/lib/voting/interfaces/tally-proof.d.ts.map +1 -0
  151. package/src/lib/voting/interfaces/tally-proof.js +3 -0
  152. package/src/lib/voting/interfaces/tally-proof.js.map +1 -0
  153. package/src/lib/voting/interfaces/vote-encoder.d.ts +10 -0
  154. package/src/lib/voting/interfaces/vote-encoder.d.ts.map +1 -0
  155. package/src/lib/voting/interfaces/vote-encoder.js +3 -0
  156. package/src/lib/voting/interfaces/vote-encoder.js.map +1 -0
  157. package/src/lib/voting/interfaces/vote-logger-extended.d.ts +10 -0
  158. package/src/lib/voting/interfaces/vote-logger-extended.d.ts.map +1 -0
  159. package/src/lib/voting/interfaces/vote-logger-extended.js +3 -0
  160. package/src/lib/voting/interfaces/vote-logger-extended.js.map +1 -0
  161. package/src/lib/voting/interfaces/vote-logger.d.ts +9 -0
  162. package/src/lib/voting/interfaces/vote-logger.d.ts.map +1 -0
  163. package/src/lib/voting/interfaces/vote-logger.js +3 -0
  164. package/src/lib/voting/interfaces/vote-logger.js.map +1 -0
  165. package/src/lib/voting/interfaces/voting-consts.d.ts +9 -0
  166. package/src/lib/voting/interfaces/voting-consts.d.ts.map +1 -0
  167. package/src/lib/voting/interfaces/voting-consts.js +3 -0
  168. package/src/lib/voting/interfaces/voting-consts.js.map +1 -0
  169. package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts +7 -0
  170. package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts.map +1 -0
  171. package/src/lib/voting/interfaces/voting-key-derivation-options.js +3 -0
  172. package/src/lib/voting/interfaces/voting-key-derivation-options.js.map +1 -0
  173. package/src/lib/voting/interfaces/voting-poll-results.d.ts +7 -0
  174. package/src/lib/voting/interfaces/voting-poll-results.d.ts.map +1 -0
  175. package/src/lib/voting/interfaces/voting-poll-results.js +3 -0
  176. package/src/lib/voting/interfaces/voting-poll-results.js.map +1 -0
  177. package/src/lib/voting/interfaces/voting-receipt.d.ts +10 -0
  178. package/src/lib/voting/interfaces/voting-receipt.d.ts.map +1 -0
  179. package/src/lib/voting/interfaces/voting-receipt.js +3 -0
  180. package/src/lib/voting/interfaces/voting-receipt.js.map +1 -0
  181. package/src/lib/voting/interfaces/voting-security-validator.d.ts +8 -0
  182. package/src/lib/voting/interfaces/voting-security-validator.d.ts.map +1 -0
  183. package/src/lib/voting/interfaces/voting-security-validator.js +3 -0
  184. package/src/lib/voting/interfaces/voting-security-validator.js.map +1 -0
  185. package/src/lib/voting/node-persistent-state.d.ts +40 -0
  186. package/src/lib/voting/node-persistent-state.d.ts.map +1 -0
  187. package/src/lib/voting/node-persistent-state.js +222 -0
  188. package/src/lib/voting/node-persistent-state.js.map +1 -0
  189. package/src/lib/voting/persistent-state.d.ts +44 -0
  190. package/src/lib/voting/persistent-state.d.ts.map +1 -0
  191. package/src/lib/voting/persistent-state.js +106 -0
  192. package/src/lib/voting/persistent-state.js.map +1 -0
  193. package/src/lib/voting/poll-core.d.ts +14 -29
  194. package/src/lib/voting/poll-core.d.ts.map +1 -1
  195. package/src/lib/voting/poll-core.js +13 -176
  196. package/src/lib/voting/poll-core.js.map +1 -1
  197. package/src/lib/voting/poll.js +3 -3
  198. package/src/lib/voting/poll.js.map +1 -1
  199. package/src/lib/voting/security.d.ts +9 -15
  200. package/src/lib/voting/security.d.ts.map +1 -1
  201. package/src/lib/voting/security.js +12 -44
  202. package/src/lib/voting/security.js.map +1 -1
  203. package/src/lib/voting/tallier.d.ts +11 -20
  204. package/src/lib/voting/tallier.d.ts.map +1 -1
  205. package/src/lib/voting/tallier.js +17 -366
  206. package/src/lib/voting/tallier.js.map +1 -1
  207. package/src/lib/voting/test-voter-pool.d.ts +16 -0
  208. package/src/lib/voting/test-voter-pool.d.ts.map +1 -0
  209. package/src/lib/voting/test-voter-pool.js +69 -0
  210. package/src/lib/voting/test-voter-pool.js.map +1 -0
  211. package/src/lib/voting/us-election-example.d.ts +2 -0
  212. package/src/lib/voting/us-election-example.d.ts.map +1 -0
  213. package/src/lib/voting/us-election-example.js +170 -0
  214. package/src/lib/voting/us-election-example.js.map +1 -0
  215. package/src/member.d.ts +4 -1
  216. package/src/member.d.ts.map +1 -1
  217. package/src/member.js +40 -16
  218. package/src/member.js.map +1 -1
  219. package/src/secure-buffer.d.ts +1 -2
  220. package/src/secure-buffer.d.ts.map +1 -1
  221. package/src/secure-buffer.js +3 -9
  222. package/src/secure-buffer.js.map +1 -1
  223. package/src/services/ecies/crypto-core.d.ts.map +1 -1
  224. package/src/services/ecies/crypto-core.js +24 -0
  225. package/src/services/ecies/crypto-core.js.map +1 -1
  226. package/src/services/ecies/multi-recipient.d.ts +9 -1
  227. package/src/services/ecies/multi-recipient.d.ts.map +1 -1
  228. package/src/services/ecies/multi-recipient.js +153 -21
  229. package/src/services/ecies/multi-recipient.js.map +1 -1
  230. package/src/services/ecies/service.d.ts +56 -15
  231. package/src/services/ecies/service.d.ts.map +1 -1
  232. package/src/services/ecies/service.js +196 -39
  233. package/src/services/ecies/service.js.map +1 -1
  234. package/src/services/ecies/single-recipient.d.ts.map +1 -1
  235. package/src/services/ecies/single-recipient.js +4 -2
  236. package/src/services/ecies/single-recipient.js.map +1 -1
  237. package/src/services/encryption-stream.d.ts +1 -1
  238. package/src/services/encryption-stream.d.ts.map +1 -1
  239. package/src/services/encryption-stream.js +4 -8
  240. package/src/services/encryption-stream.js.map +1 -1
  241. package/src/services/multi-recipient-processor.d.ts +5 -2
  242. package/src/services/multi-recipient-processor.d.ts.map +1 -1
  243. package/src/services/multi-recipient-processor.js +29 -14
  244. package/src/services/multi-recipient-processor.js.map +1 -1
  245. package/src/test-mocks/mock-backend-member.d.ts +22 -3
  246. package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
  247. package/src/test-mocks/mock-backend-member.js +71 -0
  248. package/src/test-mocks/mock-backend-member.js.map +1 -1
  249. package/src/lib/voting/types.d.ts +0 -67
  250. package/src/lib/voting/types.d.ts.map +0 -1
  251. package/src/lib/voting/types.js +0 -29
  252. package/src/lib/voting/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"poll-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/poll-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poll-core.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/poll-core.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,0DAGoC;AAQpC;;;;;;GAMG;AACH,MAAa,IAAsC,SAAQ,gBAAa;IACtE,YACE,EAAO,EACP,OAAiB,EACjB,MAAoB,EACpB,SAAuB,EACvB,eAA0B,EAC1B,SAAkB,EAClB,aAAuB;QAEvB,6DAA6D;QAC7D,iFAAiF;QACjF,KAAK,CACH,EAAE,EACF,OAAO,EACP,MAAM,EACN,SAAoD,EACpD,eAAe,EACf,SAAS,EACT,aAAa,CACd,CAAC;IACJ,CAAC;CAKF;AA1BD,oBA0BC"}
@@ -44,7 +44,7 @@ class VotingPoll {
44
44
  }
45
45
  async generateEncryptedReceipt(member) {
46
46
  const randomNonce = (0, crypto_1.randomBytes)(16).toString(Constants.VOTING.KEY_FORMAT);
47
- const memberId = Constants.idProvider.serialize(Constants.idProvider.toBytes(member.id));
47
+ const memberId = member.idProvider.serialize(member.idProvider.toBytes(member.id));
48
48
  const hashInput = `${Date.now()}-${randomNonce}-${memberId}`;
49
49
  const hash = (0, crypto_1.createHash)('sha256').update(hashInput).digest();
50
50
  const signature = this.eciesService.signMessage(this.ecKeyPair.privateKey, hash);
@@ -55,11 +55,11 @@ class VotingPoll {
55
55
  return encryptedReceipt;
56
56
  }
57
57
  memberVoted(member) {
58
- const memberId = Constants.idProvider.serialize(Constants.idProvider.toBytes(member.id));
58
+ const memberId = member.idProvider.serialize(member.idProvider.toBytes(member.id));
59
59
  return this.receipts.has(memberId);
60
60
  }
61
61
  verifyReceipt(member, encryptedReceipt) {
62
- const memberId = Constants.idProvider.serialize(Constants.idProvider.toBytes(member.id));
62
+ const memberId = member.idProvider.serialize(member.idProvider.toBytes(member.id));
63
63
  const foundReceipt = this.receipts.get(memberId);
64
64
  if (!foundReceipt) {
65
65
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/poll.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/poll.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,15 @@
1
1
  /**
2
2
  * Voting Security Validator
3
3
  * Enforces cryptographic security requirements
4
+ * Extends ecies-lib VotingSecurityValidator
4
5
  */
5
- import { VotingMethod } from './types';
6
- export declare enum SecurityLevel {
7
- FullyHomomorphic = "fully-homomorphic",
8
- MultiRound = "multi-round",
9
- Insecure = "insecure"
10
- }
11
- export declare const VOTING_SECURITY: Record<VotingMethod, SecurityLevel>;
12
- export declare class VotingSecurityValidator {
13
- static isFullySecure(method: VotingMethod): boolean;
14
- static requiresMultipleRounds(method: VotingMethod): boolean;
15
- static getSecurityLevel(method: VotingMethod): SecurityLevel;
16
- static validate(method: VotingMethod, options?: {
17
- requireFullySecure?: boolean;
18
- allowInsecure?: boolean;
19
- }): void;
6
+ import { VotingSecurityValidator as BaseVotingSecurityValidator } from '@digitaldefiance/ecies-lib';
7
+ export { SecurityLevel } from './enumerations';
8
+ export declare const VOTING_SECURITY: Record<import("@digitaldefiance/ecies-lib").VotingMethod, import("@digitaldefiance/ecies-lib").SecurityLevel>;
9
+ /**
10
+ * Node.js VotingSecurityValidator that extends ecies-lib VotingSecurityValidator
11
+ * No Buffer-specific changes needed as this class doesn't handle binary data
12
+ */
13
+ export declare class VotingSecurityValidator extends BaseVotingSecurityValidator {
20
14
  }
21
15
  //# sourceMappingURL=security.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/security.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,oBAAY,aAAa;IACvB,gBAAgB,sBAAsB;IACtC,UAAU,gBAAgB;IAC1B,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,YAAY,EAAE,aAAa,CAgB/D,CAAC;AAEF,qBAAa,uBAAuB;IAClC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAInD,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO;IAI5D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,aAAa;IAI5D,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;QAAE,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,IAAI;CAgBR"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EACL,uBAAuB,IAAI,2BAA2B,EAEvD,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,eAAO,MAAM,eAAe,+GAAuB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,2BAA2B;CAGvE"}
@@ -4,51 +4,19 @@ exports.VotingSecurityValidator = exports.VOTING_SECURITY = exports.SecurityLeve
4
4
  /**
5
5
  * Voting Security Validator
6
6
  * Enforces cryptographic security requirements
7
+ * Extends ecies-lib VotingSecurityValidator
7
8
  */
8
- const types_1 = require("./types");
9
- var SecurityLevel;
10
- (function (SecurityLevel) {
11
- SecurityLevel["FullyHomomorphic"] = "fully-homomorphic";
12
- SecurityLevel["MultiRound"] = "multi-round";
13
- SecurityLevel["Insecure"] = "insecure";
14
- })(SecurityLevel || (exports.SecurityLevel = SecurityLevel = {}));
15
- exports.VOTING_SECURITY = {
16
- [types_1.VotingMethod.Plurality]: SecurityLevel.FullyHomomorphic,
17
- [types_1.VotingMethod.Approval]: SecurityLevel.FullyHomomorphic,
18
- [types_1.VotingMethod.Weighted]: SecurityLevel.FullyHomomorphic,
19
- [types_1.VotingMethod.Borda]: SecurityLevel.FullyHomomorphic,
20
- [types_1.VotingMethod.Score]: SecurityLevel.FullyHomomorphic,
21
- [types_1.VotingMethod.YesNo]: SecurityLevel.FullyHomomorphic,
22
- [types_1.VotingMethod.YesNoAbstain]: SecurityLevel.FullyHomomorphic,
23
- [types_1.VotingMethod.Supermajority]: SecurityLevel.FullyHomomorphic,
24
- [types_1.VotingMethod.RankedChoice]: SecurityLevel.MultiRound,
25
- [types_1.VotingMethod.TwoRound]: SecurityLevel.MultiRound,
26
- [types_1.VotingMethod.STAR]: SecurityLevel.MultiRound,
27
- [types_1.VotingMethod.STV]: SecurityLevel.MultiRound,
28
- [types_1.VotingMethod.Quadratic]: SecurityLevel.Insecure,
29
- [types_1.VotingMethod.Consensus]: SecurityLevel.Insecure,
30
- [types_1.VotingMethod.ConsentBased]: SecurityLevel.Insecure,
31
- };
32
- class VotingSecurityValidator {
33
- static isFullySecure(method) {
34
- return exports.VOTING_SECURITY[method] === SecurityLevel.FullyHomomorphic;
35
- }
36
- static requiresMultipleRounds(method) {
37
- return exports.VOTING_SECURITY[method] === SecurityLevel.MultiRound;
38
- }
39
- static getSecurityLevel(method) {
40
- return exports.VOTING_SECURITY[method];
41
- }
42
- static validate(method, options) {
43
- const level = exports.VOTING_SECURITY[method];
44
- if (level === SecurityLevel.Insecure && !options?.allowInsecure) {
45
- throw new Error(`Voting method ${method} is not cryptographically secure with Paillier. Set allowInsecure: true to use anyway (NOT RECOMMENDED).`);
46
- }
47
- if (options?.requireFullySecure &&
48
- level !== SecurityLevel.FullyHomomorphic) {
49
- throw new Error(`Voting method ${method} requires intermediate decryption. Use a fully homomorphic method for maximum security.`);
50
- }
51
- }
9
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
10
+ // Re-export SecurityLevel from enumerations
11
+ var enumerations_1 = require("./enumerations");
12
+ Object.defineProperty(exports, "SecurityLevel", { enumerable: true, get: function () { return enumerations_1.SecurityLevel; } });
13
+ // Re-export the VOTING_SECURITY constant from ecies-lib
14
+ exports.VOTING_SECURITY = ecies_lib_1.VOTING_SECURITY;
15
+ /**
16
+ * Node.js VotingSecurityValidator that extends ecies-lib VotingSecurityValidator
17
+ * No Buffer-specific changes needed as this class doesn't handle binary data
18
+ */
19
+ class VotingSecurityValidator extends ecies_lib_1.VotingSecurityValidator {
52
20
  }
53
21
  exports.VotingSecurityValidator = VotingSecurityValidator;
54
22
  //# sourceMappingURL=security.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/security.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,mCAAuC;AAEvC,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,2CAA0B,CAAA;IAC1B,sCAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAEY,QAAA,eAAe,GAAwC;IAClE,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACxD,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACvD,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACvD,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACpD,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACpD,CAAC,oBAAY,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACpD,CAAC,oBAAY,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,gBAAgB;IAC3D,CAAC,oBAAY,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC,gBAAgB;IAC5D,CAAC,oBAAY,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,UAAU;IACrD,CAAC,oBAAY,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU;IACjD,CAAC,oBAAY,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,UAAU;IAC7C,CAAC,oBAAY,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC,UAAU;IAC5C,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ;IAChD,CAAC,oBAAY,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,QAAQ;IAChD,CAAC,oBAAY,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,QAAQ;CACpD,CAAC;AAEF,MAAa,uBAAuB;IAClC,MAAM,CAAC,aAAa,CAAC,MAAoB;QACvC,OAAO,uBAAe,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,gBAAgB,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,MAAoB;QAChD,OAAO,uBAAe,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,UAAU,CAAC;IAC9D,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,MAAoB;QAC1C,OAAO,uBAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,QAAQ,CACb,MAAoB,EACpB,OAAmE;QAEnE,MAAM,KAAK,GAAG,uBAAe,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,aAAa,CAAC,QAAQ,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CACb,iBAAiB,MAAM,0GAA0G,CAClI,CAAC;QACJ,CAAC;QACD,IACE,OAAO,EAAE,kBAAkB;YAC3B,KAAK,KAAK,aAAa,CAAC,gBAAgB,EACxC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,iBAAiB,MAAM,yFAAyF,CACjH,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAhCD,0DAgCC"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/security.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,0DAGoC;AAEpC,4CAA4C;AAC5C,+CAA+C;AAAtC,6GAAA,aAAa,OAAA;AAEtB,wDAAwD;AAC3C,QAAA,eAAe,GAAG,2BAAoB,CAAC;AAEpD;;;GAGG;AACH,MAAa,uBAAwB,SAAQ,mCAA2B;CAGvE;AAHD,0DAGC"}
@@ -1,28 +1,19 @@
1
1
  /**
2
2
  * Poll Tallier - Node.js optimized
3
+ * Extends ecies-lib PollTallier with Buffer support
3
4
  */
5
+ import { PollTallier as BasePollTallier } from '@digitaldefiance/ecies-lib';
4
6
  import type { PrivateKey, PublicKey } from 'paillier-bigint';
5
7
  import type { PlatformID } from '../../interfaces';
6
8
  import type { IMember } from '../../interfaces/member';
7
- import { Poll } from './poll-core';
8
- import { type PollResults } from './types';
9
- export declare class PollTallier<TID extends PlatformID = Buffer> {
10
- private readonly __authority;
11
- private readonly votingPrivateKey;
12
- private readonly __votingPublicKey;
13
- constructor(__authority: IMember<TID>, votingPrivateKey: PrivateKey, __votingPublicKey: PublicKey);
14
- tally(poll: Poll<TID>): PollResults;
15
- private _tallyAdditive;
16
- private _tallyScored;
17
- private _tallyYesNo;
18
- private _tallyRankedChoice;
19
- private _decryptRankings;
20
- private _countFirstChoices;
21
- private _tallyQuadratic;
22
- private _tallyConsensus;
23
- private _tallyConsentBased;
24
- private _tallyTwoRound;
25
- private _tallySTAR;
26
- private _tallySTV;
9
+ /**
10
+ * Node.js PollTallier that extends ecies-lib PollTallier
11
+ * Specializes the generic TID parameter to Buffer for Node.js compatibility
12
+ *
13
+ * All tallying logic is inherited from ecies-lib PollTallier.
14
+ * This class only provides type specialization for Buffer-based operations.
15
+ */
16
+ export declare class PollTallier<TID extends PlatformID = Buffer> extends BasePollTallier<TID> {
17
+ constructor(authority: IMember<TID>, votingPrivateKey: PrivateKey, votingPublicKey: PublicKey);
27
18
  }
28
19
  //# sourceMappingURL=tallier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tallier.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/tallier.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAgB,KAAK,WAAW,EAAoB,MAAM,SAAS,CAAC;AAE3E,qBAAa,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAEpD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAFjB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,EACzB,gBAAgB,EAAE,UAAU,EAC5B,iBAAiB,EAAE,SAAS;IAM/C,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,WAAW;IAmCnC,OAAO,CAAC,cAAc;IAyBtB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB;IA6F1B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,kBAAkB;IAiB1B,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,cAAc;IA+CtB,OAAO,CAAC,UAAU;IAqClB,OAAO,CAAC,SAAS;CA2DlB"}
1
+ {"version":3,"file":"tallier.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/tallier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,WAAW,IAAI,eAAe,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;;;;;GAMG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,eAAe,CAAC,GAAG,CAAC;gBAE1B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,EACvB,gBAAgB,EAAE,UAAU,EAC5B,eAAe,EAAE,SAAS;CAc7B"}
@@ -1,372 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PollTallier = void 0;
4
- const types_1 = require("./types");
5
- class PollTallier {
6
- __authority;
7
- votingPrivateKey;
8
- __votingPublicKey;
9
- constructor(__authority, votingPrivateKey, __votingPublicKey) {
10
- this.__authority = __authority;
11
- this.votingPrivateKey = votingPrivateKey;
12
- this.__votingPublicKey = __votingPublicKey;
13
- if (!__authority.votingPrivateKey)
14
- throw new Error('Authority must have private key');
15
- }
16
- tally(poll) {
17
- if (!poll.isClosed)
18
- throw new Error('Poll must be closed');
19
- const votes = poll.getEncryptedVotes();
20
- const choiceCount = poll.choices.length;
21
- switch (poll.method) {
22
- case types_1.VotingMethod.Plurality:
23
- case types_1.VotingMethod.Approval:
24
- case types_1.VotingMethod.Weighted:
25
- return this._tallyAdditive(poll, votes, choiceCount);
26
- case types_1.VotingMethod.Borda:
27
- case types_1.VotingMethod.Score:
28
- return this._tallyScored(poll, votes, choiceCount);
29
- case types_1.VotingMethod.YesNo:
30
- case types_1.VotingMethod.YesNoAbstain:
31
- case types_1.VotingMethod.Supermajority:
32
- return this._tallyYesNo(poll, votes, choiceCount);
33
- case types_1.VotingMethod.RankedChoice:
34
- return this._tallyRankedChoice(poll, votes, choiceCount);
35
- case types_1.VotingMethod.TwoRound:
36
- return this._tallyTwoRound(poll, votes, choiceCount);
37
- case types_1.VotingMethod.STAR:
38
- return this._tallySTAR(poll, votes, choiceCount);
39
- case types_1.VotingMethod.STV:
40
- return this._tallySTV(poll, votes, choiceCount);
41
- case types_1.VotingMethod.Quadratic:
42
- return this._tallyQuadratic(poll, votes, choiceCount);
43
- case types_1.VotingMethod.Consensus:
44
- return this._tallyConsensus(poll, votes, choiceCount);
45
- case types_1.VotingMethod.ConsentBased:
46
- return this._tallyConsentBased(poll, votes, choiceCount);
47
- default:
48
- throw new Error(`Unknown voting method: ${poll.method}`);
49
- }
50
- }
51
- _tallyAdditive(poll, votes, choiceCount) {
52
- const tallies = new Array(choiceCount).fill(0n);
53
- for (const encrypted of votes.values()) {
54
- for (let i = 0; i < choiceCount; i++) {
55
- tallies[i] += this.votingPrivateKey.decrypt(encrypted[i]);
56
- }
57
- }
58
- const maxVotes = tallies.reduce((max, v) => (v > max ? v : max), 0n);
59
- const winners = tallies
60
- .map((v, i) => (v === maxVotes ? i : -1))
61
- .filter((i) => i >= 0);
62
- return {
63
- method: poll.method,
64
- choices: [...poll.choices],
65
- winner: winners.length === 1 ? winners[0] : undefined,
66
- winners: winners.length > 1 ? winners : undefined,
67
- tallies,
68
- voterCount: poll.voterCount,
69
- };
70
- }
71
- _tallyScored(poll, votes, choiceCount) {
72
- return this._tallyAdditive(poll, votes, choiceCount);
73
- }
74
- _tallyYesNo(poll, votes, choiceCount) {
75
- return this._tallyAdditive(poll, votes, choiceCount);
76
- }
77
- _tallyRankedChoice(poll, votes, choiceCount) {
78
- const rounds = [];
79
- const eliminated = new Set();
80
- const rankings = this._decryptRankings(votes, choiceCount);
81
- let round = 0;
82
- while (true) {
83
- round++;
84
- const tallies = this._countFirstChoices(rankings, eliminated, choiceCount);
85
- const totalVotes = tallies.reduce((sum, v) => sum + v, 0n);
86
- const majority = totalVotes / 2n;
87
- let maxVotes = 0n;
88
- for (let i = 0; i < choiceCount; i++) {
89
- if (!eliminated.has(i) && tallies[i] > maxVotes)
90
- maxVotes = tallies[i];
91
- }
92
- const topCandidates = tallies
93
- .map((v, i) => (!eliminated.has(i) && v === maxVotes ? i : -1))
94
- .filter((i) => i >= 0);
95
- rounds.push({
96
- round,
97
- tallies: [...tallies],
98
- eliminated: undefined,
99
- winner: undefined,
100
- });
101
- if (maxVotes > majority && topCandidates.length === 1) {
102
- rounds[rounds.length - 1].winner = topCandidates[0];
103
- return {
104
- method: types_1.VotingMethod.RankedChoice,
105
- choices: [...poll.choices],
106
- winner: topCandidates[0],
107
- eliminated: Array.from(eliminated),
108
- rounds,
109
- tallies,
110
- voterCount: poll.voterCount,
111
- };
112
- }
113
- const remaining = choiceCount - eliminated.size;
114
- if (remaining === 1) {
115
- const winner = tallies.findIndex((_, i) => !eliminated.has(i));
116
- rounds[rounds.length - 1].winner = winner;
117
- return {
118
- method: types_1.VotingMethod.RankedChoice,
119
- choices: [...poll.choices],
120
- winner,
121
- eliminated: Array.from(eliminated),
122
- rounds,
123
- tallies,
124
- voterCount: poll.voterCount,
125
- };
126
- }
127
- let minVotes = totalVotes;
128
- let toEliminate = -1;
129
- for (let i = choiceCount - 1; i >= 0; i--) {
130
- if (!eliminated.has(i) && tallies[i] <= minVotes) {
131
- minVotes = tallies[i];
132
- toEliminate = i;
133
- }
134
- }
135
- if (toEliminate === -1)
136
- break;
137
- eliminated.add(toEliminate);
138
- rounds[rounds.length - 1].eliminated = toEliminate;
139
- }
140
- const finalTallies = this._countFirstChoices(rankings, eliminated, choiceCount);
141
- let maxVotes = 0n;
142
- let winner = 0;
143
- for (let i = 0; i < choiceCount; i++) {
144
- if (!eliminated.has(i) && finalTallies[i] > maxVotes) {
145
- maxVotes = finalTallies[i];
146
- winner = i;
147
- }
148
- }
149
- return {
150
- method: types_1.VotingMethod.RankedChoice,
151
- choices: [...poll.choices],
152
- winner,
153
- eliminated: Array.from(eliminated),
154
- rounds,
155
- tallies: finalTallies,
156
- voterCount: poll.voterCount,
157
- };
158
- }
159
- _decryptRankings(votes, choiceCount) {
160
- const rankings = [];
161
- for (const encrypted of votes.values()) {
162
- const rankedChoices = [];
163
- for (let i = 0; i < choiceCount; i++) {
164
- const rank = Number(this.votingPrivateKey.decrypt(encrypted[i]));
165
- if (rank > 0)
166
- rankedChoices.push({ choice: i, rank });
167
- }
168
- rankedChoices.sort((a, b) => a.rank - b.rank);
169
- rankings.push(rankedChoices.map((rc) => rc.choice));
170
- }
171
- return rankings;
172
- }
173
- _countFirstChoices(rankings, eliminated, choiceCount) {
174
- const tallies = new Array(choiceCount).fill(0n);
175
- for (const ranking of rankings) {
176
- for (const choice of ranking) {
177
- if (!eliminated.has(choice)) {
178
- tallies[choice]++;
179
- break;
180
- }
181
- }
182
- }
183
- return tallies;
184
- }
185
- _tallyQuadratic(poll, votes, choiceCount) {
186
- const tallies = new Array(choiceCount).fill(0n);
187
- for (const encrypted of votes.values()) {
188
- for (let i = 0; i < choiceCount; i++) {
189
- const weight = this.votingPrivateKey.decrypt(encrypted[i]);
190
- tallies[i] += weight * weight;
191
- }
192
- }
193
- const maxVotes = tallies.reduce((max, v) => (v > max ? v : max), 0n);
194
- const winners = tallies
195
- .map((v, i) => (v === maxVotes ? i : -1))
196
- .filter((i) => i >= 0);
197
- return {
198
- method: types_1.VotingMethod.Quadratic,
199
- choices: [...poll.choices],
200
- winner: winners.length === 1 ? winners[0] : undefined,
201
- winners: winners.length > 1 ? winners : undefined,
202
- tallies,
203
- voterCount: poll.voterCount,
204
- };
205
- }
206
- _tallyConsensus(poll, votes, choiceCount) {
207
- const tallies = new Array(choiceCount).fill(0n);
208
- const totalVoters = BigInt(votes.size);
209
- for (const encrypted of votes.values()) {
210
- for (let i = 0; i < choiceCount; i++) {
211
- tallies[i] += this.votingPrivateKey.decrypt(encrypted[i]);
212
- }
213
- }
214
- const threshold = (totalVoters * 95n) / 100n;
215
- const winners = tallies
216
- .map((v, i) => (v >= threshold ? i : -1))
217
- .filter((i) => i >= 0);
218
- return {
219
- method: types_1.VotingMethod.Consensus,
220
- choices: [...poll.choices],
221
- winner: winners.length === 1 ? winners[0] : undefined,
222
- winners: winners.length > 0 ? winners : undefined,
223
- tallies,
224
- voterCount: poll.voterCount,
225
- };
226
- }
227
- _tallyConsentBased(poll, votes, choiceCount) {
228
- const tallies = new Array(choiceCount).fill(0n);
229
- const objections = new Array(choiceCount).fill(0n);
230
- for (const encrypted of votes.values()) {
231
- for (let i = 0; i < choiceCount; i++) {
232
- const vote = this.votingPrivateKey.decrypt(encrypted[i]);
233
- if (vote > 0n)
234
- tallies[i]++;
235
- else if (vote < 0n)
236
- objections[i]++;
237
- }
238
- }
239
- const winners = objections
240
- .map((obj, i) => (obj === 0n ? i : -1))
241
- .filter((i) => i >= 0);
242
- return {
243
- method: types_1.VotingMethod.ConsentBased,
244
- choices: [...poll.choices],
245
- winner: winners.length === 1 ? winners[0] : undefined,
246
- winners: winners.length > 0 ? winners : undefined,
247
- tallies,
248
- voterCount: poll.voterCount,
249
- };
250
- }
251
- _tallyTwoRound(poll, votes, choiceCount) {
252
- const rounds = [];
253
- const tallies = new Array(choiceCount).fill(0n);
254
- for (const encrypted of votes.values()) {
255
- for (let i = 0; i < choiceCount; i++) {
256
- tallies[i] += this.votingPrivateKey.decrypt(encrypted[i]);
257
- }
258
- }
259
- const totalVotes = tallies.reduce((sum, v) => sum + v, 0n);
260
- const majority = totalVotes / 2n;
261
- rounds.push({ round: 1, tallies: [...tallies] });
262
- const maxVotes = tallies.reduce((max, v) => (v > max ? v : max), 0n);
263
- if (maxVotes > majority) {
264
- const winner = tallies.findIndex((v) => v === maxVotes);
265
- rounds[0].winner = winner;
266
- return {
267
- method: types_1.VotingMethod.TwoRound,
268
- choices: [...poll.choices],
269
- winner,
270
- rounds,
271
- tallies,
272
- voterCount: poll.voterCount,
273
- };
274
- }
275
- const sorted = tallies
276
- .map((v, i) => ({ votes: v, index: i }))
277
- .sort((a, b) => (b.votes > a.votes ? 1 : -1));
278
- const top2 = [sorted[0].index, sorted[1].index];
279
- const runoffTallies = new Array(choiceCount).fill(0n);
280
- runoffTallies[top2[0]] = sorted[0].votes;
281
- runoffTallies[top2[1]] = sorted[1].votes;
282
- const winner = sorted[0].index;
283
- rounds.push({ round: 2, tallies: runoffTallies, winner });
284
- return {
285
- method: types_1.VotingMethod.TwoRound,
286
- choices: [...poll.choices],
287
- winner,
288
- rounds,
289
- tallies: runoffTallies,
290
- voterCount: poll.voterCount,
291
- };
292
- }
293
- _tallySTAR(poll, votes, choiceCount) {
294
- const rounds = [];
295
- const scores = new Array(choiceCount).fill(0n);
296
- for (const encrypted of votes.values()) {
297
- for (let i = 0; i < choiceCount; i++) {
298
- scores[i] += this.votingPrivateKey.decrypt(encrypted[i]);
299
- }
300
- }
301
- rounds.push({ round: 1, tallies: [...scores] });
302
- const sorted = scores
303
- .map((s, i) => ({ score: s, index: i }))
304
- .sort((a, b) => (b.score > a.score ? 1 : -1));
305
- const top2 = [sorted[0].index, sorted[1].index];
306
- const runoffTallies = new Array(choiceCount).fill(0n);
307
- for (const encrypted of votes.values()) {
308
- const score0 = this.votingPrivateKey.decrypt(encrypted[top2[0]]);
309
- const score1 = this.votingPrivateKey.decrypt(encrypted[top2[1]]);
310
- if (score0 > score1)
311
- runoffTallies[top2[0]]++;
312
- else if (score1 > score0)
313
- runoffTallies[top2[1]]++;
314
- }
315
- const winner = runoffTallies[top2[0]] >= runoffTallies[top2[1]] ? top2[0] : top2[1];
316
- rounds.push({ round: 2, tallies: runoffTallies, winner });
317
- return {
318
- method: types_1.VotingMethod.STAR,
319
- choices: [...poll.choices],
320
- winner,
321
- rounds,
322
- tallies: runoffTallies,
323
- voterCount: poll.voterCount,
324
- };
325
- }
326
- _tallySTV(poll, votes, choiceCount) {
327
- const rounds = [];
328
- const eliminated = new Set();
329
- const winners = [];
330
- const rankings = this._decryptRankings(votes, choiceCount);
331
- const seatsToFill = Math.min(3, choiceCount);
332
- const quota = BigInt(votes.size) / BigInt(seatsToFill + 1) + 1n;
333
- let round = 0;
334
- while (winners.length < seatsToFill && eliminated.size < choiceCount) {
335
- round++;
336
- const tallies = this._countFirstChoices(rankings, eliminated, choiceCount);
337
- rounds.push({ round, tallies: [...tallies] });
338
- const meetingQuota = tallies
339
- .map((v, i) => !eliminated.has(i) && !winners.includes(i) && v >= quota ? i : -1)
340
- .filter((i) => i >= 0);
341
- if (meetingQuota.length > 0) {
342
- winners.push(...meetingQuota);
343
- meetingQuota.forEach((i) => eliminated.add(i));
344
- rounds[rounds.length - 1].winner = meetingQuota[0];
345
- continue;
346
- }
347
- const remaining = tallies
348
- .map((v, i) => !eliminated.has(i) && !winners.includes(i)
349
- ? { votes: v, index: i }
350
- : null)
351
- .filter((x) => x !== null);
352
- if (remaining.length === 0)
353
- break;
354
- const minVotes = remaining.reduce((min, x) => (x.votes < min ? x.votes : min), remaining[0].votes);
355
- const toEliminate = remaining.find((x) => x.votes === minVotes).index;
356
- eliminated.add(toEliminate);
357
- rounds[rounds.length - 1].eliminated = toEliminate;
358
- }
359
- const finalTallies = new Array(choiceCount).fill(0n);
360
- winners.forEach((w) => (finalTallies[w] = 1n));
361
- return {
362
- method: types_1.VotingMethod.STV,
363
- choices: [...poll.choices],
364
- winners,
365
- eliminated: Array.from(eliminated),
366
- rounds,
367
- tallies: finalTallies,
368
- voterCount: poll.voterCount,
369
- };
4
+ /**
5
+ * Poll Tallier - Node.js optimized
6
+ * Extends ecies-lib PollTallier with Buffer support
7
+ */
8
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
9
+ /**
10
+ * Node.js PollTallier that extends ecies-lib PollTallier
11
+ * Specializes the generic TID parameter to Buffer for Node.js compatibility
12
+ *
13
+ * All tallying logic is inherited from ecies-lib PollTallier.
14
+ * This class only provides type specialization for Buffer-based operations.
15
+ */
16
+ class PollTallier extends ecies_lib_1.PollTallier {
17
+ constructor(authority, votingPrivateKey, votingPublicKey) {
18
+ // Cast authority to work around type incompatibility between
19
+ // node-ecies-lib IMember (Buffer-based) and ecies-lib IMember (Uint8Array-based)
20
+ super(authority, votingPrivateKey, votingPublicKey);
370
21
  }
371
22
  }
372
23
  exports.PollTallier = PollTallier;