@airgap/serializer 0.13.45-beta.1 → 0.13.45-beta.3
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/index.js +8 -8
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/v2/inter-app-communication-protocol.d.ts +2 -2
- package/v2/inter-app-communication-protocol.js +57 -55
- package/v2/inter-app-communication-protocol.js.map +1 -1
- package/v2/interfaces.js +1 -1
- package/v2/interfaces.js.map +1 -1
- package/v2/message.d.ts +1 -2
- package/v2/message.js +51 -57
- package/v2/message.js.map +1 -1
- package/v2/payloads/chunked-payload.d.ts +0 -1
- package/v2/payloads/chunked-payload.js +17 -18
- package/v2/payloads/chunked-payload.js.map +1 -1
- package/v2/payloads/full-payload.d.ts +0 -1
- package/v2/payloads/full-payload.js +38 -33
- package/v2/payloads/full-payload.js.map +1 -1
- package/v2/schemas/definitions/hex-string.d.ts +1 -1
- package/v2/schemas/schema.d.ts +1 -1
- package/v2/schemas/schema.js +1 -1
- package/v2/schemas/schema.js.map +1 -1
- package/v2/serializer.js +70 -122
- package/v2/serializer.js.map +1 -1
- package/v2/utils/generateId.js +5 -6
- package/v2/utils/generateId.js.map +1 -1
- package/v2/utils/json-to-rlp.js +45 -52
- package/v2/utils/json-to-rlp.js.map +1 -1
- package/v2/utils/toBuffer.d.ts +1 -2
- package/v2/utils/toBuffer.js +2 -3
- package/v2/utils/toBuffer.js.map +1 -1
- package/v2/validators/validators.js +37 -79
- package/v2/validators/validators.js.map +1 -1
- package/v3/iac-message-wrapper.d.ts +3 -3
- package/v3/iac-message-wrapper.js +50 -43
- package/v3/iac-message-wrapper.js.map +1 -1
- package/v3/interfaces.d.ts +1 -1
- package/v3/interfaces.js +6 -6
- package/v3/interfaces.js.map +1 -1
- package/v3/message.d.ts +2 -2
- package/v3/message.js +53 -61
- package/v3/message.js.map +1 -1
- package/v3/payload.js +19 -25
- package/v3/payload.js.map +1 -1
- package/v3/schemas/definitions/hex-string.d.ts +1 -1
- package/v3/schemas/schema.d.ts +1 -1
- package/v3/schemas/schema.js +1 -1
- package/v3/schemas/schema.js.map +1 -1
- package/v3/serializer.js +69 -120
- package/v3/serializer.js.map +1 -1
- package/v3/utils/generateId.js +7 -8
- package/v3/utils/generateId.js.map +1 -1
- package/v3/utils/json-to-rlp.js +51 -58
- package/v3/utils/json-to-rlp.js.map +1 -1
- package/v3/utils/toBuffer.d.ts +1 -2
- package/v3/validators/validators.js +35 -77
- package/v3/validators/validators.js.map +1 -1
package/v3/message.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Message =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
exports.Message = void 0;
|
|
4
|
+
exports.isMessageDefinitionArray = isMessageDefinitionArray;
|
|
5
|
+
const errors_1 = require("@airgap/coinlib-core/errors");
|
|
6
|
+
const interfaces_1 = require("./interfaces");
|
|
7
|
+
const serializer_1 = require("./serializer");
|
|
8
|
+
const generateId_1 = require("./utils/generateId");
|
|
9
|
+
const json_to_rlp_1 = require("./utils/json-to-rlp");
|
|
9
10
|
function isMessageDefinitionArray(value) {
|
|
10
11
|
return (Array.isArray(value) &&
|
|
11
12
|
value.length === 5 &&
|
|
@@ -15,34 +16,29 @@ function isMessageDefinitionArray(value) {
|
|
|
15
16
|
typeof value[3] === 'number' &&
|
|
16
17
|
Array.isArray(value[4]));
|
|
17
18
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
function Message(type, protocol, payload, id, version) {
|
|
21
|
-
if (id === void 0) { id = (0, generateId_1.generateId)(generateId_1.ID_LENGTH); }
|
|
22
|
-
if (version === void 0) { version = 1; }
|
|
19
|
+
class Message {
|
|
20
|
+
constructor(type, protocol, payload, id = (0, generateId_1.generateId)(generateId_1.ID_LENGTH), version = 1) {
|
|
23
21
|
this.id = id;
|
|
24
22
|
this.type = type;
|
|
25
23
|
this.protocol = protocol;
|
|
26
24
|
this.payload = payload;
|
|
27
25
|
this.version = version;
|
|
28
26
|
}
|
|
29
|
-
|
|
27
|
+
asJson() {
|
|
30
28
|
return {
|
|
31
29
|
type: this.type,
|
|
32
30
|
protocol: this.protocol,
|
|
33
31
|
id: this.id,
|
|
34
32
|
payload: this.payload
|
|
35
33
|
};
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
for (var _i = 0, schemaInfos_1 = schemaInfos; _i < schemaInfos_1.length; _i++) {
|
|
42
|
-
var schemaInfo = schemaInfos_1[_i];
|
|
34
|
+
}
|
|
35
|
+
asArray(serializer = serializer_1.SerializerV3.getInstance()) {
|
|
36
|
+
const schemaInfos = serializer.getSchemas(this.type, this.protocol);
|
|
37
|
+
let lastError;
|
|
38
|
+
for (let schemaInfo of schemaInfos) {
|
|
43
39
|
try {
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
const schema = (0, json_to_rlp_1.unwrapSchema)(schemaInfo.schema);
|
|
41
|
+
const array = (0, json_to_rlp_1.jsonToArray)('root', schema, this.payload);
|
|
46
42
|
return [this.version, this.type, this.protocol, this.id, array];
|
|
47
43
|
}
|
|
48
44
|
catch (e) {
|
|
@@ -53,25 +49,23 @@ var Message = /** @class */ (function () {
|
|
|
53
49
|
throw lastError;
|
|
54
50
|
}
|
|
55
51
|
throw new Error('NO SCHEMA FOUND');
|
|
56
|
-
}
|
|
57
|
-
|
|
52
|
+
}
|
|
53
|
+
static fromDecoded(object) {
|
|
58
54
|
return new Message(object.type, object.protocol, object.payload, object.id);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
for (var _i = 0, schemaInfos_2 = schemaInfos; _i < schemaInfos_2.length; _i++) {
|
|
69
|
-
var schemaInfo = schemaInfos_2[_i];
|
|
55
|
+
}
|
|
56
|
+
static fromEncoded(buf, serializer = serializer_1.SerializerV3.getInstance()) {
|
|
57
|
+
const version = this.validateVersion(buf[0]);
|
|
58
|
+
const protocol = this.validateProtocol(buf[2], Array.from(serializer.getSupportedProtocols()));
|
|
59
|
+
const type = this.validateType(buf[1], protocol, serializer);
|
|
60
|
+
const id = this.validateId(buf[3]);
|
|
61
|
+
const encodedPayload = this.validatePayload(buf[4]);
|
|
62
|
+
const schemaInfos = serializer.getSchemas(type, protocol);
|
|
63
|
+
for (let schemaInfo of schemaInfos) {
|
|
70
64
|
try {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
const schema = (0, json_to_rlp_1.unwrapSchema)(schemaInfo.schema);
|
|
66
|
+
const schemaTransformer = schemaInfo.transformer;
|
|
67
|
+
const json = (0, json_to_rlp_1.rlpArrayToJson)(schema, encodedPayload);
|
|
68
|
+
const payload = schemaTransformer ? schemaTransformer(json) : json;
|
|
75
69
|
return (0, interfaces_1.success)(new Message(type, protocol, payload, id, version));
|
|
76
70
|
}
|
|
77
71
|
catch (e) {
|
|
@@ -79,13 +73,12 @@ var Message = /** @class */ (function () {
|
|
|
79
73
|
}
|
|
80
74
|
}
|
|
81
75
|
throw new Error('NO SCHEMA MATCHED');
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
return this.validateProperty('Version', version,
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
return this.validateProperty('Type', value, function (val) {
|
|
76
|
+
}
|
|
77
|
+
static validateVersion(version) {
|
|
78
|
+
return this.validateProperty('Version', version, (val) => val === 0 || val === 1);
|
|
79
|
+
}
|
|
80
|
+
static validateType(value, protocol, serializer = serializer_1.SerializerV3.getInstance()) {
|
|
81
|
+
return this.validateProperty('Type', value, (val) => {
|
|
89
82
|
try {
|
|
90
83
|
serializer.getSchemas(val, protocol);
|
|
91
84
|
return true;
|
|
@@ -94,26 +87,25 @@ var Message = /** @class */ (function () {
|
|
|
94
87
|
return false;
|
|
95
88
|
}
|
|
96
89
|
});
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return this.validateProperty('Protocol', protocol,
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return this.validateProperty('Id', id,
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
return this.validateProperty('Payload', payload,
|
|
106
|
-
}
|
|
107
|
-
|
|
90
|
+
}
|
|
91
|
+
static validateProtocol(protocol, supportedProtocols) {
|
|
92
|
+
return this.validateProperty('Protocol', protocol, (val) => val.length === 0 || supportedProtocols.some((value) => val === value || val.split('-')[0] === value));
|
|
93
|
+
}
|
|
94
|
+
static validateId(id) {
|
|
95
|
+
return this.validateProperty('Id', id, (val) => val.toString().length <= generateId_1.ID_LENGTH);
|
|
96
|
+
}
|
|
97
|
+
static validatePayload(payload) {
|
|
98
|
+
return this.validateProperty('Payload', payload, () => true);
|
|
99
|
+
}
|
|
100
|
+
static validateProperty(property, value, validate) {
|
|
108
101
|
if (typeof value === 'undefined') {
|
|
109
|
-
throw new errors_1.SerializerError(errors_1.SerializerErrorType.PROPERTY_IS_EMPTY,
|
|
102
|
+
throw new errors_1.SerializerError(errors_1.SerializerErrorType.PROPERTY_IS_EMPTY, `${property} is empty`);
|
|
110
103
|
}
|
|
111
104
|
if (validate(value)) {
|
|
112
105
|
return value; // TODO: Use type guard?
|
|
113
106
|
}
|
|
114
|
-
throw new errors_1.SerializerError(errors_1.SerializerErrorType.PROPERTY_IS_EMPTY,
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
}());
|
|
107
|
+
throw new errors_1.SerializerError(errors_1.SerializerErrorType.PROPERTY_IS_EMPTY, `${property} is invalid: "${value}"`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
118
110
|
exports.Message = Message;
|
|
119
111
|
//# sourceMappingURL=message.js.map
|
package/v3/message.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/v3/message.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/v3/message.ts"],"names":[],"mappings":"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"}
|
package/v3/payload.js
CHANGED
|
@@ -1,28 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Payload = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
const interfaces_1 = require("./interfaces");
|
|
5
|
+
const message_1 = require("./message");
|
|
6
|
+
const serializer_1 = require("./serializer");
|
|
7
|
+
class Payload {
|
|
8
|
+
constructor(messages) {
|
|
9
9
|
this.messages = messages;
|
|
10
10
|
}
|
|
11
|
-
|
|
11
|
+
static fromDecoded(object) {
|
|
12
12
|
return new Payload(object);
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
14
|
// public static fromEncoded(encoded: MessageDefinitionArray[], serializer: SerializerV3 = SerializerV3.getInstance()): Payload {
|
|
15
15
|
// const messages: IACMessageDefinitionObjectV3[] = encoded.map((message) => Message.fromEncoded(message, serializer).asJson())
|
|
16
16
|
// return new Payload(messages)
|
|
17
17
|
// }
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
for (var _i = 0, encoded_1 = encoded; _i < encoded_1.length; _i++) {
|
|
23
|
-
var message = encoded_1[_i];
|
|
18
|
+
static fromEncoded(encoded, serializer = serializer_1.SerializerV3.getInstance()) {
|
|
19
|
+
const messages = [];
|
|
20
|
+
const errors = [];
|
|
21
|
+
for (const message of encoded) {
|
|
24
22
|
try {
|
|
25
|
-
|
|
23
|
+
const result = message_1.Message.fromEncoded(message, serializer);
|
|
26
24
|
if (result.ok) {
|
|
27
25
|
messages.push((0, interfaces_1.success)(result.value.asJson()));
|
|
28
26
|
}
|
|
@@ -35,17 +33,13 @@ var Payload = /** @class */ (function () {
|
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
return { payload: new Payload(messages), skippedPayload: errors };
|
|
38
|
-
}
|
|
39
|
-
|
|
36
|
+
}
|
|
37
|
+
asJson() {
|
|
40
38
|
return this.messages;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
};
|
|
48
|
-
return Payload;
|
|
49
|
-
}());
|
|
39
|
+
}
|
|
40
|
+
asArray(serializer = serializer_1.SerializerV3.getInstance()) {
|
|
41
|
+
return this.messages.map((message) => message.ok ? (0, interfaces_1.success)(message_1.Message.fromDecoded(message.value).asArray(serializer)) : (0, interfaces_1.failure)(message.error));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
50
44
|
exports.Payload = Payload;
|
|
51
45
|
//# sourceMappingURL=payload.js.map
|
package/v3/payload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/v3/payload.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/v3/payload.ts"],"names":[],"mappings":";;;AAAA,6CAAgE;AAChE,uCAAyF;AACzF,6CAA2C;AAE3C,MAAa,OAAO;IAGlB,YAAY,QAAuD;QACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,MAAqD;QAC7E,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IACD,iIAAiI;IACjI,iIAAiI;IAEjI,iCAAiC;IACjC,IAAI;IAEG,MAAM,CAAC,WAAW,CACvB,OAAiC,EACjC,aAA2B,yBAAY,CAAC,WAAW,EAAE;QAErD,MAAM,QAAQ,GAAkD,EAAE,CAAA;QAClE,MAAM,MAAM,GAAkD,EAAE,CAAA;QAEhE,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAO,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;gBACvD,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;oBACd,QAAQ,CAAC,IAAI,CAAC,IAAA,oBAAO,EAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;gBAC/C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,IAAA,oBAAO,EAAE,MAAyB,CAAC,KAAK,CAAC,CAAC,CAAA;gBACxD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,IAAA,oBAAO,EAAC,KAAK,CAAC,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,CAAA;IACnE,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAEM,OAAO,CAAC,aAA2B,yBAAY,CAAC,WAAW,EAAE;QAClE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAoD,EAAE,EAAE,CAChF,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAC,iBAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,oBAAO,EAAE,OAA0B,CAAC,KAAK,CAAC,CAC1H,CAAA;IACH,CAAC;CACF;AAhDD,0BAgDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type HexString = string;
|
package/v3/schemas/schema.d.ts
CHANGED
package/v3/schemas/schema.js
CHANGED
|
@@ -10,5 +10,5 @@ var SchemaTypes;
|
|
|
10
10
|
SchemaTypes["NULL"] = "null";
|
|
11
11
|
SchemaTypes["ARRAY"] = "array";
|
|
12
12
|
SchemaTypes["OBJECT"] = "object";
|
|
13
|
-
})(SchemaTypes
|
|
13
|
+
})(SchemaTypes || (exports.SchemaTypes = SchemaTypes = {}));
|
|
14
14
|
//# sourceMappingURL=schema.js.map
|
package/v3/schemas/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/v3/schemas/schema.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/v3/schemas/schema.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,gCAAiB,CAAA;AACnB,CAAC,EARW,WAAW,2BAAX,WAAW,QAQtB"}
|
package/v3/serializer.js
CHANGED
|
@@ -1,51 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
-
function step(op) {
|
|
16
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
-
while (_) try {
|
|
18
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
-
switch (op[0]) {
|
|
21
|
-
case 0: case 1: t = op; break;
|
|
22
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
-
default:
|
|
26
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
-
if (t[2]) _.ops.pop();
|
|
31
|
-
_.trys.pop(); continue;
|
|
32
|
-
}
|
|
33
|
-
op = body.call(thisArg, _);
|
|
34
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.SerializerV3 = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
4
|
+
const errors_1 = require("@airgap/coinlib-core/errors");
|
|
5
|
+
const ProtocolSymbols_1 = require("@airgap/coinlib-core/utils/ProtocolSymbols");
|
|
6
|
+
const iac_message_wrapper_1 = require("./iac-message-wrapper");
|
|
7
|
+
const interfaces_1 = require("./interfaces");
|
|
8
|
+
const accountShareResponse = require('./schemas/generated/account-share-response.json');
|
|
9
|
+
const messageSignRequest = require('./schemas/generated/message-sign-request.json');
|
|
10
|
+
const messageSignResponse = require('./schemas/generated/message-sign-response.json');
|
|
11
|
+
class SerializerV3 {
|
|
12
|
+
static { this.instance = undefined; }
|
|
13
|
+
static getInstance() {
|
|
14
|
+
if (SerializerV3.instance === undefined) {
|
|
15
|
+
SerializerV3.instance = new SerializerV3();
|
|
16
|
+
}
|
|
17
|
+
return SerializerV3.instance;
|
|
18
|
+
}
|
|
19
|
+
constructor() {
|
|
49
20
|
this.schemas = new Map();
|
|
50
21
|
this.validators = new Map();
|
|
51
22
|
this.supportedProtocols = new Set();
|
|
@@ -53,39 +24,32 @@ var SerializerV3 = /** @class */ (function () {
|
|
|
53
24
|
this.addSchema(interfaces_1.IACMessageType.MessageSignRequest, { schema: messageSignRequest });
|
|
54
25
|
this.addSchema(interfaces_1.IACMessageType.MessageSignResponse, { schema: messageSignResponse });
|
|
55
26
|
}
|
|
56
|
-
|
|
57
|
-
if (SerializerV3.instance === undefined) {
|
|
58
|
-
SerializerV3.instance = new SerializerV3();
|
|
59
|
-
}
|
|
60
|
-
return SerializerV3.instance;
|
|
61
|
-
};
|
|
62
|
-
SerializerV3.addSchema = function (schemaId, schema, protocol) {
|
|
27
|
+
static addSchema(schemaId, schema, protocol) {
|
|
63
28
|
SerializerV3.getInstance().addSchema(schemaId, schema, protocol);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
throw new errors_1.SerializerError(errors_1.SerializerErrorType.SCHEMA_ALREADY_EXISTS, "Schema ".concat(protocolSpecificSchemaName, " already exists"));
|
|
29
|
+
}
|
|
30
|
+
addSchema(schemaId, schema, protocol) {
|
|
31
|
+
const protocolSpecificSchemaName = SerializerV3.getSchemaName(schemaId, protocol);
|
|
32
|
+
const schemas = this.schemas.get(protocolSpecificSchemaName) ?? [];
|
|
33
|
+
if (schemas.some((el) => el.schema === schema.schema)) {
|
|
34
|
+
throw new errors_1.SerializerError(errors_1.SerializerErrorType.SCHEMA_ALREADY_EXISTS, `Schema ${protocolSpecificSchemaName} already exists`);
|
|
71
35
|
}
|
|
72
36
|
schemas.push(schema);
|
|
73
37
|
this.schemas.set(protocolSpecificSchemaName, schemas);
|
|
74
38
|
if (protocol) {
|
|
75
39
|
this.supportedProtocols.add(protocol);
|
|
76
40
|
}
|
|
77
|
-
}
|
|
78
|
-
|
|
41
|
+
}
|
|
42
|
+
static getSchemas(schemaId, protocol) {
|
|
79
43
|
return SerializerV3.getInstance().getSchemas(schemaId, protocol);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
44
|
+
}
|
|
45
|
+
getSchemas(schemaId, protocol) {
|
|
46
|
+
const protocolSpecificSchemaName = SerializerV3.getSchemaName(schemaId, protocol);
|
|
47
|
+
let schemas;
|
|
84
48
|
if (this.schemas.has(protocolSpecificSchemaName)) {
|
|
85
49
|
schemas = this.schemas.get(protocolSpecificSchemaName);
|
|
86
50
|
}
|
|
87
51
|
else if (protocol !== undefined) {
|
|
88
|
-
|
|
52
|
+
const split = protocol.split('-');
|
|
89
53
|
// if protocol is a sub protocol and there is no schema defined for it, use the main protocol schema as the fallback
|
|
90
54
|
if (split.length >= 2) {
|
|
91
55
|
return this.getSchemas(schemaId, split[0]);
|
|
@@ -94,72 +58,57 @@ var SerializerV3 = /** @class */ (function () {
|
|
|
94
58
|
// Try to get the protocol specific scheme, if it doesn't exist fall back to the generic one
|
|
95
59
|
schemas = schemas !== undefined && schemas.length > 0 ? schemas : this.schemas.get(SerializerV3.getSchemaName(schemaId));
|
|
96
60
|
if (!schemas) {
|
|
97
|
-
throw new errors_1.SerializerError(errors_1.SerializerErrorType.SCHEMA_DOES_NOT_EXISTS,
|
|
61
|
+
throw new errors_1.SerializerError(errors_1.SerializerErrorType.SCHEMA_DOES_NOT_EXISTS, `Schema ${protocolSpecificSchemaName} does not exist`);
|
|
98
62
|
}
|
|
99
63
|
return schemas;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
|
|
64
|
+
}
|
|
65
|
+
static getSchemaName(schemaId, protocol) {
|
|
66
|
+
const schemaName = `${schemaId}-${protocol}`;
|
|
103
67
|
if ((protocol !== undefined && schemaId === interfaces_1.IACMessageType.TransactionSignRequest) ||
|
|
104
68
|
schemaId === interfaces_1.IACMessageType.TransactionSignResponse) {
|
|
105
|
-
|
|
106
|
-
if (split.length >= 3 &&
|
|
107
|
-
return
|
|
69
|
+
const split = schemaName.split('-');
|
|
70
|
+
if (split.length >= 3 && `${split[1]}-${split[2]}` === ProtocolSymbols_1.SubProtocolSymbols.ETH_ERC20) {
|
|
71
|
+
return `${schemaId}-${ProtocolSymbols_1.SubProtocolSymbols.ETH_ERC20}`;
|
|
108
72
|
}
|
|
109
73
|
}
|
|
110
|
-
return protocol ?
|
|
111
|
-
}
|
|
112
|
-
|
|
74
|
+
return protocol ? `${schemaId}-${protocol}` : schemaId.toString();
|
|
75
|
+
}
|
|
76
|
+
static addValidator(protocol, validator) {
|
|
113
77
|
SerializerV3.getInstance().addValidator(protocol, validator);
|
|
114
|
-
}
|
|
115
|
-
|
|
78
|
+
}
|
|
79
|
+
addValidator(protocol, validator) {
|
|
116
80
|
this.validators.set(protocol, validator);
|
|
117
|
-
}
|
|
118
|
-
|
|
81
|
+
}
|
|
82
|
+
getSupportedProtocols() {
|
|
119
83
|
return this.supportedProtocols;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
var _a, iACMessageWrapper, skippedPayload, deserializedIACMessageDefinitionObjects;
|
|
142
|
-
return __generator(this, function (_b) {
|
|
143
|
-
_a = iac_message_wrapper_1.IACMessageWrapper.fromEncoded(data, this), iACMessageWrapper = _a.iACMessageWrapper, skippedPayload = _a.skippedPayload;
|
|
144
|
-
deserializedIACMessageDefinitionObjects = iACMessageWrapper.payload.asJson();
|
|
145
|
-
return [2 /*return*/, { deserialize: deserializedIACMessageDefinitionObjects, skippedPayload: skippedPayload }];
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
};
|
|
149
|
-
SerializerV3.prototype.serializationValidatorByProtocolIdentifier = function (protocolIdentifier) {
|
|
150
|
-
var _a;
|
|
151
|
-
var validatorsKeys = Array.from(this.validators.keys());
|
|
152
|
-
var exactMatch = validatorsKeys.find(function (protocol) { return protocolIdentifier === protocol; });
|
|
153
|
-
var startsWith = validatorsKeys.find(function (protocol) { return protocolIdentifier.startsWith(protocol); });
|
|
84
|
+
}
|
|
85
|
+
async serialize(messages) {
|
|
86
|
+
if (messages.every((message) => {
|
|
87
|
+
return this.getSchemas(message.type, message.protocol).length > 0;
|
|
88
|
+
})) {
|
|
89
|
+
const iacps = iac_message_wrapper_1.IACMessageWrapper.fromDecoded(JSON.parse(JSON.stringify(messages)));
|
|
90
|
+
return iacps.encoded(this);
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
throw new errors_1.SerializerError(errors_1.SerializerErrorType.SCHEMA_DOES_NOT_EXISTS, `Unknown schema`);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async deserialize(data) {
|
|
97
|
+
const { iACMessageWrapper, skippedPayload } = iac_message_wrapper_1.IACMessageWrapper.fromEncoded(data, this);
|
|
98
|
+
const deserializedIACMessageDefinitionObjects = iACMessageWrapper.payload.asJson();
|
|
99
|
+
return { deserialize: deserializedIACMessageDefinitionObjects, skippedPayload };
|
|
100
|
+
}
|
|
101
|
+
serializationValidatorByProtocolIdentifier(protocolIdentifier) {
|
|
102
|
+
const validatorsKeys = Array.from(this.validators.keys());
|
|
103
|
+
const exactMatch = validatorsKeys.find((protocol) => protocolIdentifier === protocol);
|
|
104
|
+
const startsWith = validatorsKeys.find((protocol) => protocolIdentifier.startsWith(protocol));
|
|
154
105
|
// TODO: Only use validator if it's a transaction
|
|
155
|
-
|
|
106
|
+
const validatorFactory = this.validators.get(exactMatch ?? startsWith ?? ProtocolSymbols_1.MainProtocolSymbols.ETH);
|
|
156
107
|
if (!validatorFactory) {
|
|
157
|
-
throw Error(
|
|
108
|
+
throw Error(`Validator not registered for ${protocolIdentifier}, ${exactMatch}, ${startsWith}, ${validatorFactory}`);
|
|
158
109
|
}
|
|
159
110
|
return validatorFactory.create();
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
return SerializerV3;
|
|
163
|
-
}());
|
|
111
|
+
}
|
|
112
|
+
}
|
|
164
113
|
exports.SerializerV3 = SerializerV3;
|
|
165
114
|
//# sourceMappingURL=serializer.js.map
|
package/v3/serializer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/v3/serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serializer.js","sourceRoot":"","sources":["../../src/v3/serializer.ts"],"names":[],"mappings":"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"}
|
package/v3/utils/generateId.js
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ID_LENGTH = void 0;
|
|
4
|
+
exports.generateId = generateId;
|
|
4
5
|
exports.ID_LENGTH = 8;
|
|
5
6
|
// Not very random, but IDs don't have to be because they are only used locally
|
|
6
|
-
function generateId(length) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
for (var i = 0; i < length; i++) {
|
|
7
|
+
function generateId(length = exports.ID_LENGTH) {
|
|
8
|
+
const characters = '0123456789';
|
|
9
|
+
const charactersLength = characters.length;
|
|
10
|
+
let result = '';
|
|
11
|
+
for (let i = 0; i < length; i++) {
|
|
12
12
|
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
13
13
|
}
|
|
14
14
|
return parseInt(result);
|
|
15
15
|
}
|
|
16
|
-
exports.generateId = generateId;
|
|
17
16
|
//# sourceMappingURL=generateId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateId.js","sourceRoot":"","sources":["../../../src/v3/utils/generateId.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"generateId.js","sourceRoot":"","sources":["../../../src/v3/utils/generateId.ts"],"names":[],"mappings":";;;AAGA,gCASC;AAZY,QAAA,SAAS,GAAW,CAAC,CAAA;AAElC,+EAA+E;AAC/E,SAAgB,UAAU,CAAC,SAAiB,iBAAS;IACnD,MAAM,UAAU,GAAW,YAAY,CAAA;IACvC,MAAM,gBAAgB,GAAW,UAAU,CAAC,MAAM,CAAA;IAClD,IAAI,MAAM,GAAW,EAAE,CAAA;IACvB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAA;IAC3E,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC"}
|