@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.
- package/dist/CoreBuffer.d.ts +0 -1
- package/dist/CoreBuffer.js +1 -4
- package/dist/CoreBuffer.js.map +1 -1
- package/dist/CryptoDerivation.js +2 -2
- package/dist/CryptoDerivation.js.map +1 -1
- package/dist/CryptoPrivateKey.d.ts +14 -17
- package/dist/CryptoPrivateKey.js +24 -39
- package/dist/CryptoPrivateKey.js.map +1 -1
- package/dist/CryptoPublicKey.d.ts +13 -16
- package/dist/CryptoPublicKey.js +22 -37
- package/dist/CryptoPublicKey.js.map +1 -1
- package/dist/CryptoSerializable.d.ts +5 -0
- package/dist/CryptoSerializable.js +15 -0
- package/dist/CryptoSerializable.js.map +1 -0
- package/dist/CryptoValidation.d.ts +4 -6
- package/dist/CryptoValidation.js +16 -29
- package/dist/CryptoValidation.js.map +1 -1
- package/dist/SodiumWrapper.js +5 -1
- package/dist/SodiumWrapper.js.map +1 -1
- package/dist/buildInformation.js +5 -5
- package/dist/encryption/CryptoCipher.d.ts +10 -11
- package/dist/encryption/CryptoCipher.js +62 -59
- package/dist/encryption/CryptoCipher.js.map +1 -1
- package/dist/encryption/CryptoEncryption.js +10 -12
- package/dist/encryption/CryptoEncryption.js.map +1 -1
- package/dist/encryption/CryptoSecretKey.d.ts +8 -9
- package/dist/encryption/CryptoSecretKey.js +36 -32
- package/dist/encryption/CryptoSecretKey.js.map +1 -1
- package/dist/exchange/CryptoExchange.d.ts +0 -2
- package/dist/exchange/CryptoExchange.js +5 -22
- package/dist/exchange/CryptoExchange.js.map +1 -1
- package/dist/exchange/CryptoExchangeKeypair.d.ts +10 -11
- package/dist/exchange/CryptoExchangeKeypair.js +33 -30
- package/dist/exchange/CryptoExchangeKeypair.js.map +1 -1
- package/dist/exchange/CryptoExchangePrivateKey.d.ts +8 -10
- package/dist/exchange/CryptoExchangePrivateKey.js +50 -31
- package/dist/exchange/CryptoExchangePrivateKey.js.map +1 -1
- package/dist/exchange/CryptoExchangePublicKey.d.ts +6 -7
- package/dist/exchange/CryptoExchangePublicKey.js +31 -32
- package/dist/exchange/CryptoExchangePublicKey.js.map +1 -1
- package/dist/exchange/CryptoExchangeSecrets.d.ts +10 -11
- package/dist/exchange/CryptoExchangeSecrets.js +33 -35
- package/dist/exchange/CryptoExchangeSecrets.js.map +1 -1
- package/dist/exchange/CryptoExchangeValidation.d.ts +7 -10
- package/dist/exchange/CryptoExchangeValidation.js +9 -36
- package/dist/exchange/CryptoExchangeValidation.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/relationship/CryptoRelationshipPublicRequest.d.ts +8 -9
- package/dist/relationship/CryptoRelationshipPublicRequest.js +23 -42
- package/dist/relationship/CryptoRelationshipPublicRequest.js.map +1 -1
- package/dist/relationship/CryptoRelationshipPublicResponse.d.ts +8 -9
- package/dist/relationship/CryptoRelationshipPublicResponse.js +24 -38
- package/dist/relationship/CryptoRelationshipPublicResponse.js.map +1 -1
- package/dist/relationship/CryptoRelationshipRequestSecrets.d.ts +6 -7
- package/dist/relationship/CryptoRelationshipRequestSecrets.js +7 -10
- package/dist/relationship/CryptoRelationshipRequestSecrets.js.map +1 -1
- package/dist/relationship/CryptoRelationshipSecrets.d.ts +6 -7
- package/dist/relationship/CryptoRelationshipSecrets.js +8 -11
- package/dist/relationship/CryptoRelationshipSecrets.js.map +1 -1
- package/dist/signature/CryptoSignature.d.ts +12 -13
- package/dist/signature/CryptoSignature.js +39 -35
- package/dist/signature/CryptoSignature.js.map +1 -1
- package/dist/signature/CryptoSignatureAlgorithm.d.ts +5 -0
- package/dist/signature/CryptoSignatureAlgorithm.js +3 -0
- package/dist/signature/CryptoSignatureAlgorithm.js.map +1 -0
- package/dist/signature/CryptoSignatureKeypair.d.ts +10 -11
- package/dist/signature/CryptoSignatureKeypair.js +36 -38
- package/dist/signature/CryptoSignatureKeypair.js.map +1 -1
- package/dist/signature/CryptoSignaturePrivateKey.d.ts +10 -13
- package/dist/signature/CryptoSignaturePrivateKey.js +26 -37
- package/dist/signature/CryptoSignaturePrivateKey.js.map +1 -1
- package/dist/signature/CryptoSignaturePublicKey.d.ts +9 -12
- package/dist/signature/CryptoSignaturePublicKey.js +22 -44
- package/dist/signature/CryptoSignaturePublicKey.js.map +1 -1
- package/dist/signature/CryptoSignatureValidation.d.ts +10 -12
- package/dist/signature/CryptoSignatureValidation.js +13 -35
- package/dist/signature/CryptoSignatureValidation.js.map +1 -1
- package/dist/signature/CryptoSignatures.d.ts +1 -5
- package/dist/signature/CryptoSignatures.js +5 -5
- package/dist/signature/CryptoSignatures.js.map +1 -1
- package/dist/state/CryptoPrivateState.d.ts +12 -20
- package/dist/state/CryptoPrivateState.js +73 -77
- package/dist/state/CryptoPrivateState.js.map +1 -1
- package/dist/state/CryptoPrivateStateReceive.d.ts +4 -6
- package/dist/state/CryptoPrivateStateReceive.js +27 -39
- package/dist/state/CryptoPrivateStateReceive.js.map +1 -1
- package/dist/state/CryptoPrivateStateTransmit.d.ts +3 -4
- package/dist/state/CryptoPrivateStateTransmit.js +14 -40
- package/dist/state/CryptoPrivateStateTransmit.js.map +1 -1
- package/dist/state/CryptoPublicState.d.ts +11 -16
- package/dist/state/CryptoPublicState.js +44 -53
- package/dist/state/CryptoPublicState.js.map +1 -1
- package/dist/stream/CryptoStream.js +5 -2
- package/dist/stream/CryptoStream.js.map +1 -1
- package/dist/stream/CryptoStreamAddress.d.ts +7 -10
- package/dist/stream/CryptoStreamAddress.js +13 -29
- package/dist/stream/CryptoStreamAddress.js.map +1 -1
- package/dist/stream/CryptoStreamHeader.d.ts +9 -12
- package/dist/stream/CryptoStreamHeader.js +15 -18
- package/dist/stream/CryptoStreamHeader.js.map +1 -1
- package/dist/stream/CryptoStreamState.d.ts +6 -10
- package/dist/stream/CryptoStreamState.js +15 -33
- package/dist/stream/CryptoStreamState.js.map +1 -1
- package/lib-web/nmshd.crypto.js +793 -1023
- package/lib-web/nmshd.crypto.js.map +1 -1
- package/lib-web/nmshd.crypto.min.js +1 -1
- package/lib-web/nmshd.crypto.min.js.map +1 -1
- package/package.json +19 -19
- package/dist/CryptoSerializableAsync.d.ts +0 -5
- package/dist/CryptoSerializableAsync.js +0 -24
- 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
|
|
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
|
|
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
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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
|
-
|
|
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
|
|
73
|
-
|
|
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
|
|
85
|
-
return
|
|
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":"
|
|
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):
|
|
12
|
-
static
|
|
13
|
-
static
|
|
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 =
|
|
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
|
|
43
|
+
return this.from({ nonce, counter, secretKey, algorithm, id, stateType: CryptoStateType_1.CryptoStateType.Transmit });
|
|
52
44
|
}
|
|
53
45
|
static from(obj) {
|
|
54
|
-
|
|
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
|
|
71
|
-
|
|
72
|
-
CryptoValidation_1.CryptoValidation.
|
|
73
|
-
CryptoValidation_1.CryptoValidation.
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
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
|
|
83
|
-
return
|
|
57
|
+
static fromJSON(value) {
|
|
58
|
+
return this.fromAny(value);
|
|
84
59
|
}
|
|
85
60
|
};
|
|
86
|
-
CryptoPrivateStateTransmit =
|
|
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":"
|
|
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 {
|
|
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
|
|
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
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
|
30
|
-
static
|
|
31
|
-
static
|
|
32
|
-
static
|
|
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 =
|
|
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
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
|
|
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
|
|
45
|
+
return this.fromAny(value);
|
|
60
46
|
}
|
|
61
47
|
static fromJSON(value) {
|
|
62
|
-
|
|
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
|
|
79
|
-
return
|
|
50
|
+
static fromBase64(value) {
|
|
51
|
+
return this.deserialize(CoreBuffer_1.CoreBuffer.base64_utf8(value));
|
|
80
52
|
}
|
|
81
53
|
};
|
|
82
|
-
|
|
83
|
-
(0, ts_serval_1.
|
|
84
|
-
|
|
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":"
|
|
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
|
|
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
|
|
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":";;;;;;;;;AAAA,qEAIiC;AACjC,8CAAwD;AACxD,oDAA+D;AAC/D,+DAA4D;AAC5D,6DAA0D;AAC1D,2DAAwD;AAQxD,SAAS,gBAAgB;IACrB,OAAO,CAAc,YAAe,EAAE,EAAE;QACpC,mGAAmG;QACnG,4EAA4E;IAChF,CAAC,CAAC;AACN,CAAC;AAED,IAAY,eAOX;AAPD,WAAY,eAAe;IACvB,yEAAyE;IACzE,6CAAU,2EAAiD,aAAA,CAAA;IAC3D,yEAAyE;IACzE,0CAAO,wEAA8C,UAAA,CAAA;IACrD,yEAAyE;IACzE,2CAAQ,yEAA+C,WAAA,CAAA;AAC3D,CAAC,EAPW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAO1B;AAGD,IAAa,YAAY,GAAzB,MAAa,YAAY;IACd,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAe;QAC1C,MAAM,MAAM,GAAG,MAAM,6BAAa,CAAC,KAAK,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,+CAA+C,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,uBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpD,OAAO,
|
|
1
|
+
{"version":3,"file":"CryptoStream.js","sourceRoot":"","sources":["../../src/stream/CryptoStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface ICryptoStreamAddress extends
|
|
3
|
-
|
|
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
|
|
13
|
-
|
|
14
|
-
constructor(address: string);
|
|
12
|
+
export declare class CryptoStreamAddress extends Serializable implements ICryptoStreamAddress {
|
|
13
|
+
address: string;
|
|
15
14
|
toString(): string;
|
|
16
|
-
|
|
17
|
-
|
|
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 =
|
|
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
|
-
|
|
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
|
|
37
|
-
}
|
|
38
|
-
if (!obj.address) {
|
|
39
|
-
throw new Error("No address property set.");
|
|
20
|
+
return { address: obj };
|
|
40
21
|
}
|
|
41
|
-
return
|
|
22
|
+
return obj;
|
|
42
23
|
}
|
|
43
|
-
static
|
|
44
|
-
|
|
45
|
-
return await this.from(obj);
|
|
24
|
+
static from(obj) {
|
|
25
|
+
return this.fromAny(obj);
|
|
46
26
|
}
|
|
47
27
|
};
|
|
48
|
-
|
|
49
|
-
(0, ts_serval_1.
|
|
50
|
-
|
|
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":"
|
|
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 {
|
|
2
|
-
import { ICoreBuffer } from "../CoreBuffer";
|
|
3
|
-
export interface ICryptoStreamHeader extends
|
|
4
|
-
|
|
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
|
|
14
|
-
|
|
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
|
|
21
|
-
static
|
|
22
|
-
static fromBase64(value: string):
|
|
17
|
+
protected static preFrom(value: any): any;
|
|
18
|
+
static from(obj: ICryptoStreamHeader | CoreBuffer): CryptoStreamHeader;
|
|
19
|
+
static fromBase64(value: string): CryptoStreamHeader;
|
|
23
20
|
}
|