@ellipticltd/aml-utils 0.15.9 → 0.15.10-SCR-1297-2

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 (126) hide show
  1. package/README.md +9 -43
  2. package/{dist → lib}/file-parser/errors.js +1 -1
  3. package/lib/file-parser/errors.js.map +1 -0
  4. package/{dist → lib}/file-parser/file-parser.d.ts +1 -3
  5. package/{dist → lib}/file-parser/file-parser.js +10 -18
  6. package/lib/file-parser/file-parser.js.map +1 -0
  7. package/{dist/structured-file-parser → lib/file-parser}/parse-row.js +2 -1
  8. package/lib/file-parser/parse-row.js.map +1 -0
  9. package/{dist/file-parser/sanitzeRows.d.ts → lib/file-parser/sanitizeRows.d.ts} +3 -1
  10. package/lib/file-parser/sanitizeRows.js +15 -0
  11. package/lib/file-parser/sanitizeRows.js.map +1 -0
  12. package/{dist → lib}/index.d.ts +1 -1
  13. package/lib/index.js +21 -0
  14. package/lib/index.js.map +1 -0
  15. package/{dist → lib}/structured-file-parser/errors.js +1 -0
  16. package/lib/structured-file-parser/errors.js.map +1 -0
  17. package/{dist/file-parser → lib/structured-file-parser}/parse-row.js +2 -1
  18. package/lib/structured-file-parser/parse-row.js.map +1 -0
  19. package/{dist → lib}/structured-file-parser/sanitize-rows.js +3 -4
  20. package/lib/structured-file-parser/sanitize-rows.js.map +1 -0
  21. package/{dist → lib}/structured-file-parser/structured-file-parser.js +16 -28
  22. package/lib/structured-file-parser/structured-file-parser.js.map +1 -0
  23. package/package.json +10 -61
  24. package/.circleci/config.yml +0 -87
  25. package/.eslintrc +0 -44
  26. package/.huskyrc +0 -5
  27. package/.mocharc.json +0 -3
  28. package/.nvmrc +0 -1
  29. package/.nyc_output/6b68ea83-db7a-45cb-b572-16338a5cea4b.json +0 -1
  30. package/.nyc_output/a74c6648-3619-4b08-bc8c-ac8cb4959f43.json +0 -1
  31. package/.nyc_output/c9b6c4ce-fddf-403b-aa2e-aac05145213c.json +0 -1
  32. package/.nyc_output/d9967655-96b8-471a-9686-a4585437f85a.json +0 -1
  33. package/.nyc_output/processinfo/6b68ea83-db7a-45cb-b572-16338a5cea4b.json +0 -1
  34. package/.nyc_output/processinfo/a74c6648-3619-4b08-bc8c-ac8cb4959f43.json +0 -1
  35. package/.nyc_output/processinfo/c9b6c4ce-fddf-403b-aa2e-aac05145213c.json +0 -1
  36. package/.nyc_output/processinfo/d9967655-96b8-471a-9686-a4585437f85a.json +0 -1
  37. package/.nyc_output/processinfo/index.json +0 -1
  38. package/.nycrc.json +0 -11
  39. package/.releaserc.json +0 -18
  40. package/.snyk +0 -12
  41. package/codecov.yml +0 -29
  42. package/commitlint.config.js +0 -1
  43. package/coverage/base.css +0 -224
  44. package/coverage/block-navigation.js +0 -79
  45. package/coverage/errors/errors.js.html +0 -228
  46. package/coverage/errors/errors.spec.js.html +0 -180
  47. package/coverage/errors/index.html +0 -110
  48. package/coverage/file-parser/__tests/file-parser.spec.js.html +0 -390
  49. package/coverage/file-parser/__tests/index.html +0 -123
  50. package/coverage/file-parser/__tests/parse-row.spec.js.html +0 -174
  51. package/coverage/file-parser/__tests/sanitize-rows.spec.js.html +0 -333
  52. package/coverage/formatting/formatting.js.html +0 -123
  53. package/coverage/formatting/formatting.spec.js.html +0 -204
  54. package/coverage/formatting/index.html +0 -110
  55. package/coverage/index.html +0 -175
  56. package/coverage/middleware/index.html +0 -97
  57. package/coverage/middleware/middleware.js.html +0 -144
  58. package/coverage/orm-helpers/index.html +0 -110
  59. package/coverage/orm-helpers/ormHelpers.js.html +0 -123
  60. package/coverage/orm-helpers/ormHelpers.spec.js.html +0 -192
  61. package/coverage/prettify.css +0 -1
  62. package/coverage/prettify.js +0 -2
  63. package/coverage/sort-arrow-sprite.png +0 -0
  64. package/coverage/sorter.js +0 -170
  65. package/coverage/types/index.html +0 -97
  66. package/coverage/types/types.js.html +0 -708
  67. package/coverage/validations/index.html +0 -110
  68. package/coverage/validations/validations.js.html +0 -1419
  69. package/coverage/validations/validations.spec.js.html +0 -1800
  70. package/dist/errors/errors.d.ts +0 -9
  71. package/dist/errors/errors.js +0 -42
  72. package/dist/errors/errors.spec.d.ts +0 -1
  73. package/dist/errors/errors.spec.js +0 -23
  74. package/dist/file-parser/__tests/file-parser.spec.d.ts +0 -1
  75. package/dist/file-parser/__tests/file-parser.spec.js +0 -118
  76. package/dist/file-parser/__tests/parse-row.spec.d.ts +0 -1
  77. package/dist/file-parser/__tests/parse-row.spec.js +0 -29
  78. package/dist/file-parser/__tests/sanitize-rows.spec.d.ts +0 -1
  79. package/dist/file-parser/__tests/sanitize-rows.spec.js +0 -78
  80. package/dist/file-parser/sanitzeRows.js +0 -18
  81. package/dist/formatting/formatting.d.ts +0 -2
  82. package/dist/formatting/formatting.js +0 -17
  83. package/dist/formatting/formatting.spec.d.ts +0 -1
  84. package/dist/formatting/formatting.spec.js +0 -37
  85. package/dist/index.js +0 -22
  86. package/dist/middleware/middleware.d.ts +0 -4
  87. package/dist/middleware/middleware.js +0 -22
  88. package/dist/orm-helpers/ormHelpers.d.ts +0 -1
  89. package/dist/orm-helpers/ormHelpers.js +0 -17
  90. package/dist/orm-helpers/ormHelpers.spec.d.ts +0 -1
  91. package/dist/orm-helpers/ormHelpers.spec.js +0 -38
  92. package/dist/types/types.d.ts +0 -17
  93. package/dist/types/types.js +0 -203
  94. package/dist/validations/validations.d.ts +0 -232
  95. package/dist/validations/validations.js +0 -459
  96. package/dist/validations/validations.spec.d.ts +0 -1
  97. package/dist/validations/validations.spec.js +0 -463
  98. package/lib/errors/errors.js +0 -53
  99. package/lib/errors/errors.spec.js +0 -37
  100. package/lib/file-parser/__tests/file-parser.spec.js +0 -107
  101. package/lib/file-parser/__tests/parse-row.spec.js +0 -35
  102. package/lib/file-parser/__tests/sanitize-rows.spec.js +0 -88
  103. package/lib/file-parser/errors.ts +0 -7
  104. package/lib/file-parser/file-parser.ts +0 -84
  105. package/lib/file-parser/parse-row.ts +0 -52
  106. package/lib/file-parser/sanitzeRows.ts +0 -32
  107. package/lib/formatting/formatting.js +0 -18
  108. package/lib/formatting/formatting.spec.js +0 -45
  109. package/lib/index.ts +0 -19
  110. package/lib/middleware/middleware.js +0 -25
  111. package/lib/orm-helpers/ormHelpers.js +0 -18
  112. package/lib/orm-helpers/ormHelpers.spec.js +0 -41
  113. package/lib/structured-file-parser/errors.ts +0 -25
  114. package/lib/structured-file-parser/parse-row.ts +0 -52
  115. package/lib/structured-file-parser/sanitize-rows.ts +0 -24
  116. package/lib/structured-file-parser/structured-file-parser.ts +0 -155
  117. package/lib/types/types.js +0 -213
  118. package/lib/validations/validations.js +0 -466
  119. package/lib/validations/validations.spec.js +0 -603
  120. package/tsconfig.json +0 -26
  121. /package/{dist → lib}/file-parser/errors.d.ts +0 -0
  122. /package/{dist → lib}/file-parser/parse-row.d.ts +0 -0
  123. /package/{dist → lib}/structured-file-parser/errors.d.ts +0 -0
  124. /package/{dist → lib}/structured-file-parser/parse-row.d.ts +0 -0
  125. /package/{dist → lib}/structured-file-parser/sanitize-rows.d.ts +0 -0
  126. /package/{dist → lib}/structured-file-parser/structured-file-parser.d.ts +0 -0
@@ -1,459 +0,0 @@
1
- "use strict";
2
- const V = require('validator');
3
- const _ = require('lodash');
4
- const { crypto: { Signature }, HDPrivateKey, HDPublicKey, PublicKey, Script, Transaction, } = require('bitcore-lib');
5
- const addressValidator = require('multicoin-address-validator');
6
- const zilUtils = require('@zilliqa-js/util');
7
- const web3 = require('web3-utils');
8
- const stellarSDK = require('stellar-sdk');
9
- const E = require('../errors/errors');
10
- const validations = {
11
- _validate(Err, pred, x, msg) {
12
- if (pred(x)) {
13
- return x;
14
- }
15
- throw new Err(msg);
16
- },
17
- _validateArg(pred, x, msg) {
18
- return this._validate(E.InvalidArguments, pred, x, msg);
19
- },
20
- _tryCheck(fn, arg) {
21
- try {
22
- fn(arg);
23
- return true;
24
- }
25
- catch (error) {
26
- return false;
27
- }
28
- },
29
- exists(x) {
30
- return x != null;
31
- },
32
- nonEmpty(x) {
33
- return (x != null ? x.length : undefined) > 0;
34
- },
35
- isNonEmptyString(x) {
36
- return _.isString(x) && (x != null ? x.length : undefined) > 0;
37
- },
38
- isSafeString(str) {
39
- // eslint-disable-next-line no-useless-escape
40
- return RegExp(/^(\p{L}|[0-9]|-|=|!|\.|:|\s|@|\+|_|,|\$|£|&)+$/, 'u').test(str);
41
- },
42
- ensureShortEnough(limit, x) {
43
- const l = x != null ? x.length : undefined;
44
- if (l <= limit) {
45
- return true;
46
- }
47
- throw new E.BadRequest(`Max query size exceeded: ${l} / ${limit}`);
48
- },
49
- ensure(crit, msg) {
50
- if (crit) {
51
- return true;
52
- }
53
- throw new E.BadRequest(msg);
54
- },
55
- argExists(x, msg) {
56
- return this._validateArg(this.exists, x, msg);
57
- },
58
- check: {
59
- matches(required, given, msg) {
60
- const newGiven = _.uniq(given);
61
- const crit = _.intersection(newGiven, required).length === given.length;
62
- if (crit) {
63
- return true;
64
- }
65
- throw new E.BadRequest(msg);
66
- },
67
- wasFound(type) {
68
- return (item) => {
69
- if (item == null) {
70
- throw new E.NotFound(`Unknown ${type}`);
71
- }
72
- else {
73
- return item;
74
- }
75
- };
76
- },
77
- wasCreated(msg) {
78
- return (arr) => {
79
- if (!arr[1]) {
80
- throw new E.BadRequest(msg);
81
- }
82
- else {
83
- return arr;
84
- }
85
- };
86
- },
87
- isTrue(crit, msg) {
88
- if (crit) {
89
- return true;
90
- }
91
- throw new E.BadRequest(msg);
92
- },
93
- isFalse(crit, msg) {
94
- if (!crit) {
95
- return true;
96
- }
97
- throw new E.BadRequest(msg);
98
- },
99
- },
100
- isCustomerReference(x) {
101
- return (_.isString(x)
102
- && (x != null ? x.length : undefined) > 0
103
- && (x != null ? x.length : undefined) <= 100);
104
- },
105
- isCustomerLabelName(x) {
106
- return (_.isString(x)
107
- && (x != null ? x.length : undefined) > 0
108
- && (x != null ? x.length : undefined) <= 50);
109
- },
110
- binanceChain: {
111
- isAddress(str) {
112
- return /^(bnb)([a-z0-9]{39})$/.test(str);
113
- },
114
- isTxHash(str) {
115
- if (!V.isHexadecimal(str)) {
116
- return false;
117
- }
118
- return str.length === 64;
119
- },
120
- },
121
- bitcoin: {
122
- isAddress(str) {
123
- const network = process.env.BITCOIN_NETWORK === 'testnet' ? 'testnet' : 'prod';
124
- return typeof str === 'string' && addressValidator.validate(str.trim(), 'btc', network);
125
- },
126
- isBech32Address(str) {
127
- return /^bc1[ac-hj-np-z02-9]{6,86}|^BC1[AC-HJ-NP-Z02-9]{6,86}/.test(str);
128
- },
129
- isHDPublicKey(str) {
130
- try {
131
- HDPublicKey(str);
132
- return true;
133
- }
134
- catch (error) {
135
- return false;
136
- }
137
- },
138
- isPublicKey(str) {
139
- try {
140
- PublicKey(str);
141
- return true;
142
- }
143
- catch (error) {
144
- return false;
145
- }
146
- },
147
- isTxHash(str) {
148
- if (!V.isHexadecimal(str)) {
149
- return false;
150
- }
151
- return str.length === 64;
152
- },
153
- isTxHex(str) {
154
- if (!V.isHexadecimal(str)) {
155
- return false;
156
- }
157
- try {
158
- Transaction(str);
159
- return true;
160
- }
161
- catch (error) {
162
- return false;
163
- }
164
- },
165
- isHDPath(str) {
166
- return HDPrivateKey.isValidPath(str);
167
- },
168
- isScriptHex(str) {
169
- if (!V.isHexadecimal(str)) {
170
- return false;
171
- }
172
- try {
173
- Script(str);
174
- return true;
175
- }
176
- catch (error) {
177
- return false;
178
- }
179
- },
180
- isTxSignature(str) {
181
- if (!V.isHexadecimal(str)) {
182
- return false;
183
- }
184
- try {
185
- const b = Buffer.from(str, 'hex');
186
- Signature.fromTxFormat(b);
187
- return true;
188
- }
189
- catch (error) {
190
- return false;
191
- }
192
- },
193
- isBlockHeight(obj) {
194
- return _.isInteger(+obj) && parseInt(obj, 10) >= 0;
195
- },
196
- },
197
- bitcoinCash: {
198
- isAddress(str) {
199
- return /^[13][a-km-zA-HJ-NP-Z1-9]{25,34}$|^(bitcoincash:)?[q|p][a-z0-9]{41}$|^(BITCOINCASH:)?[Q|P][A-Z0-9]{41}$/.test(str);
200
- },
201
- isTxHash(str) {
202
- if (!V.isHexadecimal(str)) {
203
- return false;
204
- }
205
- return str.length === 64;
206
- },
207
- },
208
- ethereum: {
209
- isAddress(str) {
210
- return web3.isAddress(str);
211
- },
212
- isBlockHash(str) {
213
- return str.length === 66 && web3.isHexStrict(str);
214
- },
215
- isTxHash(str) {
216
- return str.length === 66 && web3.isHexStrict(str);
217
- },
218
- isAddressCode(str) {
219
- return web3.isHexStrict(str);
220
- },
221
- isValidWeiAmount(str) {
222
- try {
223
- web3.fromWei(str);
224
- return true;
225
- }
226
- catch (e) {
227
- return false;
228
- }
229
- },
230
- },
231
- horizen: {
232
- isAddress(str) {
233
- return addressValidator.validate(str, 'zen');
234
- },
235
- isTxHash(str) {
236
- if (!V.isHexadecimal(str)) {
237
- return false;
238
- }
239
- return str.length === 64;
240
- },
241
- },
242
- litecoin: {
243
- isAddress(str) {
244
- return /^[3LM][a-km-zA-HJ-NP-Z1-9]{24,33}$|^ltc1[ac-hj-np-z02-9]{6,86}$|^LTC1[AC-HJ-NP-Z02-9]{6,86}$|^ltcmweb[a-zA-Z0-9]{114}$/.test(str);
245
- },
246
- isTxHash(str) {
247
- if (!V.isHexadecimal(str)) {
248
- return false;
249
- }
250
- return str.length === 64;
251
- },
252
- },
253
- ripple: {
254
- isAddress(str) {
255
- return addressValidator.validate(str, 'xrp');
256
- },
257
- isTxHash(str) {
258
- if (!V.isHexadecimal(str)) {
259
- return false;
260
- }
261
- return str.length === 64;
262
- },
263
- },
264
- stellar: {
265
- isAddress(str) {
266
- return stellarSDK.StrKey.isValidEd25519PublicKey(str);
267
- },
268
- isTxHash(str) {
269
- if (!V.isHexadecimal(str)) {
270
- return false;
271
- }
272
- return str.length === 64;
273
- },
274
- },
275
- zcash: {
276
- isAddress(str) {
277
- return addressValidator.validate(str, 'zec');
278
- },
279
- isTxHash(str) {
280
- if (!V.isHexadecimal(str)) {
281
- return false;
282
- }
283
- return str.length === 64;
284
- },
285
- },
286
- zilliqa: {
287
- isAddress(str) {
288
- return zilUtils.validation.isBech32(str);
289
- },
290
- isTxHash(str) {
291
- return str.length === 66 && web3.isHexStrict(str);
292
- },
293
- },
294
- algorand: {
295
- isAddress(str) {
296
- return addressValidator.validate(str, 'algo');
297
- },
298
- isTxHash(str) {
299
- return str.length === 52;
300
- },
301
- },
302
- tezos: {
303
- isAddress(str) {
304
- return str[0] !== 'o' && addressValidator.validate(str, 'xtz');
305
- },
306
- isTxHash(str) {
307
- return str.length === 51;
308
- },
309
- },
310
- polkadot: {
311
- isAddress(str) {
312
- return addressValidator.validate(str, 'dot');
313
- },
314
- isTxHash(str) {
315
- return str.length === 66 && web3.isHexStrict(str);
316
- },
317
- },
318
- cardano: {
319
- isAddress(str) {
320
- return addressValidator.validate(str, 'ada');
321
- },
322
- isTxHash(str) {
323
- if (!V.isHexadecimal(str)) {
324
- return false;
325
- }
326
- return str.length === 64;
327
- },
328
- },
329
- cryptocom: {
330
- isAddress(str) {
331
- return addressValidator.validate(str, 'cro');
332
- },
333
- isTxHash(str) {
334
- if (!V.isHexadecimal(str)) {
335
- return false;
336
- }
337
- return str.length === 64;
338
- },
339
- },
340
- near: {
341
- isAddress(str) {
342
- // https://nomicon.io/DataStructures/Account
343
- return /^(([a-z\d]+[-_])*[a-z\d]+\.)*([a-z\d]+[-_])*[a-z\d]+$/.test(str);
344
- },
345
- isTxHash(str) {
346
- return str.length === 44 || str.length === 43;
347
- },
348
- },
349
- doge: {
350
- isAddress(str) {
351
- return /^[a-zA-Z\d]{34}$/.test(str);
352
- },
353
- isTxHash(str) {
354
- return str.length === 64;
355
- },
356
- },
357
- cosmos: {
358
- isAddress(str) {
359
- return /^cosmos{1}[a-zA-Z\d]{39}$/.test(str);
360
- },
361
- isTxHash(str) {
362
- return str.length === 64 && web3.isHex(str);
363
- },
364
- },
365
- solana: {
366
- isAddress(str) {
367
- return /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(str);
368
- },
369
- isTxHash(str) {
370
- return /^[1-9A-HJ-NP-Za-km-z]{77,88}$/.test(str);
371
- },
372
- },
373
- binanceSmartChain: {
374
- isAddress(str) {
375
- return web3.isAddress(str);
376
- },
377
- isTxHash(str) {
378
- return str.length === 66 && web3.isHexStrict(str);
379
- },
380
- },
381
- polygon: {
382
- isAddress(str) {
383
- return web3.isAddress(str);
384
- },
385
- isTxHash(str) {
386
- return str.length === 66 && web3.isHexStrict(str);
387
- },
388
- },
389
- filecoin: {
390
- isAddress(str) {
391
- return /^(f0|f1|f2|f3)/.test(str);
392
- },
393
- isTxHash(str) {
394
- return str.length === 62 && /^bafy2bza/.test(str);
395
- },
396
- },
397
- optimism: {
398
- isAddress(str) {
399
- return web3.isAddress(str);
400
- },
401
- isTxHash(str) {
402
- return str.length === 66 && web3.isHexStrict(str);
403
- },
404
- },
405
- avalanche: {
406
- isAddress(str) {
407
- return web3.isAddress(str);
408
- },
409
- isTxHash(str) {
410
- return str.length === 66 && web3.isHexStrict(str);
411
- },
412
- },
413
- arbitrum: {
414
- isAddress(str) {
415
- return web3.isAddress(str);
416
- },
417
- isTxHash(str) {
418
- return str.length === 66 && web3.isHexStrict(str);
419
- },
420
- },
421
- tron: {
422
- isAddress(str) {
423
- return addressValidator.validate(str, 'tron');
424
- },
425
- isTxHash(str) {
426
- return str.length === 64 && web3.isHex(str);
427
- },
428
- },
429
- fantom: {
430
- isAddress(str) {
431
- return web3.isAddress(str);
432
- },
433
- isTxHash(str) {
434
- return str.length === 66 && web3.isHexStrict(str);
435
- },
436
- },
437
- celo: {
438
- isAddress(str) {
439
- return web3.isAddress(str);
440
- },
441
- isTxHash(str) {
442
- return str.length === 66 && web3.isHexStrict(str);
443
- },
444
- },
445
- ethereumClassic: {
446
- isAddress(str) {
447
- return web3.isAddress(str);
448
- },
449
- isTxHash(str) {
450
- return str.length === 66 && web3.isHexStrict(str);
451
- },
452
- },
453
- };
454
- Object.keys(V).forEach((k) => {
455
- const v = V[k];
456
- // don't trigger validation with null values (prevents swagger 500 error)
457
- validations[k] = (x) => (x === null ? false : v(x));
458
- });
459
- module.exports = validations;
@@ -1 +0,0 @@
1
- export {};