@digitaldefiance/node-ecies-lib 4.7.15 → 4.8.1

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 (63) hide show
  1. package/package.json +3 -3
  2. package/src/builders/member-builder.d.ts +3 -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 +10 -0
  6. package/src/constants.d.ts.map +1 -1
  7. package/src/constants.js +27 -0
  8. package/src/constants.js.map +1 -1
  9. package/src/interfaces/configuration-provenance.d.ts +48 -0
  10. package/src/interfaces/configuration-provenance.d.ts.map +1 -0
  11. package/src/interfaces/{backend-member-operational.js → configuration-provenance.js} +1 -1
  12. package/src/interfaces/configuration-provenance.js.map +1 -0
  13. package/src/interfaces/id-provider.d.ts +86 -0
  14. package/src/interfaces/id-provider.d.ts.map +1 -0
  15. package/src/interfaces/id-provider.js +3 -0
  16. package/src/interfaces/id-provider.js.map +1 -0
  17. package/src/interfaces/index.d.ts +6 -1
  18. package/src/interfaces/index.d.ts.map +1 -1
  19. package/src/interfaces/index.js +8 -2
  20. package/src/interfaces/index.js.map +1 -1
  21. package/src/interfaces/isolated-keys.d.ts +70 -0
  22. package/src/interfaces/isolated-keys.d.ts.map +1 -0
  23. package/src/interfaces/isolated-keys.js +7 -0
  24. package/src/interfaces/isolated-keys.js.map +1 -0
  25. package/src/interfaces/member.d.ts +3 -2
  26. package/src/interfaces/member.d.ts.map +1 -1
  27. package/src/interfaces/platform-id.d.ts +4 -0
  28. package/src/interfaces/platform-id.d.ts.map +1 -0
  29. package/src/interfaces/platform-id.js +3 -0
  30. package/src/interfaces/platform-id.js.map +1 -0
  31. package/src/interfaces/voting-poll.d.ts +447 -0
  32. package/src/interfaces/voting-poll.d.ts.map +1 -0
  33. package/src/interfaces/voting-poll.js +47 -0
  34. package/src/interfaces/voting-poll.js.map +1 -0
  35. package/src/interfaces/voting-service.d.ts +130 -0
  36. package/src/interfaces/voting-service.d.ts.map +1 -0
  37. package/src/interfaces/voting-service.js +10 -0
  38. package/src/interfaces/voting-service.js.map +1 -0
  39. package/src/lib/voting/audit.d.ts +26 -15
  40. package/src/lib/voting/audit.d.ts.map +1 -1
  41. package/src/lib/voting/audit.js +4 -4
  42. package/src/lib/voting/audit.js.map +1 -1
  43. package/src/lib/voting/factory.d.ts +8 -7
  44. package/src/lib/voting/factory.d.ts.map +1 -1
  45. package/src/lib/voting/factory.js.map +1 -1
  46. package/src/lib/voting/poll-core.d.ts +7 -6
  47. package/src/lib/voting/poll-core.d.ts.map +1 -1
  48. package/src/lib/voting/poll-core.js +7 -5
  49. package/src/lib/voting/poll-core.js.map +1 -1
  50. package/src/member.d.ts +9 -7
  51. package/src/member.d.ts.map +1 -1
  52. package/src/member.js +11 -2
  53. package/src/member.js.map +1 -1
  54. package/src/secure-buffer.d.ts.map +1 -1
  55. package/src/secure-buffer.js +1 -1
  56. package/src/secure-buffer.js.map +1 -1
  57. package/src/test-mocks/mock-backend-member.d.ts +12 -6
  58. package/src/test-mocks/mock-backend-member.d.ts.map +1 -1
  59. package/src/test-mocks/mock-backend-member.js +29 -1
  60. package/src/test-mocks/mock-backend-member.js.map +1 -1
  61. package/src/interfaces/backend-member-operational.d.ts +0 -48
  62. package/src/interfaces/backend-member-operational.d.ts.map +0 -1
  63. package/src/interfaces/backend-member-operational.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/node-ecies-lib",
3
- "version": "4.7.15",
3
+ "version": "4.8.1",
4
4
  "description": "Digital Defiance Node ECIES Library",
5
5
  "homepage": "https://github.com/Digital-Defiance/node-ecies-lib",
6
6
  "repository": {
@@ -57,14 +57,14 @@
57
57
  "license": "MIT",
58
58
  "packageManager": "yarn@4.10.3",
59
59
  "dependencies": {
60
- "@digitaldefiance/ecies-lib": "4.7.14",
60
+ "@digitaldefiance/ecies-lib": "4.8.1",
61
61
  "@digitaldefiance/express-suite-test-utils": "1.0.14",
62
62
  "@digitaldefiance/i18n-lib": "3.8.16",
63
63
  "@ethereumjs/wallet": "^10.0.0",
64
64
  "@noble/curves": "1.9.0",
65
65
  "@noble/hashes": "1.8.0",
66
66
  "@scure/bip32": "1.7.0",
67
- "bson": "^6.10.4",
67
+ "bson": "^7.0.0",
68
68
  "ethereum-cryptography": "^3.2.0",
69
69
  "paillier-bigint": "^3.4.1",
70
70
  "ts-brand": "^0.2.0"
@@ -1,4 +1,5 @@
1
1
  import { EmailString, MemberType, SecureString } from '@digitaldefiance/ecies-lib';
2
+ import { PlatformID } from '../interfaces';
2
3
  import { IBackendMemberWithMnemonic } from '../interfaces/member-with-mnemonic';
3
4
  import { Member } from '../member';
4
5
  import { ECIESService } from '../services/ecies';
@@ -33,7 +34,7 @@ export declare class MemberBuilder {
33
34
  * @param json - JSON string representation of member
34
35
  * @returns Member instance
35
36
  */
36
- static fromJson(json: string): Member;
37
+ static fromJson<TID extends PlatformID = Buffer>(json: string): Member<TID>;
37
38
  /**
38
39
  * Convenience factory method to create a member from mnemonic with default ECIESService
39
40
  * @param mnemonic - The mnemonic to use
@@ -42,6 +43,6 @@ export declare class MemberBuilder {
42
43
  * @param email - Optional member email (defaults to 'test@example.com')
43
44
  * @returns Member instance
44
45
  */
45
- static fromMnemonic(mnemonic: SecureString, memberType?: MemberType, name?: string, email?: EmailString | string): Member;
46
+ static fromMnemonic<TID extends PlatformID = Buffer>(mnemonic: SecureString, memberType?: MemberType, name?: string, email?: EmailString | string): Member<TID>;
46
47
  }
47
48
  //# sourceMappingURL=member-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/builders/member-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAK7C,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKhC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK5C,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAK1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC,gBAAgB,IAAI,IAAI;IAcxB,KAAK,IAAI,0BAA0B;IA6BnC;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,GAAG,MAAM,EAC3B,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,0BAA0B;IAc7B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKrC;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,YAAY,EACtB,UAAU,aAAkB,EAC5B,IAAI,SAAc,EAClB,KAAK,GAAE,WAAW,GAAG,MAA2B,GAC/C,MAAM;CAMV"}
1
+ {"version":3,"file":"member-builder.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/builders/member-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AAOpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,aAAa;IACxB,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,IAAI,CAAC,CAAa;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,KAAK,CAAC,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAC,CAAe;IAChC,OAAO,CAAC,SAAS,CAAC,CAAS;IAE3B,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI;IAK7C,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKhC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK5C,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAK1C,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKtC,gBAAgB,IAAI,IAAI;IAcxB,KAAK,IAAI,0BAA0B;IA6BnC;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,GAAG,MAAM,EAC3B,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,0BAA0B;IAc7B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;IAK3E;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM,EACjD,QAAQ,EAAE,YAAY,EACtB,UAAU,aAAkB,EAC5B,IAAI,SAAc,EAClB,KAAK,GAAE,WAAW,GAAG,MAA2B,GAC/C,MAAM,CAAC,GAAG,CAAC;CAYf"}
@@ -1 +1 @@
1
- {"version":3,"file":"member-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/builders/member-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"member-builder.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/builders/member-builder.ts"],"names":[],"mappings":";;;AAAA,0DAIoC;AAEpC,mEAGoC;AACpC,yEAAuE;AAGvE,sCAAmC;AACnC,6CAAiD;AAEjD,MAAa,aAAa;IAChB,YAAY,CAAgB;IAC5B,IAAI,CAAc;IAClB,IAAI,CAAU;IACd,KAAK,CAAe;IACpB,QAAQ,CAAgB;IACxB,SAAS,CAAU;IAE3B,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,EAAE,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,OAAqB;QACpC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAgB;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAA2B;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,QAAsB;QACjC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,IAAA,8CAAsB,GAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,yCAAoB,EACpB,uCAAkB,CAAC,2DAA2D,CAC/E,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAA,8CAAsB,GAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,yCAAoB,EACpB,uCAAkB,CAAC,oCAAoC,CACxD,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,SAAS,CACd,yCAAoB,EACpB,uCAAkB,CAAC,yCAAyC,CAC7D,CACF,CAAC;QACJ,CAAC;QAED,OAAO,eAAM,CAAC,SAAS,CACrB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,SAAS,CACd,IAAgB,EAChB,IAAY,EACZ,KAA2B,EAC3B,aAA4B,EAC5B,SAAkB;QAElB,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5E,OAAO,eAAM,CAAC,SAAS,CACrB,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAkC,IAAY;QAC3D,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;QACnC,OAAO,eAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAgB,CAAC;IACvD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CACjB,QAAsB,EACtB,UAAU,GAAG,sBAAU,CAAC,IAAI,EAC5B,IAAI,GAAG,WAAW,EAClB,QAA8B,kBAAkB;QAEhD,MAAM,OAAO,GAAG,IAAI,oBAAY,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,uBAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE5E,OAAO,eAAM,CAAC,YAAY,CACxB,QAAQ,EACR,OAAO,EACP,UAAU,EACV,IAAI,EACJ,QAAQ,CACM,CAAC;IACnB,CAAC;CACF;AArJD,sCAqJC"}
@@ -7,6 +7,15 @@ import type { IEncryptionConsts } from './interfaces/encryption-consts';
7
7
  import type { IKeyringConsts } from './interfaces/keyring-consts';
8
8
  import type { PbkdfProfiles } from './interfaces/pbkdf-profiles';
9
9
  import type { IWrappedKeyConsts } from './interfaces/wrapped-key-consts';
10
+ /**
11
+ * Calculates a checksum for a configuration object.
12
+ * Uses SHA-256 of JSON representation.
13
+ */
14
+ declare function calculateConfigChecksum(config: IConstants): string;
15
+ /**
16
+ * Captures a stack trace for provenance tracking
17
+ */
18
+ declare function captureCreationStack(): string;
10
19
  /**
11
20
  * Constants for checksum operations
12
21
  * These values are critical for data integrity and MUST NOT be changed
@@ -35,4 +44,5 @@ export declare const KEYRING_ALGORITHM_CONFIGURATION: CipherGCMTypes;
35
44
  */
36
45
  export declare const ENCRYPTION: IEncryptionConsts;
37
46
  export declare const Constants: IConstants;
47
+ export { calculateConfigChecksum, captureCreationStack };
38
48
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAC5B,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,eAE1C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,OAAO,4BAA4B,CACpC,CAAC,CAAC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,EAAE,oBAIpC,CAAC;AAOH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAEtE;AAED,wBAAgB,gCAAgC,CAC9C,iBAAiB,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,EACnE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC3D,wBAAwB,CAoB1B;AAED,eAAO,MAAM,QAAQ,EAAE,eAA0C,CAAC;AAElE,eAAO,MAAM,OAAO,EAAE,cAIX,CAAC;AAEZ,eAAO,MAAM,MAAM,EAAE,aAAsC,CAAC;AAE5D,eAAO,MAAM,eAAe,EAAE,aAwCnB,CAAC;AAEZ,eAAO,MAAM,WAAW,EAAE,iBAKf,CAAC;AAEZ,eAAO,MAAM,+BAA+B,EACoB,cAAc,CAAC;AAQ/E;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,iBAGd,CAAC;AAEZ,eAAO,MAAM,SAAS,EAAE,UA8Db,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EACV,UAAU,IAAI,cAAc,EAC5B,aAAa,EACd,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAUpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;GAGG;AACH,iBAAS,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAQ3D;AAED;;GAEG;AACH,iBAAS,oBAAoB,IAAI,MAAM,CAOtC;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,eAE1C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAC3C,OAAO,4BAA4B,CACpC,CAAC,CAAC,CAAC,CAAC;AAEL,eAAO,MAAM,uBAAuB,EAAE,oBAIpC,CAAC;AAOH,wBAAgB,2BAA2B,IAAI,wBAAwB,CAEtE;AAED,wBAAgB,gCAAgC,CAC9C,iBAAiB,CAAC,EAAE,oBAAoB,GAAG,wBAAwB,EACnE,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC,CAAC,GAC3D,wBAAwB,CAoB1B;AAED,eAAO,MAAM,QAAQ,EAAE,eAA0C,CAAC;AAElE,eAAO,MAAM,OAAO,EAAE,cAIX,CAAC;AAEZ,eAAO,MAAM,MAAM,EAAE,aAAsC,CAAC;AAE5D,eAAO,MAAM,eAAe,EAAE,aAwCnB,CAAC;AAEZ,eAAO,MAAM,WAAW,EAAE,iBAKf,CAAC;AAEZ,eAAO,MAAM,+BAA+B,EACoB,cAAc,CAAC;AAQ/E;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,iBAGd,CAAC;AAEZ,eAAO,MAAM,SAAS,EAAE,UA8Db,CAAC;AA0CZ,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,CAAC"}
package/src/constants.js CHANGED
@@ -3,10 +3,37 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Constants = exports.ENCRYPTION = exports.KEYRING_ALGORITHM_CONFIGURATION = exports.WRAPPED_KEY = exports.PBKDF2_PROFILES = exports.PBKDF2 = exports.KEYRING = exports.CHECKSUM = exports.NODE_DEFAULTS_OVERRIDES = exports.NODE_RUNTIME_CONFIGURATION_KEY = void 0;
4
4
  exports.getNodeRuntimeConfiguration = getNodeRuntimeConfiguration;
5
5
  exports.registerNodeRuntimeConfiguration = registerNodeRuntimeConfiguration;
6
+ exports.calculateConfigChecksum = calculateConfigChecksum;
7
+ exports.captureCreationStack = captureCreationStack;
6
8
  const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
9
+ const sha2_js_1 = require("@noble/hashes/sha2.js");
10
+ const utils_js_1 = require("@noble/hashes/utils.js");
7
11
  const pbkdf2_profile_1 = require("./enumerations/pbkdf2-profile");
8
12
  const i18n_1 = require("./i18n");
9
13
  const voting_consts_1 = require("./interfaces/voting-consts");
14
+ /**
15
+ * Calculates a checksum for a configuration object.
16
+ * Uses SHA-256 of JSON representation.
17
+ */
18
+ function calculateConfigChecksum(config) {
19
+ // Create a stable JSON representation with BigInt support
20
+ const replacer = (_key, value) => typeof value === 'bigint' ? value.toString() : value;
21
+ const stable = JSON.stringify(config, replacer);
22
+ const encoder = new TextEncoder();
23
+ const data = encoder.encode(stable);
24
+ return (0, utils_js_1.bytesToHex)((0, sha2_js_1.sha256)(data));
25
+ }
26
+ /**
27
+ * Captures a stack trace for provenance tracking
28
+ */
29
+ function captureCreationStack() {
30
+ const stack = new Error().stack;
31
+ if (!stack)
32
+ return 'stack unavailable';
33
+ // Remove the first two lines (Error message and this function)
34
+ const lines = stack.split('\n').slice(2);
35
+ return lines.join('\n');
36
+ }
10
37
  /**
11
38
  * Constants for checksum operations
12
39
  * These values are critical for data integrity and MUST NOT be changed
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-node-ecies-lib/src/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { IConstants } from './constants';
2
+ /**
3
+ * Deep partial type utility
4
+ */
5
+ type DeepPartial<T> = {
6
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
7
+ };
8
+ /**
9
+ * Provenance information for a configuration.
10
+ * Tracks who created it, when, and what modifications were made.
11
+ */
12
+ export interface IConfigurationProvenance {
13
+ /**
14
+ * The base configuration key this was derived from
15
+ */
16
+ readonly baseConfigKey: string;
17
+ /**
18
+ * Overrides applied to the base configuration
19
+ */
20
+ readonly overrides: DeepPartial<IConstants>;
21
+ /**
22
+ * When this configuration was created
23
+ */
24
+ readonly timestamp: Date;
25
+ /**
26
+ * Source of the configuration
27
+ * - 'default': The built-in Constants
28
+ * - 'runtime': Created via createRuntimeConfiguration
29
+ * - 'custom': User-provided full configuration
30
+ */
31
+ readonly source: 'default' | 'runtime' | 'custom';
32
+ /**
33
+ * SHA-256 checksum of the final configuration
34
+ * Useful for verifying configuration hasn't been tampered with
35
+ */
36
+ readonly checksum: string;
37
+ /**
38
+ * Optional description or notes about this configuration
39
+ */
40
+ readonly description?: string;
41
+ /**
42
+ * Stack trace showing where the configuration was created
43
+ * Useful for debugging unexpected configurations
44
+ */
45
+ readonly creationStack?: string;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=configuration-provenance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-provenance.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/configuration-provenance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IAEzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IAElD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=backend-member-operational.js.map
3
+ //# sourceMappingURL=configuration-provenance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-provenance.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/configuration-provenance.ts"],"names":[],"mappings":""}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Interface for ID providers that supply recipient identifiers.
3
+ * This allows the library to support various ID formats (ObjectID, GUID, UUID, custom).
4
+ */
5
+ export interface IIdProvider {
6
+ /**
7
+ * The fixed byte length of IDs produced by this provider.
8
+ * This determines the size of recipient ID fields in encrypted messages.
9
+ */
10
+ readonly byteLength: number;
11
+ /**
12
+ * A human-readable name for this ID provider type.
13
+ * Examples: 'ObjectID', 'GUIDv4', 'UUIDv4', 'Custom'
14
+ */
15
+ readonly name: string;
16
+ /**
17
+ * Generate a new random ID.
18
+ * @returns A newly generated ID as a Uint8Array of length `byteLength`
19
+ */
20
+ generate(): Uint8Array;
21
+ /**
22
+ * Validate that a given buffer is a properly formatted ID for this provider.
23
+ * This should check length, format constraints, and any version bits if applicable.
24
+ * @param id The ID buffer to validate
25
+ * @returns True if the ID is valid for this provider, false otherwise
26
+ */
27
+ validate(id: Uint8Array): boolean;
28
+ /**
29
+ * Serialize an ID buffer to a human-readable string representation.
30
+ * Examples: hex string, base64, ObjectID hex, UUID format with dashes
31
+ * @param id The ID buffer to serialize
32
+ * @returns A string representation of the ID
33
+ * @throws Error if the ID is invalid
34
+ */
35
+ serialize(id: Uint8Array): string;
36
+ /**
37
+ * Deserialize a string representation back to an ID buffer.
38
+ * This is the inverse of `serialize`.
39
+ * @param str The string representation of the ID
40
+ * @returns The ID as a Uint8Array of length `byteLength`
41
+ * @throws Error if the string is not a valid representation
42
+ */
43
+ deserialize(str: string): Uint8Array;
44
+ /**
45
+ * Compare two IDs for equality.
46
+ * Default implementation uses constant-time comparison.
47
+ * @param a First ID
48
+ * @param b Second ID
49
+ * @returns True if IDs are equal, false otherwise
50
+ */
51
+ equals(a: Uint8Array, b: Uint8Array): boolean;
52
+ /**
53
+ * Clone an ID buffer.
54
+ * Default implementation creates a defensive copy.
55
+ * @param id The ID to clone
56
+ * @returns A new Uint8Array with the same contents
57
+ */
58
+ clone(id: Uint8Array): Uint8Array;
59
+ /**
60
+ * Convert an ID of unknown type to a string representation.
61
+ * This is useful when dealing with generic IDs that might be Uint8Array, string, or other types.
62
+ * @param id The ID to convert
63
+ * @returns A string representation of the ID
64
+ */
65
+ idToString(id: unknown): string;
66
+ /**
67
+ * Convert a string representation of an ID back to an ID buffer.
68
+ * This is an alias for `deserialize` to provide symmetry with `idToString`.
69
+ * @param str The string representation of the ID
70
+ * @returns The ID as a Uint8Array of length `byteLength`
71
+ */
72
+ idFromString(str: string): Uint8Array;
73
+ /**
74
+ * Convert any ID representation to canonical Uint8Array format.
75
+ * @param id The ID in any supported format
76
+ * @returns The ID as a Uint8Array of length `byteLength`
77
+ */
78
+ toBytes(id: unknown): Uint8Array;
79
+ /**
80
+ * Convert Uint8Array to the provider's native representation.
81
+ * @param bytes The ID as a Uint8Array
82
+ * @returns The ID in the provider's native format
83
+ */
84
+ fromBytes(bytes: Uint8Array): unknown;
85
+ }
86
+ //# sourceMappingURL=id-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/id-provider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,QAAQ,IAAI,UAAU,CAAC;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC;IAElC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,UAAU,GAAG,MAAM,CAAC;IAElC;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAErC;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAE9C;;;;;OAKG;IACH,KAAK,CAAC,EAAE,EAAE,UAAU,GAAG,UAAU,CAAC;IAElC;;;;;OAKG;IACH,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CAAC;IAEhC;;;;;OAKG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;IAEtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,EAAE,OAAO,GAAG,UAAU,CAAC;IAEjC;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC;CACvC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=id-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-provider.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/id-provider.ts"],"names":[],"mappings":""}
@@ -1,12 +1,14 @@
1
1
  export * from './authenticated-cipher';
2
2
  export * from './authenticated-decipher';
3
- export * from './backend-member-operational';
4
3
  export * from './checksum-config';
5
4
  export * from './checksum-consts';
5
+ export * from './configuration-provenance';
6
6
  export * from './constants';
7
7
  export * from './ecies-consts';
8
8
  export * from './encrypted-chunk';
9
9
  export * from './encryption-consts';
10
+ export * from './id-provider';
11
+ export * from './isolated-keys';
10
12
  export * from './keypair-buffer-with-un-encrypted-private-key';
11
13
  export * from './keyring-consts';
12
14
  export type * from './member';
@@ -16,6 +18,7 @@ export * from './multi-encrypted-parsed-header';
16
18
  export * from './multi-recipient-chunk';
17
19
  export * from './pbkdf-profiles';
18
20
  export * from './pbkdf2-result';
21
+ export * from './platform-id';
19
22
  export * from './signing-key-private-key-info';
20
23
  export * from './simple-keypair';
21
24
  export * from './simple-keypair-buffer';
@@ -26,6 +29,8 @@ export * from './stream-config';
26
29
  export * from './stream-progress';
27
30
  export type { IVotingConsts } from './voting-consts';
28
31
  export { VOTING } from './voting-consts';
32
+ export { type IPoll, type IVoteEncoder, type IPollTallier, type IPollFactory, type IVotingSecurityValidator, SecurityLevel as VotingSecurityLevel, } from './voting-poll';
33
+ export * from './voting-service';
29
34
  export * from './wallet-seed';
30
35
  export * from './wrapped-key-consts';
31
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,wBAAwB,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kBAAkB,CAAC;AACjC,mBAAmB,UAAU,CAAC;AAC9B,mBAAmB,wBAAwB,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EACL,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,wBAAwB,EAC7B,aAAa,IAAI,mBAAmB,GACrC,MAAM,eAAe,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
@@ -1,16 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VOTING = void 0;
3
+ exports.VotingSecurityLevel = exports.VOTING = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./authenticated-cipher"), exports);
6
6
  tslib_1.__exportStar(require("./authenticated-decipher"), exports);
7
- tslib_1.__exportStar(require("./backend-member-operational"), exports);
8
7
  tslib_1.__exportStar(require("./checksum-config"), exports);
9
8
  tslib_1.__exportStar(require("./checksum-consts"), exports);
9
+ tslib_1.__exportStar(require("./configuration-provenance"), exports);
10
10
  tslib_1.__exportStar(require("./constants"), exports);
11
11
  tslib_1.__exportStar(require("./ecies-consts"), exports);
12
12
  tslib_1.__exportStar(require("./encrypted-chunk"), exports);
13
13
  tslib_1.__exportStar(require("./encryption-consts"), exports);
14
+ tslib_1.__exportStar(require("./id-provider"), exports);
15
+ tslib_1.__exportStar(require("./isolated-keys"), exports);
14
16
  tslib_1.__exportStar(require("./keypair-buffer-with-un-encrypted-private-key"), exports);
15
17
  tslib_1.__exportStar(require("./keyring-consts"), exports);
16
18
  tslib_1.__exportStar(require("./multi-encrypted-message"), exports);
@@ -18,6 +20,7 @@ tslib_1.__exportStar(require("./multi-encrypted-parsed-header"), exports);
18
20
  tslib_1.__exportStar(require("./multi-recipient-chunk"), exports);
19
21
  tslib_1.__exportStar(require("./pbkdf-profiles"), exports);
20
22
  tslib_1.__exportStar(require("./pbkdf2-result"), exports);
23
+ tslib_1.__exportStar(require("./platform-id"), exports);
21
24
  tslib_1.__exportStar(require("./signing-key-private-key-info"), exports);
22
25
  tslib_1.__exportStar(require("./simple-keypair"), exports);
23
26
  tslib_1.__exportStar(require("./simple-keypair-buffer"), exports);
@@ -28,6 +31,9 @@ tslib_1.__exportStar(require("./stream-config"), exports);
28
31
  tslib_1.__exportStar(require("./stream-progress"), exports);
29
32
  var voting_consts_1 = require("./voting-consts");
30
33
  Object.defineProperty(exports, "VOTING", { enumerable: true, get: function () { return voting_consts_1.VOTING; } });
34
+ var voting_poll_1 = require("./voting-poll");
35
+ Object.defineProperty(exports, "VotingSecurityLevel", { enumerable: true, get: function () { return voting_poll_1.SecurityLevel; } });
36
+ tslib_1.__exportStar(require("./voting-service"), exports);
31
37
  tslib_1.__exportStar(require("./wallet-seed"), exports);
32
38
  tslib_1.__exportStar(require("./wrapped-key-consts"), exports);
33
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":";;;;AAAA,iEAAuC;AACvC,mEAAyC;AACzC,uEAA6C;AAC7C,4DAAkC;AAClC,4DAAkC;AAClC,sDAA4B;AAC5B,yDAA+B;AAC/B,4DAAkC;AAClC,8DAAoC;AACpC,yFAA+D;AAC/D,2DAAiC;AAGjC,oEAA0C;AAC1C,0EAAgD;AAChD,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,yEAA+C;AAC/C,2DAAiC;AACjC,kEAAwC;AACxC,mEAAyC;AACzC,0EAAgD;AAChD,2EAAiD;AACjD,0DAAgC;AAChC,4DAAkC;AAElC,iDAAyC;AAAhC,uGAAA,MAAM,OAAA;AACf,wDAA8B;AAC9B,+DAAqC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/index.ts"],"names":[],"mappings":";;;;AAAA,iEAAuC;AACvC,mEAAyC;AACzC,4DAAkC;AAClC,4DAAkC;AAClC,qEAA2C;AAC3C,sDAA4B;AAC5B,yDAA+B;AAC/B,4DAAkC;AAClC,8DAAoC;AACpC,wDAA8B;AAC9B,0DAAgC;AAChC,yFAA+D;AAC/D,2DAAiC;AAGjC,oEAA0C;AAC1C,0EAAgD;AAChD,kEAAwC;AACxC,2DAAiC;AACjC,0DAAgC;AAChC,wDAA8B;AAC9B,yEAA+C;AAC/C,2DAAiC;AACjC,kEAAwC;AACxC,mEAAyC;AACzC,0EAAgD;AAChD,2EAAiD;AACjD,0DAAgC;AAChC,4DAAkC;AAElC,iDAAyC;AAAhC,uGAAA,MAAM,OAAA;AACf,6CAOuB;AADrB,kHAAA,aAAa,OAAuB;AAEtC,2DAAiC;AACjC,wDAA8B;AAC9B,+DAAqC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Shared interfaces for IsolatedPublicKey and IsolatedPrivateKey (Node.js Buffer version)
3
+ * These interfaces define the common API for Node.js implementations using Buffer.
4
+ */
5
+ import type { PrivateKey, PublicKey } from 'paillier-bigint';
6
+ /**
7
+ * Common interface for IsolatedPublicKey implementations (Node.js Buffer version)
8
+ */
9
+ export interface IIsolatedPublicKey extends PublicKey {
10
+ /**
11
+ * Deterministic identifier derived from the public key (SHA-256 of 'n')
12
+ */
13
+ readonly keyId: Buffer;
14
+ /**
15
+ * Returns a copy of the keyId
16
+ */
17
+ getKeyId(): Buffer;
18
+ /**
19
+ * Returns a copy of the current instance ID
20
+ */
21
+ getInstanceId(): Buffer;
22
+ /**
23
+ * Updates the current instance ID to a new random value
24
+ * This invalidates all previously encrypted ciphertexts
25
+ */
26
+ updateInstanceId(): void;
27
+ /**
28
+ * Verifies that the keyId matches the SHA-256 hash of the public key 'n'
29
+ */
30
+ verifyKeyId(): void;
31
+ /**
32
+ * Encrypts a message and tags it with instance HMAC
33
+ */
34
+ encryptIsolated(m: bigint): bigint;
35
+ /**
36
+ * Multiplies a ciphertext by a constant, preserving instance HMAC
37
+ */
38
+ multiplyIsolated(ciphertext: bigint, constant: bigint): bigint;
39
+ /**
40
+ * Adds two ciphertexts, preserving instance HMAC
41
+ */
42
+ additionIsolated(a: bigint, b: bigint): bigint;
43
+ /**
44
+ * Extracts and validates the instance ID from a tagged ciphertext
45
+ * Returns the instance ID if valid, or zero-filled array if invalid
46
+ */
47
+ extractInstanceId(ciphertext: bigint): Buffer;
48
+ }
49
+ /**
50
+ * Common interface for IsolatedPrivateKey implementations (Node.js Buffer version)
51
+ */
52
+ export interface IIsolatedPrivateKey extends PrivateKey {
53
+ /**
54
+ * Decrypts a tagged ciphertext after validating instance ID and HMAC
55
+ */
56
+ decryptIsolated(taggedCiphertext: bigint): bigint;
57
+ /**
58
+ * Gets a copy of the original keyId
59
+ */
60
+ getOriginalKeyId(): Buffer;
61
+ /**
62
+ * Gets a copy of the original instanceId
63
+ */
64
+ getOriginalInstanceId(): Buffer;
65
+ /**
66
+ * Gets the original public key reference
67
+ */
68
+ getOriginalPublicKey(): IIsolatedPublicKey;
69
+ }
70
+ //# sourceMappingURL=isolated-keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolated-keys.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/isolated-keys.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;OAGG;IACH,gBAAgB,IAAI,IAAI,CAAC;IAEzB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEnC;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/D;;OAEG;IACH,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/C;;;OAGG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD;;OAEG;IACH,eAAe,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAAC;IAElD;;OAEG;IACH,gBAAgB,IAAI,MAAM,CAAC;IAE3B;;OAEG;IACH,qBAAqB,IAAI,MAAM,CAAC;IAEhC;;OAEG;IACH,oBAAoB,IAAI,kBAAkB,CAAC;CAC5C"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ /**
3
+ * Shared interfaces for IsolatedPublicKey and IsolatedPrivateKey (Node.js Buffer version)
4
+ * These interfaces define the common API for Node.js implementations using Buffer.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=isolated-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isolated-keys.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/isolated-keys.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
@@ -1,9 +1,9 @@
1
1
  import type { EmailString, IECIESConstants, MemberType, SecureBuffer } from '@digitaldefiance/ecies-lib';
2
- import type { Types } from '@digitaldefiance/mongoose-types';
3
2
  import type { Wallet } from '@ethereumjs/wallet';
4
3
  import type { PrivateKey, PublicKey } from 'paillier-bigint';
5
4
  import type { SignatureBuffer } from '../types';
6
5
  import type { IEncryptedChunk } from './encrypted-chunk';
6
+ import type { PlatformID } from './platform-id';
7
7
  import type { IStreamProgress } from './stream-progress';
8
8
  /**
9
9
  * Interface representing a member with cryptographic capabilities.
@@ -15,8 +15,9 @@ import type { IStreamProgress } from './stream-progress';
15
15
  *
16
16
  * @template TID - The ID type (Buffer, string, or ObjectId)
17
17
  */
18
- export interface IMember<TID extends string | Types.ObjectId | Buffer = Buffer> {
18
+ export interface IMember<TID extends PlatformID = Buffer> {
19
19
  readonly id: TID;
20
+ readonly idBytes: Buffer;
20
21
  readonly type: MemberType;
21
22
  readonly name: string;
22
23
  readonly email: EmailString;
@@ -1 +1 @@
1
- {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO,CACtB,GAAG,SAAS,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,MAAM,GAAG,MAAM;IAGrD,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAGpC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAG9B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,WAAW,IAAI,MAAM,CAAC;IAGtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAG7E,iBAAiB,CACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,iBAAiB,CACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C"}
1
+ {"version":3,"file":"member.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/member.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,OAAO,CAAC,GAAG,SAAS,UAAU,GAAG,MAAM;IAEtD,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC;IACjB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IAGpC,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAG9B,kBAAkB,IAAI,MAAM,CAAC;IAC7B,WAAW,IAAI,MAAM,CAAC;IAGtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAC;IACxC,MAAM,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAG7E,iBAAiB,CACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAElD,iBAAiB,CACf,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,GACA,cAAc,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAEzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAExE,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C"}
@@ -0,0 +1,4 @@
1
+ import { Types } from '@digitaldefiance/mongoose-types';
2
+ import { ObjectId } from 'bson';
3
+ export type PlatformID = Uint8Array | Buffer | ObjectId | Types.ObjectId | string;
4
+ //# sourceMappingURL=platform-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-id.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/platform-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,MAAM,GACN,QAAQ,GACR,KAAK,CAAC,QAAQ,GACd,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=platform-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-id.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-node-ecies-lib/src/interfaces/platform-id.ts"],"names":[],"mappings":""}