@haskou/value-objects 2.0.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export type Primitive = string | number | boolean | bigint | symbol;
1
+ export type Primitive = string | number | boolean | bigint | symbol | Record<string, unknown> | Array<unknown> | null | undefined;
2
2
  //# sourceMappingURL=Primitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Primitive.d.ts","sourceRoot":"","sources":["../../src/types/Primitive.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"Primitive.d.ts","sourceRoot":"","sources":["../../src/types/Primitive.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,KAAK,CAAC,OAAO,CAAC,GACd,IAAI,GACJ,SAAS,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { PrimitiveOf } from '../../interfaces';
2
2
  import { StringValueObject } from '../StringValueObject';
3
3
  import { CryptoPayload } from './CryptoPayload';
4
+ import { EncryptedPayload } from './EncryptedPayload';
4
5
  import { EncryptedPrivateKey } from './EncryptedPrivateKey';
5
6
  import { PrivateKey } from './PrivateKey';
6
7
  import { PublicKey } from './PublicKey';
@@ -17,5 +18,7 @@ export declare class EncryptedKeyPair {
17
18
  encryptedPrivateKey: string;
18
19
  publicKey: string;
19
20
  };
21
+ encrypt(payload: CryptoPayload): EncryptedPayload;
22
+ decrypt(encryptedPayload: EncryptedPayload, password: string | StringValueObject): Promise<Buffer>;
20
23
  }
21
24
  //# sourceMappingURL=EncryptedKeyPair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;WAxBlB,cAAc,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;WASd,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACxC,gBAAgB;gBAQA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB;IAGpD,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIG,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;CAMpB"}
1
+ {"version":3,"file":"EncryptedKeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,gBAAgB;IAwBzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;WAxBlB,cAAc,CAChC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;WASd,cAAc,CAC1B,UAAU,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACxC,gBAAgB;gBAQA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,mBAAmB;IAGpD,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIG,IAAI,CACf,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,SAAS,CAAC;IAMd,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAI3C,OAAO,CAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,MAAM,CAAC;CAKnB"}
@@ -30,6 +30,13 @@ class EncryptedKeyPair {
30
30
  publicKey: this.publicKey.valueOf(),
31
31
  };
32
32
  }
33
+ encrypt(payload) {
34
+ return this.publicKey.encrypt(payload);
35
+ }
36
+ async decrypt(encryptedPayload, password) {
37
+ const privateKey = await this.encryptedPrivateKey.decrypt(password);
38
+ return privateKey.decrypt(encryptedPayload);
39
+ }
33
40
  }
34
41
  exports.EncryptedKeyPair = EncryptedKeyPair;
35
42
  //# sourceMappingURL=EncryptedKeyPair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;AAGA,+DAA4D;AAE5D,2CAAwC;AAGxC,MAAa,gBAAgB;IAwBR;IACA;IAxBZ,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAoB,EACpB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,yCAAmB,CAAC,MAAM,CAC1D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,UAAyC;QAEzC,OAAO,IAAI,gBAAgB,CACzB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,yCAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,mBAAwC;QADxC,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEG,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAsB,EACtB,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AAlDD,4CAkDC"}
1
+ {"version":3,"file":"EncryptedKeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/EncryptedKeyPair.ts"],"names":[],"mappings":";;;AAIA,+DAA4D;AAE5D,2CAAwC;AAGxC,MAAa,gBAAgB;IAwBR;IACA;IAxBZ,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,SAAoB,EACpB,UAAsB,EACtB,QAAoC;QAEpC,MAAM,mBAAmB,GAAG,MAAM,yCAAmB,CAAC,MAAM,CAC1D,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,OAAO,IAAI,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC9D,CAAC;IAEM,MAAM,CAAC,cAAc,CAC1B,UAAyC;QAEzC,OAAO,IAAI,gBAAgB,CACzB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,yCAAmB,CAAC,UAAU,CAAC,mBAAmB,CAAC,CACxD,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,mBAAwC;QADxC,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAAqB;IACxD,CAAC;IAEG,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CACf,OAAsB,EACtB,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE;YACvD,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,gBAAkC,EAClC,QAAoC;QAEpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpE,OAAO,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC;CACF;AA/DD,4CA+DC"}
@@ -2,6 +2,7 @@ import { PrimitiveOf } from '../../interfaces';
2
2
  import { StringValueObject } from '../StringValueObject';
3
3
  import { CryptoPayload } from './CryptoPayload';
4
4
  import { EncryptedKeyPair } from './EncryptedKeyPair';
5
+ import { EncryptedPayload } from './EncryptedPayload';
5
6
  import { PrivateKey } from './PrivateKey';
6
7
  import { PublicKey } from './PublicKey';
7
8
  import { Signature } from './Signature';
@@ -18,5 +19,7 @@ export declare class KeyPair {
18
19
  privateKey: string;
19
20
  publicKey: string;
20
21
  };
22
+ encrypt(payload: CryptoPayload): EncryptedPayload;
23
+ decrypt(encryptedPayload: EncryptedPayload): Buffer;
21
24
  }
22
25
  //# sourceMappingURL=KeyPair.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,qBAAa,OAAO;IAkBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlBT,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WASlC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;gBAQpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;IAG5B,cAAc,CACzB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAQrB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAIvC,YAAY;;;;CAMpB"}
1
+ {"version":3,"file":"KeyPair.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,qBAAa,OAAO;IAkBhB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlBT,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;WASlC,cAAc,CAAC,UAAU,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO;gBAQpD,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU;IAG5B,cAAc,CACzB,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GACnC,OAAO,CAAC,gBAAgB,CAAC;IAQrB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAIH,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAIvC,YAAY;;;;IAOZ,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;IAIjD,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CAG3D"}
@@ -40,6 +40,12 @@ class KeyPair {
40
40
  publicKey: this.publicKey.valueOf(),
41
41
  };
42
42
  }
43
+ encrypt(payload) {
44
+ return this.publicKey.encrypt(payload);
45
+ }
46
+ decrypt(encryptedPayload) {
47
+ return this.privateKey.decrypt(encryptedPayload);
48
+ }
43
49
  }
44
50
  exports.KeyPair = KeyPair;
45
51
  //# sourceMappingURL=KeyPair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AACtC,yCAAsC;AAKtC,yDAAsD;AACtD,6CAA0C;AAC1C,2CAAwC;AAGxC,MAAM,eAAe,GAAG,IAAA,qBAAS,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE1D,MAAa,OAAO;IAkBC;IACA;IAlBZ,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE;YACjE,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;YACpD,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,IAAI,qBAAS,CAAC,SAAS,CAAC,EAAE,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAgC;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,uBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEG,KAAK,CAAC,cAAc,CACzB,QAAoC;QAEpC,OAAO,MAAM,mCAAgB,CAAC,cAAc,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;CACF;AAjDD,0BAiDC"}
1
+ {"version":3,"file":"KeyPair.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/KeyPair.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AACtC,yCAAsC;AAKtC,yDAAsD;AAEtD,6CAA0C;AAC1C,2CAAwC;AAGxC,MAAM,eAAe,GAAG,IAAA,qBAAS,EAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAE1D,MAAa,OAAO;IAkBC;IACA;IAlBZ,MAAM,CAAC,KAAK,CAAC,QAAQ;QAC1B,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE;YACjE,kBAAkB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;YACpD,iBAAiB,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE;SACnD,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC,IAAI,qBAAS,CAAC,SAAS,CAAC,EAAE,IAAI,uBAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEM,MAAM,CAAC,cAAc,CAAC,UAAgC;QAC3D,OAAO,IAAI,OAAO,CAChB,IAAI,qBAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EACnC,IAAI,uBAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CACtC,CAAC;IACJ,CAAC;IAED,YACmB,SAAoB,EACpB,UAAsB;QADtB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAY;IACtC,CAAC;IAEG,KAAK,CAAC,cAAc,CACzB,QAAoC;QAEpC,OAAO,MAAM,mCAAgB,CAAC,cAAc,CAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,EACf,QAAQ,CAAC,OAAO,EAAE,CACnB,CAAC;IACJ,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,OAAO,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;SACpC,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,OAAsB;QACnC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,gBAAkC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;CACF;AAzDD,0BAyDC"}
@@ -1,5 +1,6 @@
1
1
  import { StringValueObject } from '../StringValueObject';
2
2
  import { CryptoPayload } from './CryptoPayload';
3
+ import { EncryptedPayload } from './EncryptedPayload';
3
4
  import { Key } from './Key';
4
5
  import { Signature } from './Signature';
5
6
  export declare class PrivateKey extends Key {
@@ -9,5 +10,6 @@ export declare class PrivateKey extends Key {
9
10
  constructor(value: string | StringValueObject);
10
11
  private ensureIsValidPrivateKey;
11
12
  sign(payload: CryptoPayload): Signature;
13
+ decrypt(encryptedPayload: EncryptedPayload): Buffer;
12
14
  }
13
15
  //# sourceMappingURL=PrivateKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,UAAW,SAAQ,GAAG;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACiD;WAElE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU;gBAItD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQxB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;CAM/C"}
1
+ {"version":3,"file":"PrivateKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,UAAW,SAAQ,GAAG;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CACiD;WAElE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,UAAU;gBAItD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,uBAAuB;IAQxB,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS;IAOvC,OAAO,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,MAAM;CA4B3D"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PrivateKey = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const ed25519_js_1 = require("@noble/curves/ed25519.js");
5
6
  const crypto = tslib_1.__importStar(require("node:crypto"));
6
7
  const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
7
8
  const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
@@ -31,6 +32,28 @@ class PrivateKey extends Key_1.Key {
31
32
  const signatureBuffer = crypto.sign(null, messageBuffer, this.valueOf());
32
33
  return Signature_1.Signature.fromBuffer(signatureBuffer);
33
34
  }
35
+ decrypt(encryptedPayload) {
36
+ const [ephPubB64, ivB64, cipherTextB64, tagB64] = encryptedPayload
37
+ .valueOf()
38
+ .split('.');
39
+ const ephemeralPub = Buffer.from(ephPubB64, 'base64');
40
+ const iv = Buffer.from(ivB64, 'base64');
41
+ const cipherText = Buffer.from(cipherTextB64, 'base64');
42
+ const tag = Buffer.from(tagB64, 'base64');
43
+ const pkcs8Der = crypto
44
+ .createPrivateKey(this.valueOf())
45
+ .export({ format: 'der', type: 'pkcs8' });
46
+ const x25519Priv = ed25519_js_1.ed25519.utils.toMontgomerySecret(pkcs8Der.subarray(16));
47
+ const sharedSecret = ed25519_js_1.x25519.getSharedSecret(x25519Priv, ephemeralPub);
48
+ const aesKey = crypto
49
+ .createHash('sha256')
50
+ .update(sharedSecret)
51
+ .update(ephemeralPub)
52
+ .digest();
53
+ const decipher = crypto.createDecipheriv('aes-256-gcm', aesKey, iv);
54
+ decipher.setAuthTag(tag);
55
+ return Buffer.concat([decipher.update(cipherText), decipher.final()]);
56
+ }
34
57
  }
35
58
  exports.PrivateKey = PrivateKey;
36
59
  //# sourceMappingURL=PrivateKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAEtC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAG3C,+BAA4B;AAC5B,2CAAwC;AAExC,MAAa,UAAW,SAAQ,SAAG;IACzB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,6EAA6E,CAAC;IAEzE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,uBAAuB,CAAC,KAAa;QAC3C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAClC,IAAI,uCAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CACjD,CAAC;QACF,IAAA,iBAAM,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAEM,IAAI,CAAC,OAAsB;QAChC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAEzE,OAAO,qBAAS,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC;;AAhCH,gCAiCC"}
1
+ {"version":3,"file":"PrivateKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PrivateKey.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { StringValueObject } from '../StringValueObject';
2
2
  import { CryptoPayload } from './CryptoPayload';
3
+ import { EncryptedPayload } from './EncryptedPayload';
3
4
  import { Key } from './Key';
4
5
  import { Signature } from './Signature';
5
6
  export declare class PublicKey extends Key {
@@ -9,5 +10,6 @@ export declare class PublicKey extends Key {
9
10
  constructor(value: string | StringValueObject);
10
11
  private ensureIsValidPublicKey;
11
12
  isValidSignature(payload: CryptoPayload, signature: Signature): boolean;
13
+ encrypt(payload: CryptoPayload): EncryptedPayload;
12
14
  }
13
15
  //# sourceMappingURL=PublicKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,SAAU,SAAQ,GAAG;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC+C;WAEhE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAIrD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,sBAAsB;IAQvB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;CAYX"}
1
+ {"version":3,"file":"PublicKey.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,qBAAa,SAAU,SAAQ,GAAG;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAO;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAC+C;WAEhE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;gBAIrD,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,sBAAsB;IAQvB,gBAAgB,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,SAAS,GACnB,OAAO;IAaH,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB;CAmCzD"}
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PublicKey = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const ed25519_js_1 = require("@noble/curves/ed25519.js");
5
6
  const crypto = tslib_1.__importStar(require("node:crypto"));
6
7
  const InvalidFormatError_1 = require("../../errors/InvalidFormatError");
7
8
  const InvalidLengthError_1 = require("../../errors/InvalidLengthError");
8
9
  const patterns_1 = require("../../patterns");
9
10
  const NullObject_1 = require("../NullObject");
11
+ const EncryptedPayload_1 = require("./EncryptedPayload");
10
12
  const Key_1 = require("./Key");
11
13
  class PublicKey extends Key_1.Key {
12
14
  static LENGTH = 113;
@@ -31,6 +33,35 @@ class PublicKey extends Key_1.Key {
31
33
  const valid = crypto.verify(null, messageBuffer, this.valueOf(), signatureBuffer);
32
34
  return valid;
33
35
  }
36
+ encrypt(payload) {
37
+ const messageBuffer = Buffer.from(payload.valueOf());
38
+ const spkiDer = crypto
39
+ .createPublicKey(this.valueOf())
40
+ .export({ format: 'der', type: 'spki' });
41
+ const x25519Pub = ed25519_js_1.ed25519.utils.toMontgomery(spkiDer.subarray(12));
42
+ const ephemeralPriv = ed25519_js_1.x25519.utils.randomSecretKey();
43
+ const ephemeralPub = ed25519_js_1.x25519.getPublicKey(ephemeralPriv);
44
+ const sharedSecret = ed25519_js_1.x25519.getSharedSecret(ephemeralPriv, x25519Pub);
45
+ const aesKey = crypto
46
+ .createHash('sha256')
47
+ .update(sharedSecret)
48
+ .update(ephemeralPub)
49
+ .digest();
50
+ const iv = crypto.randomBytes(12);
51
+ const cipher = crypto.createCipheriv('aes-256-gcm', aesKey, iv);
52
+ const cipherText = Buffer.concat([
53
+ cipher.update(messageBuffer),
54
+ cipher.final(),
55
+ ]);
56
+ const tag = cipher.getAuthTag();
57
+ const result = [
58
+ Buffer.from(ephemeralPub).toString('base64'),
59
+ iv.toString('base64'),
60
+ cipherText.toString('base64'),
61
+ tag.toString('base64'),
62
+ ].join('.');
63
+ return new EncryptedPayload_1.EncryptedPayload(result);
64
+ }
34
65
  }
35
66
  exports.PublicKey = PublicKey;
36
67
  //# sourceMappingURL=PublicKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":";;;;AAAA,4DAAsC;AAEtC,wEAAqE;AACrE,wEAAqE;AACrE,6CAAwC;AACxC,8CAA2C;AAG3C,+BAA4B;AAG5B,MAAa,SAAU,SAAQ,SAAG;IACxB,MAAM,CAAU,MAAM,GAAG,GAAG,CAAC;IAC7B,MAAM,CAAU,OAAO,GAC7B,2EAA2E,CAAC;IAEvE,MAAM,CAAC,OAAO,CAAC,GAA+B;QACnD,OAAO,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEO,sBAAsB,CAAC,KAAa;QAC1C,IAAA,iBAAM,EACJ,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,EACjC,IAAI,uCAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,IAAA,iBAAM,EAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAEM,gBAAgB,CACrB,OAAsB,EACtB,SAAoB;QAEpB,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CACzB,IAAI,EACJ,aAAa,EACb,IAAI,CAAC,OAAO,EAAE,EACd,eAAe,CAChB,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;;AAzCH,8BA0CC"}
1
+ {"version":3,"file":"PublicKey.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/PublicKey.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Signature.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA2B;WAE5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;gBAIvC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,cAAc;CAGvB"}
1
+ {"version":3,"file":"Signature.d.ts","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,SAAU,SAAQ,WAAW,CAAC,MAAM,CAAC;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAM;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAA2B;WAE5C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;gBAIvC,KAAK,EAAE,MAAM,GAAG,iBAAiB;IAU7C,OAAO,CAAC,cAAc;CAGvB"}
@@ -5,7 +5,6 @@ const InvalidSignatureError_1 = require("../../errors/InvalidSignatureError");
5
5
  const patterns_1 = require("../../patterns");
6
6
  const NullObject_1 = require("../NullObject");
7
7
  const ValueObject_1 = require("../ValueObject");
8
- // TODO: Test
9
8
  class Signature extends ValueObject_1.ValueObject {
10
9
  static LENGTH = 88;
11
10
  static PATTERN = /^[A-Za-z0-9+/]{86}==$/;
@@ -1 +1 @@
1
- {"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,aAAa;AACb,MAAa,SAAU,SAAQ,yBAAmB;IACxC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAAG,uBAAuB,CAAC;IAEnD,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,6CAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;;AApBH,8BAqBC"}
1
+ {"version":3,"file":"Signature.js","sourceRoot":"","sources":["../../../src/value-objects/crypto/Signature.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,6CAAwC;AACxC,8CAA2C;AAE3C,gDAA6C;AAE7C,MAAa,SAAU,SAAQ,yBAAmB;IACxC,MAAM,CAAU,MAAM,GAAG,EAAE,CAAC;IAC5B,MAAM,CAAU,OAAO,GAAG,uBAAuB,CAAC;IAEnD,MAAM,CAAC,UAAU,CAAC,MAAc;QACrC,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAExB,IAAI,uBAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAA,iBAAM,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,6CAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,cAAc;QACpB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;;AApBH,8BAqBC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haskou/value-objects",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "files": [
@@ -52,6 +52,7 @@
52
52
  "typescript": "^5.8.3"
53
53
  },
54
54
  "dependencies": {
55
+ "@noble/curves": "^2.0.1",
55
56
  "bson-objectid": "^2.0.4",
56
57
  "uuid": "8"
57
58
  }