@airgap/serializer 0.13.45-beta.3 → 0.13.45-beta.4
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 +55 -57
- 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 +2 -1
- package/v2/message.js +57 -51
- package/v2/message.js.map +1 -1
- package/v2/payloads/chunked-payload.d.ts +1 -0
- package/v2/payloads/chunked-payload.js +18 -17
- package/v2/payloads/chunked-payload.js.map +1 -1
- package/v2/payloads/full-payload.d.ts +1 -0
- package/v2/payloads/full-payload.js +33 -38
- 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 +122 -70
- package/v2/serializer.js.map +1 -1
- package/v2/utils/generateId.js +6 -5
- package/v2/utils/generateId.js.map +1 -1
- package/v2/utils/json-to-rlp.js +52 -45
- package/v2/utils/json-to-rlp.js.map +1 -1
- package/v2/utils/toBuffer.d.ts +2 -1
- package/v2/utils/toBuffer.js +3 -2
- package/v2/utils/toBuffer.js.map +1 -1
- package/v2/validators/validators.js +79 -37
- package/v2/validators/validators.js.map +1 -1
- package/v3/iac-message-wrapper.d.ts +3 -3
- package/v3/iac-message-wrapper.js +43 -50
- 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 +61 -53
- package/v3/message.js.map +1 -1
- package/v3/payload.js +25 -19
- 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 +120 -69
- package/v3/serializer.js.map +1 -1
- package/v3/utils/generateId.js +8 -7
- package/v3/utils/generateId.js.map +1 -1
- package/v3/utils/json-to-rlp.js +58 -51
- package/v3/utils/json-to-rlp.js.map +1 -1
- package/v3/utils/toBuffer.d.ts +2 -1
- package/v3/validators/validators.js +77 -35
- package/v3/validators/validators.js.map +1 -1
package/v3/utils/json-to-rlp.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getDefinitionByRefPath =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const schema_1 = require("../schemas/schema");
|
|
11
|
-
const isHexString = (str) => {
|
|
12
|
-
const regexp = /^[0-9a-fA-F]+$/;
|
|
3
|
+
exports.rlpArrayToJson = exports.jsonToArray = exports.unwrapSchema = exports.getDefinitionByRefPath = void 0;
|
|
4
|
+
var errors_1 = require("@airgap/coinlib-core/errors");
|
|
5
|
+
var coinlib_error_1 = require("@airgap/coinlib-core/errors/coinlib-error");
|
|
6
|
+
var assert_1 = require("@airgap/coinlib-core/utils/assert");
|
|
7
|
+
var schema_1 = require("../schemas/schema");
|
|
8
|
+
var isHexString = function (str) {
|
|
9
|
+
var regexp = /^[0-9a-fA-F]+$/;
|
|
13
10
|
if (regexp.test(str)) {
|
|
14
11
|
return true;
|
|
15
12
|
}
|
|
@@ -25,24 +22,30 @@ var StringType;
|
|
|
25
22
|
StringType[StringType["HEX_WITH_PREFIX_ODD"] = 3] = "HEX_WITH_PREFIX_ODD";
|
|
26
23
|
StringType[StringType["HEX_WITHOUT_PREFIX_ODD"] = 4] = "HEX_WITHOUT_PREFIX_ODD";
|
|
27
24
|
})(StringType || (StringType = {}));
|
|
28
|
-
function log(
|
|
29
|
-
|
|
25
|
+
function log() {
|
|
26
|
+
var args = [];
|
|
27
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
28
|
+
args[_i] = arguments[_i];
|
|
29
|
+
}
|
|
30
|
+
var loggingEnabled = false;
|
|
30
31
|
if (loggingEnabled) {
|
|
31
32
|
// tslint:disable-next-line:no-console
|
|
32
|
-
console.log(
|
|
33
|
+
console.log.apply(console, args);
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
function getDefinitionByRefPath(schema, refPath) {
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
var mainDefinitionName = refPath.split('/').slice(-1)[0];
|
|
38
|
+
var definitions = schema.definitions;
|
|
38
39
|
return definitions[mainDefinitionName];
|
|
39
40
|
}
|
|
41
|
+
exports.getDefinitionByRefPath = getDefinitionByRefPath;
|
|
40
42
|
function unwrapSchema(schema) {
|
|
41
43
|
log('UNWRAPPING SCHEMA', schema);
|
|
42
44
|
return getDefinitionByRefPath(schema, schema.$ref);
|
|
43
45
|
}
|
|
46
|
+
exports.unwrapSchema = unwrapSchema;
|
|
44
47
|
function typeError(key, expectedType, value) {
|
|
45
|
-
return new errors_1.InvalidSchemaType(
|
|
48
|
+
return new errors_1.InvalidSchemaType("".concat(key, ": expected type \"").concat(expectedType, "\", but got \"").concat(typeof value, "\", value: ").concat(typeof value === 'object' ? JSON.stringify(value) : value));
|
|
46
49
|
}
|
|
47
50
|
function checkType(key, expectedType, value, callback) {
|
|
48
51
|
if (expectedType === 'array' && Array.isArray(value)) {
|
|
@@ -56,18 +59,19 @@ function checkType(key, expectedType, value, callback) {
|
|
|
56
59
|
}
|
|
57
60
|
}
|
|
58
61
|
function getTypeFromSchemaDefinition(schema) {
|
|
59
|
-
|
|
62
|
+
var _a;
|
|
63
|
+
return (_a = schema === null || schema === void 0 ? void 0 : schema.type) !== null && _a !== void 0 ? _a : schema_1.SchemaTypes.STRING;
|
|
60
64
|
}
|
|
61
65
|
function jsonToArray(key, schema, value) {
|
|
62
|
-
|
|
66
|
+
var type = getTypeFromSchemaDefinition(schema);
|
|
63
67
|
switch (type) {
|
|
64
68
|
case schema_1.SchemaTypes.STRING:
|
|
65
|
-
return checkType(key, 'string', value, (arg)
|
|
66
|
-
log(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
return checkType(key, 'string', value, function (arg) {
|
|
70
|
+
log("Parsing key ".concat(key, " as string, which results in ").concat(arg));
|
|
71
|
+
var buf;
|
|
72
|
+
var type;
|
|
69
73
|
if (arg.startsWith('0x')) {
|
|
70
|
-
|
|
74
|
+
var argWithoutPrefix = arg.slice(2);
|
|
71
75
|
if (isHexString(argWithoutPrefix)) {
|
|
72
76
|
if (argWithoutPrefix.length % 2 === 0) {
|
|
73
77
|
type = StringType.HEX_WITH_PREFIX_EVEN;
|
|
@@ -98,33 +102,33 @@ function jsonToArray(key, schema, value) {
|
|
|
98
102
|
return arg;
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
|
-
|
|
102
|
-
|
|
105
|
+
var typeBuffer = Buffer.from(type.toString(16).padStart(2, '0'), 'hex');
|
|
106
|
+
var concat = Buffer.concat([typeBuffer, buf]);
|
|
103
107
|
return concat;
|
|
104
108
|
});
|
|
105
109
|
case schema_1.SchemaTypes.NUMBER:
|
|
106
110
|
case schema_1.SchemaTypes.INTEGER:
|
|
107
|
-
return checkType(key, 'number', value, (arg)
|
|
108
|
-
log(
|
|
111
|
+
return checkType(key, 'number', value, function (arg) {
|
|
112
|
+
log("Parsing key ".concat(key, " as number, which results in ").concat(arg.toString()));
|
|
109
113
|
return arg;
|
|
110
114
|
});
|
|
111
115
|
case schema_1.SchemaTypes.BOOLEAN:
|
|
112
|
-
return checkType(key, 'boolean', value, (arg)
|
|
113
|
-
log(
|
|
116
|
+
return checkType(key, 'boolean', value, function (arg) {
|
|
117
|
+
log("Parsing key ".concat(key, " as boolean, which results in ").concat(arg ? '1' : '0'));
|
|
114
118
|
return arg;
|
|
115
119
|
});
|
|
116
120
|
case schema_1.SchemaTypes.NULL:
|
|
117
121
|
if (typeof value === 'undefined') {
|
|
118
|
-
log(
|
|
122
|
+
log("Parsing key ".concat(key, " as undefined, which results in ''"));
|
|
119
123
|
return '';
|
|
120
124
|
}
|
|
121
125
|
else {
|
|
122
126
|
throw typeError(key, 'undefined', value);
|
|
123
127
|
}
|
|
124
128
|
case schema_1.SchemaTypes.ARRAY:
|
|
125
|
-
return checkType(key, 'array', value, (arg)
|
|
126
|
-
return arg.map((element, index)
|
|
127
|
-
|
|
129
|
+
return checkType(key, 'array', value, function (arg) {
|
|
130
|
+
return arg.map(function (element, index) {
|
|
131
|
+
var items = schema.items;
|
|
128
132
|
if (Array.isArray(items)) {
|
|
129
133
|
return jsonToArray(key, items[index], element);
|
|
130
134
|
}
|
|
@@ -134,14 +138,15 @@ function jsonToArray(key, schema, value) {
|
|
|
134
138
|
});
|
|
135
139
|
});
|
|
136
140
|
case schema_1.SchemaTypes.OBJECT:
|
|
137
|
-
return checkType(key, 'object', value, (arg)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
for (
|
|
141
|
+
return checkType(key, 'object', value, function (arg) {
|
|
142
|
+
var properties = schema.properties;
|
|
143
|
+
var keys = Object.keys(properties).sort();
|
|
144
|
+
var out = [];
|
|
145
|
+
for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
|
|
146
|
+
var propertyKey = keys_1[_i];
|
|
142
147
|
out.push(jsonToArray(propertyKey, properties[propertyKey], arg[propertyKey]));
|
|
143
148
|
}
|
|
144
|
-
log(
|
|
149
|
+
log("Parsing key ".concat(key, " as object, which results in ").concat(out));
|
|
145
150
|
return out;
|
|
146
151
|
});
|
|
147
152
|
default:
|
|
@@ -149,11 +154,12 @@ function jsonToArray(key, schema, value) {
|
|
|
149
154
|
throw new errors_1.InvalidSchemaType();
|
|
150
155
|
}
|
|
151
156
|
}
|
|
157
|
+
exports.jsonToArray = jsonToArray;
|
|
152
158
|
function decode(schemaItem, decoded) {
|
|
153
159
|
if (typeof decoded === 'undefined') {
|
|
154
160
|
throw new errors_1.InvalidPayloadError();
|
|
155
161
|
}
|
|
156
|
-
|
|
162
|
+
var type = getTypeFromSchemaDefinition(schemaItem);
|
|
157
163
|
switch (type) {
|
|
158
164
|
case schema_1.SchemaTypes.BOOLEAN:
|
|
159
165
|
if (decoded.toString() !== '') {
|
|
@@ -164,16 +170,16 @@ function decode(schemaItem, decoded) {
|
|
|
164
170
|
if (typeof decoded === 'string') {
|
|
165
171
|
return decoded;
|
|
166
172
|
}
|
|
167
|
-
|
|
173
|
+
var stringType = parseInt(decoded.slice(0, 1).toString('hex'), 16);
|
|
168
174
|
switch (stringType) {
|
|
169
175
|
case StringType.STRING_WITH_HEX_PREFIX:
|
|
170
|
-
return
|
|
176
|
+
return "0x".concat(decoded.slice(1).toString());
|
|
171
177
|
case StringType.HEX_WITH_PREFIX_EVEN:
|
|
172
|
-
return
|
|
178
|
+
return "0x".concat(decoded.slice(1).toString('hex'));
|
|
173
179
|
case StringType.HEX_WITHOUT_PREFIX_EVEN:
|
|
174
180
|
return decoded.slice(1).toString('hex');
|
|
175
181
|
case StringType.HEX_WITH_PREFIX_ODD:
|
|
176
|
-
return
|
|
182
|
+
return "0x".concat(decoded.slice(1).toString('hex').slice(1));
|
|
177
183
|
case StringType.HEX_WITHOUT_PREFIX_ODD:
|
|
178
184
|
return decoded.slice(1).toString('hex').slice(1);
|
|
179
185
|
default:
|
|
@@ -189,8 +195,8 @@ function decode(schemaItem, decoded) {
|
|
|
189
195
|
case schema_1.SchemaTypes.NULL:
|
|
190
196
|
return undefined;
|
|
191
197
|
case schema_1.SchemaTypes.ARRAY:
|
|
192
|
-
return decoded.map((decodedElement, index)
|
|
193
|
-
|
|
198
|
+
return decoded.map(function (decodedElement, index) {
|
|
199
|
+
var items = schemaItem.items;
|
|
194
200
|
if (Array.isArray(items)) {
|
|
195
201
|
return decode(items[index], decodedElement);
|
|
196
202
|
}
|
|
@@ -206,9 +212,9 @@ function decode(schemaItem, decoded) {
|
|
|
206
212
|
}
|
|
207
213
|
}
|
|
208
214
|
function rlpArrayToJson(schema, decoded) {
|
|
209
|
-
|
|
215
|
+
var outObject = {};
|
|
210
216
|
if (schema.type === schema_1.SchemaTypes.OBJECT) {
|
|
211
|
-
|
|
217
|
+
var newShema = schema.properties;
|
|
212
218
|
if (newShema) {
|
|
213
219
|
return rlpArrayToJson(newShema, decoded);
|
|
214
220
|
}
|
|
@@ -216,13 +222,14 @@ function rlpArrayToJson(schema, decoded) {
|
|
|
216
222
|
throw new errors_1.NotFoundError(coinlib_error_1.Domain.SERIALIZER, 'Schema not available.');
|
|
217
223
|
}
|
|
218
224
|
}
|
|
219
|
-
|
|
225
|
+
var keys = Object.keys(schema).sort();
|
|
220
226
|
log(keys);
|
|
221
|
-
for (
|
|
222
|
-
|
|
227
|
+
for (var i = 0; i < keys.length; i++) {
|
|
228
|
+
var key = keys[i];
|
|
223
229
|
log(schema);
|
|
224
230
|
outObject[key] = decode(schema[key], decoded[i]);
|
|
225
231
|
}
|
|
226
232
|
return outObject;
|
|
227
233
|
}
|
|
234
|
+
exports.rlpArrayToJson = rlpArrayToJson;
|
|
228
235
|
//# sourceMappingURL=json-to-rlp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-to-rlp.js","sourceRoot":"","sources":["../../../src/v3/utils/json-to-rlp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json-to-rlp.js","sourceRoot":"","sources":["../../../src/v3/utils/json-to-rlp.ts"],"names":[],"mappings":"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"}
|
package/v3/utils/toBuffer.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export declare type CBORData = number | string | boolean | Buffer | CBORData[];
|
|
@@ -1,12 +1,48 @@
|
|
|
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
|
+
};
|
|
2
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
40
|
};
|
|
5
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.validateSyncScheme =
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
validate_1.validators.type = (value, options, key, attributes)
|
|
42
|
+
exports.validateSyncScheme = void 0;
|
|
43
|
+
var bignumber_1 = __importDefault(require("@airgap/coinlib-core/dependencies/src/bignumber.js-9.0.0/bignumber"));
|
|
44
|
+
var validate_1 = require("@airgap/coinlib-core/dependencies/src/validate.js-0.13.1/validate");
|
|
45
|
+
validate_1.validators.type = function (value, options, key, attributes) {
|
|
10
46
|
// allow empty values by default (needs to be checked by "presence" check)
|
|
11
47
|
if (value === null || typeof value === 'undefined') {
|
|
12
48
|
return null;
|
|
@@ -18,12 +54,12 @@ validate_1.validators.type = (value, options, key, attributes) => {
|
|
|
18
54
|
}
|
|
19
55
|
*/
|
|
20
56
|
if (!validate_1.validators.type.checks[options]) {
|
|
21
|
-
throw new Error(
|
|
57
|
+
throw new Error("Could not find validator for type ".concat(options));
|
|
22
58
|
}
|
|
23
|
-
return validate_1.validators.type.checks[options](value) ? null :
|
|
59
|
+
return validate_1.validators.type.checks[options](value) ? null : "is not of type \"".concat(options, "\"");
|
|
24
60
|
};
|
|
25
61
|
validate_1.validators.type.checks = {
|
|
26
|
-
Object(value) {
|
|
62
|
+
Object: function (value) {
|
|
27
63
|
return (0, validate_1.isObject)(value) && !(0, validate_1.isArray)(value);
|
|
28
64
|
},
|
|
29
65
|
Array: validate_1.isArray,
|
|
@@ -31,28 +67,28 @@ validate_1.validators.type.checks = {
|
|
|
31
67
|
Number: validate_1.isNumber,
|
|
32
68
|
String: validate_1.isString,
|
|
33
69
|
Date: validate_1.isDate,
|
|
34
|
-
Boolean(value) {
|
|
70
|
+
Boolean: function (value) {
|
|
35
71
|
return typeof value === 'boolean';
|
|
36
72
|
},
|
|
37
|
-
BigNumber(value) {
|
|
73
|
+
BigNumber: function (value) {
|
|
38
74
|
return bignumber_1.default.isBigNumber(value);
|
|
39
75
|
}
|
|
40
76
|
};
|
|
41
|
-
validate_1.validators.isHexStringWithPrefix = (value)
|
|
77
|
+
validate_1.validators.isHexStringWithPrefix = function (value) {
|
|
42
78
|
if (typeof value !== 'string') {
|
|
43
79
|
return 'is not hex string';
|
|
44
80
|
}
|
|
45
81
|
if (!value.startsWith('0x')) {
|
|
46
82
|
return 'is not hex string';
|
|
47
83
|
}
|
|
48
|
-
|
|
84
|
+
var hexWithoutPrefix = value.substr(2);
|
|
49
85
|
if (hexWithoutPrefix.length === 0) {
|
|
50
86
|
// For ethereum, "0x" is valid
|
|
51
87
|
return null;
|
|
52
88
|
}
|
|
53
89
|
return /[0-9A-F]/gi.test(hexWithoutPrefix) ? null : 'is not hex string';
|
|
54
90
|
};
|
|
55
|
-
validate_1.validators.isPublicKey = (value)
|
|
91
|
+
validate_1.validators.isPublicKey = function (value) {
|
|
56
92
|
if (typeof value !== 'string') {
|
|
57
93
|
return 'is not a valid public key: should be of type string';
|
|
58
94
|
}
|
|
@@ -61,30 +97,36 @@ validate_1.validators.isPublicKey = (value) => {
|
|
|
61
97
|
}
|
|
62
98
|
return /[0-9A-F]/gi.test(value) ? null : 'is not a valid public key: invalid characters';
|
|
63
99
|
};
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
100
|
+
function validateSyncScheme(syncScheme) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
+
var constraints;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
constraints = {
|
|
105
|
+
version: {
|
|
106
|
+
presence: { allowEmpty: false },
|
|
107
|
+
numericality: { noStrings: true, onlyInteger: true, greaterThanOrEqualTo: 0 }
|
|
108
|
+
},
|
|
109
|
+
type: {
|
|
110
|
+
presence: { allowEmpty: false },
|
|
111
|
+
numericality: { noStrings: true, onlyInteger: true, greaterThanOrEqualTo: 0 }
|
|
112
|
+
},
|
|
113
|
+
protocol: {
|
|
114
|
+
presence: { allowEmpty: false },
|
|
115
|
+
type: 'String',
|
|
116
|
+
length: {
|
|
117
|
+
minimum: 1
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
payload: {
|
|
121
|
+
presence: { allowEmpty: false },
|
|
122
|
+
type: 'Array'
|
|
123
|
+
}
|
|
124
|
+
};
|
|
125
|
+
return [2 /*return*/, (0, validate_1.validate)(syncScheme, constraints)];
|
|
126
|
+
});
|
|
127
|
+
});
|
|
87
128
|
}
|
|
129
|
+
exports.validateSyncScheme = validateSyncScheme;
|
|
88
130
|
// tslint:disable-next-line
|
|
89
131
|
/*
|
|
90
132
|
function validateSerializationInput(from: string, fee: BigNumber, amount: BigNumber, publicKey: string, transaction: any) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/v3/validators/validators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/v3/validators/validators.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iHAA0F;AAC1F,8FAS0E;AAE1E,qBAAU,CAAC,IAAI,GAAG,UAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU;IAChD,0EAA0E;IAC1E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAClD,OAAO,IAAI,CAAA;KACZ;IAED,8FAA8F;IAC9F;;;;MAIE;IACF,IAAI,CAAC,qBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,4CAAqC,OAAO,CAAE,CAAC,CAAA;KAChE;IAED,OAAO,qBAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,2BAAmB,OAAO,OAAG,CAAA;AACtF,CAAC,CAAA;AAED,qBAAU,CAAC,IAAI,CAAC,MAAM,GAAG;IACvB,MAAM,YAAC,KAAc;QACnB,OAAO,IAAA,mBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAO,EAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;IACD,KAAK,EAAE,kBAAO;IACd,OAAO,EAAE,oBAAS;IAClB,MAAM,EAAE,mBAAQ;IAChB,MAAM,EAAE,mBAAQ;IAChB,IAAI,EAAE,iBAAM;IACZ,OAAO,YAAC,KAAc;QACpB,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;IACnC,CAAC;IACD,SAAS,YAAC,KAAc;QACtB,OAAO,mBAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACrC,CAAC;CACF,CAAA;AAED,qBAAU,CAAC,qBAAqB,GAAG,UAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,mBAAmB,CAAA;KAC3B;IACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAC3B,OAAO,mBAAmB,CAAA;KAC3B;IAED,IAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACxC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,8BAA8B;QAC9B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAA;AACzE,CAAC,CAAA;AAED,qBAAU,CAAC,WAAW,GAAG,UAAC,KAAc;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,qDAAqD,CAAA;KAC7D;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE;QACvB,OAAO,yCAAyC,CAAA;KACjD;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,+CAA+C,CAAA;AAC1F,CAAC,CAAA;AAED,SAAsB,kBAAkB,CAAC,UAAmB;;;;YACpD,WAAW,GAAG;gBAClB,OAAO,EAAE;oBACP,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;oBAC/B,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAE;iBAC9E;gBACD,IAAI,EAAE;oBACJ,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;oBAC/B,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAE;iBAC9E;gBACD,QAAQ,EAAE;oBACR,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;oBAC/B,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE;wBACN,OAAO,EAAE,CAAC;qBACX;iBACF;gBACD,OAAO,EAAE;oBACP,QAAQ,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;oBAC/B,IAAI,EAAE,OAAO;iBACd;aACF,CAAA;YAED,sBAAO,IAAA,mBAAQ,EAAC,UAAU,EAAE,WAAW,CAAC,EAAA;;;CACzC;AAxBD,gDAwBC;AAED,2BAA2B;AAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCE"}
|