@ellipticltd/aml-utils 0.14.2-SCR-638 → 0.14.2-SCR-638-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.
- package/.nyc_output/{50d7e15d-d00b-4574-b361-03b3e6cbc1b6.json → 27c9be00-3b59-4df0-8a91-22e34f5808f0.json} +1 -1
- package/.nyc_output/51823658-8f83-4dc0-a25d-91c954ec47ed.json +1 -0
- package/.nyc_output/processinfo/{50d7e15d-d00b-4574-b361-03b3e6cbc1b6.json → 27c9be00-3b59-4df0-8a91-22e34f5808f0.json} +1 -1
- package/.nyc_output/processinfo/{e9e3faad-ff55-4ff3-a7d2-e47e532d4515.json → 51823658-8f83-4dc0-a25d-91c954ec47ed.json} +1 -1
- package/.nyc_output/processinfo/6ee657ae-c713-4626-bbe0-815cb23bfcc9.json +1 -0
- package/.nyc_output/processinfo/b1e130ab-7239-44b4-93c4-fc6b996ad518.json +1 -0
- package/.nyc_output/processinfo/index.json +1 -1
- package/coverage/errors/errors.js.html +1 -1
- package/coverage/errors/errors.spec.js.html +1 -1
- package/coverage/errors/index.html +1 -1
- package/coverage/file-parser/__tests/file-parser.spec.js.html +1 -1
- package/coverage/file-parser/__tests/index.html +1 -1
- package/coverage/file-parser/__tests/parse-row.spec.js.html +1 -1
- package/coverage/file-parser/__tests/sanitize-rows.spec.js.html +1 -1
- package/coverage/formatting/formatting.js.html +1 -1
- package/coverage/formatting/formatting.spec.js.html +1 -1
- package/coverage/formatting/index.html +1 -1
- package/coverage/index.html +18 -18
- package/coverage/middleware/index.html +1 -1
- package/coverage/middleware/middleware.js.html +1 -1
- package/coverage/orm-helpers/index.html +1 -1
- package/coverage/orm-helpers/ormHelpers.js.html +1 -1
- package/coverage/orm-helpers/ormHelpers.spec.js.html +1 -1
- package/coverage/types/index.html +1 -1
- package/coverage/types/types.js.html +1 -1
- package/coverage/validations/index.html +24 -24
- package/coverage/validations/validations.js.html +59 -11
- package/coverage/validations/validations.spec.js.html +109 -13
- package/dist/validations/validations.d.ts +13 -1
- package/dist/validations/validations.js +17 -1
- package/dist/validations/validations.spec.js +28 -6
- package/lib/validations/validations.js +17 -1
- package/lib/validations/validations.spec.js +38 -6
- package/package.json +1 -1
- package/.nyc_output/e9e3faad-ff55-4ff3-a7d2-e47e532d4515.json +0 -1
- package/.nyc_output/processinfo/98b3b25b-5caa-4b0f-8d28-d2b39efffe24.json +0 -1
- package/.nyc_output/processinfo/9a42d973-6534-4af1-b756-cce56e24650e.json +0 -1
- /package/.nyc_output/{98b3b25b-5caa-4b0f-8d28-d2b39efffe24.json → 6ee657ae-c713-4626-bbe0-815cb23bfcc9.json} +0 -0
- /package/.nyc_output/{9a42d973-6534-4af1-b756-cce56e24650e.json → b1e130ab-7239-44b4-93c4-fc6b996ad518.json} +0 -0
|
@@ -20,9 +20,9 @@
|
|
|
20
20
|
</h1>
|
|
21
21
|
<div class='clearfix'>
|
|
22
22
|
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">99.
|
|
23
|
+
<span class="strong">99.16% </span>
|
|
24
24
|
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>
|
|
25
|
+
<span class='fraction'>353/356</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
28
|
<span class="strong">83.33% </span>
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
<span class='fraction'>20/24</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">98.
|
|
33
|
+
<span class="strong">98.57% </span>
|
|
34
34
|
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>207/210</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div class='fl pad1y space-right2'>
|
|
38
38
|
<span class="strong">100% </span>
|
|
39
39
|
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>
|
|
40
|
+
<span class='fraction'>236/236</span>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
<p class="quiet">
|
|
@@ -465,7 +465,39 @@
|
|
|
465
465
|
<a name='L417'></a><a href='#L417'>417</a>
|
|
466
466
|
<a name='L418'></a><a href='#L418'>418</a>
|
|
467
467
|
<a name='L419'></a><a href='#L419'>419</a>
|
|
468
|
-
<a name='L420'></a><a href='#L420'>420</a
|
|
468
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
469
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
470
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
471
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
472
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
473
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
474
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
475
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
476
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
477
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
478
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
479
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
480
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
481
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
482
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
483
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
484
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
485
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
486
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
487
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
488
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
489
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
490
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
491
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
492
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
493
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
494
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
495
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
496
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
497
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
498
|
+
<a name='L450'></a><a href='#L450'>450</a>
|
|
499
|
+
<a name='L451'></a><a href='#L451'>451</a>
|
|
500
|
+
<a name='L452'></a><a href='#L452'>452</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
469
501
|
<span class="cline-any cline-neutral"> </span>
|
|
470
502
|
<span class="cline-any cline-yes">1x</span>
|
|
471
503
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -884,6 +916,38 @@
|
|
|
884
916
|
<span class="cline-any cline-neutral"> </span>
|
|
885
917
|
<span class="cline-any cline-neutral"> </span>
|
|
886
918
|
<span class="cline-any cline-neutral"> </span>
|
|
919
|
+
<span class="cline-any cline-yes">1x</span>
|
|
920
|
+
<span class="cline-any cline-yes">1x</span>
|
|
921
|
+
<span class="cline-any cline-yes">1x</span>
|
|
922
|
+
<span class="cline-any cline-neutral"> </span>
|
|
923
|
+
<span class="cline-any cline-yes">1x</span>
|
|
924
|
+
<span class="cline-any cline-neutral"> </span>
|
|
925
|
+
<span class="cline-any cline-yes">1x</span>
|
|
926
|
+
<span class="cline-any cline-neutral"> </span>
|
|
927
|
+
<span class="cline-any cline-neutral"> </span>
|
|
928
|
+
<span class="cline-any cline-yes">1x</span>
|
|
929
|
+
<span class="cline-any cline-yes">1x</span>
|
|
930
|
+
<span class="cline-any cline-neutral"> </span>
|
|
931
|
+
<span class="cline-any cline-yes">1x</span>
|
|
932
|
+
<span class="cline-any cline-neutral"> </span>
|
|
933
|
+
<span class="cline-any cline-neutral"> </span>
|
|
934
|
+
<span class="cline-any cline-neutral"> </span>
|
|
935
|
+
<span class="cline-any cline-yes">1x</span>
|
|
936
|
+
<span class="cline-any cline-yes">1x</span>
|
|
937
|
+
<span class="cline-any cline-yes">1x</span>
|
|
938
|
+
<span class="cline-any cline-neutral"> </span>
|
|
939
|
+
<span class="cline-any cline-yes">1x</span>
|
|
940
|
+
<span class="cline-any cline-neutral"> </span>
|
|
941
|
+
<span class="cline-any cline-yes">1x</span>
|
|
942
|
+
<span class="cline-any cline-neutral"> </span>
|
|
943
|
+
<span class="cline-any cline-neutral"> </span>
|
|
944
|
+
<span class="cline-any cline-yes">1x</span>
|
|
945
|
+
<span class="cline-any cline-yes">1x</span>
|
|
946
|
+
<span class="cline-any cline-neutral"> </span>
|
|
947
|
+
<span class="cline-any cline-yes">1x</span>
|
|
948
|
+
<span class="cline-any cline-neutral"> </span>
|
|
949
|
+
<span class="cline-any cline-neutral"> </span>
|
|
950
|
+
<span class="cline-any cline-neutral"> </span>
|
|
887
951
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import validations from './validations';
|
|
888
952
|
|
|
889
953
|
const chai = require('chai');
|
|
@@ -1287,19 +1351,51 @@ describe('Validations', () => {
|
|
|
1287
1351
|
|
|
1288
1352
|
describe('ATOM', () => {
|
|
1289
1353
|
describe('isAddress', () => {
|
|
1290
|
-
it('should correctly validate valid ATOM addresses', () => validations.
|
|
1354
|
+
it('should correctly validate valid ATOM addresses', () => validations.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.true);
|
|
1355
|
+
|
|
1356
|
+
it('should correctly validate an incorrect ATOM address', () => validations.cosmos.isAddress('kosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.false);
|
|
1357
|
+
|
|
1358
|
+
it('should correctly validate an incorrect (too long) ATOM address', () => validations.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x50').should.be.false);
|
|
1359
|
+
});
|
|
1360
|
+
|
|
1361
|
+
describe('isTxHash', () => {
|
|
1362
|
+
it('should correctly validate a valid ATOM hash', () => validations.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.true);
|
|
1363
|
+
|
|
1364
|
+
it('should correctly validate an incorrect ATOM hash', () => validations.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7').should.be.false);
|
|
1365
|
+
|
|
1366
|
+
it('should return false when passed a non-hex string', () => validations.cosmos.isTxHash('ZZA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.false);
|
|
1367
|
+
});
|
|
1368
|
+
});
|
|
1369
|
+
|
|
1370
|
+
describe('SOL', () => {
|
|
1371
|
+
describe('isAddress', () => {
|
|
1372
|
+
it('should correctly validate valid SOL addresses', () => validations.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.true);
|
|
1291
1373
|
|
|
1292
|
-
it('should correctly validate an incorrect
|
|
1374
|
+
it('should correctly validate an incorrect SOL address', () => validations.solana.isAddress('L0JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.false);
|
|
1293
1375
|
|
|
1294
|
-
it('should correctly validate an incorrect (too long)
|
|
1376
|
+
it('should correctly validate an incorrect (too long) SOL address', () => validations.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24TAAAAAAAAAAAAAAA').should.be.false);
|
|
1295
1377
|
});
|
|
1296
1378
|
|
|
1297
1379
|
describe('isTxHash', () => {
|
|
1298
|
-
it('should correctly validate a valid
|
|
1380
|
+
it('should correctly validate a valid SOL hash', () => validations.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzETPHfTRi4E8fmVedFT4bPYc1BiELG3Ldway6oPTSXpVJZRM4mqEdz2Uuh5n9VQp8x').should.be.true);
|
|
1381
|
+
|
|
1382
|
+
it('should correctly validate an incorrect SOL hash', () => validations.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzET').should.be.false);
|
|
1383
|
+
});
|
|
1384
|
+
});
|
|
1299
1385
|
|
|
1300
|
-
|
|
1386
|
+
describe('BSC', () => {
|
|
1387
|
+
describe('isAddress', () => {
|
|
1388
|
+
it('should correctly validate valid BSC addresses', () => validations.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.true);
|
|
1389
|
+
|
|
1390
|
+
it('should correctly validate an incorrect BSC address', () => validations.binanceSmartChain.isAddress('0xz616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.false);
|
|
1391
|
+
|
|
1392
|
+
it('should correctly validate an incorrect (too long) BSC address', () => validations.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7caaaaa').should.be.false);
|
|
1393
|
+
});
|
|
1394
|
+
|
|
1395
|
+
describe('isTxHash', () => {
|
|
1396
|
+
it('should correctly validate a valid BSC hash', () => validations.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17a7f8abfdda020cb1f39abe269').should.be.true);
|
|
1301
1397
|
|
|
1302
|
-
it('should
|
|
1398
|
+
it('should correctly validate an incorrect BSC hash', () => validations.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17').should.be.false);
|
|
1303
1399
|
});
|
|
1304
1400
|
});
|
|
1305
1401
|
});
|
|
@@ -1309,7 +1405,7 @@ describe('Validations', () => {
|
|
|
1309
1405
|
</div><!-- /wrapper -->
|
|
1310
1406
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1311
1407
|
Code coverage
|
|
1312
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
1408
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu Jul 28 2022 15:10:36 GMT+0200 (CEST)
|
|
1313
1409
|
</div>
|
|
1314
1410
|
</div>
|
|
1315
1411
|
<script src="../prettify.js"></script>
|
|
@@ -158,9 +158,21 @@ export namespace doge {
|
|
|
158
158
|
function isTxHash(str: any): boolean;
|
|
159
159
|
function isTxHash(str: any): boolean;
|
|
160
160
|
}
|
|
161
|
-
export namespace
|
|
161
|
+
export namespace cosmos {
|
|
162
162
|
function isAddress(str: any): boolean;
|
|
163
163
|
function isAddress(str: any): boolean;
|
|
164
164
|
function isTxHash(str: any): any;
|
|
165
165
|
function isTxHash(str: any): any;
|
|
166
166
|
}
|
|
167
|
+
export namespace solana {
|
|
168
|
+
function isAddress(str: any): boolean;
|
|
169
|
+
function isAddress(str: any): boolean;
|
|
170
|
+
function isTxHash(str: any): boolean;
|
|
171
|
+
function isTxHash(str: any): boolean;
|
|
172
|
+
}
|
|
173
|
+
export namespace binanceSmartChain {
|
|
174
|
+
function isAddress(str: any): any;
|
|
175
|
+
function isAddress(str: any): any;
|
|
176
|
+
function isTxHash(str: any): any;
|
|
177
|
+
function isTxHash(str: any): any;
|
|
178
|
+
}
|
|
@@ -354,7 +354,7 @@ const validations = {
|
|
|
354
354
|
return str.length === 64;
|
|
355
355
|
},
|
|
356
356
|
},
|
|
357
|
-
|
|
357
|
+
cosmos: {
|
|
358
358
|
isAddress(str) {
|
|
359
359
|
return /^cosmos{1}[a-zA-Z\d]{39}$/.test(str);
|
|
360
360
|
},
|
|
@@ -362,6 +362,22 @@ const validations = {
|
|
|
362
362
|
return str.length === 64 && web3.isHex(str);
|
|
363
363
|
},
|
|
364
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]{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
|
+
},
|
|
365
381
|
};
|
|
366
382
|
Object.keys(V).forEach((k) => {
|
|
367
383
|
const v = V[k];
|
|
@@ -310,14 +310,36 @@ describe('Validations', () => {
|
|
|
310
310
|
});
|
|
311
311
|
describe('ATOM', () => {
|
|
312
312
|
describe('isAddress', () => {
|
|
313
|
-
it('should correctly validate valid ATOM addresses', () => validations_1.default.
|
|
314
|
-
it('should correctly validate an incorrect ATOM address', () => validations_1.default.
|
|
315
|
-
it('should correctly validate an incorrect (too long) ATOM address', () => validations_1.default.
|
|
313
|
+
it('should correctly validate valid ATOM addresses', () => validations_1.default.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.true);
|
|
314
|
+
it('should correctly validate an incorrect ATOM address', () => validations_1.default.cosmos.isAddress('kosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.false);
|
|
315
|
+
it('should correctly validate an incorrect (too long) ATOM address', () => validations_1.default.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x50').should.be.false);
|
|
316
316
|
});
|
|
317
317
|
describe('isTxHash', () => {
|
|
318
|
-
it('should correctly validate a valid ATOM hash', () => validations_1.default.
|
|
319
|
-
it('should correctly validate an incorrect ATOM hash', () => validations_1.default.
|
|
320
|
-
it('should return false when passed a non-hex string', () => validations_1.default.
|
|
318
|
+
it('should correctly validate a valid ATOM hash', () => validations_1.default.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.true);
|
|
319
|
+
it('should correctly validate an incorrect ATOM hash', () => validations_1.default.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7').should.be.false);
|
|
320
|
+
it('should return false when passed a non-hex string', () => validations_1.default.cosmos.isTxHash('ZZA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.false);
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
describe('SOL', () => {
|
|
324
|
+
describe('isAddress', () => {
|
|
325
|
+
it('should correctly validate valid SOL addresses', () => validations_1.default.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.true);
|
|
326
|
+
it('should correctly validate an incorrect SOL address', () => validations_1.default.solana.isAddress('L0JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.false);
|
|
327
|
+
it('should correctly validate an incorrect (too long) SOL address', () => validations_1.default.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24TAAAAAAAAAAAAAAA').should.be.false);
|
|
328
|
+
});
|
|
329
|
+
describe('isTxHash', () => {
|
|
330
|
+
it('should correctly validate a valid SOL hash', () => validations_1.default.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzETPHfTRi4E8fmVedFT4bPYc1BiELG3Ldway6oPTSXpVJZRM4mqEdz2Uuh5n9VQp8x').should.be.true);
|
|
331
|
+
it('should correctly validate an incorrect SOL hash', () => validations_1.default.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzET').should.be.false);
|
|
332
|
+
});
|
|
333
|
+
});
|
|
334
|
+
describe('BSC', () => {
|
|
335
|
+
describe('isAddress', () => {
|
|
336
|
+
it('should correctly validate valid BSC addresses', () => validations_1.default.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.true);
|
|
337
|
+
it('should correctly validate an incorrect BSC address', () => validations_1.default.binanceSmartChain.isAddress('0xz616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.false);
|
|
338
|
+
it('should correctly validate an incorrect (too long) BSC address', () => validations_1.default.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7caaaaa').should.be.false);
|
|
339
|
+
});
|
|
340
|
+
describe('isTxHash', () => {
|
|
341
|
+
it('should correctly validate a valid BSC hash', () => validations_1.default.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17a7f8abfdda020cb1f39abe269').should.be.true);
|
|
342
|
+
it('should correctly validate an incorrect BSC hash', () => validations_1.default.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17').should.be.false);
|
|
321
343
|
});
|
|
322
344
|
});
|
|
323
345
|
});
|
|
@@ -359,7 +359,7 @@ const validations = {
|
|
|
359
359
|
return str.length === 64;
|
|
360
360
|
},
|
|
361
361
|
},
|
|
362
|
-
|
|
362
|
+
cosmos: {
|
|
363
363
|
isAddress(str) {
|
|
364
364
|
return /^cosmos{1}[a-zA-Z\d]{39}$/.test(str);
|
|
365
365
|
},
|
|
@@ -367,6 +367,22 @@ const validations = {
|
|
|
367
367
|
return str.length === 64 && web3.isHex(str);
|
|
368
368
|
},
|
|
369
369
|
},
|
|
370
|
+
solana: {
|
|
371
|
+
isAddress(str) {
|
|
372
|
+
return /^[1-9A-HJ-NP-Za-km-z]{32,44}$/.test(str);
|
|
373
|
+
},
|
|
374
|
+
isTxHash(str) {
|
|
375
|
+
return /^[1-9A-HJ-NP-Za-km-z]{88}$/.test(str);
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
binanceSmartChain: {
|
|
379
|
+
isAddress(str) {
|
|
380
|
+
return web3.isAddress(str);
|
|
381
|
+
},
|
|
382
|
+
isTxHash(str) {
|
|
383
|
+
return str.length === 66 && web3.isHexStrict(str);
|
|
384
|
+
},
|
|
385
|
+
},
|
|
370
386
|
};
|
|
371
387
|
|
|
372
388
|
Object.keys(V).forEach((k) => {
|
|
@@ -401,19 +401,51 @@ describe('Validations', () => {
|
|
|
401
401
|
|
|
402
402
|
describe('ATOM', () => {
|
|
403
403
|
describe('isAddress', () => {
|
|
404
|
-
it('should correctly validate valid ATOM addresses', () => validations.
|
|
404
|
+
it('should correctly validate valid ATOM addresses', () => validations.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.true);
|
|
405
405
|
|
|
406
|
-
it('should correctly validate an incorrect ATOM address', () => validations.
|
|
406
|
+
it('should correctly validate an incorrect ATOM address', () => validations.cosmos.isAddress('kosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x5').should.be.false);
|
|
407
407
|
|
|
408
|
-
it('should correctly validate an incorrect (too long) ATOM address', () => validations.
|
|
408
|
+
it('should correctly validate an incorrect (too long) ATOM address', () => validations.cosmos.isAddress('cosmos153lf4zntqt33a4v0sm5cytrxyqn78q7kz8j8x50').should.be.false);
|
|
409
409
|
});
|
|
410
410
|
|
|
411
411
|
describe('isTxHash', () => {
|
|
412
|
-
it('should correctly validate a valid ATOM hash', () => validations.
|
|
412
|
+
it('should correctly validate a valid ATOM hash', () => validations.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.true);
|
|
413
413
|
|
|
414
|
-
it('should correctly validate an incorrect ATOM hash', () => validations.
|
|
414
|
+
it('should correctly validate an incorrect ATOM hash', () => validations.cosmos.isTxHash('BFA0252193CCAA0592AF2A27541473E7').should.be.false);
|
|
415
415
|
|
|
416
|
-
it('should return false when passed a non-hex string', () => validations.
|
|
416
|
+
it('should return false when passed a non-hex string', () => validations.cosmos.isTxHash('ZZA0252193CCAA0592AF2A27541473E7F6422A9AD85CFC9525CF67FA2AA2CD6F').should.be.false);
|
|
417
|
+
});
|
|
418
|
+
});
|
|
419
|
+
|
|
420
|
+
describe('SOL', () => {
|
|
421
|
+
describe('isAddress', () => {
|
|
422
|
+
it('should correctly validate valid SOL addresses', () => validations.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.true);
|
|
423
|
+
|
|
424
|
+
it('should correctly validate an incorrect SOL address', () => validations.solana.isAddress('L0JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24T').should.be.false);
|
|
425
|
+
|
|
426
|
+
it('should correctly validate an incorrect (too long) SOL address', () => validations.solana.isAddress('A4JXQF7p9sHR5apRy2hVgKFAHHs7jdpQv9kFGLDit24TAAAAAAAAAAAAAAA').should.be.false);
|
|
427
|
+
});
|
|
428
|
+
|
|
429
|
+
describe('isTxHash', () => {
|
|
430
|
+
it('should correctly validate a valid SOL hash', () => validations.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzETPHfTRi4E8fmVedFT4bPYc1BiELG3Ldway6oPTSXpVJZRM4mqEdz2Uuh5n9VQp8x').should.be.true);
|
|
431
|
+
|
|
432
|
+
it('should correctly validate an incorrect SOL hash', () => validations.solana.isTxHash('2WcPszZnXBLpu9WzLbGRfwzET').should.be.false);
|
|
433
|
+
});
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
describe('BSC', () => {
|
|
437
|
+
describe('isAddress', () => {
|
|
438
|
+
it('should correctly validate valid BSC addresses', () => validations.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.true);
|
|
439
|
+
|
|
440
|
+
it('should correctly validate an incorrect BSC address', () => validations.binanceSmartChain.isAddress('0xz616e2b8acff064bf902b8a93cbd5da2ca1edc7c').should.be.false);
|
|
441
|
+
|
|
442
|
+
it('should correctly validate an incorrect (too long) BSC address', () => validations.binanceSmartChain.isAddress('0x5616e2b8acff064bf902b8a93cbd5da2ca1edc7caaaaa').should.be.false);
|
|
443
|
+
});
|
|
444
|
+
|
|
445
|
+
describe('isTxHash', () => {
|
|
446
|
+
it('should correctly validate a valid BSC hash', () => validations.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17a7f8abfdda020cb1f39abe269').should.be.true);
|
|
447
|
+
|
|
448
|
+
it('should correctly validate an incorrect BSC hash', () => validations.binanceSmartChain.isTxHash('0x1a17145af3bec32f653d8ebd4c2c1b800214b17').should.be.false);
|
|
417
449
|
});
|
|
418
450
|
});
|
|
419
451
|
});
|