@digitaldefiance/ecies-lib 4.12.5 → 4.12.7

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digitaldefiance/ecies-lib",
3
- "version": "4.12.5",
3
+ "version": "4.12.7",
4
4
  "description": "Digital Defiance ECIES Library",
5
5
  "homepage": "https://github.com/Digital-Defiance/ecies-lib",
6
6
  "repository": {
@@ -71,6 +71,7 @@
71
71
  "@noble/hashes": "1.8.0",
72
72
  "@scure/bip32": "1.7.0",
73
73
  "bson": "^6.10.4",
74
+ "js-sha3": "^0.9.3",
74
75
  "paillier-bigint": "^3.4.1",
75
76
  "ts-brand": "^0.2.0"
76
77
  },
package/src/index.d.ts CHANGED
@@ -34,6 +34,7 @@ export * from './phone-number';
34
34
  export * from './secure-buffer';
35
35
  export * from './secure-string';
36
36
  export * from './services';
37
+ export * from './transforms';
37
38
  export * from './types';
38
39
  export * from './types/guid-versions';
39
40
  export * from './utils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,uBAAuB,CAAC;AAG/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AASvC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,YAAY,EACV,UAAU,EACV,SAAS,EACT,OAAO,IAAI,eAAe,GAC3B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,uBAAuB,CAAC;AAG/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,6BAA6B,EAC7B,+BAA+B,GAChC,MAAM,+BAA+B,CAAC;AASvC,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AAGxB,cAAc,cAAc,CAAC;AAG7B,YAAY,EACV,UAAU,EACV,SAAS,EACT,OAAO,IAAI,eAAe,GAC3B,MAAM,iBAAiB,CAAC"}
package/src/index.js CHANGED
@@ -59,6 +59,7 @@ tslib_1.__exportStar(require("./phone-number"), exports);
59
59
  tslib_1.__exportStar(require("./secure-buffer"), exports);
60
60
  tslib_1.__exportStar(require("./secure-string"), exports);
61
61
  tslib_1.__exportStar(require("./services"), exports);
62
+ tslib_1.__exportStar(require("./transforms"), exports);
62
63
  tslib_1.__exportStar(require("./types"), exports);
63
64
  tslib_1.__exportStar(require("./types/guid-versions"), exports);
64
65
  tslib_1.__exportStar(require("./utils"), exports);
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;AAEH,mEAAmE;AACnE,wEAAwE;AACxE,iCAA+B;AAE/B,kBAAkB;AAClB,2DAAiC;AACjC,uDAA6B;AAC7B,sDAA4B;AAE5B,UAAU;AACV,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AAGtB,mFAAmF;AACnF,mEAAmE;AACnE,uEAKuC;AAJrC,iIAAA,wBAAwB,OAAA;AACxB,+HAAA,sBAAsB,OAAA;AACtB,sIAAA,6BAA6B,OAAA;AAC7B,wIAAA,+BAA+B,OAAA;AAGjC,2DAA2D;AAC3D,oEAAoE;AACpE,8DAA8D;AAE9D,kEAAkE;AAClE,gEAAgE;AAEhE,sDAA4B;AAC5B,gEAAsC;AACtC,yDAA+B;AAC/B,yDAA+B;AAC/B,mDAAyB;AACzB,uDAA6B;AAC7B,uEAA6C;AAC7C,kEAAyE;AAAhE,4HAAA,wBAAwB,OAAA;AAEjC,qEAA2C;AAC3C,qEAA2C;AAC3C,uEAA6C;AAC7C,6DAAmC;AACnC,4DAAkC;AAClC,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,0DAAgC;AAChC,qDAA2B;AAC3B,kDAAwB;AACxB,gEAAsC;AACtC,kDAAwB;AAExB,qEAAqE;AACrE,uDAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/digitaldefiance-ecies-lib/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;AAEH,mEAAmE;AACnE,wEAAwE;AACxE,iCAA+B;AAE/B,kBAAkB;AAClB,2DAAiC;AACjC,uDAA6B;AAC7B,sDAA4B;AAE5B,UAAU;AACV,2CAOsB;AANpB,8GAAA,gBAAgB,OAAA;AAChB,gHAAA,kBAAkB,OAAA;AAClB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AAGtB,mFAAmF;AACnF,mEAAmE;AACnE,uEAKuC;AAJrC,iIAAA,wBAAwB,OAAA;AACxB,+HAAA,sBAAsB,OAAA;AACtB,sIAAA,6BAA6B,OAAA;AAC7B,wIAAA,+BAA+B,OAAA;AAGjC,2DAA2D;AAC3D,oEAAoE;AACpE,8DAA8D;AAE9D,kEAAkE;AAClE,gEAAgE;AAEhE,sDAA4B;AAC5B,gEAAsC;AACtC,yDAA+B;AAC/B,yDAA+B;AAC/B,mDAAyB;AACzB,uDAA6B;AAC7B,uEAA6C;AAC7C,kEAAyE;AAAhE,4HAAA,wBAAwB,OAAA;AAEjC,qEAA2C;AAC3C,qEAA2C;AAC3C,uEAA6C;AAC7C,6DAAmC;AACnC,4DAAkC;AAClC,mDAAyB;AACzB,4DAAkC;AAClC,yDAA+B;AAC/B,0DAAgC;AAChC,0DAAgC;AAChC,qDAA2B;AAC3B,uDAA6B;AAC7B,kDAAwB;AACxB,gEAAsC;AACtC,kDAAwB;AAExB,qEAAqE;AACrE,uDAA6B"}
@@ -0,0 +1,8 @@
1
+ export declare class ChecksumTransform implements Transformer<Uint8Array, Uint8Array> {
2
+ private sha3;
3
+ private checksumCallback?;
4
+ constructor(onChecksum?: (checksum: Uint8Array) => void);
5
+ transform(chunk: Uint8Array, controller: TransformStreamDefaultController<Uint8Array>): void;
6
+ flush(_controller?: TransformStreamDefaultController<Uint8Array>): void;
7
+ }
8
+ //# sourceMappingURL=checksumTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checksumTransform.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/checksumTransform.ts"],"names":[],"mappings":"AAEA,qBAAa,iBAAkB,YAAW,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,gBAAgB,CAAC,CAAiC;gBAE9C,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,IAAI;IAIvD,SAAS,CACP,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;IAM1D,KAAK,CAAC,WAAW,CAAC,EAAE,gCAAgC,CAAC,UAAU,CAAC;CAMjE"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChecksumTransform = void 0;
4
+ const js_sha3_1 = require("js-sha3");
5
+ class ChecksumTransform {
6
+ sha3 = js_sha3_1.sha3_512.create();
7
+ checksumCallback;
8
+ constructor(onChecksum) {
9
+ this.checksumCallback = onChecksum;
10
+ }
11
+ transform(chunk, controller) {
12
+ this.sha3.update(chunk);
13
+ controller.enqueue(chunk);
14
+ }
15
+ flush(_controller) {
16
+ const checksum = Uint8Array.from(this.sha3.digest());
17
+ if (this.checksumCallback) {
18
+ this.checksumCallback(checksum);
19
+ }
20
+ }
21
+ }
22
+ exports.ChecksumTransform = ChecksumTransform;
23
+ //# sourceMappingURL=checksumTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checksumTransform.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/checksumTransform.ts"],"names":[],"mappings":";;;AAAA,qCAAmC;AAEnC,MAAa,iBAAiB;IACpB,IAAI,GAAG,kBAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,gBAAgB,CAAkC;IAE1D,YAAY,UAA2C;QACrD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;IACrC,CAAC;IAED,SAAS,CACP,KAAiB,EACjB,UAAwD;QAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAA0D;QAC9D,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;CACF;AAtBD,8CAsBC"}
@@ -0,0 +1,11 @@
1
+ import { ECIESService } from '../services/ecies';
2
+ export declare class EciesDecryptTransform implements Transformer<Uint8Array, Uint8Array> {
3
+ private readonly blockSize;
4
+ private readonly privateKey;
5
+ private buffer;
6
+ private readonly eciesService;
7
+ constructor(eciesService: ECIESService, privateKey: Uint8Array, blockSize: number);
8
+ transform(chunk: Uint8Array, controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
9
+ flush(controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
10
+ }
11
+ //# sourceMappingURL=eciesDecryptTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eciesDecryptTransform.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/eciesDecryptTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,qBAAsB,YAAW,WAAW,CACvD,UAAU,EACV,UAAU,CACX;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAG1C,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM;IAOb,SAAS,CACb,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;IAuBpD,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;CAgBrE"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EciesDecryptTransform = void 0;
4
+ class EciesDecryptTransform {
5
+ blockSize;
6
+ privateKey;
7
+ buffer = new Uint8Array(0);
8
+ eciesService;
9
+ constructor(eciesService, privateKey, blockSize) {
10
+ this.privateKey = privateKey;
11
+ this.blockSize = blockSize;
12
+ this.eciesService = eciesService;
13
+ }
14
+ async transform(chunk, controller) {
15
+ if (chunk.length === 0)
16
+ return;
17
+ const newBuffer = new Uint8Array(this.buffer.length + chunk.length);
18
+ newBuffer.set(this.buffer);
19
+ newBuffer.set(chunk, this.buffer.length);
20
+ this.buffer = newBuffer;
21
+ while (this.buffer.length >= this.blockSize) {
22
+ const encryptedBlock = this.buffer.subarray(0, this.blockSize);
23
+ this.buffer = this.buffer.subarray(this.blockSize);
24
+ const decryptedBlock = await this.eciesService.decryptSimpleOrSingleWithHeader(true, this.privateKey, encryptedBlock);
25
+ controller.enqueue(decryptedBlock);
26
+ }
27
+ }
28
+ async flush(controller) {
29
+ if (this.buffer.length > 0) {
30
+ try {
31
+ const decryptedBlock = await this.eciesService.decryptSimpleOrSingleWithHeader(true, this.privateKey, this.buffer);
32
+ controller.enqueue(decryptedBlock);
33
+ }
34
+ catch (err) {
35
+ controller.error(err);
36
+ throw err;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ exports.EciesDecryptTransform = EciesDecryptTransform;
42
+ //# sourceMappingURL=eciesDecryptTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eciesDecryptTransform.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/eciesDecryptTransform.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAIf,SAAS,CAAS;IAClB,UAAU,CAAa;IAChC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,YAAY,CAAe;IAE5C,YACE,YAA0B,EAC1B,UAAsB,EACtB,SAAiB;QAEjB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAiB,EACjB,UAAwD;QAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEnD,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,YAAY,CAAC,+BAA+B,CACrD,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,cAAc,CACf,CAAC;YACJ,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAwD;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,YAAY,CAAC,+BAA+B,CACrD,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CACZ,CAAC;gBACJ,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACtB,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA5DD,sDA4DC"}
@@ -0,0 +1,12 @@
1
+ import { ECIESService } from '../services/ecies';
2
+ export declare class EciesEncryptTransform implements Transformer<Uint8Array, Uint8Array> {
3
+ private readonly blockSize;
4
+ private readonly receiverPublicKey;
5
+ private buffer;
6
+ private readonly capacityPerBlock;
7
+ private readonly eciesService;
8
+ constructor(eciesService: ECIESService, blockSize: number, receiverPublicKey: Uint8Array);
9
+ transform(chunk: Uint8Array, controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
10
+ flush(controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
11
+ }
12
+ //# sourceMappingURL=eciesEncryptTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eciesEncryptTransform.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/eciesEncryptTransform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,qBAAa,qBAAsB,YAAW,WAAW,CACvD,UAAU,EACV,UAAU,CACX;IACC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAa;IAC/C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAG1C,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,MAAM,EACjB,iBAAiB,EAAE,UAAU;IAmBzB,SAAS,CACb,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;IAsBpD,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;CAUrE"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EciesEncryptTransform = void 0;
4
+ class EciesEncryptTransform {
5
+ blockSize;
6
+ receiverPublicKey;
7
+ buffer = new Uint8Array(0);
8
+ capacityPerBlock;
9
+ eciesService;
10
+ constructor(eciesService, blockSize, receiverPublicKey) {
11
+ this.blockSize = blockSize;
12
+ if (receiverPublicKey.length !== 33 && receiverPublicKey.length !== 65) {
13
+ throw new Error(`Invalid public key length: expected 33 or 65 bytes, got ${receiverPublicKey.length}`);
14
+ }
15
+ this.receiverPublicKey = receiverPublicKey;
16
+ this.eciesService = eciesService;
17
+ const encryptedLength = this.eciesService.computeEncryptedLengthFromDataLength(this.blockSize, 'simple');
18
+ this.capacityPerBlock = this.blockSize - (encryptedLength - this.blockSize);
19
+ }
20
+ async transform(chunk, controller) {
21
+ if (chunk.length === 0)
22
+ return;
23
+ const newBuffer = new Uint8Array(this.buffer.length + chunk.length);
24
+ newBuffer.set(this.buffer);
25
+ newBuffer.set(chunk, this.buffer.length);
26
+ this.buffer = newBuffer;
27
+ while (this.buffer.length >= this.capacityPerBlock) {
28
+ const blockData = this.buffer.subarray(0, this.capacityPerBlock);
29
+ this.buffer = this.buffer.subarray(this.capacityPerBlock);
30
+ const encryptedBlock = await this.eciesService.encryptSimpleOrSingle(true, this.receiverPublicKey, blockData);
31
+ controller.enqueue(encryptedBlock);
32
+ }
33
+ }
34
+ async flush(controller) {
35
+ if (this.buffer.length > 0) {
36
+ const encryptedBlock = await this.eciesService.encryptSimpleOrSingle(true, this.receiverPublicKey, this.buffer);
37
+ controller.enqueue(encryptedBlock);
38
+ }
39
+ }
40
+ }
41
+ exports.EciesEncryptTransform = EciesEncryptTransform;
42
+ //# sourceMappingURL=eciesEncryptTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eciesEncryptTransform.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/eciesEncryptTransform.ts"],"names":[],"mappings":";;;AAEA,MAAa,qBAAqB;IAIf,SAAS,CAAS;IAClB,iBAAiB,CAAa;IACvC,MAAM,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAClB,gBAAgB,CAAS;IACzB,YAAY,CAAe;IAE5C,YACE,YAA0B,EAC1B,SAAiB,EACjB,iBAA6B;QAE7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,iBAAiB,CAAC,MAAM,KAAK,EAAE,IAAI,iBAAiB,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACvE,MAAM,IAAI,KAAK,CACb,2DAA2D,iBAAiB,CAAC,MAAM,EAAE,CACtF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,MAAM,eAAe,GACnB,IAAI,CAAC,YAAY,CAAC,oCAAoC,CACpD,IAAI,CAAC,SAAS,EACd,QAAQ,CACT,CAAC;QACJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,SAAS,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,SAAS,CACb,KAAiB,EACjB,UAAwD;QAExD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE/B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QACpE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACjE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAE1D,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAClE,IAAI,EACJ,IAAI,CAAC,iBAAiB,EACtB,SAAS,CACV,CAAC;YACF,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,UAAwD;QAClE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAClE,IAAI,EACJ,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,MAAM,CACZ,CAAC;YACF,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;CACF;AAlED,sDAkEC"}
@@ -0,0 +1,6 @@
1
+ export * from './checksumTransform';
2
+ export * from './eciesDecryptTransform';
3
+ export * from './eciesEncryptTransform';
4
+ export * from './xorTransform';
5
+ export * from './xorMultipleTransform';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./checksumTransform"), exports);
5
+ tslib_1.__exportStar(require("./eciesDecryptTransform"), exports);
6
+ tslib_1.__exportStar(require("./eciesEncryptTransform"), exports);
7
+ tslib_1.__exportStar(require("./xorTransform"), exports);
8
+ tslib_1.__exportStar(require("./xorMultipleTransform"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,kEAAwC;AACxC,kEAAwC;AACxC,yDAA+B;AAC/B,iEAAuC"}
@@ -0,0 +1,11 @@
1
+ export declare class XorMultipleTransform implements Transformer<Uint8Array, Uint8Array> {
2
+ private sources;
3
+ private readers;
4
+ private buffers;
5
+ private streamEnded;
6
+ constructor(sources: ReadableStream<Uint8Array>[]);
7
+ transform(_chunk: Uint8Array, controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
8
+ flush(controller: TransformStreamDefaultController<Uint8Array>): Promise<void>;
9
+ private processData;
10
+ }
11
+ //# sourceMappingURL=xorMultipleTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xorMultipleTransform.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,YAAW,WAAW,CACtD,UAAU,EACV,UAAU,CACX;IACC,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAAY;gBAEnB,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,EAAE;IAS3C,SAAS,CACb,MAAM,EAAE,UAAU,EAClB,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;IAKpD,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;YAItD,WAAW;CA2C1B"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XorMultipleTransform = void 0;
4
+ class XorMultipleTransform {
5
+ sources;
6
+ readers;
7
+ buffers;
8
+ streamEnded;
9
+ constructor(sources) {
10
+ this.sources = sources;
11
+ this.readers = sources.map((s) => s.getReader());
12
+ this.buffers = new Array(sources.length).fill(null);
13
+ this.streamEnded = new Array(sources.length).fill(false);
14
+ }
15
+ async transform(_chunk, controller) {
16
+ await this.processData(controller);
17
+ }
18
+ async flush(controller) {
19
+ await this.processData(controller);
20
+ }
21
+ async processData(controller) {
22
+ for (let i = 0; i < this.readers.length; i++) {
23
+ if (!this.buffers[i] && !this.streamEnded[i]) {
24
+ const { value, done } = await this.readers[i].read();
25
+ if (done) {
26
+ this.streamEnded[i] = true;
27
+ }
28
+ else {
29
+ this.buffers[i] = value;
30
+ }
31
+ }
32
+ }
33
+ if (this.buffers.every((buffer, index) => buffer !== null || this.streamEnded[index])) {
34
+ const minLength = Math.min(...this.buffers.map((buffer, index) => this.streamEnded[index] ? Infinity : (buffer?.length ?? Infinity)));
35
+ if (minLength === 0 || minLength === Infinity)
36
+ return;
37
+ const xorResult = new Uint8Array(minLength);
38
+ for (let i = 0; i < minLength; i++) {
39
+ xorResult[i] = this.buffers.reduce((acc, buffer, index) => this.streamEnded[index] ? acc : acc ^ buffer[i], 0);
40
+ }
41
+ controller.enqueue(xorResult);
42
+ this.buffers = this.buffers.map((buffer, index) => this.streamEnded[index] ? buffer : buffer.subarray(minLength));
43
+ }
44
+ }
45
+ }
46
+ exports.XorMultipleTransform = XorMultipleTransform;
47
+ //# sourceMappingURL=xorMultipleTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xorMultipleTransform.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/xorMultipleTransform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export declare class XorTransform implements Transformer<Uint8Array, Uint8Array> {
2
+ private firstChunk;
3
+ private xorChunk;
4
+ transform(chunk: Uint8Array, _controller: TransformStreamDefaultController<Uint8Array>): void;
5
+ flush(controller: TransformStreamDefaultController<Uint8Array>): void;
6
+ }
7
+ //# sourceMappingURL=xorTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xorTransform.d.ts","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/xorTransform.ts"],"names":[],"mappings":"AAAA,qBAAa,YAAa,YAAW,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC;IACtE,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,QAAQ,CAAqB;IAErC,SAAS,CACP,KAAK,EAAE,UAAU,EACjB,WAAW,EAAE,gCAAgC,CAAC,UAAU,CAAC;IAY3D,KAAK,CAAC,UAAU,EAAE,gCAAgC,CAAC,UAAU,CAAC;CAG/D"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.XorTransform = void 0;
4
+ class XorTransform {
5
+ firstChunk = true;
6
+ xorChunk = new Uint8Array(0);
7
+ transform(chunk, _controller) {
8
+ if (this.firstChunk) {
9
+ this.xorChunk = new Uint8Array(chunk);
10
+ this.firstChunk = false;
11
+ }
12
+ else {
13
+ for (let i = 0; i < chunk.length; i++) {
14
+ this.xorChunk[i] ^= chunk[i];
15
+ }
16
+ }
17
+ }
18
+ flush(controller) {
19
+ controller.enqueue(this.xorChunk);
20
+ }
21
+ }
22
+ exports.XorTransform = XorTransform;
23
+ //# sourceMappingURL=xorTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xorTransform.js","sourceRoot":"","sources":["../../../../../packages/digitaldefiance-ecies-lib/src/transforms/xorTransform.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACf,UAAU,GAAG,IAAI,CAAC;IAClB,QAAQ,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAErC,SAAS,CACP,KAAiB,EACjB,WAAyD;QAEzD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAwD;QAC5D,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;CACF;AArBD,oCAqBC"}