@nmshd/crypto 1.0.7 → 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 (113) 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 +14 -17
  7. package/dist/CryptoPrivateKey.js +24 -39
  8. package/dist/CryptoPrivateKey.js.map +1 -1
  9. package/dist/CryptoPublicKey.d.ts +13 -16
  10. package/dist/CryptoPublicKey.js +22 -37
  11. package/dist/CryptoPublicKey.js.map +1 -1
  12. package/dist/CryptoSerializable.d.ts +5 -0
  13. package/dist/CryptoSerializable.js +15 -0
  14. package/dist/CryptoSerializable.js.map +1 -0
  15. package/dist/CryptoValidation.d.ts +4 -6
  16. package/dist/CryptoValidation.js +16 -29
  17. package/dist/CryptoValidation.js.map +1 -1
  18. package/dist/SodiumWrapper.js +5 -1
  19. package/dist/SodiumWrapper.js.map +1 -1
  20. package/dist/buildInformation.js +5 -5
  21. package/dist/encryption/CryptoCipher.d.ts +10 -11
  22. package/dist/encryption/CryptoCipher.js +62 -59
  23. package/dist/encryption/CryptoCipher.js.map +1 -1
  24. package/dist/encryption/CryptoEncryption.js +10 -12
  25. package/dist/encryption/CryptoEncryption.js.map +1 -1
  26. package/dist/encryption/CryptoSecretKey.d.ts +8 -9
  27. package/dist/encryption/CryptoSecretKey.js +36 -32
  28. package/dist/encryption/CryptoSecretKey.js.map +1 -1
  29. package/dist/exchange/CryptoExchange.d.ts +0 -2
  30. package/dist/exchange/CryptoExchange.js +5 -22
  31. package/dist/exchange/CryptoExchange.js.map +1 -1
  32. package/dist/exchange/CryptoExchangeKeypair.d.ts +10 -11
  33. package/dist/exchange/CryptoExchangeKeypair.js +33 -30
  34. package/dist/exchange/CryptoExchangeKeypair.js.map +1 -1
  35. package/dist/exchange/CryptoExchangePrivateKey.d.ts +8 -10
  36. package/dist/exchange/CryptoExchangePrivateKey.js +50 -31
  37. package/dist/exchange/CryptoExchangePrivateKey.js.map +1 -1
  38. package/dist/exchange/CryptoExchangePublicKey.d.ts +6 -7
  39. package/dist/exchange/CryptoExchangePublicKey.js +31 -32
  40. package/dist/exchange/CryptoExchangePublicKey.js.map +1 -1
  41. package/dist/exchange/CryptoExchangeSecrets.d.ts +10 -11
  42. package/dist/exchange/CryptoExchangeSecrets.js +33 -35
  43. package/dist/exchange/CryptoExchangeSecrets.js.map +1 -1
  44. package/dist/exchange/CryptoExchangeValidation.d.ts +7 -10
  45. package/dist/exchange/CryptoExchangeValidation.js +9 -36
  46. package/dist/exchange/CryptoExchangeValidation.js.map +1 -1
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +6 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/relationship/CryptoRelationshipPublicRequest.d.ts +8 -9
  51. package/dist/relationship/CryptoRelationshipPublicRequest.js +23 -42
  52. package/dist/relationship/CryptoRelationshipPublicRequest.js.map +1 -1
  53. package/dist/relationship/CryptoRelationshipPublicResponse.d.ts +8 -9
  54. package/dist/relationship/CryptoRelationshipPublicResponse.js +24 -38
  55. package/dist/relationship/CryptoRelationshipPublicResponse.js.map +1 -1
  56. package/dist/relationship/CryptoRelationshipRequestSecrets.d.ts +6 -7
  57. package/dist/relationship/CryptoRelationshipRequestSecrets.js +7 -10
  58. package/dist/relationship/CryptoRelationshipRequestSecrets.js.map +1 -1
  59. package/dist/relationship/CryptoRelationshipSecrets.d.ts +6 -7
  60. package/dist/relationship/CryptoRelationshipSecrets.js +8 -11
  61. package/dist/relationship/CryptoRelationshipSecrets.js.map +1 -1
  62. package/dist/signature/CryptoSignature.d.ts +12 -13
  63. package/dist/signature/CryptoSignature.js +39 -35
  64. package/dist/signature/CryptoSignature.js.map +1 -1
  65. package/dist/signature/CryptoSignatureAlgorithm.d.ts +5 -0
  66. package/dist/signature/CryptoSignatureAlgorithm.js +3 -0
  67. package/dist/signature/CryptoSignatureAlgorithm.js.map +1 -0
  68. package/dist/signature/CryptoSignatureKeypair.d.ts +10 -11
  69. package/dist/signature/CryptoSignatureKeypair.js +36 -38
  70. package/dist/signature/CryptoSignatureKeypair.js.map +1 -1
  71. package/dist/signature/CryptoSignaturePrivateKey.d.ts +10 -13
  72. package/dist/signature/CryptoSignaturePrivateKey.js +26 -37
  73. package/dist/signature/CryptoSignaturePrivateKey.js.map +1 -1
  74. package/dist/signature/CryptoSignaturePublicKey.d.ts +9 -12
  75. package/dist/signature/CryptoSignaturePublicKey.js +22 -44
  76. package/dist/signature/CryptoSignaturePublicKey.js.map +1 -1
  77. package/dist/signature/CryptoSignatureValidation.d.ts +10 -12
  78. package/dist/signature/CryptoSignatureValidation.js +13 -35
  79. package/dist/signature/CryptoSignatureValidation.js.map +1 -1
  80. package/dist/signature/CryptoSignatures.d.ts +1 -5
  81. package/dist/signature/CryptoSignatures.js +5 -5
  82. package/dist/signature/CryptoSignatures.js.map +1 -1
  83. package/dist/state/CryptoPrivateState.d.ts +12 -20
  84. package/dist/state/CryptoPrivateState.js +73 -77
  85. package/dist/state/CryptoPrivateState.js.map +1 -1
  86. package/dist/state/CryptoPrivateStateReceive.d.ts +4 -6
  87. package/dist/state/CryptoPrivateStateReceive.js +27 -39
  88. package/dist/state/CryptoPrivateStateReceive.js.map +1 -1
  89. package/dist/state/CryptoPrivateStateTransmit.d.ts +3 -4
  90. package/dist/state/CryptoPrivateStateTransmit.js +14 -40
  91. package/dist/state/CryptoPrivateStateTransmit.js.map +1 -1
  92. package/dist/state/CryptoPublicState.d.ts +11 -16
  93. package/dist/state/CryptoPublicState.js +44 -53
  94. package/dist/state/CryptoPublicState.js.map +1 -1
  95. package/dist/stream/CryptoStream.js +5 -2
  96. package/dist/stream/CryptoStream.js.map +1 -1
  97. package/dist/stream/CryptoStreamAddress.d.ts +7 -10
  98. package/dist/stream/CryptoStreamAddress.js +13 -29
  99. package/dist/stream/CryptoStreamAddress.js.map +1 -1
  100. package/dist/stream/CryptoStreamHeader.d.ts +9 -12
  101. package/dist/stream/CryptoStreamHeader.js +15 -18
  102. package/dist/stream/CryptoStreamHeader.js.map +1 -1
  103. package/dist/stream/CryptoStreamState.d.ts +6 -10
  104. package/dist/stream/CryptoStreamState.js +15 -33
  105. package/dist/stream/CryptoStreamState.js.map +1 -1
  106. package/lib-web/nmshd.crypto.js +793 -1023
  107. package/lib-web/nmshd.crypto.js.map +1 -1
  108. package/lib-web/nmshd.crypto.min.js +1 -1
  109. package/lib-web/nmshd.crypto.min.js.map +1 -1
  110. package/package.json +19 -19
  111. package/dist/CryptoSerializableAsync.d.ts +0 -5
  112. package/dist/CryptoSerializableAsync.js +0 -24
  113. package/dist/CryptoSerializableAsync.js.map +0 -1
@@ -5,14 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
8
  var CryptoPrivateStateReceive_1;
12
9
  Object.defineProperty(exports, "__esModule", { value: true });
13
10
  exports.CryptoPrivateStateReceive = void 0;
14
11
  const ts_serval_1 = require("@js-soft/ts-serval");
15
- const CoreBuffer_1 = require("../CoreBuffer");
16
12
  const CryptoError_1 = require("../CryptoError");
17
13
  const CryptoErrorCode_1 = require("../CryptoErrorCode");
18
14
  const CryptoValidation_1 = require("../CryptoValidation");
@@ -20,9 +16,6 @@ const CryptoEncryption_1 = require("../encryption/CryptoEncryption");
20
16
  const CryptoPrivateState_1 = require("./CryptoPrivateState");
21
17
  const CryptoStateType_1 = require("./CryptoStateType");
22
18
  let CryptoPrivateStateReceive = CryptoPrivateStateReceive_1 = class CryptoPrivateStateReceive extends CryptoPrivateState_1.CryptoPrivateState {
23
- constructor(nonce, counter, secretKey, algorithm, id) {
24
- super(nonce, counter, secretKey, algorithm, CryptoStateType_1.CryptoStateType.Receive, id);
25
- }
26
19
  toJSON() {
27
20
  const obj = super.toJSON();
28
21
  obj["@type"] = "CryptoPrivateStateReceive";
@@ -47,47 +40,42 @@ let CryptoPrivateStateReceive = CryptoPrivateStateReceive_1 = class CryptoPrivat
47
40
  return plaintext;
48
41
  }
49
42
  static fromNonce(nonce, secretKey, counter = 0) {
50
- return new CryptoPrivateStateReceive_1(nonce.clone(), counter, secretKey, 3 /* XCHACHA20_POLY1305 */);
43
+ return CryptoPrivateStateReceive_1.from({
44
+ nonce: nonce.clone(),
45
+ counter,
46
+ secretKey,
47
+ algorithm: 3 /* XCHACHA20_POLY1305 */,
48
+ stateType: CryptoStateType_1.CryptoStateType.Receive
49
+ });
51
50
  }
52
51
  static fromPublicState(publicState, secretKey, counter = 0) {
53
- return Promise.resolve(new CryptoPrivateStateReceive_1(publicState.nonce.clone(), counter, secretKey, publicState.algorithm, publicState.id));
52
+ return CryptoPrivateStateReceive_1.from({
53
+ nonce: publicState.nonce.clone(),
54
+ counter,
55
+ secretKey,
56
+ algorithm: publicState.algorithm,
57
+ id: publicState.id,
58
+ stateType: CryptoStateType_1.CryptoStateType.Receive
59
+ });
54
60
  }
55
- static from(obj) {
56
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
57
- if (!obj.secretKey) {
58
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongSecretKey, "No secretKey set.");
59
- }
60
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
61
- if (!obj.nonce) {
62
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongNonce, "No nonce set.");
63
- }
64
- if (typeof obj.counter === "undefined") {
65
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongCounter, "No counter.");
61
+ static preFrom(value) {
62
+ value = super.preFrom(value);
63
+ CryptoValidation_1.CryptoValidation.checkBufferAsStringOrBuffer(value.nonce, 0, 24, "nonce");
64
+ CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(value.secretKey, value.algorithm);
65
+ if (value.stateType) {
66
+ CryptoValidation_1.CryptoValidation.checkStateType(value.stateType);
66
67
  }
67
- if (obj.stateType !== CryptoStateType_1.CryptoStateType.Receive) {
68
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongType, "The given object has a wrong state type.");
69
- }
70
- return Promise.resolve(new CryptoPrivateStateReceive_1(CoreBuffer_1.CoreBuffer.from(obj.nonce), obj.counter, CoreBuffer_1.CoreBuffer.from(obj.secretKey), obj.algorithm, obj.id));
68
+ return value;
71
69
  }
72
- static fromJSON(value) {
73
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
74
- CryptoValidation_1.CryptoValidation.checkCounter(value.cnt);
75
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.nnc, 0, 24, "nnc");
76
- CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.key, value.alg);
77
- if (value.typ) {
78
- CryptoValidation_1.CryptoValidation.checkStateType(value.typ);
79
- }
80
- const nonceBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.nnc);
81
- const secretKeyBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.key);
82
- return Promise.resolve(new CryptoPrivateStateReceive_1(nonceBuffer, value.cnt, secretKeyBuffer, value.alg, value.id));
70
+ static from(obj) {
71
+ return this.fromAny(obj);
83
72
  }
84
- static async deserialize(value) {
85
- return await this.fromJSON(JSON.parse(value));
73
+ static fromJSON(value) {
74
+ return this.fromAny(value);
86
75
  }
87
76
  };
88
77
  CryptoPrivateStateReceive = CryptoPrivateStateReceive_1 = __decorate([
89
- (0, ts_serval_1.type)("CryptoPrivateStateReceive"),
90
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number, CoreBuffer_1.CoreBuffer, Number, String])
78
+ (0, ts_serval_1.type)("CryptoPrivateStateReceive")
91
79
  ], CryptoPrivateStateReceive);
92
80
  exports.CryptoPrivateStateReceive = CryptoPrivateStateReceive;
93
81
  //# sourceMappingURL=CryptoPrivateStateReceive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoPrivateStateReceive.js","sourceRoot":"","sources":["../../src/state/CryptoPrivateStateReceive.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA0C;AAC1C,8CAA2C;AAC3C,gDAA6C;AAC7C,wDAAqD;AACrD,0DAAuD;AAEvD,qEAA6F;AAC7F,6DAA8G;AAE9G,uDAAoD;AAGpD,IAAa,yBAAyB,iCAAtC,MAAa,yBAA0B,SAAQ,uCAAkB;IAC7D,YACI,KAAiB,EACjB,OAAe,EACf,SAAqB,EACrB,SAAoC,EACpC,EAAW;QAEX,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,iCAAe,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,MAAM;QACT,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,2BAA2B,CAAC;QAC3C,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAoB,EAAE,gBAAgB,GAAG,KAAK;QAC/D,IAAI,SAAS,CAAC;QAEd,mCAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW;YAAE,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,OAAO,CAAC,CAAC;QAE1F,IAAI,gBAAgB,EAAE;YAClB,SAAS,GAAG,MAAM,mCAAgB,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;SAC7G;aAAM;YACH,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE;gBACjC,MAAM,IAAI,yBAAW,CACjB,iCAAe,CAAC,eAAe,EAC/B,8EAA8E,IAAI,CAAC,OAAO,mBAAmB,MAAM,CAAC,OAAO,GAAG,CACjI,CAAC;aACL;YACD,SAAS,GAAG,MAAM,mCAAgB,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACxG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;SAC/B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,KAAiB,EAAE,SAAqB,EAAE,OAAO,GAAG,CAAC;QACzE,OAAO,IAAI,2BAAyB,CAChC,KAAK,CAAC,KAAK,EAAE,EACb,OAAO,EACP,SAAS,6BAEZ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,eAAe,CACzB,WAA8B,EAC9B,SAAqB,EACrB,OAAO,GAAG,CAAC;QAEX,OAAO,OAAO,CAAC,OAAO,CAClB,IAAI,2BAAyB,CACzB,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EACzB,OAAO,EACP,SAAS,EACT,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,EAAE,CACjB,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAA6C;QAC5D,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE;YAChB,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;SACnF;QACD,uEAAuE;QACvE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;YACZ,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;SAC3E;QACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,WAAW,EAAE;YACpC,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;SAC3E;QAED,IAAI,GAAG,CAAC,SAAS,KAAK,iCAAe,CAAC,OAAO,EAAE;YAC3C,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,cAAc,EAAE,0CAA0C,CAAC,CAAC;SACrG;QAED,OAAO,OAAO,CAAC,OAAO,CAClB,IAAI,2BAAyB,CACzB,uBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAC1B,GAAG,CAAC,OAAO,EACX,uBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAC9B,GAAG,CAAC,SAAS,EACb,GAAG,CAAC,EAAE,CACT,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAoC;QACvD,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,mCAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,mCAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAChE,mCAAgB,CAAC,oCAAoC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAgC,CAAC,CAAC;QACzG,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,mCAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAC9C;QACD,MAAM,WAAW,GAAG,uBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,uBAAU,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC,OAAO,CAClB,IAAI,2BAAyB,CACzB,WAAW,EACX,KAAK,CAAC,GAAG,EACT,eAAe,EACf,KAAK,CAAC,GAAgC,EACtC,KAAK,CAAC,EAAE,CACX,CACJ,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAa;QACzC,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;CACJ,CAAA;AArHY,yBAAyB;IADrC,IAAA,gBAAI,EAAC,2BAA2B,CAAC;qCAGnB,uBAAU,UAEN,uBAAU;GAJhB,yBAAyB,CAqHrC;AArHY,8DAAyB"}
1
+ {"version":3,"file":"CryptoPrivateStateReceive.js","sourceRoot":"","sources":["../../src/state/CryptoPrivateStateReceive.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,11 @@ import { CryptoCipher } from "../encryption/CryptoCipher";
3
3
  import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
4
4
  import { CryptoPrivateState, ICryptoPrivateState, ICryptoPrivateStateSerialized } from "./CryptoPrivateState";
5
5
  export declare class CryptoPrivateStateTransmit extends CryptoPrivateState {
6
- constructor(nonce: CoreBuffer, counter: number, secretKey: CoreBuffer, algorithm?: CryptoEncryptionAlgorithm, id?: string);
7
6
  toJSON(): ICryptoPrivateStateSerialized;
8
7
  encrypt(plaintext: CoreBuffer): Promise<CryptoCipher>;
9
8
  decrypt(cipher: CryptoCipher): Promise<CoreBuffer>;
10
9
  static generate(secretKey?: CoreBuffer, id?: string, algorithm?: CryptoEncryptionAlgorithm): CryptoPrivateStateTransmit;
11
- static from(obj: CryptoPrivateState | ICryptoPrivateState): Promise<CryptoPrivateStateTransmit>;
12
- static fromJSON(value: ICryptoPrivateStateSerialized): Promise<CryptoPrivateStateTransmit>;
13
- static deserialize(value: string): Promise<CryptoPrivateStateTransmit>;
10
+ static from(obj: CryptoPrivateState | ICryptoPrivateState): CryptoPrivateStateTransmit;
11
+ protected static preFrom(value: any): any;
12
+ static fromJSON(value: ICryptoPrivateStateSerialized): CryptoPrivateStateTransmit;
14
13
  }
@@ -5,24 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var CryptoPrivateStateTransmit_1;
12
8
  Object.defineProperty(exports, "__esModule", { value: true });
13
9
  exports.CryptoPrivateStateTransmit = void 0;
14
10
  const ts_serval_1 = require("@js-soft/ts-serval");
15
- const CoreBuffer_1 = require("../CoreBuffer");
16
11
  const CryptoError_1 = require("../CryptoError");
17
12
  const CryptoErrorCode_1 = require("../CryptoErrorCode");
18
13
  const CryptoValidation_1 = require("../CryptoValidation");
19
14
  const CryptoEncryption_1 = require("../encryption/CryptoEncryption");
20
15
  const CryptoPrivateState_1 = require("./CryptoPrivateState");
21
16
  const CryptoStateType_1 = require("./CryptoStateType");
22
- let CryptoPrivateStateTransmit = CryptoPrivateStateTransmit_1 = class CryptoPrivateStateTransmit extends CryptoPrivateState_1.CryptoPrivateState {
23
- constructor(nonce, counter, secretKey, algorithm = 3 /* XCHACHA20_POLY1305 */, id) {
24
- super(nonce, counter, secretKey, algorithm, CryptoStateType_1.CryptoStateType.Transmit, id);
25
- }
17
+ let CryptoPrivateStateTransmit = class CryptoPrivateStateTransmit extends CryptoPrivateState_1.CryptoPrivateState {
26
18
  toJSON() {
27
19
  const obj = super.toJSON();
28
20
  obj["@type"] = "CryptoPrivateStateTransmit";
@@ -48,44 +40,26 @@ let CryptoPrivateStateTransmit = CryptoPrivateStateTransmit_1 = class CryptoPriv
48
40
  throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongCounter);
49
41
  const nonce = CryptoEncryption_1.CryptoEncryption.createNonce(algorithm);
50
42
  const counter = 0;
51
- return new CryptoPrivateStateTransmit_1(nonce, counter, secretKey, algorithm, id);
43
+ return this.from({ nonce, counter, secretKey, algorithm, id, stateType: CryptoStateType_1.CryptoStateType.Transmit });
52
44
  }
53
45
  static from(obj) {
54
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
55
- if (!obj.secretKey) {
56
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongSecretKey, "No secretKey property set.");
57
- }
58
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
59
- if (!obj.nonce) {
60
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongNonce, "No nonce nor counter property set.");
61
- }
62
- if (typeof obj.counter === "undefined") {
63
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongCounter, "Wrong counter.");
64
- }
65
- if (obj.stateType !== CryptoStateType_1.CryptoStateType.Transmit) {
66
- throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.StateWrongType, "The given object has a wrong state type.");
67
- }
68
- return Promise.resolve(new CryptoPrivateStateTransmit_1(CoreBuffer_1.CoreBuffer.from(obj.nonce), obj.counter, CoreBuffer_1.CoreBuffer.from(obj.secretKey), obj.algorithm, obj.id));
46
+ return this.fromAny(obj);
69
47
  }
70
- static fromJSON(value) {
71
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
72
- CryptoValidation_1.CryptoValidation.checkCounter(value.cnt);
73
- CryptoValidation_1.CryptoValidation.checkSerializedBuffer(value.nnc, 0, 24, "nonce");
74
- CryptoValidation_1.CryptoValidation.checkSerializedSecretKeyForAlgorithm(value.key, value.alg);
75
- if (value.typ) {
76
- CryptoValidation_1.CryptoValidation.checkStateType(value.typ);
48
+ static preFrom(value) {
49
+ value = super.preFrom(value);
50
+ CryptoValidation_1.CryptoValidation.checkBufferAsStringOrBuffer(value.nonce, 0, 24, "nonce");
51
+ CryptoValidation_1.CryptoValidation.checkSecretKeyForAlgorithm(value.secretKey, value.algorithm);
52
+ if (value.stateType) {
53
+ CryptoValidation_1.CryptoValidation.checkStateType(value.stateType);
77
54
  }
78
- const nonceBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.nnc);
79
- const secretKeyBuffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.key);
80
- return Promise.resolve(new CryptoPrivateStateTransmit_1(nonceBuffer, value.cnt, secretKeyBuffer, value.alg, value.id));
55
+ return value;
81
56
  }
82
- static async deserialize(value) {
83
- return await this.fromJSON(JSON.parse(value));
57
+ static fromJSON(value) {
58
+ return this.fromAny(value);
84
59
  }
85
60
  };
86
- CryptoPrivateStateTransmit = CryptoPrivateStateTransmit_1 = __decorate([
87
- (0, ts_serval_1.type)("CryptoPrivateStateTransmit"),
88
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number, CoreBuffer_1.CoreBuffer, Number, String])
61
+ CryptoPrivateStateTransmit = __decorate([
62
+ (0, ts_serval_1.type)("CryptoPrivateStateTransmit")
89
63
  ], CryptoPrivateStateTransmit);
90
64
  exports.CryptoPrivateStateTransmit = CryptoPrivateStateTransmit;
91
65
  //# sourceMappingURL=CryptoPrivateStateTransmit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoPrivateStateTransmit.js","sourceRoot":"","sources":["../../src/state/CryptoPrivateStateTransmit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoPrivateStateTransmit.js","sourceRoot":"","sources":["../../src/state/CryptoPrivateStateTransmit.ts"],"names":[],"mappings":";;;;;;;;;AAAA,kDAA0C;AAE1C,gDAA6C;AAC7C,wDAAqD;AACrD,0DAAuD;AAEvD,qEAA6F;AAC7F,6DAA8G;AAC9G,uDAAoD;AAGpD,IAAa,0BAA0B,GAAvC,MAAa,0BAA2B,SAAQ,uCAAkB;IAC9C,MAAM;QAClB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3B,GAAG,CAAC,OAAO,CAAC,GAAG,4BAA4B,CAAC;QAC5C,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAqB;QACtC,MAAM,MAAM,GAAG,MAAM,mCAAgB,CAAC,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9G,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,MAAoB;QACrC,mCAAgB,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW;YAAE,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,iBAAiB,CAAC,CAAC;QAEpG,MAAM,SAAS,GAAG,MAAM,mCAAgB,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhH,OAAO,SAAS,CAAC;IACrB,CAAC;IAEM,MAAM,CAAC,QAAQ,CAClB,SAAsB,EACtB,EAAW,EACX,sCAAmF;QAEnF,mCAAgB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QACrD,mCAAgB,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,OAAO,SAAS,KAAK,WAAW;YAAE,MAAM,IAAI,yBAAW,CAAC,iCAAe,CAAC,iBAAiB,CAAC,CAAC;QAE/F,MAAM,KAAK,GAAG,mCAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,CAAC,CAAC;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,iCAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxG,CAAC;IAEM,MAAM,CAAU,IAAI,CAAC,GAA6C;QACrE,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE7B,mCAAgB,CAAC,2BAA2B,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC1E,mCAAgB,CAAC,0BAA0B,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,KAAK,CAAC,SAAS,EAAE;YACjB,mCAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SACpD;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAU,QAAQ,CAAC,KAAoC;QAChE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACJ,CAAA;AA3DY,0BAA0B;IADtC,IAAA,gBAAI,EAAC,4BAA4B,CAAC;GACtB,0BAA0B,CA2DtC;AA3DY,gEAA0B"}
@@ -1,4 +1,4 @@
1
- import { ISerializableAsync, ISerialized, SerializableAsync } from "@js-soft/ts-serval";
1
+ import { ISerializable, ISerialized, Serializable } from "@js-soft/ts-serval";
2
2
  import { CoreBuffer, IClearable } from "../CoreBuffer";
3
3
  import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
4
4
  import { CryptoStateType } from "./CryptoStateType";
@@ -8,26 +8,21 @@ export interface ICryptoPublicStateSerialized extends ISerialized {
8
8
  id?: string;
9
9
  typ: number;
10
10
  }
11
- export interface ICryptoPublicState extends ISerializableAsync {
11
+ export interface ICryptoPublicState extends ISerializable {
12
12
  nonce: CoreBuffer;
13
13
  algorithm: CryptoEncryptionAlgorithm;
14
14
  id?: string;
15
15
  stateType: CryptoStateType;
16
16
  }
17
- export declare class CryptoPublicState extends SerializableAsync implements ICryptoPublicState, IClearable {
18
- private readonly _id?;
19
- get id(): string | undefined;
20
- private readonly _nonce;
21
- get nonce(): CoreBuffer;
22
- private readonly _algorithm;
23
- get algorithm(): CryptoEncryptionAlgorithm;
24
- private readonly _stateType;
25
- get stateType(): CryptoStateType;
26
- constructor(nonce: CoreBuffer, algorithm: CryptoEncryptionAlgorithm, stateType: CryptoStateType, id?: string);
17
+ export declare class CryptoPublicState extends Serializable implements ICryptoPublicState, IClearable {
18
+ id?: string;
19
+ nonce: CoreBuffer;
20
+ algorithm: CryptoEncryptionAlgorithm;
21
+ stateType: CryptoStateType;
27
22
  clear(): void;
28
23
  toJSON(verbose?: boolean): ICryptoPublicStateSerialized;
29
- static from(value: CryptoPublicState | ICryptoPublicState): Promise<CryptoPublicState>;
30
- static fromJSON(value: ICryptoPublicStateSerialized): Promise<CryptoPublicState>;
31
- static fromBase64(value: string): Promise<CryptoPublicState>;
32
- static deserialize(value: string): Promise<CryptoPublicState>;
24
+ protected static preFrom(value: any): any;
25
+ static from(value: CryptoPublicState | ICryptoPublicState): CryptoPublicState;
26
+ static fromJSON(value: ICryptoPublicStateSerialized): CryptoPublicState;
27
+ static fromBase64(value: string): CryptoPublicState;
33
28
  }
@@ -8,80 +8,71 @@ 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 CryptoPublicState_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CryptoPublicState = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
14
  const CoreBuffer_1 = require("../CoreBuffer");
16
15
  const CryptoValidation_1 = require("../CryptoValidation");
17
16
  const CryptoStateType_1 = require("./CryptoStateType");
18
- let CryptoPublicState = CryptoPublicState_1 = class CryptoPublicState extends ts_serval_1.SerializableAsync {
19
- constructor(nonce, algorithm, stateType, id) {
20
- CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(algorithm);
21
- CryptoValidation_1.CryptoValidation.checkNonceForAlgorithm(nonce, algorithm);
22
- CryptoValidation_1.CryptoValidation.checkStateType(stateType);
23
- super();
24
- this._nonce = nonce;
25
- this._algorithm = algorithm;
26
- this._id = id;
27
- this._stateType = stateType;
28
- }
29
- get id() {
30
- return this._id;
31
- }
32
- get nonce() {
33
- return this._nonce;
34
- }
35
- get algorithm() {
36
- return this._algorithm;
37
- }
38
- get stateType() {
39
- return this._stateType;
40
- }
17
+ let CryptoPublicState = class CryptoPublicState extends ts_serval_1.Serializable {
41
18
  clear() {
42
19
  this.nonce.clear();
43
20
  }
44
21
  toJSON(verbose = true) {
45
- const obj = {
22
+ return {
23
+ "@type": verbose ? "CryptoPublicState" : undefined,
46
24
  nnc: this.nonce.toBase64URL(),
47
25
  alg: this.algorithm,
48
- typ: this.stateType
26
+ typ: this.stateType,
27
+ id: this.id
49
28
  };
50
- if (this.id) {
51
- obj.id = this.id;
52
- }
53
- if (verbose) {
54
- obj["@type"] = "CryptoPublicState";
29
+ }
30
+ static preFrom(value) {
31
+ if (value.nnc) {
32
+ value = {
33
+ nonce: value.nnc,
34
+ algorithm: value.alg,
35
+ stateType: value.typ,
36
+ id: value.id
37
+ };
55
38
  }
56
- return obj;
39
+ CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.algorithm);
40
+ CryptoValidation_1.CryptoValidation.checkStateType(value.stateType);
41
+ CryptoValidation_1.CryptoValidation.checkNonce(value.nonce, value.algorithm);
42
+ return value;
57
43
  }
58
44
  static from(value) {
59
- return Promise.resolve(new CryptoPublicState_1(value.nonce, value.algorithm, value.stateType, value.id));
45
+ return this.fromAny(value);
60
46
  }
61
47
  static fromJSON(value) {
62
- let error;
63
- error = CryptoValidation_1.CryptoValidation.checkEncryptionAlgorithm(value.alg);
64
- if (error)
65
- throw error;
66
- error = CryptoValidation_1.CryptoValidation.checkStateType(value.typ);
67
- if (error)
68
- throw error;
69
- error = CryptoValidation_1.CryptoValidation.checkNonceAsString(value.nnc, value.alg);
70
- if (error)
71
- throw error;
72
- const buffer = CoreBuffer_1.CoreBuffer.fromBase64URL(value.nnc);
73
- return Promise.resolve(new CryptoPublicState_1(buffer, value.alg, value.typ, value.id));
74
- }
75
- static async fromBase64(value) {
76
- return await this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
48
+ return this.fromAny(value);
77
49
  }
78
- static async deserialize(value) {
79
- return await this.fromJSON(JSON.parse(value));
50
+ static fromBase64(value) {
51
+ return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
80
52
  }
81
53
  };
82
- CryptoPublicState = CryptoPublicState_1 = __decorate([
83
- (0, ts_serval_1.type)("CryptoPublicState"),
84
- __metadata("design:paramtypes", [CoreBuffer_1.CoreBuffer, Number, Number, String])
54
+ __decorate([
55
+ (0, ts_serval_1.validate)({ nullable: true }),
56
+ (0, ts_serval_1.serialize)(),
57
+ __metadata("design:type", String)
58
+ ], CryptoPublicState.prototype, "id", void 0);
59
+ __decorate([
60
+ (0, ts_serval_1.validate)(),
61
+ (0, ts_serval_1.serialize)(),
62
+ __metadata("design:type", CoreBuffer_1.CoreBuffer)
63
+ ], CryptoPublicState.prototype, "nonce", void 0);
64
+ __decorate([
65
+ (0, ts_serval_1.validate)(),
66
+ (0, ts_serval_1.serialize)(),
67
+ __metadata("design:type", Number)
68
+ ], CryptoPublicState.prototype, "algorithm", void 0);
69
+ __decorate([
70
+ (0, ts_serval_1.validate)(),
71
+ (0, ts_serval_1.serialize)(),
72
+ __metadata("design:type", Number)
73
+ ], CryptoPublicState.prototype, "stateType", void 0);
74
+ CryptoPublicState = __decorate([
75
+ (0, ts_serval_1.type)("CryptoPublicState")
85
76
  ], CryptoPublicState);
86
77
  exports.CryptoPublicState = CryptoPublicState;
87
78
  //# sourceMappingURL=CryptoPublicState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoPublicState.js","sourceRoot":"","sources":["../../src/state/CryptoPublicState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoPublicState.js","sourceRoot":"","sources":["../../src/state/CryptoPublicState.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAyG;AACzG,8CAAuD;AACvD,0DAAuD;AAEvD,uDAAoD;AAiBpD,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,wBAAY;IAiBxC,KAAK;QACR,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEe,MAAM,CAAC,OAAO,GAAG,IAAI;QACjC,OAAO;YACH,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS;YAClD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC7B,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,GAAG,EAAE,IAAI,CAAC,SAAS;YACnB,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC;IACN,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE;YACX,KAAK,GAAG;gBACJ,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,SAAS,EAAE,KAAK,CAAC,GAAG;gBACpB,EAAE,EAAE,KAAK,CAAC,EAAE;aACf,CAAC;SACL;QAED,mCAAgB,CAAC,wBAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3D,mCAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjD,mCAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAE1D,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,KAA6C;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,KAAmC;QACtD,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;AAxDG;IAFC,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;6CACO;AAInB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;8BACE,uBAAU;gDAAC;AAIzB;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;oDACgC;AAI5C;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;oDACsB;AAfzB,iBAAiB;IAD7B,IAAA,gBAAI,EAAC,mBAAmB,CAAC;GACb,iBAAiB,CA2D7B;AA3DY,8CAAiB"}
@@ -33,12 +33,15 @@ let CryptoStream = class CryptoStream {
33
33
  const sodium = await SodiumWrapper_1.SodiumWrapper.ready();
34
34
  const stream = sodium.crypto_secretstream_xchacha20poly1305_init_push(key.buffer);
35
35
  const headerBuffer = CoreBuffer_1.CoreBuffer.from(stream.header);
36
- return new CryptoStreamState_1.CryptoStreamState(new CryptoStreamAddress_1.CryptoStreamAddress(stream.state), new CryptoStreamHeader_1.CryptoStreamHeader(headerBuffer));
36
+ return CryptoStreamState_1.CryptoStreamState.from({
37
+ address: CryptoStreamAddress_1.CryptoStreamAddress.from(stream.state),
38
+ header: CryptoStreamHeader_1.CryptoStreamHeader.from(headerBuffer)
39
+ });
37
40
  }
38
41
  static async initClient(header, key) {
39
42
  const sodium = await SodiumWrapper_1.SodiumWrapper.ready();
40
43
  const stream = sodium.crypto_secretstream_xchacha20poly1305_init_pull(header.header.buffer, key.buffer);
41
- return new CryptoStreamAddress_1.CryptoStreamAddress(stream);
44
+ return CryptoStreamAddress_1.CryptoStreamAddress.from(stream);
42
45
  }
43
46
  static async encrypt(message, stream) {
44
47
  const sodium = await SodiumWrapper_1.SodiumWrapper.ready();
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoStream.js","sourceRoot":"","sources":["../../src/stream/CryptoStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoStream.js","sourceRoot":"","sources":["../../src/stream/CryptoStream.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
- export interface ICryptoStreamAddress extends ISerializableAsync {
3
- readonly address: string;
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ export interface ICryptoStreamAddress extends ISerializable {
3
+ address: string;
4
4
  toString(): string;
5
5
  serialize(): string;
6
6
  }
@@ -9,12 +9,9 @@ export interface ICryptoStreamAddressStatic {
9
9
  from(obj: ICryptoStreamAddress): Promise<ICryptoStreamAddress>;
10
10
  deserialize(content: string): Promise<ICryptoStreamAddress>;
11
11
  }
12
- export declare class CryptoStreamAddress extends SerializableAsync implements ICryptoStreamAddress {
13
- readonly address: string;
14
- constructor(address: string);
12
+ export declare class CryptoStreamAddress extends Serializable implements ICryptoStreamAddress {
13
+ address: string;
15
14
  toString(): string;
16
- serialize(): string;
17
- toJSON(): Object;
18
- static from(obj: any | string): Promise<CryptoStreamAddress>;
19
- static deserialize(value: string): Promise<CryptoStreamAddress>;
15
+ protected static preFrom(obj: any): any;
16
+ static from(obj: any | string): CryptoStreamAddress;
20
17
  }
@@ -8,46 +8,30 @@ 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 CryptoStreamAddress_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CryptoStreamAddress = void 0;
14
13
  const ts_serval_1 = require("@js-soft/ts-serval");
15
- let CryptoStreamAddress = CryptoStreamAddress_1 = class CryptoStreamAddress extends ts_serval_1.SerializableAsync {
16
- constructor(address) {
17
- super();
18
- this.address = address;
19
- }
14
+ let CryptoStreamAddress = class CryptoStreamAddress extends ts_serval_1.Serializable {
20
15
  toString() {
21
16
  return this.serialize();
22
17
  }
23
- serialize() {
24
- const obj = this.toJSON();
25
- return JSON.stringify(obj);
26
- }
27
- toJSON() {
28
- const obj = {
29
- "@type": "CryptoStreamAddress",
30
- address: this.address
31
- };
32
- return obj;
33
- }
34
- static from(obj) {
18
+ static preFrom(obj) {
35
19
  if (typeof obj === "string") {
36
- return Promise.resolve(new CryptoStreamAddress_1(obj));
37
- }
38
- if (!obj.address) {
39
- throw new Error("No address property set.");
20
+ return { address: obj };
40
21
  }
41
- return Promise.resolve(new CryptoStreamAddress_1(obj.address));
22
+ return obj;
42
23
  }
43
- static async deserialize(value) {
44
- const obj = JSON.parse(value);
45
- return await this.from(obj);
24
+ static from(obj) {
25
+ return this.fromAny(obj);
46
26
  }
47
27
  };
48
- CryptoStreamAddress = CryptoStreamAddress_1 = __decorate([
49
- (0, ts_serval_1.type)("CryptoStreamAddress"),
50
- __metadata("design:paramtypes", [String])
28
+ __decorate([
29
+ (0, ts_serval_1.validate)(),
30
+ (0, ts_serval_1.serialize)(),
31
+ __metadata("design:type", String)
32
+ ], CryptoStreamAddress.prototype, "address", void 0);
33
+ CryptoStreamAddress = __decorate([
34
+ (0, ts_serval_1.type)("CryptoStreamAddress")
51
35
  ], CryptoStreamAddress);
52
36
  exports.CryptoStreamAddress = CryptoStreamAddress;
53
37
  //# sourceMappingURL=CryptoStreamAddress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoStreamAddress.js","sourceRoot":"","sources":["../../src/stream/CryptoStreamAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAAiF;AAejF,IAAa,mBAAmB,2BAAhC,MAAa,mBAAoB,SAAQ,6BAAiB;IAGtD,YAAmB,OAAe;QAC9B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAEM,SAAS;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEM,MAAM;QACT,MAAM,GAAG,GAAG;YACR,OAAO,EAAE,qBAAqB;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAiB;QAChC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;SACxD;QACD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,qBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAa;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;CACJ,CAAA;AAxCY,mBAAmB;IAD/B,IAAA,gBAAI,EAAC,qBAAqB,CAAC;;GACf,mBAAmB,CAwC/B;AAxCY,kDAAmB"}
1
+ {"version":3,"file":"CryptoStreamAddress.js","sourceRoot":"","sources":["../../src/stream/CryptoStreamAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAA4F;AAe5F,IAAa,mBAAmB,GAAhC,MAAa,mBAAoB,SAAQ,wBAAY;IAKjC,QAAQ;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC5B,CAAC;IAES,MAAM,CAAU,OAAO,CAAC,GAAQ;QACtC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;SAC3B;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAiB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACJ,CAAA;AAjBG;IAFC,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;oDACW;AAHd,mBAAmB;IAD/B,IAAA,gBAAI,EAAC,qBAAqB,CAAC;GACf,mBAAmB,CAoB/B;AApBY,kDAAmB"}
@@ -1,23 +1,20 @@
1
- import { ISerializableAsync, SerializableAsync } from "@js-soft/ts-serval";
2
- import { ICoreBuffer } from "../CoreBuffer";
3
- export interface ICryptoStreamHeader extends ISerializableAsync {
4
- readonly header: ICoreBuffer;
5
- toString(): string;
6
- serialize(): string;
1
+ import { ISerializable, Serializable } from "@js-soft/ts-serval";
2
+ import { CoreBuffer, ICoreBuffer } from "../CoreBuffer";
3
+ export interface ICryptoStreamHeader extends ISerializable {
4
+ header: ICoreBuffer;
7
5
  }
8
6
  export interface ICryptoStreamHeaderStatic {
9
7
  new (): ICryptoStreamHeader;
10
8
  from(obj: ICryptoStreamHeader): Promise<ICryptoStreamHeader>;
11
9
  deserialize(content: string): Promise<ICryptoStreamHeader>;
12
10
  }
13
- export declare class CryptoStreamHeader extends SerializableAsync implements ICryptoStreamHeader {
14
- readonly header: ICoreBuffer;
15
- constructor(header: ICoreBuffer);
11
+ export declare class CryptoStreamHeader extends Serializable implements ICryptoStreamHeader {
12
+ header: CoreBuffer;
16
13
  toString(): string;
17
14
  serialize(): string;
18
15
  toJSON(): Object;
19
16
  toBase64(): string;
20
- static from(obj: any): Promise<CryptoStreamHeader>;
21
- static deserialize(value: string): Promise<CryptoStreamHeader>;
22
- static fromBase64(value: string): Promise<CryptoStreamHeader>;
17
+ protected static preFrom(value: any): any;
18
+ static from(obj: ICryptoStreamHeader | CoreBuffer): CryptoStreamHeader;
19
+ static fromBase64(value: string): CryptoStreamHeader;
23
20
  }