@nmshd/crypto 1.0.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/CoreBuffer.d.ts +0 -1
  2. package/dist/CoreBuffer.js +1 -4
  3. package/dist/CoreBuffer.js.map +1 -1
  4. package/dist/CryptoDerivation.js +2 -2
  5. package/dist/CryptoDerivation.js.map +1 -1
  6. package/dist/CryptoPrivateKey.d.ts +7 -10
  7. package/dist/CryptoPrivateKey.js +18 -33
  8. package/dist/CryptoPrivateKey.js.map +1 -1
  9. package/dist/CryptoPublicKey.d.ts +6 -9
  10. package/dist/CryptoPublicKey.js +16 -31
  11. package/dist/CryptoPublicKey.js.map +1 -1
  12. package/dist/CryptoSerializable.js.map +1 -1
  13. package/dist/CryptoValidation.d.ts +4 -6
  14. package/dist/CryptoValidation.js +16 -29
  15. package/dist/CryptoValidation.js.map +1 -1
  16. package/dist/buildInformation.js +4 -4
  17. package/dist/encryption/CryptoCipher.d.ts +5 -6
  18. package/dist/encryption/CryptoCipher.js +59 -56
  19. package/dist/encryption/CryptoCipher.js.map +1 -1
  20. package/dist/encryption/CryptoEncryption.js +10 -12
  21. package/dist/encryption/CryptoEncryption.js.map +1 -1
  22. package/dist/encryption/CryptoSecretKey.d.ts +3 -4
  23. package/dist/encryption/CryptoSecretKey.js +34 -30
  24. package/dist/encryption/CryptoSecretKey.js.map +1 -1
  25. package/dist/exchange/CryptoExchange.d.ts +0 -2
  26. package/dist/exchange/CryptoExchange.js +3 -20
  27. package/dist/exchange/CryptoExchange.js.map +1 -1
  28. package/dist/exchange/CryptoExchangeKeypair.d.ts +3 -4
  29. package/dist/exchange/CryptoExchangeKeypair.js +29 -22
  30. package/dist/exchange/CryptoExchangeKeypair.js.map +1 -1
  31. package/dist/exchange/CryptoExchangePrivateKey.d.ts +3 -5
  32. package/dist/exchange/CryptoExchangePrivateKey.js +50 -31
  33. package/dist/exchange/CryptoExchangePrivateKey.js.map +1 -1
  34. package/dist/exchange/CryptoExchangePublicKey.d.ts +3 -4
  35. package/dist/exchange/CryptoExchangePublicKey.js +28 -29
  36. package/dist/exchange/CryptoExchangePublicKey.js.map +1 -1
  37. package/dist/exchange/CryptoExchangeSecrets.d.ts +4 -5
  38. package/dist/exchange/CryptoExchangeSecrets.js +32 -34
  39. package/dist/exchange/CryptoExchangeSecrets.js.map +1 -1
  40. package/dist/exchange/CryptoExchangeValidation.d.ts +7 -10
  41. package/dist/exchange/CryptoExchangeValidation.js +9 -36
  42. package/dist/exchange/CryptoExchangeValidation.js.map +1 -1
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.js +1 -0
  45. package/dist/index.js.map +1 -1
  46. package/dist/relationship/CryptoRelationshipPublicRequest.d.ts +1 -2
  47. package/dist/relationship/CryptoRelationshipPublicRequest.js +19 -34
  48. package/dist/relationship/CryptoRelationshipPublicRequest.js.map +1 -1
  49. package/dist/relationship/CryptoRelationshipPublicResponse.d.ts +1 -2
  50. package/dist/relationship/CryptoRelationshipPublicResponse.js +20 -30
  51. package/dist/relationship/CryptoRelationshipPublicResponse.js.map +1 -1
  52. package/dist/relationship/CryptoRelationshipRequestSecrets.d.ts +0 -1
  53. package/dist/relationship/CryptoRelationshipRequestSecrets.js +1 -4
  54. package/dist/relationship/CryptoRelationshipRequestSecrets.js.map +1 -1
  55. package/dist/relationship/CryptoRelationshipSecrets.d.ts +0 -1
  56. package/dist/relationship/CryptoRelationshipSecrets.js +1 -4
  57. package/dist/relationship/CryptoRelationshipSecrets.js.map +1 -1
  58. package/dist/signature/CryptoSignature.d.ts +5 -6
  59. package/dist/signature/CryptoSignature.js +36 -32
  60. package/dist/signature/CryptoSignature.js.map +1 -1
  61. package/dist/signature/CryptoSignatureAlgorithm.d.ts +5 -0
  62. package/dist/signature/CryptoSignatureAlgorithm.js +3 -0
  63. package/dist/signature/CryptoSignatureAlgorithm.js.map +1 -0
  64. package/dist/signature/CryptoSignatureKeypair.d.ts +3 -4
  65. package/dist/signature/CryptoSignatureKeypair.js +32 -30
  66. package/dist/signature/CryptoSignatureKeypair.js.map +1 -1
  67. package/dist/signature/CryptoSignaturePrivateKey.d.ts +5 -8
  68. package/dist/signature/CryptoSignaturePrivateKey.js +24 -35
  69. package/dist/signature/CryptoSignaturePrivateKey.js.map +1 -1
  70. package/dist/signature/CryptoSignaturePublicKey.d.ts +4 -7
  71. package/dist/signature/CryptoSignaturePublicKey.js +19 -41
  72. package/dist/signature/CryptoSignaturePublicKey.js.map +1 -1
  73. package/dist/signature/CryptoSignatureValidation.d.ts +10 -12
  74. package/dist/signature/CryptoSignatureValidation.js +13 -35
  75. package/dist/signature/CryptoSignatureValidation.js.map +1 -1
  76. package/dist/signature/CryptoSignatures.d.ts +1 -5
  77. package/dist/signature/CryptoSignatures.js +4 -4
  78. package/dist/signature/CryptoSignatures.js.map +1 -1
  79. package/dist/state/CryptoPrivateState.d.ts +7 -15
  80. package/dist/state/CryptoPrivateState.js +72 -76
  81. package/dist/state/CryptoPrivateState.js.map +1 -1
  82. package/dist/state/CryptoPrivateStateReceive.d.ts +2 -4
  83. package/dist/state/CryptoPrivateStateReceive.js +27 -39
  84. package/dist/state/CryptoPrivateStateReceive.js.map +1 -1
  85. package/dist/state/CryptoPrivateStateTransmit.d.ts +1 -2
  86. package/dist/state/CryptoPrivateStateTransmit.js +14 -40
  87. package/dist/state/CryptoPrivateStateTransmit.js.map +1 -1
  88. package/dist/state/CryptoPublicState.d.ts +5 -10
  89. package/dist/state/CryptoPublicState.js +42 -51
  90. package/dist/state/CryptoPublicState.js.map +1 -1
  91. package/dist/stream/CryptoStream.js +5 -2
  92. package/dist/stream/CryptoStream.js.map +1 -1
  93. package/dist/stream/CryptoStreamAddress.d.ts +3 -6
  94. package/dist/stream/CryptoStreamAddress.js +13 -29
  95. package/dist/stream/CryptoStreamAddress.js.map +1 -1
  96. package/dist/stream/CryptoStreamHeader.d.ts +5 -8
  97. package/dist/stream/CryptoStreamHeader.js +15 -18
  98. package/dist/stream/CryptoStreamHeader.js.map +1 -1
  99. package/dist/stream/CryptoStreamState.d.ts +3 -7
  100. package/dist/stream/CryptoStreamState.js +14 -32
  101. package/dist/stream/CryptoStreamState.js.map +1 -1
  102. package/lib-web/nmshd.crypto.js +701 -914
  103. package/lib-web/nmshd.crypto.js.map +1 -1
  104. package/lib-web/nmshd.crypto.min.js +1 -1
  105. package/lib-web/nmshd.crypto.min.js.map +1 -1
  106. package/package.json +3 -3
@@ -18,81 +18,84 @@ const CryptoErrorCode_1 = require("../CryptoErrorCode");
18
18
  const CryptoSerializable_1 = require("../CryptoSerializable");
19
19
  const CryptoValidation_1 = require("../CryptoValidation");
20
20
  let CryptoCipher = CryptoCipher_1 = class CryptoCipher extends CryptoSerializable_1.CryptoSerializable {
21
- constructor(cipher, algorithm, nonce, counter) {
22
- if (!nonce && typeof counter === "undefined") {
23
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNoNonceNorCounter, "No nonce nor counter property set.");
24
- }
25
- if (nonce && typeof counter !== "undefined") {
26
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNonceAndCounter, "Nonce and counter properties are set.");
27
- }
28
- CryptoValidation_1.CryptoValidation.checkBuffer(cipher, CryptoCipher_1.MIN_CIPHER_BYTES, CryptoCipher_1.MAX_CIPHER_BYTES, "cipher");
29
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(algorithm);
30
- if (typeof counter !== "undefined") {
31
- CryptoValidation_1.CryptoValidation.checkCounter(counter);
32
- }
33
- if (typeof nonce !== "undefined") {
34
- CryptoValidation_1.CryptoValidation.checkNonceForAlgorithm(nonce, algorithm);
35
- }
36
- super();
37
- this.cipher = cipher;
38
- this.nonce = nonce;
39
- this.counter = counter;
40
- this.algorithm = algorithm;
41
- }
42
21
  toJSON(verbose = true) {
43
- const obj = {
22
+ return {
44
23
  cph: this.cipher.toBase64URL(),
45
- alg: this.algorithm
24
+ alg: this.algorithm,
25
+ nnc: this.nonce ? this.nonce.toBase64URL() : undefined,
26
+ cnt: this.counter,
27
+ "@type": verbose ? "CryptoCipher" : undefined
46
28
  };
47
- if (this.nonce) {
48
- obj.nnc = this.nonce.toBase64URL();
49
- }
50
- if (typeof this.counter !== "undefined") {
51
- obj.cnt = this.counter;
52
- }
53
- if (verbose) {
54
- obj["@type"] = "CryptoCipher";
55
- }
56
- return obj;
57
29
  }
58
30
  clear() {
31
+ var _a;
59
32
  this.cipher.clear();
60
- if (this.nonce)
61
- this.nonce.clear();
33
+ (_a = this.nonce) === null || _a === void 0 ? void 0 : _a.clear();
62
34
  }
63
35
  static from(value) {
64
- return new CryptoCipher_1(CoreBuffer_1.CoreBuffer.from(value.cipher), value.algorithm, CoreBuffer_1.CoreBuffer.from(value.nonce), value.counter);
36
+ return this.fromAny(value);
65
37
  }
66
- static fromJSON(value) {
67
- CryptoValidation_1.CryptoValidation.checkObject(value);
68
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
69
- let nonceBuffer;
70
- let counter;
71
- if (typeof value.nnc !== "undefined") {
72
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.nnc, 12, 32, "nonce");
73
- nonceBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.nnc);
38
+ static preFrom(value) {
39
+ if (value.cph) {
40
+ value = {
41
+ cipher: value.cph,
42
+ algorithm: value.alg,
43
+ nonce: value.nnc,
44
+ counter: value.cnt
45
+ };
74
46
  }
75
- if (typeof value.cnt !== "undefined") {
76
- CryptoValidation_1.CryptoValidation.checkCounter(value.cnt);
77
- counter = value.cnt;
47
+ if (!value.nonce && typeof value.counter === "undefined") {
48
+ throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNoNonceNorCounter, "No nonce nor counter property set.");
49
+ }
50
+ if (value.nonce && typeof value.counter !== "undefined") {
51
+ throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionNonceAndCounter, "Nonce and counter properties are set.");
52
+ }
53
+ if (typeof value.cipher === "string") {
54
+ CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.cipher, this.MIN_CIPHER_BYTES, this.MAX_CIPHER_BYTES, "cipher");
55
+ }
56
+ else {
57
+ CryptoValidation_1.CryptoValidation.checkBuffer(value.cipher, CryptoCipher_1.MIN_CIPHER_BYTES, CryptoCipher_1.MAX_CIPHER_BYTES, "cipher");
78
58
  }
79
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.cph, this.MIN_CIPHER_BYTES, this.MAX_CIPHER_BYTES, "cipher");
80
- const cipherBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.cph);
81
- return new CryptoCipher_1(cipherBuffer, value.alg, nonceBuffer, counter);
59
+ CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.algorithm);
60
+ if (value.counter) {
61
+ CryptoValidation_1.CryptoValidation.checkCounter(value.counter);
62
+ }
63
+ if (value.nonce) {
64
+ CryptoValidation_1.CryptoValidation.checkNonce(value.nonce, value.algorithm);
65
+ }
66
+ return value;
67
+ }
68
+ static fromJSON(value) {
69
+ return this.fromAny(value);
82
70
  }
83
71
  static fromBase64(value) {
84
72
  return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
85
73
  }
86
- static deserialize(value) {
87
- const obj = JSON.parse(value);
88
- return this.fromJSON(obj);
89
- }
90
74
  };
91
75
  CryptoCipher.MIN_CIPHER_BYTES = 2;
92
76
  CryptoCipher.MAX_CIPHER_BYTES = 100 * 1024 * 1024;
77
+ __decorate([
78
+ (0, ts_serval_1.validate)(),
79
+ (0, ts_serval_1.serialize)(),
80
+ __metadata("design:type", Number)
81
+ ], CryptoCipher.prototype, "algorithm", void 0);
82
+ __decorate([
83
+ (0, ts_serval_1.validate)(),
84
+ (0, ts_serval_1.serialize)(),
85
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
86
+ ], CryptoCipher.prototype, "cipher", void 0);
87
+ __decorate([
88
+ (0, ts_serval_1.validate)({ nullable: true }),
89
+ (0, ts_serval_1.serialize)(),
90
+ __metadata("design:type", Number)
91
+ ], CryptoCipher.prototype, "counter", void 0);
92
+ __decorate([
93
+ (0, ts_serval_1.validate)({ nullable: true }),
94
+ (0, ts_serval_1.serialize)(),
95
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
96
+ ], CryptoCipher.prototype, "nonce", void 0);
93
97
  CryptoCipher = CryptoCipher_1 = __decorate([
94
- (0, ts_serval_1.type)("CryptoCipher"),
95
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number, CoreBuffer_1.CoreBuffer, Number])
98
+ (0, ts_serval_1.type)("CryptoCipher")
96
99
  ], CryptoCipher);
97
100
  exports.CryptoCipher = CryptoCipher;
98
101
  //# sourceMappingURL=CryptoCipher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoCipher.js","sourceRoot":"","sources":["../../src/encryption/CryptoCipher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoCipher.js","sourceRoot":"","sources":["../../src/encryption/CryptoCipher.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,7 @@ class CryptoEncryption {
24
24
  default:
25
25
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
26
26
  }
27
- const secretKey = new CryptoSecretKey_1.CryptoSecretKey(buffer, algorithm);
28
- return secretKey;
27
+ return CryptoSecretKey_1.CryptoSecretKey.from({ secretKey: buffer, algorithm });
29
28
  }
30
29
  /**
31
30
  * Encrypts a given plaintext [[CoreBuffer]] object with the given secretKey. If a nonce is set,
@@ -38,11 +37,9 @@ class CryptoEncryption {
38
37
  * @param algorithm
39
38
  */
40
39
  static async encrypt(plaintext, secretKey, nonce, algorithm = 3 /* XCHACHA20_POLY1305 */) {
41
- CryptoValidation_1.CryptoValidation.checkPlaintext(plaintext);
42
40
  let correctAlgorithm;
43
41
  let secretKeyBuffer;
44
42
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
45
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
46
43
  correctAlgorithm = secretKey.algorithm;
47
44
  secretKeyBuffer = secretKey.secretKey.buffer;
48
45
  }
@@ -64,26 +61,29 @@ class CryptoEncryption {
64
61
  else {
65
62
  publicnonce = sodium.randombytes_buf(24);
66
63
  }
67
- let cipherbuffer;
64
+ let cipher;
68
65
  switch (correctAlgorithm) {
69
66
  case 3 /* XCHACHA20_POLY1305 */:
70
67
  try {
71
- const cipher = sodium.crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce, secretKeyBuffer);
72
- cipherbuffer = new CoreBuffer_1.CoreBuffer(cipher);
73
- return new CryptoCipher_1.CryptoCipher(cipherbuffer, correctAlgorithm, new CoreBuffer_1.CoreBuffer(publicnonce));
68
+ cipher = sodium.crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce, secretKeyBuffer);
74
69
  }
75
70
  catch (e) {
76
71
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionEncrypt, `${e}`);
77
72
  }
73
+ break;
78
74
  default:
79
75
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
80
76
  }
77
+ return CryptoCipher_1.CryptoCipher.from({
78
+ cipher: CoreBuffer_1.CoreBuffer.from(cipher),
79
+ algorithm: correctAlgorithm,
80
+ nonce: CoreBuffer_1.CoreBuffer.from(publicnonce)
81
+ });
81
82
  }
82
83
  static async encryptWithCounter(plaintext, secretKey, nonce, counter, algorithm = 3 /* XCHACHA20_POLY1305 */) {
83
84
  let correctAlgorithm;
84
85
  let secretKeyBuffer;
85
86
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
86
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
87
87
  correctAlgorithm = secretKey.algorithm;
88
88
  secretKeyBuffer = secretKey.secretKey.buffer;
89
89
  }
@@ -104,7 +104,7 @@ class CryptoEncryption {
104
104
  try {
105
105
  const cipher = (await SodiumWrapper_1.SodiumWrapper.ready()).crypto_aead_xchacha20poly1305_ietf_encrypt(plaintext.buffer, "", new Uint8Array(), publicnonce.buffer, secretKeyBuffer);
106
106
  cipherbuffer = new CoreBuffer_1.CoreBuffer(cipher);
107
- return new CryptoCipher_1.CryptoCipher(cipherbuffer, algorithm, undefined, counter);
107
+ return CryptoCipher_1.CryptoCipher.from({ cipher: cipherbuffer, algorithm, counter });
108
108
  }
109
109
  catch (e) {
110
110
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.EncryptionEncrypt, `${e}`);
@@ -114,11 +114,9 @@ class CryptoEncryption {
114
114
  }
115
115
  }
116
116
  static async decrypt(cipher, secretKey, nonce, algorithm = 3 /* XCHACHA20_POLY1305 */) {
117
- CryptoValidation_1.CryptoValidation.checkCipher(cipher);
118
117
  let correctAlgorithm;
119
118
  let secretKeyBuffer;
120
119
  if (secretKey instanceof CryptoSecretKey_1.CryptoSecretKey) {
121
- CryptoValidation_1.CryptoValidation.checkSecretKey(secretKey);
122
120
  correctAlgorithm = secretKey.algorithm;
123
121
  secretKeyBuffer = secretKey.secretKey.buffer;
124
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoEncryption.js","sourceRoot":"","sources":["../../src/encryption/CryptoEncryption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoEncryption.js","sourceRoot":"","sources":["../../src/encryption/CryptoEncryption.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,12 @@ export interface ICryptoSecretKey extends ISerializable {
11
11
  secretKey: ICoreBuffer;
12
12
  }
13
13
  export declare class CryptoSecretKey extends CryptoSerializable implements ICryptoSecretKey, IClearable {
14
- readonly algorithm: CryptoEncryptionAlgorithm;
15
- readonly secretKey: CoreBuffer;
16
- constructor(secretKey: CoreBuffer, algorithm?: CryptoEncryptionAlgorithm);
14
+ algorithm: CryptoEncryptionAlgorithm;
15
+ secretKey: CoreBuffer;
17
16
  toJSON(verbose?: boolean): ICryptoSecretKeySerialized;
18
17
  clear(): void;
19
18
  static from(value: CryptoSecretKey | ICryptoSecretKey): CryptoSecretKey;
19
+ protected static preFrom(value: any): any;
20
20
  static fromJSON(value: ICryptoSecretKeySerialized): CryptoSecretKey;
21
21
  static fromBase64(value: string): CryptoSecretKey;
22
- static deserialize(value: string): CryptoSecretKey;
23
22
  }
@@ -8,57 +8,61 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var CryptoSecretKey_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CryptoSecretKey = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
14
  const CoreBuffer_1 = require("../CoreBuffer");
16
15
  const CryptoSerializable_1 = require("../CryptoSerializable");
17
16
  const CryptoValidation_1 = require("../CryptoValidation");
18
- let CryptoSecretKey = CryptoSecretKey_1 = class CryptoSecretKey extends CryptoSerializable_1.CryptoSerializable {
19
- constructor(secretKey, algorithm = 3 /* XCHACHA20_POLY1305 */) {
20
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(algorithm);
21
- CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(secretKey, algorithm);
22
- super();
23
- this.algorithm = algorithm;
24
- this.secretKey = secretKey;
25
- }
17
+ let CryptoSecretKey = class CryptoSecretKey extends CryptoSerializable_1.CryptoSerializable {
26
18
  toJSON(verbose = true) {
27
- const obj = {
19
+ return {
28
20
  key: this.secretKey.toBase64URL(),
29
- alg: this.algorithm
21
+ alg: this.algorithm,
22
+ "@type": verbose ? "CryptoSecretKey" : undefined
30
23
  };
31
- if (verbose) {
32
- obj["@type"] = "CryptoSecretKey";
33
- }
34
- return obj;
35
24
  }
36
25
  clear() {
37
26
  this.secretKey.clear();
38
27
  }
39
28
  static from(value) {
40
- return new CryptoSecretKey_1(CoreBuffer_1.CoreBuffer.from(value.secretKey), value.algorithm);
29
+ return this.fromAny(value);
30
+ }
31
+ static preFrom(value) {
32
+ if (value.alg) {
33
+ value = {
34
+ algorithm: value.alg,
35
+ secretKey: value.key
36
+ };
37
+ }
38
+ CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.algorithm);
39
+ if (typeof value.secretKey === "string") {
40
+ CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.secretKey, value.algorithm);
41
+ }
42
+ else {
43
+ CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(value.secretKey, value.algorithm);
44
+ }
45
+ return value;
41
46
  }
42
47
  static fromJSON(value) {
43
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
44
- CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.key, value.alg);
45
- const buffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.key);
46
- return this.from({
47
- algorithm: value.alg,
48
- secretKey: buffer
49
- });
48
+ return this.fromAny(value);
50
49
  }
51
50
  static fromBase64(value) {
52
51
  return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
53
52
  }
54
- static deserialize(value) {
55
- const obj = JSON.parse(value);
56
- return this.fromJSON(obj);
57
- }
58
53
  };
59
- CryptoSecretKey = CryptoSecretKey_1 = __decorate([
60
- (0, ts_serval_1.type)("CryptoSecretKey"),
61
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number])
54
+ __decorate([
55
+ (0, ts_serval_1.validate)(),
56
+ (0, ts_serval_1.serialize)(),
57
+ __metadata("design:type", Number)
58
+ ], CryptoSecretKey.prototype, "algorithm", void 0);
59
+ __decorate([
60
+ (0, ts_serval_1.validate)(),
61
+ (0, ts_serval_1.serialize)(),
62
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
63
+ ], CryptoSecretKey.prototype, "secretKey", void 0);
64
+ CryptoSecretKey = __decorate([
65
+ (0, ts_serval_1.type)("CryptoSecretKey")
62
66
  ], CryptoSecretKey);
63
67
  exports.CryptoSecretKey = CryptoSecretKey;
64
68
  //# sourceMappingURL=CryptoSecretKey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoSecretKey.js","sourceRoot":"","sources":["../../src/encryption/CryptoSecretKey.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAsE;AACtE,8CAAoE;AACpE,8DAA2D;AAC3D,0DAAuD;AAcvD,IAAa,eAAe,uBAA5B,MAAa,eAAgB,SAAQ,uCAAkB;IAInD,YACI,SAAqB,EACrB,sCAAmF;QAEnF,mCAAgB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACrD,mCAAgB,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG,IAAI;QACxB,MAAM,GAAG,GAA+B;YACpC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC;QACF,IAAI,OAAO,EAAE;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC;SACpC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,IAAI,iBAAe,CAAC,uBAAU,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAiC;QACpD,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,mCAAgB,CAAC,oCAAoC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAgC,CAAC,CAAC;QAEzG,MAAM,MAAM,GAAG,uBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC;YACb,SAAS,EAAE,KAAK,CAAC,GAAgC;YACjD,SAAS,EAAE,MAAM;SACpB,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAa;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AAvDY,eAAe;IAD3B,IAAA,gBAAI,EAAC,iBAAiB,CAAC;qCAML,uBAAU;GALhB,eAAe,CAuD3B;AAvDY,0CAAe"}
1
+ {"version":3,"file":"CryptoSecretKey.js","sourceRoot":"","sources":["../../src/encryption/CryptoSecretKey.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2F;AAC3F,8CAAoE;AACpE,8DAA2D;AAC3D,0DAAuD;AAcvD,IAAa,eAAe,GAA5B,MAAa,eAAgB,SAAQ,uCAAkB;IAQnC,MAAM,CAAC,OAAO,GAAG,IAAI;QACjC,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACjC,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;SACnD,CAAC;IACN,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAyC;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,GAAG;gBACJ,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,SAAS,EAAE,KAAK,CAAC,GAAG;aACvB,CAAC;SACL;QAED,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3D,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE;YACrC,mCAAgB,CAAC,oCAAoC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SAC3F;aAAM;YACH,mCAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;SACjF;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAiC;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AA/CG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;kDACgC;AAG5C;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,uBAAU;kDAAC;AANpB,eAAe;IAD3B,IAAA,gBAAI,EAAC,iBAAiB,CAAC;GACX,eAAe,CAkD3B;AAlDY,0CAAe"}
@@ -1,6 +1,5 @@
1
1
  import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
2
2
  import { CryptoExchangeKeypair } from "./CryptoExchangeKeypair";
3
- import { CryptoExchangePrivateKey } from "./CryptoExchangePrivateKey";
4
3
  import { CryptoExchangePublicKey } from "./CryptoExchangePublicKey";
5
4
  import { CryptoExchangeSecrets } from "./CryptoExchangeSecrets";
6
5
  export declare const enum CryptoExchangeAlgorithm {
@@ -9,7 +8,6 @@ export declare const enum CryptoExchangeAlgorithm {
9
8
  ECDH_X25519 = 3
10
9
  }
11
10
  export declare class CryptoExchange {
12
- static privateKeyToPublicKey(privateKey: CryptoExchangePrivateKey): Promise<CryptoExchangePublicKey>;
13
11
  /**
14
12
  * Generates a keypair for the specified key exchange algorithm
15
13
  *
@@ -10,23 +10,6 @@ const CryptoExchangePrivateKey_1 = require("./CryptoExchangePrivateKey");
10
10
  const CryptoExchangePublicKey_1 = require("./CryptoExchangePublicKey");
11
11
  const CryptoExchangeSecrets_1 = require("./CryptoExchangeSecrets");
12
12
  class CryptoExchange {
13
- static async privateKeyToPublicKey(privateKey) {
14
- switch (privateKey.algorithm) {
15
- case 3 /* ECDH_X25519 */:
16
- try {
17
- const publicKey = (await SodiumWrapper_1.SodiumWrapper.ready()).crypto_scalarmult_base(privateKey.privateKey.buffer);
18
- return CryptoExchangePublicKey_1.CryptoExchangePublicKey.from({
19
- algorithm: privateKey.algorithm,
20
- publicKey: CoreBuffer_1.CoreBuffer.from(publicKey)
21
- });
22
- }
23
- catch (e) {
24
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.ExchangeKeyGeneration, `${e}`);
25
- }
26
- default:
27
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
28
- }
29
- }
30
13
  /**
31
14
  * Generates a keypair for the specified key exchange algorithm
32
15
  *
@@ -51,9 +34,9 @@ class CryptoExchange {
51
34
  default:
52
35
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
53
36
  }
54
- const privateKey = new CryptoExchangePrivateKey_1.CryptoExchangePrivateKey(algorithm, new CoreBuffer_1.CoreBuffer(privateKeyBuffer));
55
- const publicKey = new CryptoExchangePublicKey_1.CryptoExchangePublicKey(algorithm, new CoreBuffer_1.CoreBuffer(publicKeyBuffer));
56
- const keypair = new CryptoExchangeKeypair_1.CryptoExchangeKeypair(publicKey, privateKey);
37
+ const privateKey = CryptoExchangePrivateKey_1.CryptoExchangePrivateKey.from({ algorithm, privateKey: CoreBuffer_1.CoreBuffer.from(privateKeyBuffer) });
38
+ const publicKey = CryptoExchangePublicKey_1.CryptoExchangePublicKey.from({ algorithm, publicKey: CoreBuffer_1.CoreBuffer.from(publicKeyBuffer) });
39
+ const keypair = CryptoExchangeKeypair_1.CryptoExchangeKeypair.from({ publicKey, privateKey });
57
40
  return keypair;
58
41
  }
59
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoExchange.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoExchange.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchange.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,12 @@ export interface ICryptoExchangeKeypair extends ISerializable {
12
12
  privateKey: ICryptoExchangePrivateKey;
13
13
  }
14
14
  export declare class CryptoExchangeKeypair extends CryptoSerializable implements ICryptoExchangeKeypair, IClearable {
15
- readonly publicKey: CryptoExchangePublicKey;
16
- readonly privateKey: CryptoExchangePrivateKey;
17
- constructor(publicKey: CryptoExchangePublicKey, privateKey: CryptoExchangePrivateKey);
15
+ publicKey: CryptoExchangePublicKey;
16
+ privateKey: CryptoExchangePrivateKey;
18
17
  toJSON(verbose?: boolean): ICryptoExchangeKeypairSerialized;
19
18
  clear(): void;
19
+ protected static preFrom(value: any): any;
20
20
  static from(value: CryptoExchangeKeypair | ICryptoExchangeKeypair): CryptoExchangeKeypair;
21
21
  static fromJSON(value: ICryptoExchangeKeypairSerialized): CryptoExchangeKeypair;
22
22
  static fromBase64(value: string): CryptoExchangeKeypair;
23
- static deserialize(value: string): CryptoExchangeKeypair;
24
23
  }
@@ -8,22 +8,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var CryptoExchangeKeypair_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CryptoExchangeKeypair = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
14
  const CoreBuffer_1 = require("../CoreBuffer");
15
+ const CryptoError_1 = require("../CryptoError");
16
+ const CryptoErrorCode_1 = require("../CryptoErrorCode");
16
17
  const CryptoSerializable_1 = require("../CryptoSerializable");
17
18
  const CryptoExchangePrivateKey_1 = require("./CryptoExchangePrivateKey");
18
19
  const CryptoExchangePublicKey_1 = require("./CryptoExchangePublicKey");
19
- const CryptoExchangeValidation_1 = require("./CryptoExchangeValidation");
20
- let CryptoExchangeKeypair = CryptoExchangeKeypair_1 = class CryptoExchangeKeypair extends CryptoSerializable_1.CryptoSerializable {
21
- constructor(publicKey, privateKey) {
22
- CryptoExchangeValidation_1.CryptoExchangeValidation.checkExchangeKeypair(privateKey, publicKey);
23
- super();
24
- this.publicKey = publicKey;
25
- this.privateKey = privateKey;
26
- }
20
+ let CryptoExchangeKeypair = class CryptoExchangeKeypair extends CryptoSerializable_1.CryptoSerializable {
27
21
  toJSON(verbose = true) {
28
22
  const obj = {
29
23
  pub: this.publicKey.toJSON(false),
@@ -38,27 +32,40 @@ let CryptoExchangeKeypair = CryptoExchangeKeypair_1 = class CryptoExchangeKeypai
38
32
  this.publicKey.clear();
39
33
  this.privateKey.clear();
40
34
  }
35
+ static preFrom(value) {
36
+ if (value.pub) {
37
+ value = {
38
+ publicKey: value.pub,
39
+ privateKey: value.prv
40
+ };
41
+ }
42
+ if (value.privateKey.algorithm !== value.publicKey.algorithm) {
43
+ throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.ExchangeWrongAlgorithm, "Algorithms of private and public key do not match.");
44
+ }
45
+ return value;
46
+ }
41
47
  static from(value) {
42
- const privateKey = CryptoExchangePrivateKey_1.CryptoExchangePrivateKey.from(value.privateKey);
43
- const publicKey = CryptoExchangePublicKey_1.CryptoExchangePublicKey.from(value.publicKey);
44
- return new CryptoExchangeKeypair_1(publicKey, privateKey);
48
+ return this.fromAny(value);
45
49
  }
46
50
  static fromJSON(value) {
47
- const privateKey = CryptoExchangePrivateKey_1.CryptoExchangePrivateKey.fromJSON(value.prv);
48
- const publicKey = CryptoExchangePublicKey_1.CryptoExchangePublicKey.fromJSON(value.pub);
49
- return new CryptoExchangeKeypair_1(publicKey, privateKey);
51
+ return this.fromAny(value);
50
52
  }
51
53
  static fromBase64(value) {
52
54
  return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
53
55
  }
54
- static deserialize(value) {
55
- const obj = JSON.parse(value);
56
- return this.fromJSON(obj);
57
- }
58
56
  };
59
- CryptoExchangeKeypair = CryptoExchangeKeypair_1 = __decorate([
60
- (0, ts_serval_1.type)("CryptoExchangeKeypair"),
61
- __metadata("design:paramtypes", [CryptoExchangePublicKey_1.CryptoExchangePublicKey, CryptoExchangePrivateKey_1.CryptoExchangePrivateKey])
57
+ __decorate([
58
+ (0, ts_serval_1.validate)(),
59
+ (0, ts_serval_1.serialize)(),
60
+ __metadata("design:type", CryptoExchangePublicKey_1.CryptoExchangePublicKey)
61
+ ], CryptoExchangeKeypair.prototype, "publicKey", void 0);
62
+ __decorate([
63
+ (0, ts_serval_1.validate)(),
64
+ (0, ts_serval_1.serialize)(),
65
+ __metadata("design:type", CryptoExchangePrivateKey_1.CryptoExchangePrivateKey)
66
+ ], CryptoExchangeKeypair.prototype, "privateKey", void 0);
67
+ CryptoExchangeKeypair = __decorate([
68
+ (0, ts_serval_1.type)("CryptoExchangeKeypair")
62
69
  ], CryptoExchangeKeypair);
63
70
  exports.CryptoExchangeKeypair = CryptoExchangeKeypair;
64
71
  //# sourceMappingURL=CryptoExchangeKeypair.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoExchangeKeypair.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchangeKeypair.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAsE;AACtE,8CAAuD;AACvD,8DAA2D;AAC3D,yEAIoC;AACpC,uEAImC;AACnC,yEAAsE;AAatE,IAAa,qBAAqB,6BAAlC,MAAa,qBAAsB,SAAQ,uCAAkB;IAIzD,YAAmB,SAAkC,EAAE,UAAoC;QACvF,mDAAwB,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAErE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,OAAO,GAAG,IAAI;QACxB,MAAM,GAAG,GAAqC;YAC1C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;SACrC,CAAC;QACF,IAAI,OAAO,EAAE;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,uBAAuB,CAAC;SAC1C;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAqD;QACpE,MAAM,UAAU,GAAG,mDAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,iDAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAI,uBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAuC;QAC1D,MAAM,UAAU,GAAG,mDAAwB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,iDAAuB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9D,OAAO,IAAI,uBAAqB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,KAAa;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAA;AApDY,qBAAqB;IADjC,IAAA,gBAAI,EAAC,uBAAuB,CAAC;qCAKI,iDAAuB,EAAc,mDAAwB;GAJlF,qBAAqB,CAoDjC;AApDY,sDAAqB"}
1
+ {"version":3,"file":"CryptoExchangeKeypair.js","sourceRoot":"","sources":["../../src/exchange/CryptoExchangeKeypair.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA2F;AAC3F,8CAAuD;AACvD,gDAA6C;AAC7C,wDAAqD;AACrD,8DAA2D;AAC3D,yEAIoC;AACpC,uEAImC;AAanC,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,uCAAkB;IASzC,MAAM,CAAC,OAAO,GAAG,IAAI;QACjC,MAAM,GAAG,GAAqC;YAC1C,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC;SACrC,CAAC;QACF,IAAI,OAAO,EAAE;YACT,GAAG,CAAC,OAAO,CAAC,GAAG,uBAAuB,CAAC;SAC1C;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK;QACR,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,GAAG;gBACJ,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,UAAU,EAAE,KAAK,CAAC,GAAG;aACxB,CAAC;SACL;QAED,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,SAAS,EAAE;YAC1D,MAAM,IAAI,yBAAW,CACjB,iCAAe,CAAC,sBAAsB,EACtC,oDAAoD,CACvD,CAAC;SACL;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAAqD;QACpE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAuC;QAC1D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAa;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC;CACJ,CAAA;AApDG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACM,iDAAuB;wDAAC;AAI1C;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACO,mDAAwB;yDAAC;AAPnC,qBAAqB;IADjC,IAAA,gBAAI,EAAC,uBAAuB,CAAC;GACjB,qBAAqB,CAuDjC;AAvDY,sDAAqB"}
@@ -12,16 +12,14 @@ export interface ICryptoExchangePrivateKey extends ISerializable {
12
12
  privateKey: ICoreBuffer;
13
13
  }
14
14
  export declare class CryptoExchangePrivateKey extends CryptoPrivateKey implements ICryptoExchangePrivateKey, IClearable {
15
- readonly algorithm: CryptoExchangeAlgorithm;
16
- readonly privateKey: CoreBuffer;
17
- constructor(algorithm: CryptoExchangeAlgorithm, privateKey: CoreBuffer);
15
+ algorithm: CryptoExchangeAlgorithm;
16
+ privateKey: CoreBuffer;
18
17
  toJSON(verbose?: boolean): ICryptoExchangePrivateKeySerialized;
19
18
  clear(): void;
20
- serialize(verbose?: boolean): string;
21
19
  toBase64(verbose?: boolean): string;
22
20
  toPublicKey(): Promise<CryptoExchangePublicKey>;
23
21
  static from(value: CryptoExchangePrivateKey | ICryptoExchangePrivateKey): CryptoExchangePrivateKey;
22
+ protected static preFrom(value: any): any;
24
23
  static fromJSON(value: ICryptoExchangePrivateKeySerialized): CryptoExchangePrivateKey;
25
24
  static fromBase64(value: string): CryptoExchangePrivateKey;
26
- static deserialize(value: string): CryptoExchangePrivateKey;
27
25
  }