@digitaldefiance/ecies-lib 4.7.12 → 4.8.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 (89) hide show
  1. package/README.md +1 -1
  2. package/package.json +2 -2
  3. package/src/builders/member-builder.d.ts +3 -2
  4. package/src/builders/member-builder.d.ts.map +1 -1
  5. package/src/builders/member-builder.js.map +1 -1
  6. package/src/constants.d.ts +10 -0
  7. package/src/constants.d.ts.map +1 -1
  8. package/src/constants.js +30 -4
  9. package/src/constants.js.map +1 -1
  10. package/src/interfaces/configuration-provenance.d.ts +2 -2
  11. package/src/interfaces/configuration-provenance.d.ts.map +1 -1
  12. package/src/interfaces/configuration-provenance.js +0 -5
  13. package/src/interfaces/configuration-provenance.js.map +1 -1
  14. package/src/interfaces/id-provider.d.ts +12 -0
  15. package/src/interfaces/id-provider.d.ts.map +1 -1
  16. package/src/interfaces/index.d.ts +1 -1
  17. package/src/interfaces/index.d.ts.map +1 -1
  18. package/src/interfaces/index.js +1 -1
  19. package/src/interfaces/index.js.map +1 -1
  20. package/src/interfaces/member-with-mnemonic.d.ts +3 -2
  21. package/src/interfaces/member-with-mnemonic.d.ts.map +1 -1
  22. package/src/interfaces/member.d.ts +19 -17
  23. package/src/interfaces/member.d.ts.map +1 -1
  24. package/src/interfaces/platform-id.d.ts +4 -0
  25. package/src/interfaces/platform-id.d.ts.map +1 -0
  26. package/src/interfaces/{frontend-member-operational.js → platform-id.js} +1 -1
  27. package/src/interfaces/platform-id.js.map +1 -0
  28. package/src/lib/base-id-provider.d.ts +10 -0
  29. package/src/lib/base-id-provider.d.ts.map +1 -1
  30. package/src/lib/base-id-provider.js +22 -0
  31. package/src/lib/base-id-provider.js.map +1 -1
  32. package/src/lib/configuration-provenance-utils.d.ts +2 -1
  33. package/src/lib/configuration-provenance-utils.d.ts.map +1 -1
  34. package/src/lib/configuration-provenance-utils.js.map +1 -1
  35. package/src/lib/crypto-container.d.ts.map +1 -1
  36. package/src/lib/crypto-container.js +7 -3
  37. package/src/lib/crypto-container.js.map +1 -1
  38. package/src/lib/id-providers/objectid-provider.d.ts +10 -1
  39. package/src/lib/id-providers/objectid-provider.d.ts.map +1 -1
  40. package/src/lib/id-providers/objectid-provider.js +16 -0
  41. package/src/lib/id-providers/objectid-provider.js.map +1 -1
  42. package/src/lib/voting/audit.d.ts +16 -19
  43. package/src/lib/voting/audit.d.ts.map +1 -1
  44. package/src/lib/voting/audit.js +9 -4
  45. package/src/lib/voting/audit.js.map +1 -1
  46. package/src/lib/voting/encoder.d.ts +8 -7
  47. package/src/lib/voting/encoder.d.ts.map +1 -1
  48. package/src/lib/voting/encoder.js.map +1 -1
  49. package/src/lib/voting/examples.d.ts +7 -6
  50. package/src/lib/voting/examples.d.ts.map +1 -1
  51. package/src/lib/voting/examples.js +50 -43
  52. package/src/lib/voting/examples.js.map +1 -1
  53. package/src/lib/voting/factory.d.ts +10 -12
  54. package/src/lib/voting/factory.d.ts.map +1 -1
  55. package/src/lib/voting/factory.js +2 -2
  56. package/src/lib/voting/factory.js.map +1 -1
  57. package/src/lib/voting/poll-core.d.ts +7 -6
  58. package/src/lib/voting/poll-core.d.ts.map +1 -1
  59. package/src/lib/voting/poll-core.js +6 -5
  60. package/src/lib/voting/poll-core.js.map +1 -1
  61. package/src/lib/voting/poll.d.ts +9 -8
  62. package/src/lib/voting/poll.d.ts.map +1 -1
  63. package/src/lib/voting/poll.js +3 -3
  64. package/src/lib/voting/poll.js.map +1 -1
  65. package/src/lib/voting/tallier.d.ts +4 -3
  66. package/src/lib/voting/tallier.d.ts.map +1 -1
  67. package/src/lib/voting/tallier.js.map +1 -1
  68. package/src/lib/voting/types.d.ts +8 -7
  69. package/src/lib/voting/types.d.ts.map +1 -1
  70. package/src/lib/voting/types.js.map +1 -1
  71. package/src/member.d.ts +10 -7
  72. package/src/member.d.ts.map +1 -1
  73. package/src/member.js +17 -4
  74. package/src/member.js.map +1 -1
  75. package/src/services/ecies/multi-recipient.d.ts +17 -0
  76. package/src/services/ecies/multi-recipient.d.ts.map +1 -1
  77. package/src/services/ecies/multi-recipient.js +19 -0
  78. package/src/services/ecies/multi-recipient.js.map +1 -1
  79. package/src/services/ecies/service.d.ts +26 -1
  80. package/src/services/ecies/service.d.ts.map +1 -1
  81. package/src/services/ecies/service.js +44 -0
  82. package/src/services/ecies/service.js.map +1 -1
  83. package/src/test-mocks/mock-frontend-member.d.ts +13 -4
  84. package/src/test-mocks/mock-frontend-member.d.ts.map +1 -1
  85. package/src/test-mocks/mock-frontend-member.js +27 -0
  86. package/src/test-mocks/mock-frontend-member.js.map +1 -1
  87. package/src/interfaces/frontend-member-operational.d.ts +0 -51
  88. package/src/interfaces/frontend-member-operational.d.ts.map +0 -1
  89. package/src/interfaces/frontend-member-operational.js.map +0 -1
@@ -4,7 +4,6 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CryptoContainer = exports.CryptoServiceKey = void 0;
7
- const constants_1 = require("../constants");
8
7
  const ecies_string_key_1 = require("../enumerations/ecies-string-key");
9
8
  const i18n_setup_1 = require("../i18n-setup");
10
9
  var CryptoServiceKey;
@@ -25,8 +24,13 @@ class CryptoContainer {
25
24
  this.i18n = i18n;
26
25
  this.initServices();
27
26
  }
28
- static create(config = constants_1.Constants, i18n) {
29
- return new CryptoContainer(config, i18n || (0, i18n_setup_1.getEciesI18nEngine)());
27
+ static create(config, i18n) {
28
+ const finalConfig = config ?? (() => {
29
+ // Lazy import to avoid circular dependency
30
+ const { Constants } = require('../constants');
31
+ return Constants;
32
+ })();
33
+ return new CryptoContainer(finalConfig, i18n || (0, i18n_setup_1.getEciesI18nEngine)());
30
34
  }
31
35
  get(key) {
32
36
  const service = this.services.get(key);
@@ -1 +1 @@
1
- {"version":3,"file":"crypto-container.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/crypto-container.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,4CAAyC;AACzC,uEAAkE;AAClE,8CAAqE;AAGrE,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,qDAAiC,CAAA;IACjC,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAED,MAAa,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChD,MAAM,CAAa;IACnB,IAAI,CAAa;IAEzB,YAAoB,MAAkB,EAAE,IAAgB;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAqB,qBAAS,EAC9B,IAAiB;QAEjB,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,IAAI,IAAA,+BAAkB,GAAE,CAAC,CAAC;IACnE,CAAC;IAED,GAAG,CAAI,GAAqB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,6BAAgB,EAChB,iCAAc,CAAC,uCAAuC,EACtD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAY,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,gEAAgE;QAChE,wDAAwD;IAC1D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AA5CD,0CA4CC"}
1
+ {"version":3,"file":"crypto-container.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/lib/crypto-container.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAGH,uEAAkE;AAClE,8CAAqE;AAGrE,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,qDAAiC,CAAA;IACjC,iCAAa,CAAA;IACb,+BAAW,CAAA;AACb,CAAC,EAPW,gBAAgB,gCAAhB,gBAAgB,QAO3B;AAED,MAAa,eAAe;IAClB,QAAQ,GAAG,IAAI,GAAG,EAA6B,CAAC;IAChD,MAAM,CAAa;IACnB,IAAI,CAAa;IAEzB,YAAoB,MAAkB,EAAE,IAAgB;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CACX,MAAmB,EACnB,IAAiB;QAEjB,MAAM,WAAW,GAAe,MAAM,IAAI,CAAC,GAAG,EAAE;YAC9C,2CAA2C;YAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC9C,OAAO,SAAuB,CAAC;QACjC,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,IAAI,eAAe,CAAC,WAAW,EAAE,IAAI,IAAI,IAAA,+BAAkB,GAAE,CAAC,CAAC;IACxE,CAAC;IAED,GAAG,CAAI,GAAqB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,IAAI,CAAC,IAAI,CAAC,SAAS,CACjB,6BAAgB,EAChB,iCAAc,CAAC,uCAAuC,EACtD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAY,CAAC;IACtB,CAAC;IAEO,YAAY;QAClB,gEAAgE;QAChE,wDAAwD;IAC1D,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAjDD,0CAiDC"}
@@ -1,3 +1,4 @@
1
+ import { ObjectId } from 'bson';
1
2
  import { BaseIdProvider } from '../base-id-provider';
2
3
  /**
3
4
  * ID provider for MongoDB/BSON ObjectIDs (12 bytes).
@@ -33,11 +34,19 @@ export declare class ObjectIdProvider extends BaseIdProvider {
33
34
  * Convert an ID of unknown type to a string representation.
34
35
  * Handles Uint8Array, ObjectId instances, and falls back to String().
35
36
  */
36
- idToString(id: unknown): string;
37
+ idToString(id: ObjectId): string;
37
38
  /**
38
39
  * Convert a string representation of an ID back to an ID buffer.
39
40
  * Delegates to deserialize.
40
41
  */
41
42
  idFromString(str: string): Uint8Array;
43
+ /**
44
+ * Convert any ID representation to canonical Uint8Array format.
45
+ */
46
+ toBytes(id: ObjectId): Uint8Array;
47
+ /**
48
+ * Convert Uint8Array to ObjectId bytes (stays as Uint8Array for consistency).
49
+ */
50
+ fromBytes(bytes: Uint8Array): Uint8Array;
42
51
  }
43
52
  //# sourceMappingURL=objectid-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectid-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,UAAU,MAAM;IACzB,QAAQ,CAAC,IAAI,cAAc;;IAM3B;;;OAGG;IACH,QAAQ,IAAI,UAAU;IAgBtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAiBjC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAQjC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IA8BpC;;;OAGG;IACM,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM;IAOxC;;;OAGG;IACM,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;CAG/C"}
1
+ {"version":3,"file":"objectid-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAGhC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAClD,QAAQ,CAAC,UAAU,MAAM;IACzB,QAAQ,CAAC,IAAI,cAAc;;IAM3B;;;OAGG;IACH,QAAQ,IAAI,UAAU;IAgBtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAiBjC;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM;IAQjC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IA8BpC;;;OAGG;IACM,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM;IAOzC;;;OAGG;IACM,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAI9C;;OAEG;IACM,OAAO,CAAC,EAAE,EAAE,QAAQ,GAAG,UAAU;IAO1C;;OAEG;IACM,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU;CAIlD"}
@@ -103,6 +103,22 @@ class ObjectIdProvider extends base_id_provider_1.BaseIdProvider {
103
103
  idFromString(str) {
104
104
  return this.deserialize(str);
105
105
  }
106
+ /**
107
+ * Convert any ID representation to canonical Uint8Array format.
108
+ */
109
+ toBytes(id) {
110
+ if (id instanceof bson_1.ObjectId) {
111
+ return new Uint8Array(id.id);
112
+ }
113
+ return super.toBytes(id);
114
+ }
115
+ /**
116
+ * Convert Uint8Array to ObjectId bytes (stays as Uint8Array for consistency).
117
+ */
118
+ fromBytes(bytes) {
119
+ this.validateLength(bytes, 'ObjectIdProvider.fromBytes');
120
+ return this.clone(bytes);
121
+ }
106
122
  }
107
123
  exports.ObjectIdProvider = ObjectIdProvider;
108
124
  //# sourceMappingURL=objectid-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"objectid-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectid-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/id-providers/objectid-provider.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- /**
2
- * Immutable Audit Log for Government-Grade Voting
3
- * Implements requirement 1.1: Cryptographically signed, hash-chained audit trail
4
- */
1
+ import { PlatformID } from '../../interfaces';
5
2
  import type { IMember } from './types';
6
3
  export declare enum AuditEventType {
7
4
  PollCreated = "poll_created",
8
5
  VoteCast = "vote_cast",
9
6
  PollClosed = "poll_closed"
10
7
  }
11
- export interface AuditEntry {
8
+ export interface AuditEntry<TID extends PlatformID> {
12
9
  /** Sequence number (monotonically increasing) */
13
10
  readonly sequence: number;
14
11
  /** Event type */
@@ -16,11 +13,11 @@ export interface AuditEntry {
16
13
  /** Microsecond-precision timestamp */
17
14
  readonly timestamp: number;
18
15
  /** Poll identifier */
19
- readonly pollId: Uint8Array;
16
+ readonly pollId: TID;
20
17
  /** Hash of voter ID (for vote events) */
21
18
  readonly voterIdHash?: Uint8Array;
22
19
  /** Authority/creator ID (for creation/closure events) */
23
- readonly authorityId?: Uint8Array;
20
+ readonly authorityId?: TID;
24
21
  /** Hash of previous entry (chain integrity) */
25
22
  readonly previousHash: Uint8Array;
26
23
  /** Hash of this entry's data */
@@ -30,40 +27,40 @@ export interface AuditEntry {
30
27
  /** Additional metadata */
31
28
  readonly metadata?: Record<string, unknown>;
32
29
  }
33
- export interface AuditLog {
30
+ export interface AuditLog<TID extends PlatformID> {
34
31
  /** Get all entries in chronological order */
35
- getEntries(): readonly AuditEntry[];
32
+ getEntries(): readonly AuditEntry<TID>[];
36
33
  /** Get entries for a specific poll */
37
- getEntriesForPoll(pollId: Uint8Array): readonly AuditEntry[];
34
+ getEntriesForPoll(pollId: TID): readonly AuditEntry<TID>[];
38
35
  /** Verify the entire chain integrity */
39
36
  verifyChain(): boolean;
40
37
  /** Verify a specific entry's signature */
41
- verifyEntry(entry: AuditEntry): boolean;
38
+ verifyEntry(entry: AuditEntry<TID>): boolean;
42
39
  }
43
40
  /**
44
41
  * Immutable audit log with cryptographic hash chain
45
42
  */
46
- export declare class ImmutableAuditLog implements AuditLog {
43
+ export declare class ImmutableAuditLog<TID extends PlatformID> implements AuditLog<TID> {
47
44
  private readonly entries;
48
45
  private readonly authority;
49
46
  private sequence;
50
- constructor(authority: IMember);
47
+ constructor(authority: IMember<TID>);
51
48
  /**
52
49
  * Record poll creation event
53
50
  */
54
- recordPollCreated(pollId: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
51
+ recordPollCreated(pollId: TID, metadata?: Record<string, unknown>): AuditEntry<TID>;
55
52
  /**
56
53
  * Record vote cast event
57
54
  */
58
- recordVoteCast(pollId: Uint8Array, voterIdHash: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
55
+ recordVoteCast(pollId: TID, voterIdHash: Uint8Array, metadata?: Record<string, unknown>): AuditEntry<TID>;
59
56
  /**
60
57
  * Record poll closure event
61
58
  */
62
- recordPollClosed(pollId: Uint8Array, metadata?: Record<string, unknown>): AuditEntry;
63
- getEntries(): readonly AuditEntry[];
64
- getEntriesForPoll(pollId: Uint8Array): readonly AuditEntry[];
59
+ recordPollClosed(pollId: TID, metadata?: Record<string, unknown>): AuditEntry<TID>;
60
+ getEntries(): readonly AuditEntry<TID>[];
61
+ getEntriesForPoll(pollId: TID): readonly AuditEntry<TID>[];
65
62
  verifyChain(): boolean;
66
- verifyEntry(entry: AuditEntry): boolean;
63
+ verifyEntry(entry: AuditEntry<TID>): boolean;
67
64
  private appendEntry;
68
65
  private computeEntryHash;
69
66
  private serializeEntryForHashing;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAEvC,oBAAY,cAAc;IACxB,WAAW,iBAAiB;IAC5B,QAAQ,cAAc;IACtB,UAAU,gBAAgB;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,iBAAiB;IACjB,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,sCAAsC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sBAAsB;IACtB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,yCAAyC;IACzC,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,yDAAyD;IACzD,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IAClC,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC,gCAAgC;IAChC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,0BAA0B;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,UAAU,IAAI,SAAS,UAAU,EAAE,CAAC;IACpC,sCAAsC;IACtC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE,CAAC;IAC7D,wCAAwC;IACxC,WAAW,IAAI,OAAO,CAAC;IACvB,0CAA0C;IAC1C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAU;IACpC,OAAO,CAAC,QAAQ,CAAK;gBAET,SAAS,EAAE,OAAO;IAI9B;;OAEG;IACH,iBAAiB,CACf,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb;;OAEG;IACH,cAAc,CACZ,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,UAAU,EACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb;;OAEG;IACH,gBAAgB,CACd,MAAM,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU;IASb,UAAU,IAAI,SAAS,UAAU,EAAE;IAInC,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,UAAU,EAAE;IAO5D,WAAW,IAAI,OAAO;IA6BtB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAKvC,OAAO,CAAC,WAAW;IAgCnB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,wBAAwB;IAmBhC,OAAO,CAAC,wBAAwB;IAMhC,OAAO,CAAC,uBAAuB;IAI/B,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,KAAK;CAKd"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImmutableAuditLog = exports.AuditEventType = void 0;
4
+ /**
5
+ * Immutable Audit Log for Government-Grade Voting
6
+ * Implements requirement 1.1: Cryptographically signed, hash-chained audit trail
7
+ */
8
+ const constants_1 = require("../../constants");
4
9
  var AuditEventType;
5
10
  (function (AuditEventType) {
6
11
  AuditEventType["PollCreated"] = "poll_created";
@@ -54,8 +59,8 @@ class ImmutableAuditLog {
54
59
  return Object.freeze([...this.entries]);
55
60
  }
56
61
  getEntriesForPoll(pollId) {
57
- const pollIdStr = this.toHex(pollId);
58
- return Object.freeze(this.entries.filter((e) => this.toHex(e.pollId) === pollIdStr));
62
+ const pollIdStr = this.toHex(constants_1.Constants.idProvider.toBytes(pollId));
63
+ return Object.freeze(this.entries.filter((e) => this.toHex(constants_1.Constants.idProvider.toBytes(e.pollId)) === pollIdStr));
59
64
  }
60
65
  verifyChain() {
61
66
  if (this.entries.length === 0)
@@ -115,13 +120,13 @@ class ImmutableAuditLog {
115
120
  this.encodeNumber(entry.sequence),
116
121
  this.encodeString(entry.eventType),
117
122
  this.encodeNumber(entry.timestamp),
118
- entry.pollId,
123
+ constants_1.Constants.idProvider.toBytes(entry.pollId),
119
124
  entry.previousHash,
120
125
  ];
121
126
  if (entry.voterIdHash)
122
127
  parts.push(entry.voterIdHash);
123
128
  if (entry.authorityId)
124
- parts.push(entry.authorityId);
129
+ parts.push(constants_1.Constants.idProvider.toBytes(entry.authorityId));
125
130
  if (entry.metadata)
126
131
  parts.push(this.encodeString(JSON.stringify(entry.metadata)));
127
132
  return this.concat(parts);
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"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"}
@@ -4,31 +4,32 @@
4
4
  */
5
5
  import type { PublicKey } from 'paillier-bigint';
6
6
  import { VotingMethod, type EncryptedVote } from './types';
7
- export declare class VoteEncoder {
7
+ import { PlatformID } from '../../interfaces';
8
+ export declare class VoteEncoder<TID extends PlatformID = Uint8Array> {
8
9
  private readonly votingPublicKey;
9
10
  constructor(votingPublicKey: PublicKey);
10
11
  /**
11
12
  * Encode a plurality vote (single choice)
12
13
  */
13
- encodePlurality(choiceIndex: number, choiceCount: number): EncryptedVote;
14
+ encodePlurality(choiceIndex: number, choiceCount: number): EncryptedVote<TID>;
14
15
  /**
15
16
  * Encode an approval vote (multiple choices)
16
17
  */
17
- encodeApproval(choices: number[], choiceCount: number): EncryptedVote;
18
+ encodeApproval(choices: number[], choiceCount: number): EncryptedVote<TID>;
18
19
  /**
19
20
  * Encode a weighted vote
20
21
  */
21
- encodeWeighted(choiceIndex: number, weight: bigint, choiceCount: number): EncryptedVote;
22
+ encodeWeighted(choiceIndex: number, weight: bigint, choiceCount: number): EncryptedVote<TID>;
22
23
  /**
23
24
  * Encode a Borda count vote (ranked with points)
24
25
  * First choice gets N points, second gets N-1, etc.
25
26
  */
26
- encodeBorda(rankings: number[], choiceCount: number): EncryptedVote;
27
+ encodeBorda(rankings: number[], choiceCount: number): EncryptedVote<TID>;
27
28
  /**
28
29
  * Encode a ranked choice vote (for IRV/STV)
29
30
  * Stores ranking order, not points
30
31
  */
31
- encodeRankedChoice(rankings: number[], choiceCount: number): EncryptedVote;
32
+ encodeRankedChoice(rankings: number[], choiceCount: number): EncryptedVote<TID>;
32
33
  /**
33
34
  * Encode vote based on method
34
35
  */
@@ -37,6 +38,6 @@ export declare class VoteEncoder {
37
38
  choices?: number[];
38
39
  rankings?: number[];
39
40
  weight?: bigint;
40
- }, choiceCount: number): EncryptedVote;
41
+ }, choiceCount: number): EncryptedVote<TID>;
41
42
  }
42
43
  //# sourceMappingURL=encoder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/encoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3D,qBAAa,WAAW;IACV,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,SAAS;IAEvD;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;IAkBxE;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;IAkBrE;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,aAAa;IAkBhB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;IAwBnE;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa;IAsB1E;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,WAAW,EAAE,MAAM,GAClB,aAAa;CAwDjB"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/encoder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,qBAAa,WAAW,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC9C,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,SAAS;IAEvD;;OAEG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAkB7E;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAkB1E;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAClB,aAAa,CAAC,GAAG,CAAC;IAkBrB;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAwBxE;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC;IAsB/E;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,YAAY,EACpB,IAAI,EAAE;QACJ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,EACD,WAAW,EAAE,MAAM,GAClB,aAAa,CAAC,GAAG,CAAC;CAwDtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/encoder.ts"],"names":[],"mappings":";;;AAKA,mCAA2D;AAE3D,MAAa,WAAW;IACO;IAA7B,YAA6B,eAA0B;QAA1B,oBAAe,GAAf,eAAe,CAAW;IAAG,CAAC;IAE3D;;OAEG;IACH,eAAe,CAAC,WAAmB,EAAE,WAAmB;QACtD,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,mDAAmD;YACnD,SAAS,CAAC,IAAI,CACZ,CAAC,KAAK,WAAW;gBACf,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,WAAW;YACX,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAiB,EAAE,WAAmB;QACnD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CACZ,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBACd,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO;YACP,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,WAAmB,EACnB,MAAc,EACd,WAAmB;QAEnB,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CACZ,CAAC,KAAK,WAAW;gBACf,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CACrC,CAAC;QACJ,CAAC;QAED,OAAO;YACL,WAAW;YACX,MAAM;YACN,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,QAAkB,EAAE,WAAmB;QACjD,MAAM,SAAS,GAAa,IAAI,KAAK,CAAC,WAAW,CAAa,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEvC,sBAAsB;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAW,CAAC;QAC5D,CAAC;QAED,iCAAiC;QACjC,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YAC3C,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CACnD,YAAY,CACH,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ;YACR,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,QAAkB,EAAE,WAAmB;QACxD,MAAM,SAAS,GAAa,IAAI,KAAK,CAAC,WAAW,CAAa,CAAC;QAE/D,mCAAmC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAW,CAAC;QAC5D,CAAC;QAED,sDAAsD;QACtD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACnC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CACnD,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CACP,CAAC;QACd,CAAC;QAED,OAAO;YACL,QAAQ;YACR,SAAS;SACV,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CACJ,MAAoB,EACpB,IAKC,EACD,WAAmB;QAEnB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,oBAAY,CAAC,SAAS;gBACzB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAE7D,KAAK,oBAAY,CAAC,QAAQ;gBACxB,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAExD,KAAK,oBAAY,CAAC,QAAQ;gBACxB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEzE,KAAK,oBAAY,CAAC,KAAK;gBACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAEtD,KAAK,oBAAY,CAAC,YAAY;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAE7D,KAAK,oBAAY,CAAC,SAAS;gBACzB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBACD,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAEzE,KAAK,oBAAY,CAAC,SAAS;gBACzB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACvE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAE7D,KAAK,oBAAY,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC/B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACvE,0DAA0D;gBAC1D,MAAM,SAAS,GAAa,EAAE,CAAC;gBAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,SAAS,CAAC,IAAI,CACZ,CAAC,KAAK,IAAI,CAAC,WAAW;wBACpB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;wBACjD,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CACrC,CAAC;gBACJ,CAAC;gBACD,OAAO;oBACL,WAAW,EAAE,IAAI,CAAC,WAAW;oBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS;iBACV,CAAC;YACJ,CAAC;YAED;gBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF;AAhMD,kCAgMC"}
1
+ {"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/encoder.ts"],"names":[],"mappings":"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"}
@@ -2,29 +2,30 @@
2
2
  * Voting System Usage Examples
3
3
  * Shows how to use with ecies-lib Member class
4
4
  */
5
+ import { PlatformID } from '../../interfaces';
5
6
  /**
6
7
  * Example 1: Simple Plurality Vote
7
8
  */
8
- declare function examplePlurality(): Promise<void>;
9
+ declare function examplePlurality<TID extends PlatformID>(): Promise<void>;
9
10
  /**
10
11
  * Example 2: Ranked Choice Voting (True IRV)
11
12
  */
12
- declare function exampleRankedChoice(): Promise<void>;
13
+ declare function exampleRankedChoice<TID extends PlatformID>(): Promise<void>;
13
14
  /**
14
15
  * Example 3: Weighted Voting (Stakeholder)
15
16
  */
16
- declare function exampleWeighted(): Promise<void>;
17
+ declare function exampleWeighted<TID extends PlatformID = Uint8Array>(): Promise<void>;
17
18
  /**
18
19
  * Example 4: Borda Count
19
20
  */
20
- declare function exampleBorda(): Promise<void>;
21
+ declare function exampleBorda<TID extends PlatformID = Uint8Array>(): Promise<void>;
21
22
  /**
22
23
  * Example 5: Approval Voting
23
24
  */
24
- declare function exampleApproval(): Promise<void>;
25
+ declare function exampleApproval<TID extends PlatformID = Uint8Array>(): Promise<void>;
25
26
  /**
26
27
  * Example 6: Receipt Verification
27
28
  */
28
- declare function exampleReceipts(): Promise<void>;
29
+ declare function exampleReceipts<TID extends PlatformID>(): Promise<void>;
29
30
  export { examplePlurality, exampleRankedChoice, exampleWeighted, exampleBorda, exampleApproval, exampleReceipts, };
30
31
  //# sourceMappingURL=examples.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;GAEG;AACH,iBAAe,gBAAgB,kBAiC9B;AAED;;GAEG;AACH,iBAAe,mBAAmB,kBAqCjC;AAED;;GAEG;AACH,iBAAe,eAAe,kBAgC7B;AAED;;GAEG;AACH,iBAAe,YAAY,kBA8B1B;AAED;;GAEG;AACH,iBAAe,eAAe,kBAgC7B;AAED;;GAEG;AACH,iBAAe,eAAe,kBAkB7B;AAcD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-ecies-lib/src/lib/voting/examples.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAgC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAW5E;;GAEG;AACH,iBAAe,gBAAgB,CAAC,GAAG,SAAS,UAAU,mBAiCrD;AAED;;GAEG;AACH,iBAAe,mBAAmB,CAAC,GAAG,SAAS,UAAU,mBAqCxD;AAED;;GAEG;AACH,iBAAe,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,mBAgCjE;AAED;;GAEG;AACH,iBAAe,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,mBA8B9D;AAED;;GAEG;AACH,iBAAe,eAAe,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,mBAgCjE;AAED;;GAEG;AACH,iBAAe,eAAe,CAAC,GAAG,SAAS,UAAU,mBAkBpD;AAcD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,CAAC"}
@@ -10,27 +10,32 @@ exports.exampleWeighted = exampleWeighted;
10
10
  exports.exampleBorda = exampleBorda;
11
11
  exports.exampleApproval = exampleApproval;
12
12
  exports.exampleReceipts = exampleReceipts;
13
+ const constants_1 = require("../../constants");
14
+ const email_string_1 = require("../../email-string");
15
+ const enumerations_1 = require("../../enumerations");
16
+ const member_1 = require("../../member");
17
+ const services_1 = require("../../services");
13
18
  const index_1 = require("./index");
14
19
  /**
15
20
  * Example 1: Simple Plurality Vote
16
21
  */
17
22
  async function examplePlurality() {
18
23
  // Create authority (poll creator)
19
- const authority = await createMemberWithVotingKeys();
24
+ const authority = createMemberWithVotingKeys();
20
25
  // Create poll
21
- const poll = index_1.PollFactory.createPlurality(['Alice', 'Bob', 'Charlie'], authority);
26
+ const poll = index_1.PollFactory.createPlurality(['Alice', 'Bob', 'Charlie'], authority.member);
22
27
  // Create voters
23
- const voter1 = await createMemberWithVotingKeys();
24
- const voter2 = await createMemberWithVotingKeys();
25
- const voter3 = await createMemberWithVotingKeys();
28
+ const voter1 = createMemberWithVotingKeys();
29
+ const voter2 = createMemberWithVotingKeys();
30
+ const voter3 = createMemberWithVotingKeys();
26
31
  // Cast votes
27
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
28
- poll.vote(voter1, encoder.encodePlurality(0, 3)); // Alice
29
- poll.vote(voter2, encoder.encodePlurality(0, 3)); // Alice
30
- poll.vote(voter3, encoder.encodePlurality(1, 3)); // Bob
32
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
33
+ poll.vote(voter1.member, encoder.encodePlurality(0, 3)); // Alice
34
+ poll.vote(voter2.member, encoder.encodePlurality(0, 3)); // Alice
35
+ poll.vote(voter3.member, encoder.encodePlurality(1, 3)); // Bob
31
36
  // Close and tally
32
37
  poll.close();
33
- const tallier = new index_1.PollTallier(authority, authority.votingPrivateKey, authority.votingPublicKey);
38
+ const tallier = new index_1.PollTallier(authority.member, authority.member.votingPrivateKey, authority.member.votingPublicKey);
34
39
  const results = tallier.tally(poll);
35
40
  console.log('Winner:', results.choices[results.winner]); // Alice
36
41
  console.log('Tallies:', results.tallies); // [2n, 1n, 0n]
@@ -39,23 +44,23 @@ async function examplePlurality() {
39
44
  * Example 2: Ranked Choice Voting (True IRV)
40
45
  */
41
46
  async function exampleRankedChoice() {
42
- const authority = await createMemberWithVotingKeys();
43
- const poll = index_1.PollFactory.createRankedChoice(['Alice', 'Bob', 'Charlie', 'Diana'], authority);
44
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
47
+ const authority = createMemberWithVotingKeys();
48
+ const poll = index_1.PollFactory.createRankedChoice(['Alice', 'Bob', 'Charlie', 'Diana'], authority.member);
49
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
45
50
  // Voter 1: Alice > Bob > Charlie
46
51
  const voter1 = await createMemberWithVotingKeys();
47
- poll.vote(voter1, encoder.encodeRankedChoice([0, 1, 2], 4));
52
+ poll.vote(voter1.member, encoder.encodeRankedChoice([0, 1, 2], 4));
48
53
  // Voter 2: Bob > Alice > Diana
49
54
  const voter2 = await createMemberWithVotingKeys();
50
- poll.vote(voter2, encoder.encodeRankedChoice([1, 0, 3], 4));
55
+ poll.vote(voter2.member, encoder.encodeRankedChoice([1, 0, 3], 4));
51
56
  // Voter 3: Charlie > Diana > Bob
52
57
  const voter3 = await createMemberWithVotingKeys();
53
- poll.vote(voter3, encoder.encodeRankedChoice([2, 3, 1], 4));
58
+ poll.vote(voter3.member, encoder.encodeRankedChoice([2, 3, 1], 4));
54
59
  // Voter 4: Alice > Charlie
55
60
  const voter4 = await createMemberWithVotingKeys();
56
- poll.vote(voter4, encoder.encodeRankedChoice([0, 2], 4));
61
+ poll.vote(voter4.member, encoder.encodeRankedChoice([0, 2], 4));
57
62
  poll.close();
58
- const tallier = new index_1.PollTallier(authority, authority.votingPrivateKey, authority.votingPublicKey);
63
+ const tallier = new index_1.PollTallier(authority.member, authority.member.votingPrivateKey, authority.member.votingPublicKey);
59
64
  const results = tallier.tally(poll);
60
65
  console.log('Winner:', results.choices[results.winner]);
61
66
  console.log('Rounds:', results.rounds);
@@ -66,19 +71,19 @@ async function exampleRankedChoice() {
66
71
  */
67
72
  async function exampleWeighted() {
68
73
  const authority = await createMemberWithVotingKeys();
69
- const poll = index_1.PollFactory.createWeighted(['Proposal A', 'Proposal B'], authority, 1000n);
70
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
74
+ const poll = index_1.PollFactory.createWeighted(['Proposal A', 'Proposal B'], authority.member, 1000n);
75
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
71
76
  // Large stakeholder
72
77
  const whale = await createMemberWithVotingKeys();
73
- poll.vote(whale, encoder.encodeWeighted(0, 500n, 2));
78
+ poll.vote(whale.member, encoder.encodeWeighted(0, 500n, 2));
74
79
  // Medium stakeholder
75
80
  const dolphin = await createMemberWithVotingKeys();
76
- poll.vote(dolphin, encoder.encodeWeighted(1, 200n, 2));
81
+ poll.vote(dolphin.member, encoder.encodeWeighted(1, 200n, 2));
77
82
  // Small stakeholder
78
83
  const shrimp = await createMemberWithVotingKeys();
79
- poll.vote(shrimp, encoder.encodeWeighted(1, 50n, 2));
84
+ poll.vote(shrimp.member, encoder.encodeWeighted(1, 50n, 2));
80
85
  poll.close();
81
- const tallier = new index_1.PollTallier(authority, authority.votingPrivateKey, authority.votingPublicKey);
86
+ const tallier = new index_1.PollTallier(authority.member, authority.member.votingPrivateKey, authority.member.votingPublicKey);
82
87
  const results = tallier.tally(poll);
83
88
  console.log('Results:', results.tallies); // [500n, 250n]
84
89
  }
@@ -87,17 +92,17 @@ async function exampleWeighted() {
87
92
  */
88
93
  async function exampleBorda() {
89
94
  const authority = await createMemberWithVotingKeys();
90
- const poll = index_1.PollFactory.createBorda(['Option A', 'Option B', 'Option C'], authority);
91
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
95
+ const poll = index_1.PollFactory.createBorda(['Option A', 'Option B', 'Option C'], authority.member);
96
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
92
97
  // Each voter ranks all options
93
98
  const voter1 = await createMemberWithVotingKeys();
94
- poll.vote(voter1, encoder.encodeBorda([0, 1, 2], 3)); // A=3, B=2, C=1
99
+ poll.vote(voter1.member, encoder.encodeBorda([0, 1, 2], 3)); // A=3, B=2, C=1
95
100
  const voter2 = await createMemberWithVotingKeys();
96
- poll.vote(voter2, encoder.encodeBorda([1, 0, 2], 3)); // B=3, A=2, C=1
101
+ poll.vote(voter2.member, encoder.encodeBorda([1, 0, 2], 3)); // B=3, A=2, C=1
97
102
  const voter3 = await createMemberWithVotingKeys();
98
- poll.vote(voter3, encoder.encodeBorda([0, 2, 1], 3)); // A=3, C=2, B=1
103
+ poll.vote(voter3.member, encoder.encodeBorda([0, 2, 1], 3)); // A=3, C=2, B=1
99
104
  poll.close();
100
- const tallier = new index_1.PollTallier(authority, authority.votingPrivateKey, authority.votingPublicKey);
105
+ const tallier = new index_1.PollTallier(authority.member, authority.member.votingPrivateKey, authority.member.votingPublicKey);
101
106
  const results = tallier.tally(poll);
102
107
  console.log('Points:', results.tallies); // [8n, 6n, 4n]
103
108
  console.log('Winner:', results.choices[results.winner]); // Option A
@@ -107,19 +112,19 @@ async function exampleBorda() {
107
112
  */
108
113
  async function exampleApproval() {
109
114
  const authority = await createMemberWithVotingKeys();
110
- const poll = index_1.PollFactory.createApproval(['Red', 'Green', 'Blue', 'Yellow'], authority);
111
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
115
+ const poll = index_1.PollFactory.createApproval(['Red', 'Green', 'Blue', 'Yellow'], authority.member);
116
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
112
117
  // Voter 1 approves Red and Blue
113
118
  const voter1 = await createMemberWithVotingKeys();
114
- poll.vote(voter1, encoder.encodeApproval([0, 2], 4));
119
+ poll.vote(voter1.member, encoder.encodeApproval([0, 2], 4));
115
120
  // Voter 2 approves Green and Blue
116
121
  const voter2 = await createMemberWithVotingKeys();
117
- poll.vote(voter2, encoder.encodeApproval([1, 2], 4));
122
+ poll.vote(voter2.member, encoder.encodeApproval([1, 2], 4));
118
123
  // Voter 3 approves only Blue
119
124
  const voter3 = await createMemberWithVotingKeys();
120
- poll.vote(voter3, encoder.encodeApproval([2], 4));
125
+ poll.vote(voter3.member, encoder.encodeApproval([2], 4));
121
126
  poll.close();
122
- const tallier = new index_1.PollTallier(authority, authority.votingPrivateKey, authority.votingPublicKey);
127
+ const tallier = new index_1.PollTallier(authority.member, authority.member.votingPrivateKey, authority.member.votingPublicKey);
123
128
  const results = tallier.tally(poll);
124
129
  console.log('Approvals:', results.tallies); // [1n, 1n, 3n, 0n]
125
130
  console.log('Winner:', results.choices[results.winner]); // Blue
@@ -129,25 +134,27 @@ async function exampleApproval() {
129
134
  */
130
135
  async function exampleReceipts() {
131
136
  const authority = await createMemberWithVotingKeys();
132
- const poll = index_1.PollFactory.createPlurality(['Yes', 'No'], authority);
137
+ const poll = index_1.PollFactory.createPlurality(['Yes', 'No'], authority.member);
133
138
  const voter = await createMemberWithVotingKeys();
134
- const encoder = new index_1.VoteEncoder(authority.votingPublicKey);
139
+ const encoder = new index_1.VoteEncoder(authority.member.votingPublicKey);
135
140
  // Cast vote and get receipt
136
- const receipt = poll.vote(voter, encoder.encodePlurality(0, 2));
141
+ const receipt = poll.vote(voter.member, encoder.encodePlurality(0, 2));
137
142
  // Verify receipt
138
- const isValid = poll.verifyReceipt(voter, receipt);
143
+ const isValid = poll.verifyReceipt(voter.member, receipt);
139
144
  console.log('Receipt valid:', isValid); // true
140
145
  // Try to verify with wrong voter
141
146
  const otherVoter = await createMemberWithVotingKeys();
142
- const isInvalid = poll.verifyReceipt(otherVoter, receipt);
147
+ const isInvalid = poll.verifyReceipt(otherVoter.member, receipt);
143
148
  console.log('Wrong voter:', isInvalid); // false
144
149
  }
145
150
  /**
146
151
  * Helper: Create member with voting keys derived from ECDH
147
152
  */
148
- async function createMemberWithVotingKeys() {
153
+ function createMemberWithVotingKeys(name = 'Voter', email = 'voter@example.com', memberType = enumerations_1.MemberType.Anonymous) {
149
154
  // This would use ecies-lib's Member.newMember() and deriveVotingKeys()
150
155
  // Placeholder for example purposes
151
- throw new Error('Use ecies-lib Member.newMember() and member.deriveVotingKeys()');
156
+ const eciesService = new services_1.ECIESService((0, constants_1.getRuntimeConfiguration)());
157
+ const memberWithMnemonic = member_1.Member.newMember(eciesService, memberType, name, new email_string_1.EmailString(email));
158
+ return { member: memberWithMnemonic.member };
152
159
  }
153
160
  //# sourceMappingURL=examples.js.map