@digitaldefiance/ecies-lib 4.8.6 → 4.9.0

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 (297) hide show
  1. package/package.json +7 -7
  2. package/src/builders/member-builder.d.ts +1 -2
  3. package/src/builders/member-builder.d.ts.map +1 -1
  4. package/src/builders/member-builder.js.map +1 -1
  5. package/src/constants.d.ts +1 -1
  6. package/src/constants.d.ts.map +1 -1
  7. package/src/constants.js +2 -0
  8. package/src/constants.js.map +1 -1
  9. package/src/interfaces/constants.d.ts +1 -1
  10. package/src/interfaces/constants.d.ts.map +1 -1
  11. package/src/interfaces/ecies-consts.d.ts +1 -0
  12. package/src/interfaces/ecies-consts.d.ts.map +1 -1
  13. package/src/interfaces/index.d.ts +2 -4
  14. package/src/interfaces/index.d.ts.map +1 -1
  15. package/src/interfaces/index.js +2 -5
  16. package/src/interfaces/index.js.map +1 -1
  17. package/src/interfaces/isolated-private-key-async.d.ts +13 -0
  18. package/src/interfaces/isolated-private-key-async.d.ts.map +1 -0
  19. package/src/interfaces/isolated-private-key-async.js +3 -0
  20. package/src/interfaces/isolated-private-key-async.js.map +1 -0
  21. package/src/interfaces/isolated-public-key-async.d.ts +17 -0
  22. package/src/interfaces/isolated-public-key-async.d.ts.map +1 -0
  23. package/src/interfaces/isolated-public-key-async.js +3 -0
  24. package/src/interfaces/isolated-public-key-async.js.map +1 -0
  25. package/src/interfaces/platform-buffer.d.ts +5 -5
  26. package/src/interfaces/platform-buffer.d.ts.map +1 -1
  27. package/src/interfaces/voting-service.d.ts +0 -111
  28. package/src/interfaces/voting-service.d.ts.map +1 -1
  29. package/src/interfaces/voting-service.js +0 -7
  30. package/src/interfaces/voting-service.js.map +1 -1
  31. package/src/lib/id-providers/index.d.ts +1 -0
  32. package/src/lib/id-providers/index.d.ts.map +1 -1
  33. package/src/lib/id-providers/index.js +3 -1
  34. package/src/lib/id-providers/index.js.map +1 -1
  35. package/src/lib/id-providers/uint8array-provider.d.ts +54 -0
  36. package/src/lib/id-providers/uint8array-provider.d.ts.map +1 -0
  37. package/src/lib/id-providers/uint8array-provider.js +97 -0
  38. package/src/lib/id-providers/uint8array-provider.js.map +1 -0
  39. package/src/lib/voting/audit.d.ts +4 -38
  40. package/src/lib/voting/audit.d.ts.map +1 -1
  41. package/src/lib/voting/audit.js +8 -10
  42. package/src/lib/voting/audit.js.map +1 -1
  43. package/src/lib/voting/bulletin-board.d.ts +5 -56
  44. package/src/lib/voting/bulletin-board.d.ts.map +1 -1
  45. package/src/lib/voting/bulletin-board.js +11 -2
  46. package/src/lib/voting/bulletin-board.js.map +1 -1
  47. package/src/lib/voting/encoder.d.ts +2 -1
  48. package/src/lib/voting/encoder.d.ts.map +1 -1
  49. package/src/lib/voting/encoder.js +9 -9
  50. package/src/lib/voting/encoder.js.map +1 -1
  51. package/src/lib/voting/enumerations/audit-event-type.d.ts +6 -0
  52. package/src/lib/voting/enumerations/audit-event-type.d.ts.map +1 -0
  53. package/src/lib/voting/enumerations/audit-event-type.js +10 -0
  54. package/src/lib/voting/enumerations/audit-event-type.js.map +1 -0
  55. package/src/lib/voting/enumerations/event-type.d.ts +9 -0
  56. package/src/lib/voting/enumerations/event-type.d.ts.map +1 -0
  57. package/src/lib/voting/enumerations/event-type.js +13 -0
  58. package/src/lib/voting/enumerations/event-type.js.map +1 -0
  59. package/src/lib/voting/enumerations/index.d.ts +6 -0
  60. package/src/lib/voting/enumerations/index.d.ts.map +1 -0
  61. package/src/lib/voting/enumerations/index.js +9 -0
  62. package/src/lib/voting/enumerations/index.js.map +1 -0
  63. package/src/lib/voting/enumerations/jurisdictional-level.d.ts +7 -0
  64. package/src/lib/voting/enumerations/jurisdictional-level.d.ts.map +1 -0
  65. package/src/lib/voting/enumerations/jurisdictional-level.js +11 -0
  66. package/src/lib/voting/enumerations/jurisdictional-level.js.map +1 -0
  67. package/src/lib/voting/enumerations/security-level.d.ts +6 -0
  68. package/src/lib/voting/enumerations/security-level.d.ts.map +1 -0
  69. package/src/lib/voting/enumerations/security-level.js +10 -0
  70. package/src/lib/voting/enumerations/security-level.js.map +1 -0
  71. package/src/lib/voting/enumerations/voting-method.d.ts +41 -0
  72. package/src/lib/voting/enumerations/voting-method.d.ts.map +1 -0
  73. package/src/lib/voting/{types.js → enumerations/voting-method.js} +1 -1
  74. package/src/lib/voting/enumerations/voting-method.js.map +1 -0
  75. package/src/lib/voting/event-logger.d.ts +14 -65
  76. package/src/lib/voting/event-logger.d.ts.map +1 -1
  77. package/src/lib/voting/event-logger.js +32 -19
  78. package/src/lib/voting/event-logger.js.map +1 -1
  79. package/src/lib/voting/factory.d.ts +2 -2
  80. package/src/lib/voting/factory.d.ts.map +1 -1
  81. package/src/lib/voting/factory.js +6 -6
  82. package/src/lib/voting/factory.js.map +1 -1
  83. package/src/lib/voting/hierarchical-aggregator.d.ts +72 -0
  84. package/src/lib/voting/hierarchical-aggregator.d.ts.map +1 -0
  85. package/src/lib/voting/hierarchical-aggregator.js +234 -0
  86. package/src/lib/voting/hierarchical-aggregator.js.map +1 -0
  87. package/src/lib/voting/index.d.ts +8 -5
  88. package/src/lib/voting/index.d.ts.map +1 -1
  89. package/src/lib/voting/index.js +12 -7
  90. package/src/lib/voting/index.js.map +1 -1
  91. package/src/lib/voting/interfaces/aggregated-tally.d.ts +11 -0
  92. package/src/lib/voting/interfaces/aggregated-tally.d.ts.map +1 -0
  93. package/src/{interfaces/member-with-mnemonic.js → lib/voting/interfaces/aggregated-tally.js} +1 -1
  94. package/src/lib/voting/interfaces/aggregated-tally.js.map +1 -0
  95. package/src/lib/voting/interfaces/audit-entry.d.ts +25 -0
  96. package/src/lib/voting/interfaces/audit-entry.d.ts.map +1 -0
  97. package/src/lib/voting/interfaces/audit-entry.js +3 -0
  98. package/src/lib/voting/interfaces/audit-entry.js.map +1 -0
  99. package/src/lib/voting/interfaces/audit-log.d.ts +13 -0
  100. package/src/lib/voting/interfaces/audit-log.d.ts.map +1 -0
  101. package/src/lib/voting/interfaces/audit-log.js +3 -0
  102. package/src/lib/voting/interfaces/audit-log.js.map +1 -0
  103. package/src/lib/voting/interfaces/bulletin-board-entry.d.ts +20 -0
  104. package/src/lib/voting/interfaces/bulletin-board-entry.d.ts.map +1 -0
  105. package/src/lib/voting/interfaces/bulletin-board-entry.js +3 -0
  106. package/src/lib/voting/interfaces/bulletin-board-entry.js.map +1 -0
  107. package/src/lib/voting/interfaces/bulletin-board.d.ts +24 -0
  108. package/src/lib/voting/interfaces/bulletin-board.d.ts.map +1 -0
  109. package/src/lib/voting/interfaces/bulletin-board.js +3 -0
  110. package/src/lib/voting/interfaces/bulletin-board.js.map +1 -0
  111. package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts +14 -0
  112. package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts.map +1 -0
  113. package/src/lib/voting/interfaces/checkpoint-manager-extended.js +3 -0
  114. package/src/lib/voting/interfaces/checkpoint-manager-extended.js.map +1 -0
  115. package/src/lib/voting/interfaces/checkpoint-manager.d.ts +8 -0
  116. package/src/lib/voting/interfaces/checkpoint-manager.d.ts.map +1 -0
  117. package/src/lib/voting/interfaces/checkpoint-manager.js +3 -0
  118. package/src/lib/voting/interfaces/checkpoint-manager.js.map +1 -0
  119. package/src/lib/voting/interfaces/checkpoint-metadata.d.ts +9 -0
  120. package/src/lib/voting/interfaces/checkpoint-metadata.d.ts.map +1 -0
  121. package/src/lib/voting/interfaces/checkpoint-metadata.js +3 -0
  122. package/src/lib/voting/interfaces/checkpoint-metadata.js.map +1 -0
  123. package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts +55 -0
  124. package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts.map +1 -0
  125. package/src/lib/voting/interfaces/ecies-service-with-voting.js +3 -0
  126. package/src/lib/voting/interfaces/ecies-service-with-voting.js.map +1 -0
  127. package/src/lib/voting/interfaces/encrypted-vote.d.ts +23 -0
  128. package/src/lib/voting/interfaces/encrypted-vote.d.ts.map +1 -0
  129. package/src/lib/voting/interfaces/encrypted-vote.js +3 -0
  130. package/src/lib/voting/interfaces/encrypted-vote.js.map +1 -0
  131. package/src/lib/voting/interfaces/event-log-entry.d.ts +24 -0
  132. package/src/lib/voting/interfaces/event-log-entry.d.ts.map +1 -0
  133. package/src/lib/voting/interfaces/event-log-entry.js +3 -0
  134. package/src/lib/voting/interfaces/event-log-entry.js.map +1 -0
  135. package/src/lib/voting/interfaces/event-logger.d.ts +25 -0
  136. package/src/lib/voting/interfaces/event-logger.d.ts.map +1 -0
  137. package/src/lib/voting/interfaces/event-logger.js +3 -0
  138. package/src/lib/voting/interfaces/event-logger.js.map +1 -0
  139. package/src/lib/voting/interfaces/index.d.ts +31 -0
  140. package/src/lib/voting/interfaces/index.d.ts.map +1 -0
  141. package/src/lib/voting/interfaces/index.js +5 -0
  142. package/src/lib/voting/interfaces/index.js.map +1 -0
  143. package/src/lib/voting/interfaces/jurisdiction-config.d.ts +9 -0
  144. package/src/lib/voting/interfaces/jurisdiction-config.d.ts.map +1 -0
  145. package/src/lib/voting/interfaces/jurisdiction-config.js +3 -0
  146. package/src/lib/voting/interfaces/jurisdiction-config.js.map +1 -0
  147. package/src/lib/voting/interfaces/plaintext-vote.d.ts +18 -0
  148. package/src/lib/voting/interfaces/plaintext-vote.d.ts.map +1 -0
  149. package/src/lib/voting/interfaces/plaintext-vote.js +3 -0
  150. package/src/lib/voting/interfaces/plaintext-vote.js.map +1 -0
  151. package/src/lib/voting/interfaces/poll-configuration.d.ts +10 -0
  152. package/src/lib/voting/interfaces/poll-configuration.d.ts.map +1 -0
  153. package/src/lib/voting/interfaces/poll-configuration.js +3 -0
  154. package/src/lib/voting/interfaces/poll-configuration.js.map +1 -0
  155. package/src/lib/voting/interfaces/poll-results.d.ts +25 -0
  156. package/src/lib/voting/interfaces/poll-results.d.ts.map +1 -0
  157. package/src/lib/voting/interfaces/poll-results.js +3 -0
  158. package/src/lib/voting/interfaces/poll-results.js.map +1 -0
  159. package/src/lib/voting/interfaces/poll-tallier.d.ts +18 -0
  160. package/src/lib/voting/interfaces/poll-tallier.d.ts.map +1 -0
  161. package/src/lib/voting/interfaces/poll-tallier.js +3 -0
  162. package/src/lib/voting/interfaces/poll-tallier.js.map +1 -0
  163. package/src/lib/voting/interfaces/poll.d.ts +41 -0
  164. package/src/lib/voting/interfaces/poll.d.ts.map +1 -0
  165. package/src/lib/voting/interfaces/poll.js +3 -0
  166. package/src/lib/voting/interfaces/poll.js.map +1 -0
  167. package/src/lib/voting/interfaces/round-result.d.ts +15 -0
  168. package/src/lib/voting/interfaces/round-result.d.ts.map +1 -0
  169. package/src/lib/voting/interfaces/round-result.js +3 -0
  170. package/src/lib/voting/interfaces/round-result.js.map +1 -0
  171. package/src/lib/voting/interfaces/state-snapshot.d.ts +9 -0
  172. package/src/lib/voting/interfaces/state-snapshot.d.ts.map +1 -0
  173. package/src/lib/voting/interfaces/state-snapshot.js +3 -0
  174. package/src/lib/voting/interfaces/state-snapshot.js.map +1 -0
  175. package/src/lib/voting/interfaces/supermajority-config.d.ts +11 -0
  176. package/src/lib/voting/interfaces/supermajority-config.d.ts.map +1 -0
  177. package/src/lib/voting/interfaces/supermajority-config.js +3 -0
  178. package/src/lib/voting/interfaces/supermajority-config.js.map +1 -0
  179. package/src/lib/voting/interfaces/tally-proof.d.ts +18 -0
  180. package/src/lib/voting/interfaces/tally-proof.d.ts.map +1 -0
  181. package/src/lib/voting/interfaces/tally-proof.js +3 -0
  182. package/src/lib/voting/interfaces/tally-proof.js.map +1 -0
  183. package/src/lib/voting/interfaces/vote-encoder.d.ts +59 -0
  184. package/src/lib/voting/interfaces/vote-encoder.d.ts.map +1 -0
  185. package/src/lib/voting/interfaces/vote-encoder.js +3 -0
  186. package/src/lib/voting/interfaces/vote-encoder.js.map +1 -0
  187. package/src/lib/voting/interfaces/vote-logger-extended.d.ts +15 -0
  188. package/src/lib/voting/interfaces/vote-logger-extended.d.ts.map +1 -0
  189. package/src/lib/voting/interfaces/vote-logger-extended.js +3 -0
  190. package/src/lib/voting/interfaces/vote-logger-extended.js.map +1 -0
  191. package/src/lib/voting/interfaces/vote-logger.d.ts +11 -0
  192. package/src/lib/voting/interfaces/vote-logger.d.ts.map +1 -0
  193. package/src/lib/voting/interfaces/vote-logger.js +3 -0
  194. package/src/lib/voting/interfaces/vote-logger.js.map +1 -0
  195. package/src/lib/voting/interfaces/voting-consts.d.ts.map +1 -0
  196. package/src/lib/voting/interfaces/voting-consts.js.map +1 -0
  197. package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts +26 -0
  198. package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts.map +1 -0
  199. package/src/lib/voting/interfaces/voting-key-derivation-options.js +3 -0
  200. package/src/lib/voting/interfaces/voting-key-derivation-options.js.map +1 -0
  201. package/src/lib/voting/interfaces/voting-poll-results.d.ts +20 -0
  202. package/src/lib/voting/interfaces/voting-poll-results.d.ts.map +1 -0
  203. package/src/lib/voting/interfaces/voting-poll-results.js +3 -0
  204. package/src/lib/voting/interfaces/voting-poll-results.js.map +1 -0
  205. package/src/lib/voting/interfaces/voting-receipt.d.ts +18 -0
  206. package/src/lib/voting/interfaces/voting-receipt.d.ts.map +1 -0
  207. package/src/lib/voting/interfaces/voting-receipt.js +3 -0
  208. package/src/lib/voting/interfaces/voting-receipt.js.map +1 -0
  209. package/src/lib/voting/interfaces/voting-security-validator.d.ts +37 -0
  210. package/src/lib/voting/interfaces/voting-security-validator.d.ts.map +1 -0
  211. package/src/lib/voting/interfaces/voting-security-validator.js +3 -0
  212. package/src/lib/voting/interfaces/voting-security-validator.js.map +1 -0
  213. package/src/lib/voting/persistent-state.d.ts +21 -0
  214. package/src/lib/voting/persistent-state.d.ts.map +1 -0
  215. package/src/lib/voting/persistent-state.js +32 -0
  216. package/src/lib/voting/persistent-state.js.map +1 -0
  217. package/src/lib/voting/poll-core.d.ts +3 -3
  218. package/src/lib/voting/poll-core.d.ts.map +1 -1
  219. package/src/lib/voting/poll-core.js +6 -7
  220. package/src/lib/voting/poll-core.js.map +1 -1
  221. package/src/lib/voting/security.d.ts +2 -6
  222. package/src/lib/voting/security.d.ts.map +1 -1
  223. package/src/lib/voting/security.js +25 -28
  224. package/src/lib/voting/security.js.map +1 -1
  225. package/src/lib/voting/tallier.d.ts +5 -5
  226. package/src/lib/voting/tallier.d.ts.map +1 -1
  227. package/src/lib/voting/tallier.js +26 -26
  228. package/src/lib/voting/tallier.js.map +1 -1
  229. package/src/lib/voting/test-voter-pool.d.ts +16 -0
  230. package/src/lib/voting/test-voter-pool.d.ts.map +1 -0
  231. package/src/lib/voting/test-voter-pool.js +65 -0
  232. package/src/lib/voting/test-voter-pool.js.map +1 -0
  233. package/src/member.d.ts +8 -1
  234. package/src/member.d.ts.map +1 -1
  235. package/src/member.js +6 -6
  236. package/src/member.js.map +1 -1
  237. package/src/services/ecies/interfaces/decryption-result.d.ts +5 -0
  238. package/src/services/ecies/interfaces/decryption-result.d.ts.map +1 -0
  239. package/src/services/ecies/interfaces/decryption-result.js +3 -0
  240. package/src/services/ecies/interfaces/decryption-result.js.map +1 -0
  241. package/src/services/ecies/interfaces/encryption-result.d.ts +7 -0
  242. package/src/services/ecies/interfaces/encryption-result.d.ts.map +1 -0
  243. package/src/services/ecies/interfaces/encryption-result.js +3 -0
  244. package/src/services/ecies/interfaces/encryption-result.js.map +1 -0
  245. package/src/services/ecies/interfaces/index.d.ts +9 -0
  246. package/src/services/ecies/interfaces/index.d.ts.map +1 -0
  247. package/src/services/ecies/interfaces/index.js +3 -0
  248. package/src/services/ecies/interfaces/index.js.map +1 -0
  249. package/src/services/ecies/interfaces/multi-encrypted-message.d.ts +11 -0
  250. package/src/services/ecies/interfaces/multi-encrypted-message.d.ts.map +1 -0
  251. package/src/services/ecies/interfaces/multi-encrypted-message.js +3 -0
  252. package/src/services/ecies/interfaces/multi-encrypted-message.js.map +1 -0
  253. package/src/services/ecies/interfaces/multi-encrypted-parsed-header.d.ts +10 -0
  254. package/src/services/ecies/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -0
  255. package/src/services/ecies/interfaces/multi-encrypted-parsed-header.js +3 -0
  256. package/src/services/ecies/interfaces/multi-encrypted-parsed-header.js.map +1 -0
  257. package/src/services/ecies/interfaces/multi-recipient.d.ts +6 -0
  258. package/src/services/ecies/interfaces/multi-recipient.d.ts.map +1 -0
  259. package/src/services/ecies/interfaces/multi-recipient.js +3 -0
  260. package/src/services/ecies/interfaces/multi-recipient.js.map +1 -0
  261. package/src/services/ecies/interfaces/simple-keypair.d.ts +5 -0
  262. package/src/services/ecies/interfaces/simple-keypair.d.ts.map +1 -0
  263. package/src/services/ecies/interfaces/simple-keypair.js +3 -0
  264. package/src/services/ecies/interfaces/simple-keypair.js.map +1 -0
  265. package/src/services/ecies/interfaces/single-encrypted-parsed-header.d.ts +11 -0
  266. package/src/services/ecies/interfaces/single-encrypted-parsed-header.d.ts.map +1 -0
  267. package/src/services/ecies/interfaces/single-encrypted-parsed-header.js +3 -0
  268. package/src/services/ecies/interfaces/single-encrypted-parsed-header.js.map +1 -0
  269. package/src/services/ecies/interfaces/wallet-seed.d.ts +6 -0
  270. package/src/services/ecies/interfaces/wallet-seed.d.ts.map +1 -0
  271. package/src/services/ecies/interfaces/wallet-seed.js +3 -0
  272. package/src/services/ecies/interfaces/wallet-seed.js.map +1 -0
  273. package/src/services/ecies/multi-recipient.d.ts.map +1 -1
  274. package/src/services/ecies/multi-recipient.js +14 -5
  275. package/src/services/ecies/multi-recipient.js.map +1 -1
  276. package/src/interfaces/member-with-mnemonic.d.ts +0 -8
  277. package/src/interfaces/member-with-mnemonic.d.ts.map +0 -1
  278. package/src/interfaces/member-with-mnemonic.js.map +0 -1
  279. package/src/interfaces/voting-consts.d.ts.map +0 -1
  280. package/src/interfaces/voting-consts.js.map +0 -1
  281. package/src/interfaces/voting-poll.d.ts +0 -455
  282. package/src/interfaces/voting-poll.d.ts.map +0 -1
  283. package/src/interfaces/voting-poll.js +0 -54
  284. package/src/interfaces/voting-poll.js.map +0 -1
  285. package/src/lib/voting/poll.d.ts +0 -125
  286. package/src/lib/voting/poll.d.ts.map +0 -1
  287. package/src/lib/voting/poll.js +0 -323
  288. package/src/lib/voting/poll.js.map +0 -1
  289. package/src/lib/voting/types.d.ts +0 -146
  290. package/src/lib/voting/types.d.ts.map +0 -1
  291. package/src/lib/voting/types.js.map +0 -1
  292. package/src/services/ecies/interfaces.d.ts +0 -55
  293. package/src/services/ecies/interfaces.d.ts.map +0 -1
  294. package/src/services/ecies/interfaces.js +0 -6
  295. package/src/services/ecies/interfaces.js.map +0 -1
  296. /package/src/{interfaces → lib/voting/interfaces}/voting-consts.d.ts +0 -0
  297. /package/src/{interfaces → lib/voting/interfaces}/voting-consts.js +0 -0
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JurisdictionLevel = void 0;
4
+ var JurisdictionLevel;
5
+ (function (JurisdictionLevel) {
6
+ JurisdictionLevel["Precinct"] = "precinct";
7
+ JurisdictionLevel["County"] = "county";
8
+ JurisdictionLevel["State"] = "state";
9
+ JurisdictionLevel["National"] = "national";
10
+ })(JurisdictionLevel || (exports.JurisdictionLevel = JurisdictionLevel = {}));
11
+ //# sourceMappingURL=jurisdictional-level.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jurisdictional-level.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/enumerations/jurisdictional-level.ts"],"names":[],"mappings":";;;AAAA,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,0CAAqB,CAAA;IACrB,sCAAiB,CAAA;IACjB,oCAAe,CAAA;IACf,0CAAqB,CAAA;AACvB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
@@ -0,0 +1,6 @@
1
+ export declare enum SecurityLevel {
2
+ FullyHomomorphic = "fully-homomorphic",// No intermediate decryption
3
+ MultiRound = "multi-round",// Requires intermediate decryption
4
+ Insecure = "insecure"
5
+ }
6
+ //# sourceMappingURL=security-level.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-level.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/enumerations/security-level.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,gBAAgB,sBAAsB,CAAE,6BAA6B;IACrE,UAAU,gBAAgB,CAAE,mCAAmC;IAC/D,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SecurityLevel = void 0;
4
+ var SecurityLevel;
5
+ (function (SecurityLevel) {
6
+ SecurityLevel["FullyHomomorphic"] = "fully-homomorphic";
7
+ SecurityLevel["MultiRound"] = "multi-round";
8
+ SecurityLevel["Insecure"] = "insecure";
9
+ })(SecurityLevel || (exports.SecurityLevel = SecurityLevel = {}));
10
+ //# sourceMappingURL=security-level.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-level.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/enumerations/security-level.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,2CAA0B,CAAA;IAC1B,sCAAqB,CAAA;AACvB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Voting methods supported by the poll system.
3
+ *
4
+ * Methods are classified by security level:
5
+ * - Fully Homomorphic: Single-round, privacy-preserving (no intermediate decryption)
6
+ * - Multi-Round: Requires decryption between rounds (less secure)
7
+ * - Insecure: Cannot be made secure with Paillier encryption
8
+ */
9
+ export declare enum VotingMethod {
10
+ /** First-past-the-post voting - most votes wins */
11
+ Plurality = "plurality",
12
+ /** Approval voting - vote for multiple candidates */
13
+ Approval = "approval",
14
+ /** Weighted voting - stakeholder voting with configurable weights */
15
+ Weighted = "weighted",
16
+ /** Borda count - ranked voting with point allocation */
17
+ Borda = "borda",
18
+ /** Score voting - rate candidates 0-10 */
19
+ Score = "score",
20
+ /** Yes/No referendum */
21
+ YesNo = "yes-no",
22
+ /** Yes/No/Abstain referendum with abstention option */
23
+ YesNoAbstain = "yes-no-abstain",
24
+ /** Supermajority - requires 2/3 or 3/4 threshold */
25
+ Supermajority = "supermajority",
26
+ /** Ranked choice voting (IRV) - instant runoff with elimination */
27
+ RankedChoice = "ranked-choice",
28
+ /** Two-round voting - top 2 runoff election */
29
+ TwoRound = "two-round",
30
+ /** STAR voting - Score Then Automatic Runoff */
31
+ STAR = "star",
32
+ /** Single Transferable Vote - proportional representation */
33
+ STV = "stv",
34
+ /** Quadratic voting - requires sqrt operation (not homomorphic) */
35
+ Quadratic = "quadratic",
36
+ /** Consensus voting - requires 95%+ agreement (no privacy) */
37
+ Consensus = "consensus",
38
+ /** Consent-based voting - sociocracy style (no privacy) */
39
+ ConsentBased = "consent-based"
40
+ }
41
+ //# sourceMappingURL=voting-method.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voting-method.d.ts","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/enumerations/voting-method.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,oBAAY,YAAY;IAEtB,mDAAmD;IACnD,SAAS,cAAc;IACvB,qDAAqD;IACrD,QAAQ,aAAa;IACrB,qEAAqE;IACrE,QAAQ,aAAa;IACrB,wDAAwD;IACxD,KAAK,UAAU;IACf,0CAA0C;IAC1C,KAAK,UAAU;IACf,wBAAwB;IACxB,KAAK,WAAW;IAChB,uDAAuD;IACvD,YAAY,mBAAmB;IAC/B,oDAAoD;IACpD,aAAa,kBAAkB;IAG/B,mEAAmE;IACnE,YAAY,kBAAkB;IAC9B,+CAA+C;IAC/C,QAAQ,cAAc;IACtB,gDAAgD;IAChD,IAAI,SAAS;IACb,6DAA6D;IAC7D,GAAG,QAAQ;IAGX,mEAAmE;IACnE,SAAS,cAAc;IACvB,8DAA8D;IAC9D,SAAS,cAAc;IACvB,2DAA2D;IAC3D,YAAY,kBAAkB;CAC/B"}
@@ -45,4 +45,4 @@ var VotingMethod;
45
45
  /** Consent-based voting - sociocracy style (no privacy) */
46
46
  VotingMethod["ConsentBased"] = "consent-based";
47
47
  })(VotingMethod || (exports.VotingMethod = VotingMethod = {}));
48
- //# sourceMappingURL=types.js.map
48
+ //# sourceMappingURL=voting-method.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voting-method.js","sourceRoot":"","sources":["../../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/enumerations/voting-method.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,IAAY,YAoCX;AApCD,WAAY,YAAY;IACtB,yDAAyD;IACzD,mDAAmD;IACnD,uCAAuB,CAAA;IACvB,qDAAqD;IACrD,qCAAqB,CAAA;IACrB,qEAAqE;IACrE,qCAAqB,CAAA;IACrB,wDAAwD;IACxD,+BAAe,CAAA;IACf,0CAA0C;IAC1C,+BAAe,CAAA;IACf,wBAAwB;IACxB,gCAAgB,CAAA;IAChB,uDAAuD;IACvD,+CAA+B,CAAA;IAC/B,oDAAoD;IACpD,+CAA+B,CAAA;IAE/B,sDAAsD;IACtD,mEAAmE;IACnE,8CAA8B,CAAA;IAC9B,+CAA+C;IAC/C,sCAAsB,CAAA;IACtB,gDAAgD;IAChD,6BAAa,CAAA;IACb,6DAA6D;IAC7D,2BAAW,CAAA;IAEX,4EAA4E;IAC5E,mEAAmE;IACnE,uCAAuB,CAAA;IACvB,8DAA8D;IAC9D,uCAAuB,CAAA;IACvB,2DAA2D;IAC3D,8CAA8B,CAAA;AAChC,CAAC,EApCW,YAAY,4BAAZ,YAAY,QAoCvB"}
@@ -1,73 +1,21 @@
1
- export declare enum EventType {
2
- PollCreated = "poll_created",
3
- VoteCast = "vote_cast",
4
- PollClosed = "poll_closed",
5
- VoteVerified = "vote_verified",
6
- TallyComputed = "tally_computed",
7
- AuditRequested = "audit_requested"
8
- }
9
- export interface PollConfiguration {
10
- readonly method: string;
11
- readonly choices: string[];
12
- readonly maxWeight?: bigint;
13
- readonly threshold?: {
14
- numerator: number;
15
- denominator: number;
16
- };
17
- }
18
- export interface EventLogEntry {
19
- /** Sequence number (monotonically increasing) */
20
- readonly sequence: number;
21
- /** Event type */
22
- readonly eventType: EventType;
23
- /** Microsecond-precision timestamp */
24
- readonly timestamp: number;
25
- /** Poll identifier */
26
- readonly pollId: Uint8Array;
27
- /** Creator/authority ID (for creation/closure events) */
28
- readonly creatorId?: Uint8Array;
29
- /** Anonymized voter token (for vote events) */
30
- readonly voterToken?: Uint8Array;
31
- /** Poll configuration (for creation events) */
32
- readonly configuration?: PollConfiguration;
33
- /** Final tally hash (for closure events) */
34
- readonly tallyHash?: Uint8Array;
35
- /** Additional metadata */
36
- readonly metadata?: Record<string, unknown>;
37
- }
38
- export interface EventLogger {
39
- /** Log poll creation event */
40
- logPollCreated(pollId: Uint8Array, creatorId: Uint8Array, configuration: PollConfiguration): EventLogEntry;
41
- /** Log vote cast event */
42
- logVoteCast(pollId: Uint8Array, voterToken: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry;
43
- /** Log poll closure event */
44
- logPollClosed(pollId: Uint8Array, tallyHash: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry;
45
- /** Log generic event */
46
- logEvent(eventType: EventType, pollId: Uint8Array, data?: Partial<Omit<EventLogEntry, 'sequence' | 'timestamp' | 'eventType' | 'pollId'>>): EventLogEntry;
47
- /** Get all events */
48
- getEvents(): readonly EventLogEntry[];
49
- /** Get events for specific poll */
50
- getEventsForPoll(pollId: Uint8Array): readonly EventLogEntry[];
51
- /** Get events by type */
52
- getEventsByType(eventType: EventType): readonly EventLogEntry[];
53
- /** Verify sequence integrity */
54
- verifySequence(): boolean;
55
- /** Export events for archival */
56
- export(): Uint8Array;
57
- }
1
+ import type { PlatformID } from '../../interfaces';
2
+ import { EventType } from './enumerations/event-type';
3
+ import { EventLogEntry } from './interfaces/event-log-entry';
4
+ import { EventLogger } from './interfaces/event-logger';
5
+ import { PollConfiguration } from './interfaces/poll-configuration';
58
6
  /**
59
7
  * Comprehensive event logger with sequence tracking
60
8
  */
61
- export declare class PollEventLogger implements EventLogger {
9
+ export declare class PollEventLogger<TID extends PlatformID = Uint8Array> implements EventLogger<TID> {
62
10
  private readonly events;
63
11
  private sequence;
64
- logPollCreated(pollId: Uint8Array, creatorId: Uint8Array, configuration: PollConfiguration): EventLogEntry;
65
- logVoteCast(pollId: Uint8Array, voterToken: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry;
66
- logPollClosed(pollId: Uint8Array, tallyHash: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry;
67
- logEvent(eventType: EventType, pollId: Uint8Array, data?: Partial<Omit<EventLogEntry, 'sequence' | 'timestamp' | 'eventType' | 'pollId'>>): EventLogEntry;
68
- getEvents(): readonly EventLogEntry[];
69
- getEventsForPoll(pollId: Uint8Array): readonly EventLogEntry[];
70
- getEventsByType(eventType: EventType): readonly EventLogEntry[];
12
+ logPollCreated(pollId: TID, creatorId: TID, configuration: PollConfiguration): EventLogEntry<TID>;
13
+ logVoteCast(pollId: TID, voterToken: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry<TID>;
14
+ logPollClosed(pollId: TID, tallyHash: Uint8Array, metadata?: Record<string, unknown>): EventLogEntry<TID>;
15
+ logEvent(eventType: EventType, pollId: TID, data?: Partial<Omit<EventLogEntry<TID>, 'sequence' | 'timestamp' | 'eventType' | 'pollId'>>): EventLogEntry<TID>;
16
+ getEvents(): readonly EventLogEntry<TID>[];
17
+ getEventsForPoll(pollId: TID): readonly EventLogEntry<TID>[];
18
+ getEventsByType(eventType: EventType): readonly EventLogEntry<TID>[];
71
19
  verifySequence(): boolean;
72
20
  export(): Uint8Array;
73
21
  private appendEvent;
@@ -78,4 +26,5 @@ export declare class PollEventLogger implements EventLogger {
78
26
  private concat;
79
27
  private toHex;
80
28
  }
29
+ export { EventType } from './enumerations/event-type';
81
30
  //# sourceMappingURL=event-logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/event-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-logger.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/event-logger.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAuB,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGpE;;GAEG;AACH,qBAAa,eAAe,CAC1B,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,WAAW,CAAC,GAAG,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD,OAAO,CAAC,QAAQ,CAAK;IAErB,cAAc,CACZ,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,GAAG,EACd,aAAa,EAAE,iBAAiB,GAC/B,aAAa,CAAC,GAAG,CAAC;IASrB,WAAW,CACT,MAAM,EAAE,GAAG,EACX,UAAU,EAAE,UAAU,EACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,aAAa,CAAC,GAAG,CAAC;IASrB,aAAa,CACX,MAAM,EAAE,GAAG,EACX,SAAS,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,aAAa,CAAC,GAAG,CAAC;IASrB,QAAQ,CACN,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,GAAG,EACX,IAAI,CAAC,EAAE,OAAO,CACZ,IAAI,CACF,aAAa,CAAC,GAAG,CAAC,EAClB,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAClD,CACF,GACA,aAAa,CAAC,GAAG,CAAC;IAQrB,SAAS,IAAI,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE;IAI1C,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE;IAiB5D,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,aAAa,CAAC,GAAG,CAAC,EAAE;IAIpE,cAAc,IAAI,OAAO;IASzB,MAAM,IAAI,UAAU;IAYpB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;IA2EtB,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,KAAK;CAKd;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC"}
@@ -1,15 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PollEventLogger = exports.EventType = void 0;
4
- var EventType;
5
- (function (EventType) {
6
- EventType["PollCreated"] = "poll_created";
7
- EventType["VoteCast"] = "vote_cast";
8
- EventType["PollClosed"] = "poll_closed";
9
- EventType["VoteVerified"] = "vote_verified";
10
- EventType["TallyComputed"] = "tally_computed";
11
- EventType["AuditRequested"] = "audit_requested";
12
- })(EventType || (exports.EventType = EventType = {}));
3
+ exports.EventType = exports.PollEventLogger = void 0;
4
+ /**
5
+ * Event Logger for Government-Grade Voting
6
+ * Implements requirement 1.3: Comprehensive event logging with microsecond timestamps
7
+ */
8
+ const constants_1 = require("../../constants");
9
+ const event_type_1 = require("./enumerations/event-type");
10
+ const Constants = (0, constants_1.getRuntimeConfiguration)();
13
11
  /**
14
12
  * Comprehensive event logger with sequence tracking
15
13
  */
@@ -18,7 +16,7 @@ class PollEventLogger {
18
16
  sequence = 0;
19
17
  logPollCreated(pollId, creatorId, configuration) {
20
18
  return this.appendEvent({
21
- eventType: EventType.PollCreated,
19
+ eventType: event_type_1.EventType.PollCreated,
22
20
  pollId,
23
21
  creatorId,
24
22
  configuration,
@@ -26,7 +24,7 @@ class PollEventLogger {
26
24
  }
27
25
  logVoteCast(pollId, voterToken, metadata) {
28
26
  return this.appendEvent({
29
- eventType: EventType.VoteCast,
27
+ eventType: event_type_1.EventType.VoteCast,
30
28
  pollId,
31
29
  voterToken,
32
30
  metadata,
@@ -34,7 +32,7 @@ class PollEventLogger {
34
32
  }
35
33
  logPollClosed(pollId, tallyHash, metadata) {
36
34
  return this.appendEvent({
37
- eventType: EventType.PollClosed,
35
+ eventType: event_type_1.EventType.PollClosed,
38
36
  pollId,
39
37
  tallyHash,
40
38
  metadata,
@@ -51,8 +49,16 @@ class PollEventLogger {
51
49
  return Object.freeze([...this.events]);
52
50
  }
53
51
  getEventsForPoll(pollId) {
54
- const pollIdStr = this.toHex(pollId);
55
- return Object.freeze(this.events.filter((e) => this.toHex(e.pollId) === pollIdStr));
52
+ const pollIdBytes = pollId instanceof Uint8Array
53
+ ? pollId
54
+ : Constants.idProvider.toBytes(pollId);
55
+ const pollIdStr = this.toHex(pollIdBytes);
56
+ return Object.freeze(this.events.filter((e) => {
57
+ const eventPollIdBytes = e.pollId instanceof Uint8Array
58
+ ? e.pollId
59
+ : Constants.idProvider.toBytes(e.pollId);
60
+ return this.toHex(eventPollIdBytes) === pollIdStr;
61
+ }));
56
62
  }
57
63
  getEventsByType(eventType) {
58
64
  return Object.freeze(this.events.filter((e) => e.eventType === eventType));
@@ -83,15 +89,19 @@ class PollEventLogger {
83
89
  return entry;
84
90
  }
85
91
  serializeEvent(event) {
92
+ const pollIdBytes = Constants.idProvider.toBytes(event.pollId);
93
+ const creatorIdBytes = event.creatorId
94
+ ? Constants.idProvider.toBytes(event.creatorId)
95
+ : undefined;
86
96
  const parts = [
87
97
  this.encodeNumber(event.sequence),
88
98
  this.encodeNumber(event.timestamp),
89
99
  this.encodeString(event.eventType),
90
- this.encodeNumber(event.pollId.length),
91
- event.pollId,
100
+ this.encodeNumber(pollIdBytes.length),
101
+ pollIdBytes,
92
102
  ];
93
- if (event.creatorId) {
94
- parts.push(this.encodeNumber(1), this.encodeNumber(event.creatorId.length), event.creatorId);
103
+ if (creatorIdBytes) {
104
+ parts.push(this.encodeNumber(1), this.encodeNumber(creatorIdBytes.length), creatorIdBytes);
95
105
  }
96
106
  else {
97
107
  parts.push(this.encodeNumber(0));
@@ -162,4 +172,7 @@ class PollEventLogger {
162
172
  }
163
173
  }
164
174
  exports.PollEventLogger = PollEventLogger;
175
+ // Re-export for convenience
176
+ var event_type_2 = require("./enumerations/event-type");
177
+ Object.defineProperty(exports, "EventType", { enumerable: true, get: function () { return event_type_2.EventType; } });
165
178
  //# sourceMappingURL=event-logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/event-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-logger.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/event-logger.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { PlatformID } from '../../interfaces';
1
+ import type { PlatformID } from '../../interfaces';
2
2
  import { Member } from '../../member';
3
+ import { VotingMethod } from './enumerations';
3
4
  import { Poll } from './poll-core';
4
- import { VotingMethod } from './types';
5
5
  export declare class PollFactory {
6
6
  /**
7
7
  * Create a new poll with specified method
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/factory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,qBAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,UAAU,EAClC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,IAAI,CAAC,GAAG,CAAC;IAkBZ;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,UAAU,EAC3C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,UAAU,EAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,UAAU,EAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EACtB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC,GAAG,CAAC;IAMZ;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,UAAU,EACvC,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,UAAU,EAC9C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;CAGb"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/factory.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,qBAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,UAAU,EAClC,OAAO,EAAE,MAAM,EAAE,EACjB,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GACA,IAAI,CAAC,GAAG,CAAC;IAkBZ;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,SAAS,UAAU,EAC3C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,UAAU,EAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,UAAU,EAC1C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,EACtB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC,GAAG,CAAC;IAMZ;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,UAAU,EACvC,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;IAIZ;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,SAAS,UAAU,EAC9C,OAAO,EAAE,MAAM,EAAE,EACjB,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,GACrB,IAAI,CAAC,GAAG,CAAC;CAGb"}
@@ -6,8 +6,8 @@ exports.PollFactory = void 0;
6
6
  * Browser compatible
7
7
  */
8
8
  const constants_1 = require("../../constants");
9
+ const enumerations_1 = require("./enumerations");
9
10
  const poll_core_1 = require("./poll-core");
10
- const types_1 = require("./types");
11
11
  class PollFactory {
12
12
  /**
13
13
  * Create a new poll with specified method
@@ -24,19 +24,19 @@ class PollFactory {
24
24
  * Create a plurality poll (simple majority)
25
25
  */
26
26
  static createPlurality(choices, authority) {
27
- return this.create(choices, types_1.VotingMethod.Plurality, authority);
27
+ return this.create(choices, enumerations_1.VotingMethod.Plurality, authority);
28
28
  }
29
29
  /**
30
30
  * Create an approval voting poll
31
31
  */
32
32
  static createApproval(choices, authority) {
33
- return this.create(choices, types_1.VotingMethod.Approval, authority);
33
+ return this.create(choices, enumerations_1.VotingMethod.Approval, authority);
34
34
  }
35
35
  /**
36
36
  * Create a weighted voting poll
37
37
  */
38
38
  static createWeighted(choices, authority, maxWeight) {
39
- return this.create(choices, types_1.VotingMethod.Weighted, authority, {
39
+ return this.create(choices, enumerations_1.VotingMethod.Weighted, authority, {
40
40
  maxWeight,
41
41
  });
42
42
  }
@@ -44,13 +44,13 @@ class PollFactory {
44
44
  * Create a Borda count poll
45
45
  */
46
46
  static createBorda(choices, authority) {
47
- return this.create(choices, types_1.VotingMethod.Borda, authority);
47
+ return this.create(choices, enumerations_1.VotingMethod.Borda, authority);
48
48
  }
49
49
  /**
50
50
  * Create a ranked choice (IRV) poll
51
51
  */
52
52
  static createRankedChoice(choices, authority) {
53
- return this.create(choices, types_1.VotingMethod.RankedChoice, authority);
53
+ return this.create(choices, enumerations_1.VotingMethod.RankedChoice, authority);
54
54
  }
55
55
  }
56
56
  exports.PollFactory = PollFactory;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/factory.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+CAA4C;AAG5C,2CAAmC;AACnC,mCAAuC;AAEvC,MAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,OAAiB,EACjB,MAAoB,EACpB,SAAsB,EACtB,OAEC;QAED,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,mBAAmB;QACnB,MAAM,EAAE,GAAG,qBAAS,CAAC,UAAU,CAAC,QAAQ,EAAS,CAAC;QAElD,OAAO,IAAI,gBAAI,CACb,EAAE,EACF,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,CAAC,eAAe,EACzB,OAAO,EAAE,SAAS,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAiB,EACjB,SAAsB,EACtB,SAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAY,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC5D,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAjFD,kCAiFC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/factory.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,+CAA4C;AAG5C,iDAA8C;AAC9C,2CAAmC;AAEnC,MAAa,WAAW;IACtB;;OAEG;IACH,MAAM,CAAC,MAAM,CACX,OAAiB,EACjB,MAAoB,EACpB,SAAsB,EACtB,OAEC;QAED,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,mBAAmB;QACnB,MAAM,EAAE,GAAG,qBAAS,CAAC,UAAU,CAAC,QAAQ,EAAS,CAAC;QAElD,OAAO,IAAI,gBAAI,CACb,EAAE,EACF,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,CAAC,eAAe,EACzB,OAAO,EAAE,SAAS,CACnB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,2BAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,2BAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,OAAiB,EACjB,SAAsB,EACtB,SAAiB;QAEjB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,2BAAY,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC5D,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,2BAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,kBAAkB,CACvB,OAAiB,EACjB,SAAsB;QAEtB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,2BAAY,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACpE,CAAC;CACF;AAjFD,kCAiFC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Hierarchical Vote Aggregator for U.S. Scale Elections
3
+ * Handles millions of votes through precinct → county → state → national aggregation
4
+ */
5
+ import type { PublicKey } from 'paillier-bigint';
6
+ import type { IMember, PlatformID } from '../../interfaces';
7
+ import { AggregatedTally } from './interfaces/aggregated-tally';
8
+ import { ICheckpointManager } from './interfaces/checkpoint-manager';
9
+ import { EncryptedVote } from './interfaces/encrypted-vote';
10
+ import { JurisdictionConfig } from './interfaces/jurisdiction-config';
11
+ import { IVoteLogger } from './interfaces/vote-logger';
12
+ import { Poll } from './poll-core';
13
+ /**
14
+ * Precinct-level aggregator - handles ~900 votes in memory
15
+ * Optional persistence via injected logger/checkpoint manager
16
+ */
17
+ export declare class PrecinctAggregator<TID extends PlatformID = Uint8Array> {
18
+ private readonly poll;
19
+ private readonly config;
20
+ private readonly logger?;
21
+ private readonly checkpointMgr?;
22
+ private checkpointInterval;
23
+ constructor(poll: Poll<TID>, config: JurisdictionConfig<TID>, logger?: IVoteLogger<TID>, checkpointMgr?: ICheckpointManager<TID>);
24
+ vote(voter: IMember<TID>, vote: EncryptedVote<TID>): Promise<void>;
25
+ getTally(): AggregatedTally<TID>;
26
+ close(): void;
27
+ }
28
+ /**
29
+ * County-level aggregator - combines precinct tallies
30
+ */
31
+ export declare class CountyAggregator<TID extends PlatformID = Uint8Array> {
32
+ private readonly config;
33
+ private readonly precinctTallies;
34
+ private readonly votingPublicKey;
35
+ constructor(config: JurisdictionConfig<TID>, votingPublicKey: PublicKey);
36
+ /**
37
+ * Add precinct tally to county aggregate
38
+ */
39
+ addPrecinctTally(tally: AggregatedTally<TID>): void;
40
+ /**
41
+ * Get aggregated county tally
42
+ */
43
+ getTally(): AggregatedTally<TID>;
44
+ private toKey;
45
+ }
46
+ /**
47
+ * State-level aggregator - combines county tallies
48
+ */
49
+ export declare class StateAggregator<TID extends PlatformID = Uint8Array> {
50
+ private readonly config;
51
+ private readonly countyTallies;
52
+ private readonly votingPublicKey;
53
+ constructor(config: JurisdictionConfig<TID>, votingPublicKey: PublicKey);
54
+ addCountyTally(tally: AggregatedTally<TID>): void;
55
+ getTally(): AggregatedTally<TID>;
56
+ private toKey;
57
+ }
58
+ /**
59
+ * National-level aggregator - combines state tallies and decrypts final result
60
+ */
61
+ export declare class NationalAggregator<TID extends PlatformID = Uint8Array> {
62
+ private readonly config;
63
+ private readonly stateTallies;
64
+ private readonly votingPublicKey;
65
+ constructor(config: JurisdictionConfig<TID>, votingPublicKey: PublicKey);
66
+ addStateTally(tally: AggregatedTally<TID>): void;
67
+ getTally(): AggregatedTally<TID>;
68
+ private toKey;
69
+ }
70
+ export { JurisdictionLevel } from './enumerations/jurisdictional-level';
71
+ export type { JurisdictionConfig } from './interfaces/jurisdiction-config';
72
+ //# sourceMappingURL=hierarchical-aggregator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchical-aggregator.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/hierarchical-aggregator.ts"],"names":[],"mappings":"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"}