@digitaldefiance/node-ecies-lib 4.8.1 → 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.
- package/package.json +10 -5
- package/src/builders/member-builder.d.ts +1 -1
- package/src/builders/member-builder.d.ts.map +1 -1
- package/src/builders/member-builder.js +3 -1
- package/src/builders/member-builder.js.map +1 -1
- package/src/constants.d.ts.map +1 -1
- package/src/constants.js +31 -25
- package/src/constants.js.map +1 -1
- package/src/interfaces/index.d.ts +1 -2
- package/src/interfaces/index.d.ts.map +1 -1
- package/src/interfaces/index.js +6 -3
- package/src/interfaces/index.js.map +1 -1
- package/src/interfaces/member-with-mnemonic.d.ts +3 -2
- package/src/interfaces/member-with-mnemonic.d.ts.map +1 -1
- package/src/interfaces/member.d.ts +30 -12
- package/src/interfaces/member.d.ts.map +1 -1
- package/src/interfaces/multi-encrypted-message.d.ts +2 -1
- package/src/interfaces/multi-encrypted-message.d.ts.map +1 -1
- package/src/interfaces/multi-encrypted-parsed-header.d.ts +3 -2
- package/src/interfaces/multi-encrypted-parsed-header.d.ts.map +1 -1
- package/src/interfaces/platform-buffer.d.ts +9 -0
- package/src/interfaces/platform-buffer.d.ts.map +1 -0
- package/src/interfaces/platform-buffer.js +3 -0
- package/src/interfaces/platform-buffer.js.map +1 -0
- package/src/interfaces/platform-id.d.ts +2 -2
- package/src/interfaces/platform-id.d.ts.map +1 -1
- package/src/interfaces/voting-poll.d.ts +32 -31
- package/src/interfaces/voting-poll.d.ts.map +1 -1
- package/src/interfaces/voting-poll.js.map +1 -1
- package/src/lib/id-providers/buffer-provider.d.ts +54 -0
- package/src/lib/id-providers/buffer-provider.d.ts.map +1 -0
- package/src/lib/id-providers/buffer-provider.js +93 -0
- package/src/lib/id-providers/buffer-provider.js.map +1 -0
- package/src/lib/index.d.ts +1 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +1 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/voting/audit.d.ts +39 -48
- package/src/lib/voting/audit.d.ts.map +1 -1
- package/src/lib/voting/audit.js +103 -111
- package/src/lib/voting/audit.js.map +1 -1
- package/src/lib/voting/bulletin-board.d.ts +47 -80
- package/src/lib/voting/bulletin-board.d.ts.map +1 -1
- package/src/lib/voting/bulletin-board.js +95 -226
- package/src/lib/voting/bulletin-board.js.map +1 -1
- package/src/lib/voting/encoder.d.ts +7 -15
- package/src/lib/voting/encoder.d.ts.map +1 -1
- package/src/lib/voting/encoder.js +11 -107
- package/src/lib/voting/encoder.js.map +1 -1
- package/src/lib/voting/enumerations/index.d.ts +6 -0
- package/src/lib/voting/enumerations/index.d.ts.map +1 -0
- package/src/lib/voting/enumerations/index.js +14 -0
- package/src/lib/voting/enumerations/index.js.map +1 -0
- package/src/lib/voting/event-logger.d.ts +13 -74
- package/src/lib/voting/event-logger.d.ts.map +1 -1
- package/src/lib/voting/event-logger.js +19 -140
- package/src/lib/voting/event-logger.js.map +1 -1
- package/src/lib/voting/examples.d.ts +112 -0
- package/src/lib/voting/examples.d.ts.map +1 -0
- package/src/lib/voting/examples.js +386 -0
- package/src/lib/voting/examples.js.map +1 -0
- package/src/lib/voting/factory.d.ts +38 -9
- package/src/lib/voting/factory.d.ts.map +1 -1
- package/src/lib/voting/factory.js +42 -8
- package/src/lib/voting/factory.js.map +1 -1
- package/src/lib/voting/hierarchical-aggregator.d.ts +44 -0
- package/src/lib/voting/hierarchical-aggregator.d.ts.map +1 -0
- package/src/lib/voting/hierarchical-aggregator.js +56 -0
- package/src/lib/voting/hierarchical-aggregator.js.map +1 -0
- package/src/lib/voting/index.d.ts +43 -7
- package/src/lib/voting/index.d.ts.map +1 -1
- package/src/lib/voting/index.js +53 -10
- package/src/lib/voting/index.js.map +1 -1
- package/src/lib/voting/interfaces/aggregated-tally.d.ts +10 -0
- package/src/lib/voting/interfaces/aggregated-tally.d.ts.map +1 -0
- package/src/lib/voting/interfaces/aggregated-tally.js +3 -0
- package/src/lib/voting/interfaces/aggregated-tally.js.map +1 -0
- package/src/lib/voting/interfaces/audit-entry.d.ts +10 -0
- package/src/lib/voting/interfaces/audit-entry.d.ts.map +1 -0
- package/src/lib/voting/interfaces/audit-entry.js +3 -0
- package/src/lib/voting/interfaces/audit-entry.js.map +1 -0
- package/src/lib/voting/interfaces/audit-log.d.ts +10 -0
- package/src/lib/voting/interfaces/audit-log.d.ts.map +1 -0
- package/src/lib/voting/interfaces/audit-log.js +3 -0
- package/src/lib/voting/interfaces/audit-log.js.map +1 -0
- package/src/lib/voting/interfaces/bulletin-board-entry.d.ts +10 -0
- package/src/lib/voting/interfaces/bulletin-board-entry.d.ts.map +1 -0
- package/src/lib/voting/interfaces/bulletin-board-entry.js +3 -0
- package/src/lib/voting/interfaces/bulletin-board-entry.js.map +1 -0
- package/src/lib/voting/interfaces/bulletin-board.d.ts +10 -0
- package/src/lib/voting/interfaces/bulletin-board.d.ts.map +1 -0
- package/src/lib/voting/interfaces/bulletin-board.js +3 -0
- package/src/lib/voting/interfaces/bulletin-board.js.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts +10 -0
- package/src/lib/voting/interfaces/checkpoint-manager-extended.d.ts.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-manager-extended.js +3 -0
- package/src/lib/voting/interfaces/checkpoint-manager-extended.js.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-manager.d.ts +9 -0
- package/src/lib/voting/interfaces/checkpoint-manager.d.ts.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-manager.js +3 -0
- package/src/lib/voting/interfaces/checkpoint-manager.js.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-metadata.d.ts +8 -0
- package/src/lib/voting/interfaces/checkpoint-metadata.d.ts.map +1 -0
- package/src/lib/voting/interfaces/checkpoint-metadata.js +3 -0
- package/src/lib/voting/interfaces/checkpoint-metadata.js.map +1 -0
- package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts +8 -0
- package/src/lib/voting/interfaces/ecies-service-with-voting.d.ts.map +1 -0
- package/src/lib/voting/interfaces/ecies-service-with-voting.js +3 -0
- package/src/lib/voting/interfaces/ecies-service-with-voting.js.map +1 -0
- package/src/lib/voting/interfaces/encrypted-vote.d.ts +10 -0
- package/src/lib/voting/interfaces/encrypted-vote.d.ts.map +1 -0
- package/src/lib/voting/interfaces/encrypted-vote.js +3 -0
- package/src/lib/voting/interfaces/encrypted-vote.js.map +1 -0
- package/src/lib/voting/interfaces/event-log-entry.d.ts +10 -0
- package/src/lib/voting/interfaces/event-log-entry.d.ts.map +1 -0
- package/src/lib/voting/interfaces/event-log-entry.js +3 -0
- package/src/lib/voting/interfaces/event-log-entry.js.map +1 -0
- package/src/lib/voting/interfaces/event-logger.d.ts +10 -0
- package/src/lib/voting/interfaces/event-logger.d.ts.map +1 -0
- package/src/lib/voting/interfaces/event-logger.js +3 -0
- package/src/lib/voting/interfaces/event-logger.js.map +1 -0
- package/src/lib/voting/interfaces/index.d.ts +37 -0
- package/src/lib/voting/interfaces/index.d.ts.map +1 -0
- package/src/lib/voting/interfaces/index.js +9 -0
- package/src/lib/voting/interfaces/index.js.map +1 -0
- package/src/lib/voting/interfaces/jurisdiction-config.d.ts +10 -0
- package/src/lib/voting/interfaces/jurisdiction-config.d.ts.map +1 -0
- package/src/lib/voting/interfaces/jurisdiction-config.js +3 -0
- package/src/lib/voting/interfaces/jurisdiction-config.js.map +1 -0
- package/src/lib/voting/interfaces/plaintext-vote.d.ts +10 -0
- package/src/lib/voting/interfaces/plaintext-vote.d.ts.map +1 -0
- package/src/lib/voting/interfaces/plaintext-vote.js +3 -0
- package/src/lib/voting/interfaces/plaintext-vote.js.map +1 -0
- package/src/lib/voting/interfaces/poll-configuration.d.ts +8 -0
- package/src/lib/voting/interfaces/poll-configuration.d.ts.map +1 -0
- package/src/lib/voting/interfaces/poll-configuration.js +3 -0
- package/src/lib/voting/interfaces/poll-configuration.js.map +1 -0
- package/src/lib/voting/interfaces/poll-results.d.ts +8 -0
- package/src/lib/voting/interfaces/poll-results.d.ts.map +1 -0
- package/src/lib/voting/interfaces/poll-results.js +3 -0
- package/src/lib/voting/interfaces/poll-results.js.map +1 -0
- package/src/lib/voting/interfaces/poll-tallier.d.ts +10 -0
- package/src/lib/voting/interfaces/poll-tallier.d.ts.map +1 -0
- package/src/lib/voting/interfaces/poll-tallier.js +3 -0
- package/src/lib/voting/interfaces/poll-tallier.js.map +1 -0
- package/src/lib/voting/interfaces/poll.d.ts +10 -0
- package/src/lib/voting/interfaces/poll.d.ts.map +1 -0
- package/src/lib/voting/interfaces/poll.js +3 -0
- package/src/lib/voting/interfaces/poll.js.map +1 -0
- package/src/lib/voting/interfaces/round-result.d.ts +8 -0
- package/src/lib/voting/interfaces/round-result.d.ts.map +1 -0
- package/src/lib/voting/interfaces/round-result.js +3 -0
- package/src/lib/voting/interfaces/round-result.js.map +1 -0
- package/src/lib/voting/interfaces/state-snapshot.d.ts +15 -0
- package/src/lib/voting/interfaces/state-snapshot.d.ts.map +1 -0
- package/src/lib/voting/interfaces/state-snapshot.js +3 -0
- package/src/lib/voting/interfaces/state-snapshot.js.map +1 -0
- package/src/lib/voting/interfaces/supermajority-config.d.ts +8 -0
- package/src/lib/voting/interfaces/supermajority-config.d.ts.map +1 -0
- package/src/lib/voting/interfaces/supermajority-config.js +3 -0
- package/src/lib/voting/interfaces/supermajority-config.js.map +1 -0
- package/src/lib/voting/interfaces/tally-proof.d.ts +10 -0
- package/src/lib/voting/interfaces/tally-proof.d.ts.map +1 -0
- package/src/lib/voting/interfaces/tally-proof.js +3 -0
- package/src/lib/voting/interfaces/tally-proof.js.map +1 -0
- package/src/lib/voting/interfaces/vote-encoder.d.ts +10 -0
- package/src/lib/voting/interfaces/vote-encoder.d.ts.map +1 -0
- package/src/lib/voting/interfaces/vote-encoder.js +3 -0
- package/src/lib/voting/interfaces/vote-encoder.js.map +1 -0
- package/src/lib/voting/interfaces/vote-logger-extended.d.ts +10 -0
- package/src/lib/voting/interfaces/vote-logger-extended.d.ts.map +1 -0
- package/src/lib/voting/interfaces/vote-logger-extended.js +3 -0
- package/src/lib/voting/interfaces/vote-logger-extended.js.map +1 -0
- package/src/lib/voting/interfaces/vote-logger.d.ts +9 -0
- package/src/lib/voting/interfaces/vote-logger.d.ts.map +1 -0
- package/src/lib/voting/interfaces/vote-logger.js +3 -0
- package/src/lib/voting/interfaces/vote-logger.js.map +1 -0
- package/src/lib/voting/interfaces/voting-consts.d.ts +9 -0
- package/src/lib/voting/interfaces/voting-consts.d.ts.map +1 -0
- package/src/lib/voting/interfaces/voting-consts.js +3 -0
- package/src/lib/voting/interfaces/voting-consts.js.map +1 -0
- package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts +7 -0
- package/src/lib/voting/interfaces/voting-key-derivation-options.d.ts.map +1 -0
- package/src/lib/voting/interfaces/voting-key-derivation-options.js +3 -0
- package/src/lib/voting/interfaces/voting-key-derivation-options.js.map +1 -0
- package/src/lib/voting/interfaces/voting-poll-results.d.ts +7 -0
- package/src/lib/voting/interfaces/voting-poll-results.d.ts.map +1 -0
- package/src/lib/voting/interfaces/voting-poll-results.js +3 -0
- package/src/lib/voting/interfaces/voting-poll-results.js.map +1 -0
- package/src/lib/voting/interfaces/voting-receipt.d.ts +10 -0
- package/src/lib/voting/interfaces/voting-receipt.d.ts.map +1 -0
- package/src/lib/voting/interfaces/voting-receipt.js +3 -0
- package/src/lib/voting/interfaces/voting-receipt.js.map +1 -0
- package/src/lib/voting/interfaces/voting-security-validator.d.ts +8 -0
- package/src/lib/voting/interfaces/voting-security-validator.d.ts.map +1 -0
- package/src/lib/voting/interfaces/voting-security-validator.js +3 -0
- package/src/lib/voting/interfaces/voting-security-validator.js.map +1 -0
- package/src/lib/voting/node-persistent-state.d.ts +40 -0
- package/src/lib/voting/node-persistent-state.d.ts.map +1 -0
- package/src/lib/voting/node-persistent-state.js +222 -0
- package/src/lib/voting/node-persistent-state.js.map +1 -0
- package/src/lib/voting/persistent-state.d.ts +44 -0
- package/src/lib/voting/persistent-state.d.ts.map +1 -0
- package/src/lib/voting/persistent-state.js +106 -0
- package/src/lib/voting/persistent-state.js.map +1 -0
- package/src/lib/voting/poll-core.d.ts +14 -29
- package/src/lib/voting/poll-core.d.ts.map +1 -1
- package/src/lib/voting/poll-core.js +13 -174
- package/src/lib/voting/poll-core.js.map +1 -1
- package/src/lib/voting/poll.d.ts +12 -11
- package/src/lib/voting/poll.d.ts.map +1 -1
- package/src/lib/voting/poll.js +5 -4
- package/src/lib/voting/poll.js.map +1 -1
- package/src/lib/voting/security.d.ts +9 -15
- package/src/lib/voting/security.d.ts.map +1 -1
- package/src/lib/voting/security.js +12 -44
- package/src/lib/voting/security.js.map +1 -1
- package/src/lib/voting/tallier.d.ts +12 -20
- package/src/lib/voting/tallier.d.ts.map +1 -1
- package/src/lib/voting/tallier.js +17 -366
- package/src/lib/voting/tallier.js.map +1 -1
- package/src/lib/voting/test-voter-pool.d.ts +16 -0
- package/src/lib/voting/test-voter-pool.d.ts.map +1 -0
- package/src/lib/voting/test-voter-pool.js +69 -0
- package/src/lib/voting/test-voter-pool.js.map +1 -0
- package/src/lib/voting/us-election-example.d.ts +2 -0
- package/src/lib/voting/us-election-example.d.ts.map +1 -0
- package/src/lib/voting/us-election-example.js +170 -0
- package/src/lib/voting/us-election-example.js.map +1 -0
- package/src/member.d.ts +5 -2
- package/src/member.d.ts.map +1 -1
- package/src/member.js +42 -17
- package/src/member.js.map +1 -1
- package/src/secure-buffer.d.ts +1 -2
- package/src/secure-buffer.d.ts.map +1 -1
- package/src/secure-buffer.js +3 -8
- package/src/secure-buffer.js.map +1 -1
- package/src/services/ecies/crypto-core.d.ts.map +1 -1
- package/src/services/ecies/crypto-core.js +24 -0
- package/src/services/ecies/crypto-core.js.map +1 -1
- package/src/services/ecies/multi-recipient.d.ts +16 -7
- package/src/services/ecies/multi-recipient.d.ts.map +1 -1
- package/src/services/ecies/multi-recipient.js +164 -23
- package/src/services/ecies/multi-recipient.js.map +1 -1
- package/src/services/ecies/service.d.ts +63 -21
- package/src/services/ecies/service.d.ts.map +1 -1
- package/src/services/ecies/service.js +196 -39
- package/src/services/ecies/service.js.map +1 -1
- package/src/services/ecies/single-recipient.d.ts.map +1 -1
- package/src/services/ecies/single-recipient.js +4 -2
- package/src/services/ecies/single-recipient.js.map +1 -1
- package/src/services/encryption-stream.d.ts +1 -1
- package/src/services/encryption-stream.d.ts.map +1 -1
- package/src/services/encryption-stream.js +4 -8
- package/src/services/encryption-stream.js.map +1 -1
- package/src/services/multi-recipient-processor.d.ts +16 -12
- package/src/services/multi-recipient-processor.d.ts.map +1 -1
- package/src/services/multi-recipient-processor.js +29 -10
- package/src/services/multi-recipient-processor.js.map +1 -1
- package/src/test-mocks/mock-backend-member.d.ts +22 -3
- package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
- package/src/test-mocks/mock-backend-member.js +71 -0
- package/src/test-mocks/mock-backend-member.js.map +1 -1
- package/src/lib/voting/types.d.ts +0 -66
- package/src/lib/voting/types.d.ts.map +0 -1
- package/src/lib/voting/types.js +0 -29
- package/src/lib/voting/types.js.map +0 -1
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* These interfaces ensure type safety and API consistency with the browser version.
|
|
6
6
|
*/
|
|
7
7
|
import type { PublicKey, PrivateKey, KeyPair } from 'paillier-bigint';
|
|
8
|
+
import type { PlatformID } from './platform-id';
|
|
8
9
|
/**
|
|
9
10
|
* Voting methods supported by the poll system
|
|
10
11
|
*/
|
|
@@ -29,11 +30,11 @@ export declare enum VotingMethod {
|
|
|
29
30
|
* Vote receipt proving participation.
|
|
30
31
|
* Cryptographically signed proof that a vote was cast.
|
|
31
32
|
*/
|
|
32
|
-
export interface IVoteReceipt {
|
|
33
|
+
export interface IVoteReceipt<TID extends PlatformID = Buffer> {
|
|
33
34
|
/** Unique identifier of the voter */
|
|
34
|
-
voterId:
|
|
35
|
+
voterId: TID;
|
|
35
36
|
/** Unique identifier of the poll */
|
|
36
|
-
pollId:
|
|
37
|
+
pollId: TID;
|
|
37
38
|
/** Unix timestamp when vote was cast */
|
|
38
39
|
timestamp: number;
|
|
39
40
|
/** Cryptographic signature from poll authority */
|
|
@@ -45,7 +46,7 @@ export interface IVoteReceipt {
|
|
|
45
46
|
* Encrypted vote data using Paillier homomorphic encryption.
|
|
46
47
|
* Structure varies by voting method.
|
|
47
48
|
*/
|
|
48
|
-
export interface IEncryptedVote {
|
|
49
|
+
export interface IEncryptedVote<TID extends PlatformID = Buffer> {
|
|
49
50
|
/** Single choice index (for Plurality, Weighted, etc.) */
|
|
50
51
|
choiceIndex?: number;
|
|
51
52
|
/** Multiple choice indices (for Approval voting) */
|
|
@@ -59,15 +60,15 @@ export interface IEncryptedVote {
|
|
|
59
60
|
/** Array of encrypted vote values (one per choice) */
|
|
60
61
|
encrypted: bigint[];
|
|
61
62
|
/** Plaintext vote data (only for insecure methods) */
|
|
62
|
-
plaintext?: IPlaintextVote
|
|
63
|
+
plaintext?: IPlaintextVote<TID>;
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
65
66
|
* Plaintext vote data for insecure voting methods.
|
|
66
67
|
* WARNING: Only use for Quadratic, Consensus, or ConsentBased methods.
|
|
67
68
|
*/
|
|
68
|
-
export interface IPlaintextVote {
|
|
69
|
+
export interface IPlaintextVote<TID extends PlatformID = Buffer> {
|
|
69
70
|
/** Unique identifier of the voter */
|
|
70
|
-
voterId:
|
|
71
|
+
voterId: TID;
|
|
71
72
|
/** Single choice index */
|
|
72
73
|
choiceIndex?: number;
|
|
73
74
|
/** Multiple choice indices */
|
|
@@ -127,9 +128,9 @@ export interface ISupermajorityConfig {
|
|
|
127
128
|
* Member interface for voting operations.
|
|
128
129
|
* Extends base member with voting-specific capabilities.
|
|
129
130
|
*/
|
|
130
|
-
export interface IVotingMember {
|
|
131
|
+
export interface IVotingMember<TID extends PlatformID = Buffer> {
|
|
131
132
|
/** Unique identifier of the member */
|
|
132
|
-
readonly id:
|
|
133
|
+
readonly id: TID;
|
|
133
134
|
/** ECDSA public key for signing */
|
|
134
135
|
readonly publicKey: Buffer;
|
|
135
136
|
/** Paillier public key for vote encryption (optional) */
|
|
@@ -154,9 +155,9 @@ export interface IVotingMember {
|
|
|
154
155
|
* Poll interface for vote aggregation and management.
|
|
155
156
|
* Holds encrypted votes and issues receipts, but cannot decrypt votes.
|
|
156
157
|
*/
|
|
157
|
-
export interface IPoll {
|
|
158
|
+
export interface IPoll<TID extends PlatformID = Buffer> {
|
|
158
159
|
/** Unique identifier of the poll */
|
|
159
|
-
readonly id:
|
|
160
|
+
readonly id: TID;
|
|
160
161
|
/** Array of choice names */
|
|
161
162
|
readonly choices: ReadonlyArray<string>;
|
|
162
163
|
/** Voting method used */
|
|
@@ -176,14 +177,14 @@ export interface IPoll {
|
|
|
176
177
|
* @returns Vote receipt
|
|
177
178
|
* @throws Error if poll is closed or voter already voted
|
|
178
179
|
*/
|
|
179
|
-
vote(voter: IVotingMember
|
|
180
|
+
vote(voter: IVotingMember<TID>, vote: IEncryptedVote<TID>): IVoteReceipt<TID>;
|
|
180
181
|
/**
|
|
181
182
|
* Verify a vote receipt is valid.
|
|
182
183
|
* @param voter - Member who cast the vote
|
|
183
184
|
* @param receipt - Receipt to verify
|
|
184
185
|
* @returns True if receipt is valid
|
|
185
186
|
*/
|
|
186
|
-
verifyReceipt(voter: IVotingMember
|
|
187
|
+
verifyReceipt(voter: IVotingMember<TID>, receipt: IVoteReceipt<TID>): boolean;
|
|
187
188
|
/**
|
|
188
189
|
* Close the poll to new votes.
|
|
189
190
|
* @throws Error if poll is already closed
|
|
@@ -199,21 +200,21 @@ export interface IPoll {
|
|
|
199
200
|
* Vote encoder interface for encrypting votes.
|
|
200
201
|
* Converts vote choices into encrypted Paillier ciphertexts.
|
|
201
202
|
*/
|
|
202
|
-
export interface IVoteEncoder {
|
|
203
|
+
export interface IVoteEncoder<TID extends PlatformID = Buffer> {
|
|
203
204
|
/**
|
|
204
205
|
* Encode a plurality vote (single choice).
|
|
205
206
|
* @param choiceIndex - Index of chosen option
|
|
206
207
|
* @param choiceCount - Total number of choices
|
|
207
208
|
* @returns Encrypted vote
|
|
208
209
|
*/
|
|
209
|
-
encodePlurality(choiceIndex: number, choiceCount: number): IEncryptedVote
|
|
210
|
+
encodePlurality(choiceIndex: number, choiceCount: number): IEncryptedVote<TID>;
|
|
210
211
|
/**
|
|
211
212
|
* Encode an approval vote (multiple choices).
|
|
212
213
|
* @param choices - Indices of approved options
|
|
213
214
|
* @param choiceCount - Total number of choices
|
|
214
215
|
* @returns Encrypted vote
|
|
215
216
|
*/
|
|
216
|
-
encodeApproval(choices: number[], choiceCount: number): IEncryptedVote
|
|
217
|
+
encodeApproval(choices: number[], choiceCount: number): IEncryptedVote<TID>;
|
|
217
218
|
/**
|
|
218
219
|
* Encode a weighted vote.
|
|
219
220
|
* @param choiceIndex - Index of chosen option
|
|
@@ -221,21 +222,21 @@ export interface IVoteEncoder {
|
|
|
221
222
|
* @param choiceCount - Total number of choices
|
|
222
223
|
* @returns Encrypted vote
|
|
223
224
|
*/
|
|
224
|
-
encodeWeighted(choiceIndex: number, weight: bigint, choiceCount: number): IEncryptedVote
|
|
225
|
+
encodeWeighted(choiceIndex: number, weight: bigint, choiceCount: number): IEncryptedVote<TID>;
|
|
225
226
|
/**
|
|
226
227
|
* Encode a Borda count vote (ranked with points).
|
|
227
228
|
* @param rankings - Indices in preference order
|
|
228
229
|
* @param choiceCount - Total number of choices
|
|
229
230
|
* @returns Encrypted vote
|
|
230
231
|
*/
|
|
231
|
-
encodeBorda(rankings: number[], choiceCount: number): IEncryptedVote
|
|
232
|
+
encodeBorda(rankings: number[], choiceCount: number): IEncryptedVote<TID>;
|
|
232
233
|
/**
|
|
233
234
|
* Encode a ranked choice vote (for IRV).
|
|
234
235
|
* @param rankings - Indices in preference order
|
|
235
236
|
* @param choiceCount - Total number of choices
|
|
236
237
|
* @returns Encrypted vote
|
|
237
238
|
*/
|
|
238
|
-
encodeRankedChoice(rankings: number[], choiceCount: number): IEncryptedVote
|
|
239
|
+
encodeRankedChoice(rankings: number[], choiceCount: number): IEncryptedVote<TID>;
|
|
239
240
|
/**
|
|
240
241
|
* Encode vote based on method.
|
|
241
242
|
* @param method - Voting method
|
|
@@ -248,31 +249,31 @@ export interface IVoteEncoder {
|
|
|
248
249
|
choices?: number[];
|
|
249
250
|
rankings?: number[];
|
|
250
251
|
weight?: bigint;
|
|
251
|
-
}, choiceCount: number): IEncryptedVote
|
|
252
|
+
}, choiceCount: number): IEncryptedVote<TID>;
|
|
252
253
|
}
|
|
253
254
|
/**
|
|
254
255
|
* Poll tallier interface for decrypting and tallying votes.
|
|
255
256
|
* Holds private key and can decrypt results after poll closes.
|
|
256
257
|
*/
|
|
257
|
-
export interface IPollTallier {
|
|
258
|
+
export interface IPollTallier<TID extends PlatformID = Buffer> {
|
|
258
259
|
/**
|
|
259
260
|
* Tally votes and determine winner(s).
|
|
260
261
|
* @param poll - Poll to tally
|
|
261
262
|
* @returns Poll results
|
|
262
263
|
* @throws Error if poll is not closed
|
|
263
264
|
*/
|
|
264
|
-
tally(poll: IPoll): IPollResults;
|
|
265
|
+
tally(poll: IPoll<TID>): IPollResults;
|
|
265
266
|
/**
|
|
266
267
|
* Tally ranked choice votes using IRV algorithm.
|
|
267
268
|
* @param poll - Poll to tally
|
|
268
269
|
* @returns Poll results with elimination rounds
|
|
269
270
|
*/
|
|
270
|
-
tallyRankedChoice(poll: IPoll): IPollResults;
|
|
271
|
+
tallyRankedChoice(poll: IPoll<TID>): IPollResults;
|
|
271
272
|
}
|
|
272
273
|
/**
|
|
273
274
|
* Poll factory interface for creating polls.
|
|
274
275
|
*/
|
|
275
|
-
export interface IPollFactory {
|
|
276
|
+
export interface IPollFactory<TID extends PlatformID = Buffer> {
|
|
276
277
|
/**
|
|
277
278
|
* Create a poll with specified method.
|
|
278
279
|
* @param choices - Array of choice names
|
|
@@ -281,23 +282,23 @@ export interface IPollFactory {
|
|
|
281
282
|
* @param options - Optional configuration
|
|
282
283
|
* @returns New poll
|
|
283
284
|
*/
|
|
284
|
-
create(choices: string[], method: VotingMethod, authority: IVotingMember
|
|
285
|
+
create(choices: string[], method: VotingMethod, authority: IVotingMember<TID>, options?: {
|
|
285
286
|
maxWeight?: bigint;
|
|
286
|
-
}): IPoll
|
|
287
|
+
}): IPoll<TID>;
|
|
287
288
|
/**
|
|
288
289
|
* Create a plurality poll.
|
|
289
290
|
* @param choices - Array of choice names
|
|
290
291
|
* @param authority - Poll authority
|
|
291
292
|
* @returns New poll
|
|
292
293
|
*/
|
|
293
|
-
createPlurality(choices: string[], authority: IVotingMember): IPoll
|
|
294
|
+
createPlurality(choices: string[], authority: IVotingMember<TID>): IPoll<TID>;
|
|
294
295
|
/**
|
|
295
296
|
* Create an approval voting poll.
|
|
296
297
|
* @param choices - Array of choice names
|
|
297
298
|
* @param authority - Poll authority
|
|
298
299
|
* @returns New poll
|
|
299
300
|
*/
|
|
300
|
-
createApproval(choices: string[], authority: IVotingMember): IPoll
|
|
301
|
+
createApproval(choices: string[], authority: IVotingMember<TID>): IPoll<TID>;
|
|
301
302
|
/**
|
|
302
303
|
* Create a weighted voting poll.
|
|
303
304
|
* @param choices - Array of choice names
|
|
@@ -305,21 +306,21 @@ export interface IPollFactory {
|
|
|
305
306
|
* @param maxWeight - Maximum vote weight
|
|
306
307
|
* @returns New poll
|
|
307
308
|
*/
|
|
308
|
-
createWeighted(choices: string[], authority: IVotingMember
|
|
309
|
+
createWeighted(choices: string[], authority: IVotingMember<TID>, maxWeight: bigint): IPoll<TID>;
|
|
309
310
|
/**
|
|
310
311
|
* Create a Borda count poll.
|
|
311
312
|
* @param choices - Array of choice names
|
|
312
313
|
* @param authority - Poll authority
|
|
313
314
|
* @returns New poll
|
|
314
315
|
*/
|
|
315
|
-
createBorda(choices: string[], authority: IVotingMember): IPoll
|
|
316
|
+
createBorda(choices: string[], authority: IVotingMember<TID>): IPoll<TID>;
|
|
316
317
|
/**
|
|
317
318
|
* Create a ranked choice poll.
|
|
318
319
|
* @param choices - Array of choice names
|
|
319
320
|
* @param authority - Poll authority
|
|
320
321
|
* @returns New poll
|
|
321
322
|
*/
|
|
322
|
-
createRankedChoice(choices: string[], authority: IVotingMember): IPoll
|
|
323
|
+
createRankedChoice(choices: string[], authority: IVotingMember<TID>): IPoll<TID>;
|
|
323
324
|
}
|
|
324
325
|
/**
|
|
325
326
|
* Options for deriving Paillier voting keys from ECDH keys.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voting-poll.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/voting-poll.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAEtE;;GAEG;AACH,oBAAY,YAAY;IAEtB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,WAAW;IAChB,YAAY,mBAAmB;IAC/B,aAAa,kBAAkB;IAG/B,YAAY,kBAAkB;IAC9B,QAAQ,cAAc;IACtB,IAAI,SAAS;IACb,GAAG,QAAQ;IAGX,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,YAAY,kBAAkB;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"voting-poll.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/voting-poll.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"voting-poll.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/voting-poll.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;
|
|
1
|
+
{"version":3,"file":"voting-poll.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/voting-poll.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAMH;;GAEG;AACH,IAAY,YAqBX;AArBD,WAAY,YAAY;IACtB,uDAAuD;IACvD,uCAAuB,CAAA;IACvB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,+BAAe,CAAA;IACf,gCAAgB,CAAA;IAChB,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;IAE/B,mDAAmD;IACnD,8CAA8B,CAAA;IAC9B,sCAAsB,CAAA;IACtB,6BAAa,CAAA;IACb,2BAAW,CAAA;IAEX,8CAA8C;IAC9C,uCAAuB,CAAA;IACvB,uCAAuB,CAAA;IACvB,8CAA8B,CAAA;AAChC,CAAC,EArBW,YAAY,4BAAZ,YAAY,QAqBvB;AA2WD;;;GAGG;AACH,IAAY,aAOX;AAPD,WAAY,aAAa;IACvB,8DAA8D;IAC9D,uDAAsC,CAAA;IACtC,oEAAoE;IACpE,2CAA0B,CAAA;IAC1B,gEAAgE;IAChE,sCAAqB,CAAA;AACvB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { BaseIdProvider } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
/**
|
|
3
|
+
* Buffer ID provider that accepts any fixed byte length.
|
|
4
|
+
*
|
|
5
|
+
* Use this when you need a non-standard ID size or custom validation logic with Node.js Buffers.
|
|
6
|
+
* For standard formats, prefer ObjectIdProvider, GuidV4Provider, or UuidProvider.
|
|
7
|
+
*
|
|
8
|
+
* Example:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // 20-byte SHA-1 hash as recipient ID
|
|
11
|
+
* const provider = new BufferIdProvider(20, 'SHA1Hash');
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare class BufferIdProvider extends BaseIdProvider<Buffer> {
|
|
15
|
+
readonly byteLength: number;
|
|
16
|
+
readonly name: string;
|
|
17
|
+
constructor(byteLength: number, name?: string);
|
|
18
|
+
/**
|
|
19
|
+
* Generate a new random ID of the specified byte length.
|
|
20
|
+
*/
|
|
21
|
+
generate(): Buffer;
|
|
22
|
+
/**
|
|
23
|
+
* Validate an ID buffer.
|
|
24
|
+
* Only checks length - override this method for custom validation.
|
|
25
|
+
*/
|
|
26
|
+
validate(id: Buffer): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Serialize to hexadecimal string.
|
|
29
|
+
*/
|
|
30
|
+
serialize(id: Buffer): string;
|
|
31
|
+
/**
|
|
32
|
+
* Deserialize a hexadecimal string to buffer.
|
|
33
|
+
*/
|
|
34
|
+
deserialize(str: string): Buffer;
|
|
35
|
+
/**
|
|
36
|
+
* Create a defensive copy of an ID.
|
|
37
|
+
*/
|
|
38
|
+
clone(id: Buffer): Buffer;
|
|
39
|
+
/**
|
|
40
|
+
* Convert Buffer to the provider's native representation.
|
|
41
|
+
* For BufferIdProvider, the native type is Buffer, so this is a pass-through.
|
|
42
|
+
*/
|
|
43
|
+
fromBytes(bytes: Buffer): Buffer;
|
|
44
|
+
/**
|
|
45
|
+
* Convert the provider's native representation to Buffer.
|
|
46
|
+
* For BufferIdProvider, the native type is Buffer, so this is a pass-through.
|
|
47
|
+
*/
|
|
48
|
+
toBytes(id: Buffer): Buffer;
|
|
49
|
+
/**
|
|
50
|
+
* Compare two IDs for equality.
|
|
51
|
+
*/
|
|
52
|
+
equals(a: Buffer, b: Buffer): boolean;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=buffer-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-provider.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/id-providers/buffer-provider.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,cAAc,EACf,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,MAAM,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,UAAU,EAAE,MAAM,EAAE,IAAI,SAAW;IAgB/C;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI7B;;OAEG;IACH,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAK7B;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAsBhC;;OAEG;IACH,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAIzB;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC;;;OAGG;IACH,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAI3B;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO;CAGtC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BufferIdProvider = void 0;
|
|
4
|
+
const crypto_1 = require("crypto");
|
|
5
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
6
|
+
/**
|
|
7
|
+
* Buffer ID provider that accepts any fixed byte length.
|
|
8
|
+
*
|
|
9
|
+
* Use this when you need a non-standard ID size or custom validation logic with Node.js Buffers.
|
|
10
|
+
* For standard formats, prefer ObjectIdProvider, GuidV4Provider, or UuidProvider.
|
|
11
|
+
*
|
|
12
|
+
* Example:
|
|
13
|
+
* ```typescript
|
|
14
|
+
* // 20-byte SHA-1 hash as recipient ID
|
|
15
|
+
* const provider = new BufferIdProvider(20, 'SHA1Hash');
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
class BufferIdProvider extends ecies_lib_1.BaseIdProvider {
|
|
19
|
+
byteLength;
|
|
20
|
+
name;
|
|
21
|
+
constructor(byteLength, name = 'Buffer') {
|
|
22
|
+
super();
|
|
23
|
+
if (!Number.isInteger(byteLength) || byteLength < 1 || byteLength > 255) {
|
|
24
|
+
throw new ecies_lib_1.IdProviderError(ecies_lib_1.IdProviderErrorType.InvalidByteLengthParameter, undefined, undefined, { value: byteLength });
|
|
25
|
+
}
|
|
26
|
+
this.byteLength = byteLength;
|
|
27
|
+
this.name = name;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Generate a new random ID of the specified byte length.
|
|
31
|
+
*/
|
|
32
|
+
generate() {
|
|
33
|
+
return (0, crypto_1.randomBytes)(this.byteLength);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Validate an ID buffer.
|
|
37
|
+
* Only checks length - override this method for custom validation.
|
|
38
|
+
*/
|
|
39
|
+
validate(id) {
|
|
40
|
+
return id.length === this.byteLength;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Serialize to hexadecimal string.
|
|
44
|
+
*/
|
|
45
|
+
serialize(id) {
|
|
46
|
+
this.validateLength(id, `${this.name}.serialize`);
|
|
47
|
+
return id.toString('hex');
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Deserialize a hexadecimal string to buffer.
|
|
51
|
+
*/
|
|
52
|
+
deserialize(str) {
|
|
53
|
+
if (typeof str !== 'string') {
|
|
54
|
+
throw new ecies_lib_1.IdProviderError(ecies_lib_1.IdProviderErrorType.InputMustBeString);
|
|
55
|
+
}
|
|
56
|
+
const expectedLength = this.byteLength * 2;
|
|
57
|
+
if (str.length !== expectedLength) {
|
|
58
|
+
throw new ecies_lib_1.IdProviderError(ecies_lib_1.IdProviderErrorType.InvalidStringLength, undefined, undefined, { expected: expectedLength, actual: str.length });
|
|
59
|
+
}
|
|
60
|
+
if (!/^[0-9a-fA-F]+$/.test(str)) {
|
|
61
|
+
throw new ecies_lib_1.IdProviderError(ecies_lib_1.IdProviderErrorType.InvalidCharacters);
|
|
62
|
+
}
|
|
63
|
+
return Buffer.from(str, 'hex');
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Create a defensive copy of an ID.
|
|
67
|
+
*/
|
|
68
|
+
clone(id) {
|
|
69
|
+
return Buffer.from(id);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Convert Buffer to the provider's native representation.
|
|
73
|
+
* For BufferIdProvider, the native type is Buffer, so this is a pass-through.
|
|
74
|
+
*/
|
|
75
|
+
fromBytes(bytes) {
|
|
76
|
+
return bytes;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Convert the provider's native representation to Buffer.
|
|
80
|
+
* For BufferIdProvider, the native type is Buffer, so this is a pass-through.
|
|
81
|
+
*/
|
|
82
|
+
toBytes(id) {
|
|
83
|
+
return id;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Compare two IDs for equality.
|
|
87
|
+
*/
|
|
88
|
+
equals(a, b) {
|
|
89
|
+
return a.equals(b);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.BufferIdProvider = BufferIdProvider;
|
|
93
|
+
//# sourceMappingURL=buffer-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffer-provider.js","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/id-providers/buffer-provider.ts"],"names":[],"mappings":";;;AAAA,mCAAqC;AAErC,0DAIoC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAa,gBAAiB,SAAQ,0BAAsB;IACjD,UAAU,CAAS;IACnB,IAAI,CAAS;IAEtB,YAAY,UAAkB,EAAE,IAAI,GAAG,QAAQ;QAC7C,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;YACxE,MAAM,IAAI,2BAAe,CACvB,+BAAmB,CAAC,0BAA0B,EAC9C,SAAS,EACT,SAAS,EACT,EAAE,KAAK,EAAE,UAAU,EAAE,CACtB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,EAAU;QACjB,OAAO,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,EAAU;QAClB,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;QAClD,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAW;QACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,2BAAe,CAAC,+BAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QAC3C,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,IAAI,2BAAe,CACvB,+BAAmB,CAAC,mBAAmB,EACvC,SAAS,EACT,SAAS,EACT,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CACjD,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,2BAAe,CAAC,+BAAmB,CAAC,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACd,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,EAAU;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,CAAS,EAAE,CAAS;QACzB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;CACF;AAjGD,4CAiGC"}
|
package/src/lib/index.d.ts
CHANGED
package/src/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
package/src/lib/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./crypto-container"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./id-providers/buffer-provider"), exports);
|
|
5
6
|
tslib_1.__exportStar(require("./invariant-validator"), exports);
|
|
6
7
|
tslib_1.__exportStar(require("./invariants"), exports);
|
|
7
8
|
tslib_1.__exportStar(require("./voting"), exports);
|
package/src/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,gEAAsC;AACtC,uDAA6B;AAC7B,mDAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,yEAA+C;AAC/C,gEAAsC;AACtC,uDAA6B;AAC7B,mDAAyB"}
|
|
@@ -1,55 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Immutable Audit Log for Government-Grade Voting
|
|
3
|
+
* Node.js optimized - extends ecies-lib ImmutableAuditLog with Buffer support
|
|
4
|
+
*/
|
|
5
|
+
import { ImmutableAuditLog as BaseImmutableAuditLog } from '@digitaldefiance/ecies-lib';
|
|
1
6
|
import type { PlatformID } from '../../interfaces';
|
|
2
7
|
import type { IMember } from '../../interfaces/member';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/** Microsecond-precision timestamp */
|
|
14
|
-
readonly timestamp: number;
|
|
15
|
-
/** Poll identifier */
|
|
16
|
-
readonly pollId: TID;
|
|
17
|
-
/** Hash of voter ID (for vote events) */
|
|
18
|
-
readonly voterIdHash?: Buffer;
|
|
19
|
-
/** Authority/creator ID (for creation/closure events) */
|
|
20
|
-
readonly authorityId?: TID;
|
|
21
|
-
/** Hash of previous entry (chain integrity) */
|
|
22
|
-
readonly previousHash: Buffer;
|
|
23
|
-
/** Hash of this entry's data */
|
|
24
|
-
readonly entryHash: Buffer;
|
|
25
|
-
/** Digital signature from authority */
|
|
26
|
-
readonly signature: Buffer;
|
|
27
|
-
/** Additional event metadata */
|
|
28
|
-
readonly metadata?: Record<string, unknown>;
|
|
29
|
-
}
|
|
30
|
-
export interface AuditLog<TID extends PlatformID = Buffer> {
|
|
31
|
-
getEntries(): readonly AuditEntry<TID>[];
|
|
32
|
-
getEntriesForPoll(pollId: TID): readonly AuditEntry<TID>[];
|
|
33
|
-
verifyChain(): boolean;
|
|
34
|
-
verifyEntry(entry: AuditEntry<TID>): boolean;
|
|
35
|
-
}
|
|
36
|
-
export declare class ImmutableAuditLog<TID extends PlatformID = Buffer> implements AuditLog<TID> {
|
|
37
|
-
private readonly entries;
|
|
38
|
-
private readonly authority;
|
|
39
|
-
private sequence;
|
|
8
|
+
import type { AuditEntry } from './interfaces';
|
|
9
|
+
export type { AuditEntry, AuditLog } from './interfaces';
|
|
10
|
+
/**
|
|
11
|
+
* Node.js ImmutableAuditLog that extends ecies-lib ImmutableAuditLog
|
|
12
|
+
* Keeps the generic TID parameter for flexibility, defaulting to Buffer
|
|
13
|
+
*
|
|
14
|
+
* The base class handles all the logic, we override methods to convert
|
|
15
|
+
* Uint8Array to Buffer for Node.js compatibility.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ImmutableAuditLog<TID extends PlatformID = Buffer> extends BaseImmutableAuditLog<TID> {
|
|
40
18
|
constructor(authority: IMember<TID>);
|
|
19
|
+
/**
|
|
20
|
+
* Record poll creation event
|
|
21
|
+
* Overrides base method to convert Uint8Array to Buffer
|
|
22
|
+
*/
|
|
41
23
|
recordPollCreated(pollId: TID, metadata?: Record<string, unknown>): AuditEntry<TID>;
|
|
42
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Record vote cast event
|
|
26
|
+
* Overrides base method to convert Uint8Array to Buffer
|
|
27
|
+
* Note: voterIdHash is Uint8Array for compatibility with base class
|
|
28
|
+
*/
|
|
29
|
+
recordVoteCast(pollId: TID, voterIdHash: Uint8Array, metadata?: Record<string, unknown>): AuditEntry<TID>;
|
|
30
|
+
/**
|
|
31
|
+
* Record poll closed event
|
|
32
|
+
* Overrides base method to convert Uint8Array to Buffer
|
|
33
|
+
*/
|
|
43
34
|
recordPollClosed(pollId: TID, metadata?: Record<string, unknown>): AuditEntry<TID>;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Get all audit entries
|
|
37
|
+
* Overrides base method to convert Uint8Array to Buffer
|
|
38
|
+
*/
|
|
39
|
+
getEntries(): ReadonlyArray<AuditEntry<TID>>;
|
|
40
|
+
/**
|
|
41
|
+
* Get entries for a specific poll
|
|
42
|
+
* Overrides base method to convert Uint8Array to Buffer
|
|
43
|
+
*/
|
|
44
|
+
getEntriesForPoll(pollId: TID): ReadonlyArray<AuditEntry<TID>>;
|
|
54
45
|
}
|
|
55
46
|
//# sourceMappingURL=audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../../../../packages/digitaldefiance-node-ecies-lib/src/lib/voting/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAE3C,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAiCzD;;;;;;GAMG;AACH,qBAAa,iBAAiB,CAC5B,GAAG,SAAS,UAAU,GAAG,MAAM,CAC/B,SAAQ,qBAAqB,CAAC,GAAG,CAAC;gBACtB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC;IA0DnC;;;OAGG;IACH,iBAAiB,CACf,MAAM,EAAE,GAAG,EACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU,CAAC,GAAG,CAAC;IAKlB;;;;OAIG;IACH,cAAc,CACZ,MAAM,EAAE,GAAG,EACX,WAAW,EAAE,UAAU,EACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU,CAAC,GAAG,CAAC;IAKlB;;;OAGG;IACH,gBAAgB,CACd,MAAM,EAAE,GAAG,EACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,UAAU,CAAC,GAAG,CAAC;IAKlB;;;OAGG;IACH,UAAU,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAK5C;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;CAI/D"}
|