multichain-address-validator 0.0.1

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 (131) hide show
  1. package/.editorconfig +10 -0
  2. package/.travis.yml +11 -0
  3. package/.vscode/launch.json +23 -0
  4. package/LICENSE +21 -0
  5. package/README.md +87 -0
  6. package/config/esbuild.inject.js +1 -0
  7. package/config/esbuild.ts +14 -0
  8. package/dist/chain-validators.d.ts +2 -0
  9. package/dist/chain-validators.js +98 -0
  10. package/dist/crypto/base32.d.ts +5 -0
  11. package/dist/crypto/base32.js +64 -0
  12. package/dist/crypto/base58.d.ts +4 -0
  13. package/dist/crypto/base58.js +42 -0
  14. package/dist/crypto/bech32.d.ts +17 -0
  15. package/dist/crypto/bech32.js +124 -0
  16. package/dist/crypto/biginteger.d.ts +57 -0
  17. package/dist/crypto/biginteger.js +1311 -0
  18. package/dist/crypto/blake256.d.ts +22 -0
  19. package/dist/crypto/blake256.js +169 -0
  20. package/dist/crypto/blake2b.d.ts +13 -0
  21. package/dist/crypto/blake2b.js +242 -0
  22. package/dist/crypto/cnBase58.d.ts +7 -0
  23. package/dist/crypto/cnBase58.js +209 -0
  24. package/dist/crypto/segwit_addr.d.ts +12 -0
  25. package/dist/crypto/segwit_addr.js +102 -0
  26. package/dist/crypto/utils.d.ts +26 -0
  27. package/dist/crypto/utils.js +123 -0
  28. package/dist/helpers.d.ts +2 -0
  29. package/dist/helpers.js +5 -0
  30. package/dist/multichain-address-validator.bundle.min.js +17 -0
  31. package/dist/multichain-address-validator.d.ts +2 -0
  32. package/dist/multichain-address-validator.js +8 -0
  33. package/dist/types.d.ts +15 -0
  34. package/dist/types.js +5 -0
  35. package/dist/validators/algorand_validator.d.ts +5 -0
  36. package/dist/validators/algorand_validator.js +23 -0
  37. package/dist/validators/base58_validator.d.ts +4 -0
  38. package/dist/validators/base58_validator.js +31 -0
  39. package/dist/validators/bch_validator.d.ts +13 -0
  40. package/dist/validators/bch_validator.js +50 -0
  41. package/dist/validators/bip173_validator.d.ts +7 -0
  42. package/dist/validators/bip173_validator.js +12 -0
  43. package/dist/validators/bitcoin_validator.d.ts +12 -0
  44. package/dist/validators/bitcoin_validator.js +68 -0
  45. package/dist/validators/cardano_validator.d.ts +5 -0
  46. package/dist/validators/cardano_validator.js +41 -0
  47. package/dist/validators/eos_validator.d.ts +5 -0
  48. package/dist/validators/eos_validator.js +10 -0
  49. package/dist/validators/ethereum_validator.d.ts +6 -0
  50. package/dist/validators/ethereum_validator.js +30 -0
  51. package/dist/validators/index.d.ts +16 -0
  52. package/dist/validators/index.js +16 -0
  53. package/dist/validators/monero_validator.d.ts +5 -0
  54. package/dist/validators/monero_validator.js +58 -0
  55. package/dist/validators/nano_validator.d.ts +6 -0
  56. package/dist/validators/nano_validator.js +23 -0
  57. package/dist/validators/nem_validator.d.ts +5 -0
  58. package/dist/validators/nem_validator.js +14 -0
  59. package/dist/validators/polkadot_validator.d.ts +5 -0
  60. package/dist/validators/polkadot_validator.js +49 -0
  61. package/dist/validators/ripple_validator.d.ts +10 -0
  62. package/dist/validators/ripple_validator.js +26 -0
  63. package/dist/validators/sia_validator.d.ts +5 -0
  64. package/dist/validators/sia_validator.js +27 -0
  65. package/dist/validators/solana_validator.d.ts +5 -0
  66. package/dist/validators/solana_validator.js +10 -0
  67. package/dist/validators/tezos_validator.d.ts +5 -0
  68. package/dist/validators/tezos_validator.js +30 -0
  69. package/dist/validators/tron_validator.d.ts +8 -0
  70. package/dist/validators/tron_validator.js +45 -0
  71. package/dist/validators/xlm_validator.d.ts +6 -0
  72. package/dist/validators/xlm_validator.js +32 -0
  73. package/index.html +12 -0
  74. package/package.json +353 -0
  75. package/src/chain-validators.ts +131 -0
  76. package/src/crypto/base32.ts +66 -0
  77. package/src/crypto/base58.ts +46 -0
  78. package/src/crypto/bech32.js +132 -0
  79. package/src/crypto/biginteger.js +1426 -0
  80. package/src/crypto/blake256.js +186 -0
  81. package/src/crypto/blake2b.js +276 -0
  82. package/src/crypto/cnBase58.js +226 -0
  83. package/src/crypto/segwit_addr.js +112 -0
  84. package/src/crypto/utils.ts +133 -0
  85. package/src/helpers.ts +7 -0
  86. package/src/multichain-address-validator.ts +11 -0
  87. package/src/types.ts +18 -0
  88. package/src/validators/algorand_validator.ts +28 -0
  89. package/src/validators/base58_validator.ts +32 -0
  90. package/src/validators/bch_validator.ts +66 -0
  91. package/src/validators/bip173_validator.ts +19 -0
  92. package/src/validators/bitcoin_validator.ts +94 -0
  93. package/src/validators/cardano_validator.ts +50 -0
  94. package/src/validators/eos_validator.ts +13 -0
  95. package/src/validators/ethereum_validator.ts +37 -0
  96. package/src/validators/index.ts +16 -0
  97. package/src/validators/monero_validator.ts +72 -0
  98. package/src/validators/nano_validator.ts +32 -0
  99. package/src/validators/nem_validator.ts +18 -0
  100. package/src/validators/polkadot_validator.ts +57 -0
  101. package/src/validators/ripple_validator.ts +36 -0
  102. package/src/validators/sia_validator.ts +33 -0
  103. package/src/validators/solana_validator.ts +12 -0
  104. package/src/validators/tezos_validator.ts +36 -0
  105. package/src/validators/tron_validator.ts +59 -0
  106. package/src/validators/xlm_validator.ts +42 -0
  107. package/test/addresses/addresses.ts +45 -0
  108. package/test/addresses/algorand.json +6 -0
  109. package/test/addresses/bch-testnet.json +4 -0
  110. package/test/addresses/bch.json +12 -0
  111. package/test/addresses/btc-testnet.json +6 -0
  112. package/test/addresses/btc.json +14 -0
  113. package/test/addresses/cardano.json +8 -0
  114. package/test/addresses/doge.json +7 -0
  115. package/test/addresses/eos.json +6 -0
  116. package/test/addresses/evm.json +21 -0
  117. package/test/addresses/invalid.json +15 -0
  118. package/test/addresses/ltc-testnet.json +7 -0
  119. package/test/addresses/ltc.json +9 -0
  120. package/test/addresses/monero.json +7 -0
  121. package/test/addresses/nano.json +12 -0
  122. package/test/addresses/nem.json +4 -0
  123. package/test/addresses/polkadot.json +8 -0
  124. package/test/addresses/ripple.json +11 -0
  125. package/test/addresses/sia.json +6 -0
  126. package/test/addresses/solana.json +8 -0
  127. package/test/addresses/tezos.json +9 -0
  128. package/test/addresses/tron.json +6 -0
  129. package/test/addresses/xlm.json +12 -0
  130. package/test/multichain-address-validator.test.ts +1589 -0
  131. package/tsconfig.json +23 -0
@@ -0,0 +1,1589 @@
1
+ import {describe, it} from 'mocha'
2
+ import {expect} from 'chai'
3
+
4
+ import {validate} from '../src/multichain-address-validator.js'
5
+ import {Address, Chain, NetworkType} from '../src/types.js'
6
+ // @ts-ignore
7
+ import addresses from './addresses/addresses'
8
+
9
+
10
+ function valid(address: Address, chain: Chain) {
11
+ const valid = validate(address, chain);
12
+ expect({address, chain, valid}).to.deep.equal({address, chain, valid: true});
13
+ }
14
+
15
+ function invalid(address: Address, chain: Chain) {
16
+ const valid = validate(address, chain);
17
+ expect({address, chain, valid}).to.deep.equal({address, chain, valid: false});
18
+ }
19
+
20
+ interface TestCase {
21
+ alternatives: string[],
22
+ valid: keyof typeof addresses,
23
+ exclude?: (keyof typeof addresses)[]
24
+ testnet?: {
25
+ valid: keyof typeof addresses
26
+ }
27
+ }
28
+
29
+ const TestCases: Record<string, TestCase> = {
30
+ 'algorand': {
31
+ alternatives: [],
32
+ valid: 'algorand',
33
+ },
34
+ 'bitcoin': {
35
+ alternatives: ['btc', 'omni'],
36
+ valid: 'btc', // corresponds to addresses.js
37
+ exclude: ['bch', 'ltc'],
38
+ testnet: {
39
+ valid: 'btc-testnet'
40
+ }
41
+ },
42
+ 'bitcoin-cash': {
43
+ alternatives: ['bch', 'bitcoincash', 'bitcoin cash'],
44
+ valid: 'bch',
45
+ exclude: ['btc', 'ltc'],
46
+ testnet: {
47
+ valid: 'bch-testnet',
48
+ }
49
+ },
50
+ 'cardano': {
51
+ alternatives: ['ada'],
52
+ valid: 'cardano',
53
+ },
54
+ 'doge': {
55
+ alternatives: ['dogecoin'],
56
+ exclude: ['btc'],
57
+ valid: 'doge'
58
+ },
59
+ 'eos': {
60
+ alternatives: [],
61
+ valid: 'eos',
62
+ },
63
+ 'ethereum': {
64
+ alternatives: ['eth', 'flare', 'avalanche', 'avalanche-c', 'bsc', 'bnb', 'binance'],
65
+ valid: 'evm',
66
+ },
67
+ 'litecoin': {
68
+ alternatives: ['ltc'],
69
+ exclude: ['btc', 'bch'],
70
+ valid: 'ltc',
71
+ testnet: {
72
+ valid: 'ltc-testnet'
73
+ }
74
+ },
75
+ 'monero': {
76
+ alternatives: [],
77
+ valid: 'monero',
78
+ },
79
+ 'nano': {
80
+ alternatives: [],
81
+ valid: 'nano',
82
+ },
83
+ 'nem': {
84
+ alternatives: [],
85
+ valid: 'nem',
86
+ },
87
+ 'polkadot': {
88
+ alternatives: [],
89
+ valid: 'polkadot',
90
+ },
91
+ 'ripple': {
92
+ alternatives: ['xrp'],
93
+ valid: 'ripple'
94
+ },
95
+ 'sia': {
96
+ alternatives: [],
97
+ valid: 'sia',
98
+ },
99
+ 'solana': {
100
+ alternatives: ['spl'],
101
+ valid: 'solana'
102
+ },
103
+ 'tezos': {
104
+ alternatives: [],
105
+ valid: 'tezos',
106
+ exclude: ['btc', 'bch', 'btc-testnet', 'ltc-testnet', 'bch-testnet', 'doge', 'ltc', 'tron'],
107
+ },
108
+ 'tron': {
109
+ alternatives: ['trc20'],
110
+ valid: 'tron',
111
+ },
112
+ 'xlm': {
113
+ alternatives: ['stellar'],
114
+ valid: 'xlm',
115
+ }
116
+ }
117
+
118
+ describe('multichain address validator', function () {
119
+
120
+ it('should validate valid addresses for chains', function () {
121
+ for (const chain in TestCases) {
122
+ for (const c of [chain, ...TestCases[chain].alternatives]) {
123
+ for (const address of addresses[TestCases[chain].valid]) {
124
+ valid(address, c)
125
+ }
126
+
127
+ if (TestCases[chain].testnet) {
128
+ for (const address of addresses[TestCases[chain].testnet.valid]) {
129
+ valid(address, { chain: c, networkType: NetworkType.TestNet })
130
+ }
131
+ }
132
+ }
133
+ }
134
+ })
135
+
136
+ it('should invalidate invalid addresses for chains', function () {
137
+ for (const chain in TestCases) {
138
+ for (const c of [chain, ...TestCases[chain].alternatives]) {
139
+ const invalidChains = Object.keys(addresses)
140
+ .filter(key => key !== TestCases[chain].valid)
141
+ .filter(key => !TestCases[chain].exclude?.includes(key as any))
142
+
143
+ for (const invalidChain of invalidChains) {
144
+ for (const address of addresses[invalidChain]) {
145
+ invalid(address, c)
146
+ }
147
+ }
148
+ }
149
+ }
150
+ })
151
+ })
152
+ // it('should return true for correct bitcoin addresses', function () {
153
+ // valid('12KYrjTdVGjFMtaxERSk3gphreJ5US8aUP', 'bitcoin');
154
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'bitcoin');
155
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'BTC');
156
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'Bitcoin');
157
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'btc');
158
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'btc', 'prod');
159
+ // valid('12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y', 'btc', 'both');
160
+ // valid('15uwigGExiNQxTNr1QSZYPXJMp9Px2YnVU', 'btc', 'prod');
161
+ // valid('3FyVFsEyyBPzHjD3qUEgX7Jsn4tcHNZFkn', 'btc', 'prod');
162
+ // valid('38mKdURe1zcQyrFqRLzR8PRao3iLGEPVsU', 'btc', 'prod');
163
+ // valid('mptPo5AvLzJXi4T82vR6g82fT5uJ6HsQCu', 'btc', 'both');
164
+ // valid('1oNLrsHnBcR6dpaBpwz3LSwutbUNkNSjs', 'bitcoin');
165
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'bitcoin', 'testnet');
166
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'bitcoin', 'both');
167
+ // valid('1HVDCg2KrPBH1Mg5SK9fGjAR9KVqyMMdBC', 'btc');
168
+ //
169
+ // valid('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez');
170
+ // valid('116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd');
171
+ //
172
+ // // p2sh addresses
173
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt');
174
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'bitcoin');
175
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'bitcoin', 'testnet');
176
+ //
177
+ // // regtest
178
+ // valid('GSa5espVLNseXEfKt46zEdS6jrPkmFghBU', 'bitcoin', 'testnet');
179
+ //
180
+ // // segwit addresses
181
+ // valid('BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4', 'bitcoin');
182
+ // valid('bc1q2t63ewm3mvh0ztmnmezxm7s0tefknenxlrlwrk', 'bitcoin');
183
+ //
184
+ // valid('tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7', 'bitcoin', 'testnet');
185
+ // valid('tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy', 'bitcoin', 'testnet');
186
+ //
187
+ // invalid("tc1qw508d6qejxtdg4y5r3zarvary0c5xw7kg3g4ty", 'bitcoin');
188
+ // invalid('bc1pw508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7k7grplx', 'bitcoin');
189
+ // invalid('BC1SW50QA3JX3S', 'bitcoin');
190
+ // invalid('bc1zw508d6qejxtdg4y5r3zarvaryvg6kdaj', 'bitcoin');
191
+ // invalid("bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t5", 'bitcoin');
192
+ // invalid("BC13W508D6QEJXTDG4Y5R3ZARVARY0C5XW7KN40WF2", 'bitcoin');
193
+ // invalid("bc1rw5uspcuh", 'bitcoin');
194
+ // invalid("bc10w508d6qejxtdg4y5r3zarvary0c5xw7kw508d6qejxtdg4y5r3zarvary0c5xw7kw5rljs90", 'bitcoin');
195
+ // invalid("BC1QR508D6QEJXTDG4Y5R3ZARVARYV98GJ9P", 'bitcoin');
196
+ // invalid("tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sL5k7", 'bitcoin');
197
+ // invalid("bc1zw508d6qejxtdg4y5r3zarvaryvqyzf3du", 'bitcoin');
198
+ // invalid("tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3pjxtptv", 'bitcoin');
199
+ // invalid("bc1gmk9yu", 'bitcoin')
200
+ // });
201
+ //
202
+ // it('should return true for correct peercoin addresses', function () {
203
+ // valid('PHCEsP6od3WJ8K2WKWEDBYKhH95pc9kiZN', 'peercoin');
204
+ // valid('PSbM1pGoE9dnAuVWvpQqTTYVpKZU41dNAz', 'peercoin');
205
+ // valid('PUULeHrJL2WujJkorc2RsUAR3SardKUauu', 'peercoin');
206
+ // valid('PUULeHrJL2WujJkorc2RsUAR3SardKUauu', 'PPC');
207
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'peercoin', 'testnet');
208
+ //
209
+ // // p2sh addresses
210
+ // valid('pNms4CaWqgZUxbNZaA1yP2gPr3BYnez9EM', 'peercoin');
211
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'peercoin', 'testnet');
212
+ // });
213
+ //
214
+ // it('should return true for correct dogecoin addresses', function () {
215
+ // valid('DPpJVPpvPNP6i6tMj4rTycAGh8wReTqaSU', 'dogecoin');
216
+ // valid('DNzLUN6MyYVS5zf4Xc2yK69V3dXs6Mxia5', 'dogecoin');
217
+ // valid('DPS6iZj7roHquvwRYXNBua9QtKPzigUUhM', 'dogecoin');
218
+ // valid('DPS6iZj7roHquvwRYXNBua9QtKPzigUUhM', 'DOGE');
219
+ // //TODO: NEED A DOGECOIN TESTNET ADDRESS
220
+ //
221
+ // //p2sh addresses
222
+ // valid('A7JjzK9k9x5b2MkkQzqt91WZsuu7wTu6iS', 'dogecoin');
223
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'dogecoin', 'testnet');
224
+ // });
225
+ //
226
+ // it('should return true for correct beavercoin addresses', function () {
227
+ // valid('BPPtB4EpPi5wCaGXZuNyKQgng8ya579qUh', 'beavercoin');
228
+ // valid('BC1LLYoE4mTCHTJhVYvLGxhRTwAHyWTQ49', 'beavercoin');
229
+ // valid('BBuyeg2vjtyFdMNj3LTxuVra4wJMKVAY9C', 'beavercoin');
230
+ // valid('BBuyeg2vjtyFdMNj3LTxuVra4wJMKVAY9C', 'BVC');
231
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'beavercoin', 'testnet');
232
+ //
233
+ // // p2sh addresses
234
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'beavercoin');
235
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'beavercoin', 'testnet');
236
+ // });
237
+ //
238
+ // it('should return true for correct freicoin addresses', function () {
239
+ // valid('1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa', 'freicoin');
240
+ // valid('1oNLrsHnBcR6dpaBpwz3LSwutbUNkNSjs', 'freicoin');
241
+ // valid('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez', 'freicoin');
242
+ // valid('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez', 'FRC');
243
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'freicoin', 'testnet');
244
+ //
245
+ // // p2sh addresse
246
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'freicoin');
247
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'freicoin', 'testnet');
248
+ // });
249
+ //
250
+ // it('should return true for correct protoshares addresses', function () {
251
+ // valid('PaNGELmZgzRQCKeEKM6ifgTqNkC4ceiAWw', 'protoshares');
252
+ // valid('Piev8TMX2fT5mFtgxx2TXJaqXP37weMPuD', 'protoshares');
253
+ // valid('PgsuLoe9ojRKFGJGVpqqk37gAqNJ4ozboD', 'protoshares');
254
+ // valid('PgsuLoe9ojRKFGJGVpqqk37gAqNJ4ozboD', 'PTS');
255
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'protoshares', 'testnet');
256
+ //
257
+ // //p2sh addresses
258
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'protoshares');
259
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'protoshares', 'testnet');
260
+ // });
261
+ //
262
+ // it('should return true for correct megacoin addresses', function () {
263
+ // valid('MWUHaNxjXGZUYTh92i3zuDmsnH1rHSBk5M', 'megacoin');
264
+ // valid('MSAkrhRyte7bz999Ga5SqYjzypFFYa2oEb', 'megacoin');
265
+ // valid('MLUTAtDQFcfo1QACWocLuufFq5fBDTpCHE', 'megacoin');
266
+ // valid('MLUTAtDQFcfo1QACWocLuufFq5fBDTpCHE', 'MEC');
267
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'megacoin', 'testnet');
268
+ //
269
+ // //p2sh addresses
270
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'megacoin');
271
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'megacoin', 'testnet');
272
+ // });
273
+ //
274
+ // it('should return true for correct primecoin addresses', function () {
275
+ // valid('AVKeiZ5JadfWdH2EYVgVRfX4ufoyd4ehuM', 'primecoin');
276
+ // valid('AQXBRPyob4dywUJ21RUKrR1xetQCDVenKD', 'primecoin');
277
+ // valid('ANHfTZnskKqaBU7oZuSha9SpbHU3YBfeKf', 'primecoin');
278
+ // valid('AYdiYMKSGYxLcZNDmqB8jNcck7SQibrfiK', 'primecoin');
279
+ // valid('AYdiYMKSGYxLcZNDmqB8jNcck7SQibrfiK', 'XPM');
280
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'primecoin', 'testnet');
281
+ //
282
+ // //p2sh addresses
283
+ // valid('af5CvTQq7agDh717Wszb5QDbWb7nT2mukP', 'primecoin');
284
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'primecoin', 'testnet');
285
+ // });
286
+ //
287
+ // it('should return true for correct auroracoin addresses', function () {
288
+ // valid('ARM3GLZXF1PDTZ5vz3wh5MVahbK9BHTWAN', 'auroracoin');
289
+ // valid('AUtfc6ThCLb7FuEu7QPrWpJuaXaJRPciDF', 'auroracoin');
290
+ // valid('AUN1oaj5hjispGnczt8Aruw3TxgGyRqB3V', 'auroracoin');
291
+ // valid('AXGcBkGX6NiaDXj85C5dCrhTRUgwxSkKDK', 'auroracoin');
292
+ // valid('AXGcBkGX6NiaDXj85C5dCrhTRUgwxSkKDK', 'AUR');
293
+ // valid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'auroracoin', 'testnet');
294
+ //
295
+ // //p2sh addresses
296
+ // valid('3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt', 'auroracoin');
297
+ // valid('2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7', 'auroracoin', 'testnet');
298
+ // });
299
+ //
300
+ // it('should return true for correct namecoin addresses', function () {
301
+ // valid('NEpeRmS775fnti8TDgJA28m8KLEfNNRZvT', 'namecoin');
302
+ // valid('MyJ691bGJ48RBK2LS8n1U57wcFLFScFXxi', 'namecoin');
303
+ // valid('NFY9aw1RXLGtWpeqgNQXprnUcZXyKNinTh', 'namecoin');
304
+ // valid('NCPPc7Pzb75CpRPJQPRRh6ouJTq7BCy1H4', 'namecoin');
305
+ // valid('NCPPc7Pzb75CpRPJQPRRh6ouJTq7BCy1H4', 'NMC');
306
+ // });
307
+ //
308
+ // it('should return true for correct BioCoin addresses', function () {
309
+ // valid('B7xseoLGk7hEpMDDeSvZDKmmiAMHWiccok', 'biocoin');
310
+ // valid('B8zjmYFGhWmiaQSJshfrnefE72xCapCkvo', 'biocoin');
311
+ // valid('muH8LL42DiMs8GEQ6Grfi8KUw2uFvuKr1J', 'biocoin', 'testnet');
312
+ // valid('muH8LL42DiMs8GEQ6Grfi8KUw2uFvuKr1J', 'BIO', 'testnet');
313
+ // valid('B8zjmYFGhWmiaQSJshfrnefE72xCapCkvo', 'BIO');
314
+ // });
315
+ //
316
+ // it('should return true for correct Garlicoin addresses', function () {
317
+ // valid('GU2NtcNotWFiZjTp2Vdgf5CjeMfgsWYCua', 'garlicoin');
318
+ // valid('GNWeWaoQ6rv21ZFjJWT9vb91hXUzFTLkru', 'garlicoin');
319
+ // valid('mjKbQTkgwzmsL3J86tdVzhyW9pc4NePqTb', 'garlicoin', 'testnet');
320
+ // valid('mnYp36NuyRavMKQ9Q9Q6oGqoorAs9p3zYn', 'GRLC', 'testnet');
321
+ // valid('GU2NtcNotWFiZjTp2Vdgf5CjeMfgsWYCua', 'GRLC');
322
+ // });
323
+ //
324
+ // it('should return true for correct Vertcoin addresses', function () {
325
+ // valid('3PgeyhEJEnS5CeBu3iFcu3JHVKemeHx1AW', 'VTC');
326
+ // valid('353nERPQKhGj4WGzoiWcareA76TPgRCVNA', 'VTC');
327
+ // valid('376g4TmL8uQKFYsRFrbv5iz9srmb5bocEt', 'VTC');
328
+ // valid('3AMtM4Zk5oNHu9i4jDiwKB6Kg5YEReBsav', 'VTC');
329
+ // valid('vtc1qgxsy46a865z5awrevvcu9k9ll9h5yl4efgj78g', 'VTC');
330
+ //
331
+ // valid('VmoMjGf3zgZLy8sk3PMKd3xikZHXWvnYi7', 'vertcoin');
332
+ // valid('VmhHwXr3J8xMZpy62WuBGpu3xVvThWzcTQ', 'vertcoin');
333
+ // valid('mvww6DEJ18dbyQUukpVQXvLgrNDJazZn1Y', 'vertcoin', 'testnet');
334
+ // valid('mn3mdEE6cf1snxVsknNz4GRTdSrWXqYp7c', 'VTC', 'testnet');
335
+ // valid('Vri6Q4GgNFfdtcpxD961TotJwaSaYQCaL5', 'VTC');
336
+ // });
337
+ //
338
+ // it('should return true for correct BitcoinGold addresses', function () {
339
+ // valid('GW3JrQyHtoVfEFES3Y9JagiX3VSKQStLwj', 'bitcoingold');
340
+ // valid('GUDWdeMyAXQbrNFFivAhkJQ1GfBCFdc7JF', 'bitcoingold');
341
+ // valid('mvww6DEJ18dbyQUukpVQXvLgrNDJazZn1Y', 'bitcoingold', 'testnet');
342
+ // valid('mn3mdEE6cf1snxVsknNz4GRTdSrWXqYp7c', 'BTG', 'testnet');
343
+ // valid('GSNFPRsdaM3MXrU5HW1AxgFwmUQC8HXK9F', 'BTG');
344
+ // });
345
+ //
346
+ // it('should return true for correct Decred addresses', function () {
347
+ // valid('Dsesax2GJnMN4wwmWo5rJGq73dDK217Rh85', 'DCR');
348
+ // valid('DsYuxtvGRfN8rncXAndtLUpJm55F77K17RA', 'decred');
349
+ // valid('DsaXDG2NrJW8g4tFAb8n9MNx81Sn3Qc8AEV', 'decred');
350
+ // valid('TsijUgejaRnLKF5WAbpUxNtwKGUiKVeXLr7', 'decred', 'testnet');
351
+ // valid('TsZ9QmAoadF12hGvyALp6qvaF4be3BmLqG9', 'dcr', 'testnet');
352
+ // });
353
+ //
354
+ // it('should return true for correct Digibyte addresses', function () {
355
+ // valid('DG2rM2orU2JH5i4ACh3AKNpRTNESdv5xf8', 'DGB');
356
+ // valid('DBR2Lj1F17eHGHXgbpae2Wb4m39bDyA1qo', 'DGB');
357
+ // valid('D9TDZTR9Z9Mx2NoDJnhqhnYhDLKRAmsL9n', 'digibyte');
358
+ // valid('DHRzA1YHA1kFWpz2apRckZJy6KZRyGq4EV', 'digibyte');
359
+ // valid('DJ53hTyLBdZp2wMi5BsCS3rtEL1ioYUkva', 'digibyte');
360
+ // valid('dgb1q00002724tefpjkpn8mp233uyqwd8hnny55e0zg', 'DGB', 'prod')
361
+ // valid('SiEgX2mSYJjVN9YGuC23uckE6BS1ZSHcGD', 'DGB', 'prod')
362
+ // });
363
+ //
364
+ // it('should return true for correct Ethereum addresses', function () {
365
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'ethereum');
366
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'ethereum');
367
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'ETH');
368
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'ETH');
369
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'ETH');
370
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'ETH');
371
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'ETH');
372
+ // valid('0x27b1fdb04752bbc536007a920d24acb045561c26', 'ETH');
373
+ // valid('0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', 'ETH');
374
+ // valid('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', 'ETH');
375
+ // valid('0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', 'ETH');
376
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'ETH');
377
+ //
378
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'ethereumclassic');
379
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'ETC');
380
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'etherzero');
381
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'ETZ');
382
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'callisto');
383
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'CLO');
384
+ // });
385
+ //
386
+ // it('should return true for correct Ethereum POW addresses', function () {
387
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'ethereumPow');
388
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'ethereumPow');
389
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'ETHW');
390
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'ETHW');
391
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'ETHW');
392
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'ETHW');
393
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'ETHW');
394
+ // valid('0x27b1fdb04752bbc536007a920d24acb045561c26', 'ETHW');
395
+ // valid('0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', 'ETHW');
396
+ // valid('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', 'ETHW');
397
+ // valid('0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', 'ETHW');
398
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'ETHW');
399
+ // });
400
+ //
401
+ // it('should return true for correct CELO addresses', function () {
402
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'celo');
403
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'celo');
404
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'CELO');
405
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'CELO');
406
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'CELO');
407
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'CELO');
408
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'CELO');
409
+ // valid('0x27b1fdb04752bbc536007a920d24acb045561c26', 'CELO');
410
+ // valid('0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', 'CELO');
411
+ // valid('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', 'CELO');
412
+ // valid('0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', 'CELO');
413
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'CELO');
414
+ // });
415
+ //
416
+ // it('should return true for correct OP addresses', function () {
417
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'op');
418
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'op');
419
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'OP');
420
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'OP');
421
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'OP');
422
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'OP');
423
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'OP');
424
+ // valid('0x27b1fdb04752bbc536007a920d24acb045561c26', 'OP');
425
+ // valid('0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', 'OP');
426
+ // valid('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', 'OP');
427
+ // valid('0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', 'OP');
428
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'OP');
429
+ // });
430
+ //
431
+ // it('should return true for correct MANA addresses', function () {
432
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'mana');
433
+ // });
434
+ //
435
+ // it('should return true for correct YFI addresses', function () {
436
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'yfi');
437
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'yfi');
438
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'YFI');
439
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'YFI');
440
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'YFI');
441
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'YFI');
442
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'YFI');
443
+ // valid('0x27b1fdb04752bbc536007a920d24acb045561c26', 'YFI');
444
+ // valid('0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed', 'YFI');
445
+ // valid('0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359', 'YFI');
446
+ // valid('0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB', 'YFI');
447
+ // valid('0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb', 'YFI');
448
+ // });
449
+ //
450
+ // it('should return true for correct dash addresses', function () {
451
+ // valid('Xx4dYKgz3Zcv6kheaqog3fynaKWjbahb6b', 'dash');
452
+ // valid('XcY4WJ6Z2Q8w7vcYER1JypC8s2oa3SQ1b1', 'DASH');
453
+ // valid('XqMkVUZnqe3w4xvgdZRtZoe7gMitDudGs4', 'dash');
454
+ // valid('yPv7h2i8v3dJjfSH4L3x91JSJszjdbsJJA', 'dash', 'testnet');
455
+ // valid('XoAAqv3oUYZ6xRjX3brfbf9PotrGanS6Th', 'dash');
456
+ // valid('yP5oXZQXBfBf9FyfZDpFiKDypxuNUKUV2E', 'dash', 'testnet');
457
+ // });
458
+ //
459
+ // it('should return true for correct neo addresses', function () {
460
+ // valid('AR4QmqYENiZAD6oXe7ftm6eDcwtHk7rVTT', 'neo');
461
+ // valid('AKDVzYGLczmykdtRaejgvWeZrvdkVEvQ1X', 'NEO');
462
+ // });
463
+ //
464
+ // it('should return true for correct neo gas addresses', function () {
465
+ // valid('AR4QmqYENiZAD6oXe7ftm6eDcwtHk7rVTT', 'neogas');
466
+ // });
467
+ //
468
+ // it('should return true for correct qtum addresses', function () {
469
+ // valid('QNjUiD3bVVZwYTc5AhpeQbS1mfb2guyWhe', 'qtum');
470
+ // valid('QVZnSrMwKp6AL4FjUPPnfFgsma6j1DXQXu', 'QTUM');
471
+ // valid('MCgyroQse81wuv5RwPpY5DXDNxeafzLFJ8', 'QTUM');
472
+ // valid('QQYySVc5WEe3g6PnNFYmspqG5CfSG8rnma', 'QTUM');
473
+ // valid('MSvJQBJMZs1dhxz7UAWa2si4iyMD2FHQd5', 'QTUM');
474
+ //
475
+ // valid('qcSLSxN1sngCWSrKFZ6UC7ri4hhVSdq9SU', 'qtum', 'testnet');
476
+ // valid('qJnbEdrm9ybjVqDCaX5SWNBHmZy2X7YbPT', 'qtum', 'testnet');
477
+ // valid('qchBPDUYswobzpDmY5DsTStt74sTYQtaQv', 'qtum', 'testnet');
478
+ // });
479
+ //
480
+ // it('should return true for correct votecoin addresses', function () {
481
+ // valid('t1U9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'votecoin');
482
+ // valid('t3Vz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'VOT');
483
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'votecoin', 'testnet');
484
+ // });
485
+ //
486
+ // it('should return true for correct bitcoinz addresses', function () {
487
+ // valid('t1U9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'bitcoinz');
488
+ // valid('t3Vz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'BTCZ');
489
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'bitcoinz', 'testnet');
490
+ // });
491
+ //
492
+ // it('should return true for correct zclassic addresses', function () {
493
+ // valid('t1U9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zclassic');
494
+ // valid('t3Vz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZCL');
495
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zclassic', 'testnet');
496
+ // });
497
+ //
498
+ // it('should return true for correct hush addresses', function () {
499
+ // valid('t1U9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'hush');
500
+ // valid('t3Vz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'HUSH');
501
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'hush', 'testnet');
502
+ // });
503
+ //
504
+ // it('should return true for correct zcash addresses', function () {
505
+ // valid('t1U9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zcash');
506
+ // valid('t3Vz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZEC');
507
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zcash', 'testnet');
508
+ // });
509
+ //
510
+ // it('should return true for correct bitcoinprivate addresses', function () {
511
+ // valid('b1M4XXPFhwMb1SP33yhzn3h9qWXjujkgep4', 'bitcoinprivate');
512
+ // //valid('bx....', 'BTCP');
513
+ // //valid('nx....', 'bitcoinprivate', 'testnet');
514
+ // });
515
+ //
516
+ // it('should return true for correct snowgem addresses', function () {
517
+ // valid('s1fx7WBkjB4UH6qQjPp6Ysmtr1C1JiTK2Yw', 'snowgem');
518
+ // valid('s3d27MhkBRt3ha2UuxhjXaYF4DCnttTMnL1', 'SNG');
519
+ // valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'snowgem', 'testnet');
520
+ // });
521
+ //
522
+ // it('should return true for correct zencash addresses', function () {
523
+ // valid('znhiGGfYRepxkBjXYvA2kFrXiC351i9ta4z', 'zencash');
524
+ // valid('zssEdGnZCQ9G86LZFtbynMn1hYTVhn6eYCL', 'ZEN');
525
+ // valid('ztmWMDLWjbruCJxKmmfAZiT6QAQdiv5F291', 'zencash', 'testnet');
526
+ // });
527
+ //
528
+ // it('should return true for correct komodo addresses', function () {
529
+ // valid('R9R5HirAzqDcWrWGiJEL115dpV3QB3hobH', 'komodo');
530
+ // valid('RAvj2KKVUohTu3hVdNJ4U6hQi7TNawpacH', 'KMD');
531
+ // //valid('t2UNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'komodo', 'testnet');
532
+ // });
533
+ //
534
+ // it('should return true for correct Bankex addresses', function () {
535
+ // valid('0xeac39e1bc802baae3d4b9cb518f3f60374bbad6c', 'bankex');
536
+ // valid('0x45245bc59219eeaaf6cd3f382e078a461ff9de7b', 'BKX');
537
+ // valid('0xf40d80FCfa5cdEa0bB1E570c2D52132ac9bC6aEC', 'bankex', 'testnet');
538
+ // valid('0x8A7395f281EeCf2B471B689E87Cf4C7fa8bb957d', 'BKX', 'testnet');
539
+ // });
540
+ //
541
+ //
542
+ // it('should return true for correct Cardano addresses', function () {
543
+ // valid('Ae2tdPwUPEYzs5BRbGcoS3DXvK8mwgggmESz4HqUwMyaS9eNksZGz1LMS9v', 'ada');
544
+ // valid('Ae2tdPwUPEYxYNJw1He1esdZYvjmr4NtPzUsGTiqL9zd8ohjZYQcwu6kom7', 'cardano');
545
+ // valid('DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRTg', 'ada');
546
+ // valid('Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm', 'ada');
547
+ // valid('4swhHtxKapQbj3TZEipgtp7NQzcRWDYqCxXYoPQWjGyHmhxS1w1TjUEszCQT1sQucGwmPQMYdv1FYs3d51KgoubviPBf', 'cardano');
548
+ //
549
+ // valid('addr1qxy3w62dupy9pzmpdfzxz4k240w5vawyagl5m9djqquyymrtm3grn7gpnjh7rwh2dy62hk8639lt6kzn32yxq960usnq9pexvt', 'cardano');
550
+ // valid('addr1skemppwfevyk0lshu2w8j34707s3t3t58a04xcx5ccevrcmvpmxg2qt4pk0', 'cardano', 'testnet');
551
+ // });
552
+ //
553
+ // it('should return true for correct monero addresses', function () {
554
+ // valid('47zQ5LAivg6hNCgijXSEFVLX7mke1bgM6YGLFaANDoJbgXDymcAAZvvMNt2PmMpqEe5qRy2zyfMYXdwpmdyitiFh84xnPG2', 'monero');
555
+ // valid('48bWuoDG75CXMDHbmPEvUF2hm1vLDic7ZJ7hqRkL65QR9p13AQAX4eEACXNk4YP115Q4KRVZnAvmMBHrcGfv9FvKPZnH6vH', 'XMR');
556
+ // valid('88WB4JKdQVhWfkc8cBT9EEJ6vejSAqKJHbV1dXBAXdpgQovtNDNRxfKCS7wB8rHQ5D5zH2Pd1YkyMNNQDie6ZfeZ311fPgn', 'XMR');
557
+ // valid('A2be3UvzMtkJtxRYgcCbQt2y7Rp2eLVGqNTWfZeankrWimSMM4y7uMP6B9oAZaHsXTj8KFSerkSkkVRuEuEca9QM8VhxCNU', 'monero', 'testnet');
558
+ //
559
+ // //integrated addresses
560
+ // valid('4Gd4DLiXzBmbVX2FZZ3Cvu6fUaWACup1qDowprUCje1kSP4FmbftiJMSfV8kWZXNqmVwj4m52xqtgFNUudVmsmGkGvkLcCibWfVUfUFVB7', 'monero');
561
+ // valid('4J5sF94AzXgFgx8LuWc9dcWkJkGkD3cL3L2AuhX6QA9jFvSxxj6QhHqHXqM2b2Go7G8RyDzEbHxYd9G26XUUbuJChipEyBz9fENMU2Ua9b', 'XMR');
562
+ //
563
+ // valid('9uXRFi4PZMqhsnthBF6bGdfVnBSZtfKkR7Td8qPM7jUKZeTfR1tLhCoTLqYNE12xuiQg3aWGiLw83bWsqwTRLaM4Jk47xYM', 'XMR', 'testnet');
564
+ // valid('9tFTaQM39JXhULZsHauPHhjFrjcGSGXoijEPYoRgAky9Veck2mFp3EifQ2tKHmEHuuUoFfgYRNR2bVaborz5oi8JA8xkqjY', 'monero', 'testnet')
565
+ // });
566
+ //
567
+ // it('should return true for correct pivx addresses', function () {
568
+ // valid('DJXFW9oJJBUX7QKrG6GKvmTs63MYKzwtpZ', 'pivx');
569
+ // valid('DEaYb8EHQgyKvX6VXDS3DZQautJrHBmK3T', 'pivx');
570
+ // valid('DDeCGR3QSgqsBxVR23bJvteiyYE34ZmxAc', 'pivx');
571
+ // valid('DSqQM8DPpBHHoZXHgRdwmaf6hZPEoZcFkh', 'pivx');
572
+ // });
573
+ //
574
+ // it('should return true for correct solarcoin addresses', function () {
575
+ // valid('8VxVLzwB26E2YZZ82o1NcQe96QSM2z6GwW', 'slr');
576
+ // valid('8YW5qcTjeyqX5kESsqu2BUdXiedgssegtQ', 'SolarCoin');
577
+ // });
578
+ //
579
+ // it('should return true for correct tap addresses', function () {
580
+ // valid('0x9ec7d40d627ec59981446a6e5acb33d51afcaf8a', 'xtp');
581
+ // valid('0x9ec7d40d627ec59981446a6e5acb33d51afcaf8a', 'tap');
582
+ // });
583
+ //
584
+ // it('should return true for correct tether addresses', function () {
585
+ // valid('1KdXaqcBeoMAFVAPwTmYvDbEq6RnvNPF6J', 'tether');
586
+ // valid('0x9ec7d40d627ec59981446a6e5acb33d51afcaf8a', 'tether');
587
+ // valid('3MbYQMMmSkC3AgWkj9FMo5LsPTW1zBTwXL', 'usdt', { chainType: 'omni' });
588
+ // valid('0x9ec7d40d627ec59981446a6e5acb33d51afcaf8a', 'tether', { chainType: 'erc20' });
589
+ // valid('0x9ec7d40d627ec59981446a6e5acb33d51afcaf8a', 'tether', { chainType: 'ethereum' });
590
+ // });
591
+ //
592
+ // it('should return true for correct expanse addresses', function () {
593
+ // valid('0xbab463743603a253bdf1f84975b1a9517505ae05', 'exp');
594
+ // valid('0x5d0777cb5d6977873904864c6ab531f4b3261f0b', 'expanse');
595
+ // });
596
+ //
597
+ // it('should return true for correct waves addresses', function () {
598
+ // valid('3P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs', 'waves');
599
+ // valid('3P4eeU7v1LMHQFwwT2GW9W99c6vZyytHajj', 'waves');
600
+ //
601
+ // valid('3Myrq5QDgRq3nBVRSSv9UYrP36xTtpJND5y', 'waves', 'testnet');
602
+ // valid('3My3KZgFQ3CrVHgz6vGRt8687sH4oAA1qp8', 'waves', 'testnet');
603
+ // });
604
+ //
605
+ // it('should return true for correct siacoin addresses', function () {
606
+ // valid(
607
+ // 'a9b01c85163638682b170d82de02b8bb99ba86092e9ab1b0d25111284fe618e93456915820f1',
608
+ // 'siacoin'
609
+ // )
610
+ // valid(
611
+ // 'a9b01c85163638682b170d82de02b8bb99ba86092e9ab1b0d25111284fe618e93456915820f1',
612
+ // 'siacoin'
613
+ // )
614
+ // valid(
615
+ // 'ab0c327982abfcc6055a6c9551589167d8a73501aca8769f106371fbc937ad100c955c3b7ba9',
616
+ // 'siacoin'
617
+ // )
618
+ // valid(
619
+ // 'ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530373',
620
+ // 'siacoin'
621
+ // )
622
+ // })
623
+ //
624
+ // it('should return true for correct loki addresses', function () {
625
+ // // public
626
+ // valid(
627
+ // 'L63ymg8cb5aRz1PhXrEQ22PWw9KBhBS8rMsgqbABhTGFfh53U3Rc2iWCJpCPsHZT5hfyt7fPQa612a5Z1tBnGYEA9h6YHnn',
628
+ // 'loki'
629
+ // )
630
+ // valid(
631
+ // 'L5QKRGMNpQU3eCAdjMVTCR631bRKqnW1oEWWBEHAtFJLieA5VvuxyyubCd9FczEEatg8jfy39UJZ13npLJqZG6dtMtM99ha',
632
+ // 'loki'
633
+ // )
634
+ // // integrated
635
+ // valid(
636
+ // 'LK8CGQ17G9R3ys3Xf33wCeViD2B95jgdpjAhcRsjuheJ784dumXn7g3RPAzedWpFq364jJKYL9dkQ8mY66sZG9BiD1xbPb6dpYo7toNRqk',
637
+ // 'loki'
638
+ // )
639
+ // valid(
640
+ // 'LK8CGQ17G9R3ys3Xf33wCeViD2B95jgdpjAhcRsjuheJ784dumXn7g3RPAzedWpFq364jJKYL9dkQ8mY66sZG9BiCtWq1AYo1oJTVqgUcQ',
641
+ // 'loki'
642
+ // )
643
+ // // subaddress
644
+ // valid(
645
+ // 'LW1VMYcvWPZZJ2h1pKGEku2y9WeDiAU2VhgrgVgvjybaRuCdcEkg6FhXjVNSd37Bp7fhYH8tVa5T9VmRaYiWyxYdCpEGBg8',
646
+ // 'loki'
647
+ // )
648
+ // })
649
+ //
650
+ // it('should return true for correct lbry addresses', function () {
651
+ // valid('bDb6NmobyDVeNGpizWQQBZkYjKCRQBdKdG', 'LBC')
652
+ // valid('bTFXPcV3a8iVDezogvHTHezWZ1mZGWpPDc', 'lbc')
653
+ // valid('bK2uEVn6UuwjCTUZ1Dfj5HhWYi9BtqZDDm', 'lbc')
654
+ // valid('bNEMVqeUZUqTrYUxud5ehnUhtTAiWDXQ5e', 'lbc')
655
+ // })
656
+ //
657
+ // it('should return true for correct nem addresses', function () {
658
+ // valid('NBZMQO7ZPBYNBDUR7F75MAKA2S3DHDCIFG775N3D', 'xem');
659
+ // valid('TDWTRGT6GVWCV7GRWFNI45S53PGOJBKNUF3GE6PB', 'xem', 'testnet');
660
+ // });
661
+ //
662
+ // it('should return true for correct bsv addresses', function () {
663
+ // valid('qzwryn9fxnpqkf7zt878tp2g9cg8kpl65qh2ml0w0r', 'bsv');
664
+ // valid('qp65yngy5uds4wxtrkynptal4f76qzmrh52pa3mpaf', 'bsv');
665
+ // valid('bitcoincash:qq4v32mtagxac29my6gwj6fd4tmqg8rysu23dax807', 'bsv');
666
+ // valid('qq4v32mtagxac29my6gwj6fd4tmqg8rysu23dax807', 'bsv');
667
+ // valid('qz97s7ee0rvwlymtxrwafmvs87x6027jwuf3wepug7', 'bsv');
668
+ // valid('bitcoincash:qpp32ssez340wfspnt79h6c4xds4fzf3m5j0cplx0l', 'bsv');
669
+ // valid('qqg82u7tq2eahs3gkh9m6kjnmjehr69m5v37alepq4', 'bsv');
670
+ // valid('bitcoincash:qrwkk9a3es2wu7mdvzh0vekfvjuzysq8tv7r3hcwr5', 'bsv');
671
+ // valid('1DrNXqCj2B8FKyx66RAWDkiEJhw2yrvhT3', 'bsv');
672
+ // });
673
+ //
674
+ // it('should return true for correct xtz(tezos) address', function () {
675
+ // valid('tz1Lhf4J9Qxoe3DZ2nfe8FGDnvVj7oKjnMY6', 'xtz');
676
+ // valid('tz1PyxsQ7xVTa5J7gtBeT7pST5Zi5nk5GSjg', 'xtz');
677
+ // valid('tz1LcuQHNVQEWP2fZjk1QYZGNrfLDwrT3SyZ', 'xtz');
678
+ // valid('tz1Lhf4J9Qxoe3DZ2nfe8FGDnvVj7oKjnMY6', 'xtz');
679
+ // valid('tz1RR6wETy9BeXG3Fjk25YmkSMGHxTtKkhpX', 'xtz');
680
+ // valid('tz1h3rQ8wBxFd8L9B3d7Jhaawu6Z568XU3xY', 'xtz');
681
+ // valid('KT1EM2LvxxFGB3Svh9p9HCP2jEEYyHjABMbK', 'xtz');
682
+ // });
683
+ //
684
+ // it('should return true for correct vet addresses', function () {
685
+ // valid('0xa7E43b445cF68CAa143a884AF673121447F29EAe', 'vet');
686
+ // valid('0x46B8aABa5Eaa84Dc074c350eD57D8b3c35B90E09', 'VeChain');
687
+ // valid('0x6d57D1697277C9Bb01A5265EC00558A639CA308A', 'VET');
688
+ // });
689
+ //
690
+ // it('should return true for correct algo addresses', function () {
691
+ // valid('GONISIUAYDOMHM7VURRAAAP5H6OAWRRBCPXEIOZO3QI7TZKR5GTAQ7WK7Y', 'algo');
692
+ // valid('LCRDY3LYAANTVS3XRHEHWHGXRTKZYVTX55P5IA2AT5ZDJ4CWZFFZIKVHLI', 'algo')
693
+ // valid('SP745JJR4KPRQEXJZHVIEN736LYTL2T2DFMG3OIIFJBV66K73PHNMDCZVM', 'algo')
694
+ // valid('AKHSHWO2TUWE53RMVG6ZUBNAEX6MTYPT76TCIDCDWYUUTK6HCJTZS2HDQU', 'algo')
695
+ // });
696
+ //
697
+ // it('should return true for correct dot addresses', function () {
698
+ // valid('1iQPKJmghHbrRhUiMt2cNEuxYbR6S9vYtJKqYvE4PNR9WDB', 'dot');
699
+ // valid('1FRMM8PEiWXYax7rpS6X4XZX1aAAxSWx1CrKTyrVYhV24fg', 'dot');
700
+ // valid('5CK8D1sKNwF473wbuBP6NuhQfPaWUetNsWUNAAzVwTfxqjfr', 'dot');
701
+ // valid('CpjsLDC1JFyrhm3ftC9Gs4QoyrkHKhZKtK7YqGTRFtTafgp', 'dot');
702
+ // valid('15FKUKXC6kwaXxJ1tXNywmFy4ZY6FoDFCnU3fMbibFdeqwGw', 'dot');
703
+ // valid('CxDDSH8gS7jecsxaRL9Txf8H5kqesLXAEAEgp76Yz632J9M', 'dot');
704
+ // });
705
+ //
706
+ // it('should return true for correct cro addresses', function () {
707
+ // valid('cro1yjjlx5qsrj5rxn5xtd5rkm6dcqzlchxkrvsmg6', 'cro');
708
+ // valid('cro1mwdzawjd27uku0cqf8zngxfcycd292u353xe7v', 'cro');
709
+ // valid('tcro1mz5rdtf9wufwkh8te2zww7twtmna6rhl2qlhlc', 'cro', 'testnet');
710
+ // valid('tcro1mz5rdtf9wufwkh8te2zww7twtmna6rhl2qlhlc', 'cro', 'testnet');
711
+ //
712
+ // invalid('bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4', 'cro');
713
+ // invalid('cro1mwdzawjd27uku0cqf8zngxfcycd292u353xe77', 'cro');
714
+ // invalid('tcro1mz5rdtf9wufwkh8te2zww7twtmna6rhl2qlhlc', 'cro');
715
+ // invalid('cromwdzawjd27uku0cqf8zngxfcycd292u353xe7v1', 'cro');
716
+ // });
717
+ //
718
+ // it('should return true for correct monero addresses', function () {
719
+ // valid('47zQ5LAivg6hNCgijXSEFVLX7mke1bgM6YGLFaANDoJbgXDymcAAZvvMNt2PmMpqEe5qRy2zyfMYXdwpmdyitiFh84xnPG2', 'monero');
720
+ // valid('48bWuoDG75CXMDHbmPEvUF2hm1vLDic7ZJ7hqRkL65QR9p13AQAX4eEACXNk4YP115Q4KRVZnAvmMBHrcGfv9FvKPZnH6vH', 'XMR');
721
+ // valid('A2be3UvzMtkJtxRYgcCbQt2y7Rp2eLVGqNTWfZeankrWimSMM4y7uMP6B9oAZaHsXTj8KFSerkSkkVRuEuEca9QM8VhxCNU', 'monero', 'testnet');
722
+ //
723
+ // //integrated addresses
724
+ // valid('4Gd4DLiXzBmbVX2FZZ3Cvu6fUaWACup1qDowprUCje1kSP4FmbftiJMSfV8kWZXNqmVwj4m52xqtgFNUudVmsmGkGvkLcCibWfVUfUFVB7', 'monero');
725
+ // valid('4J5sF94AzXgFgx8LuWc9dcWkJkGkD3cL3L2AuhX6QA9jFvSxxj6QhHqHXqM2b2Go7G8RyDzEbHxYd9G26XUUbuJChipEyBz9fENMU2Ua9b', 'XMR');
726
+ //
727
+ // //stagenet public address
728
+ // valid('5BAP9qLbRseYrGneYVRaFANMajuaD4KZrf3fGWvt5cVDR1xUXm6qoFYLkgU6Vp12fs2R24r4269inAWHFEdsLnE87rGCxYK', 'XMR', 'stagenet');
729
+ //
730
+ // //stagenet integrated address
731
+ // valid('5Ls4AeA639AYrGneYVRaFANMajuaD4KZrf3fGWvt5cVDR1xUXm6qoFYLkgU6Vp12fs2R24r4269inAWHFEdsLnE8BCU5Q2gDkbq2HYDrn2', 'monero', 'both');
732
+ // });
733
+ //
734
+ // it('should return true for correct pivx addresses', function () {
735
+ // valid('DJXFW9oJJBUX7QKrG6GKvmTs63MYKzwtpZ', 'pivx');
736
+ // valid('DEaYb8EHQgyKvX6VXDS3DZQautJrHBmK3T', 'pivx');
737
+ // valid('DDeCGR3QSgqsBxVR23bJvteiyYE34ZmxAc', 'pivx');
738
+ // valid('DSqQM8DPpBHHoZXHgRdwmaf6hZPEoZcFkh', 'pivx');
739
+ // });
740
+ //
741
+ // it('should return true for correct solarcoin addresses', function () {
742
+ // valid('8VxVLzwB26E2YZZ82o1NcQe96QSM2z6GwW', 'slr');
743
+ // valid('8YW5qcTjeyqX5kESsqu2BUdXiedgssegtQ', 'SolarCoin');
744
+ // });
745
+ //
746
+ // it('should return true for correct expanse addresses', function () {
747
+ // valid('0xbab463743603a253bdf1f84975b1a9517505ae05', 'exp');
748
+ // valid('0x5d0777cb5d6977873904864c6ab531f4b3261f0b', 'expanse');
749
+ // });
750
+ //
751
+ // it('should return true for correct waves addresses', function () {
752
+ // valid('3P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs', 'waves');
753
+ // valid('3P4eeU7v1LMHQFwwT2GW9W99c6vZyytHajj', 'waves');
754
+ //
755
+ // valid('3Myrq5QDgRq3nBVRSSv9UYrP36xTtpJND5y', 'waves', 'testnet');
756
+ // valid('3My3KZgFQ3CrVHgz6vGRt8687sH4oAA1qp8', 'waves', 'testnet');
757
+ // });
758
+ //
759
+ // it('should return true for correct nano addresses', function () {
760
+ // valid('xrb_3t6k35gi95xu6tergt6p69ck76ogmitsa8mnijtpxm9fkcm736xtoncuohr3', 'nano');
761
+ // valid('xrb_13ezf4od79h1tgj9aiu4djzcmmguendtjfuhwfukhuucboua8cpoihmh8byo', 'nano');
762
+ // valid('xrb_35jjmmmh81kydepzeuf9oec8hzkay7msr6yxagzxpcht7thwa5bus5tomgz9', 'nano');
763
+ // valid('xrb_1111111111111111111111111111111111111111111111111111hifc8npp', 'nano');
764
+ // valid('xrb_1ipx847tk8o46pwxt5qjdbncjqcbwcc1rrmqnkztrfjy5k7z4imsrata9est', 'nano');
765
+ // valid('xrb_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp', 'nano');
766
+ // valid('xrb_3arg3asgtigae3xckabaaewkx3bzsh7nwz7jkmjos79ihyaxwphhm6qgjps4', 'nano');
767
+ // valid('xrb_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjmgu', 'nano');
768
+ // valid('xrb_1q79ahdr36uqn38p5tp5sqwkn73rnpj1k8obtuetdbjcx37d5gahhd1u9cuh', 'nano');
769
+ // valid('nano_1q79ahdr36uqn38p5tp5sqwkn73rnpj1k8obtuetdbjcx37d5gahhd1u9cuh', 'nano');
770
+ // });
771
+ //
772
+ // it('should return true for correct Ethereum addresses', function () {
773
+ // valid('0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF', 'flare');
774
+ // valid('0xa00354276d2fC74ee91e37D085d35748613f4748', 'flare');
775
+ // valid('0xAff4d6793F584a473348EbA058deb8caad77a288', 'FLR');
776
+ // valid('0xc6d9d2cd449a754c494264e1809c50e34d64562b', 'FLR');
777
+ // valid('0x52908400098527886E0F7030069857D2E4169EE7', 'FLR');
778
+ // valid('0x8617E340B3D01FA5F11F306F4090FD50E238070D', 'FLR');
779
+ // valid('0xde709f2102306220921060314715629080e2fb77', 'FLR');
780
+ // })
781
+ //
782
+ // it('should return true for correct siacoin addresses', function () {
783
+ // valid(
784
+ // 'a9b01c85163638682b170d82de02b8bb99ba86092e9ab1b0d25111284fe618e93456915820f1',
785
+ // 'siacoin'
786
+ // )
787
+ // valid(
788
+ // 'a9b01c85163638682b170d82de02b8bb99ba86092e9ab1b0d25111284fe618e93456915820f1',
789
+ // 'siacoin'
790
+ // )
791
+ // valid(
792
+ // 'ab0c327982abfcc6055a6c9551589167d8a73501aca8769f106371fbc937ad100c955c3b7ba9',
793
+ // 'siacoin'
794
+ // )
795
+ // valid(
796
+ // 'ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530373',
797
+ // 'siacoin'
798
+ // )
799
+ // })
800
+ //
801
+ // it('should return true for correct loki addresses', function () {
802
+ // // public
803
+ // valid(
804
+ // 'L63ymg8cb5aRz1PhXrEQ22PWw9KBhBS8rMsgqbABhTGFfh53U3Rc2iWCJpCPsHZT5hfyt7fPQa612a5Z1tBnGYEA9h6YHnn',
805
+ // 'loki'
806
+ // )
807
+ // valid(
808
+ // 'L5QKRGMNpQU3eCAdjMVTCR631bRKqnW1oEWWBEHAtFJLieA5VvuxyyubCd9FczEEatg8jfy39UJZ13npLJqZG6dtMtM99ha',
809
+ // 'loki'
810
+ // )
811
+ // // integrated
812
+ // valid(
813
+ // 'LK8CGQ17G9R3ys3Xf33wCeViD2B95jgdpjAhcRsjuheJ784dumXn7g3RPAzedWpFq364jJKYL9dkQ8mY66sZG9BiD1xbPb6dpYo7toNRqk',
814
+ // 'loki'
815
+ // )
816
+ // valid(
817
+ // 'LK8CGQ17G9R3ys3Xf33wCeViD2B95jgdpjAhcRsjuheJ784dumXn7g3RPAzedWpFq364jJKYL9dkQ8mY66sZG9BiCtWq1AYo1oJTVqgUcQ',
818
+ // 'loki'
819
+ // )
820
+ // // subaddress
821
+ // valid(
822
+ // 'LW1VMYcvWPZZJ2h1pKGEku2y9WeDiAU2VhgrgVgvjybaRuCdcEkg6FhXjVNSd37Bp7fhYH8tVa5T9VmRaYiWyxYdCpEGBg8',
823
+ // 'loki'
824
+ // )
825
+ // })
826
+ //
827
+ // it('should return true for correct lbry addresses', function () {
828
+ // valid('bNEMVqeUZUqTrYUxud5ehnUhtTAiWDXQ5e', 'lbc')
829
+ // valid('bDb6NmobyDVeNGpizWQQBZkYjKCRQBdKdG', 'LBC')
830
+ // valid('bTFXPcV3a8iVDezogvHTHezWZ1mZGWpPDc', 'lbc')
831
+ // valid('bK2uEVn6UuwjCTUZ1Dfj5HhWYi9BtqZDDm', 'LBRY Credits')
832
+ // })
833
+ //
834
+ // it('should return true for correct trx addresses', function () {
835
+ // valid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg3r', 'trx');
836
+ // valid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg3r', 'trx', 'testnet');
837
+ // });
838
+ //
839
+ // it('should return true for correct nem addresses', function () {
840
+ // valid('NBZMQO7ZPBYNBDUR7F75MAKA2S3DHDCIFG775N3D', 'xem');
841
+ // valid('TDWTRGT6GVWCV7GRWFNI45S53PGOJBKNUF3GE6PB', 'xem', 'testnet');
842
+ // });
843
+ //
844
+ // it('should return true for correct bsv addresses', function () {
845
+ // valid('qzwryn9fxnpqkf7zt878tp2g9cg8kpl65qh2ml0w0r', 'bsv');
846
+ // valid('qp65yngy5uds4wxtrkynptal4f76qzmrh52pa3mpaf', 'bsv');
847
+ // valid('bitcoincash:qq4v32mtagxac29my6gwj6fd4tmqg8rysu23dax807', 'bsv');
848
+ // valid('qq4v32mtagxac29my6gwj6fd4tmqg8rysu23dax807', 'bsv');
849
+ // valid('qz97s7ee0rvwlymtxrwafmvs87x6027jwuf3wepug7', 'bsv');
850
+ // valid('bitcoincash:qpp32ssez340wfspnt79h6c4xds4fzf3m5j0cplx0l', 'bsv');
851
+ // valid('qqg82u7tq2eahs3gkh9m6kjnmjehr69m5v37alepq4', 'bsv');
852
+ // valid('bitcoincash:qrwkk9a3es2wu7mdvzh0vekfvjuzysq8tv7r3hcwr5', 'bsv');
853
+ // valid('1DrNXqCj2B8FKyx66RAWDkiEJhw2yrvhT3', 'bsv');
854
+ // });
855
+ //
856
+ // it('should return true for correct stellar addresses', function () {
857
+ // valid('GBBM6BKZPEHWYO3E3YKREDPQXMS4VK35YLNU7NFBRI26RAN7GI5POFBB', 'stellar');
858
+ // valid('GB7KKHHVYLDIZEKYJPAJUOTBE5E3NJAXPSDZK7O6O44WR3EBRO5HRPVT', 'stellar');
859
+ // valid('GD6WVYRVID442Y4JVWFWKWCZKB45UGHJAABBJRS22TUSTWGJYXIUR7N2', 'stellar');
860
+ // valid('GBCG42WTVWPO4Q6OZCYI3D6ZSTFSJIXIS6INCIUF23L6VN3ADE4337AP', 'stellar');
861
+ // valid('GDFX463YPLCO2EY7NGFMI7SXWWDQAMASGYZXCG2LATOF3PP5NQIUKBPT', 'stellar');
862
+ // valid('GBXEODUMM3SJ3QSX2VYUWFU3NRP7BQRC2ERWS7E2LZXDJXL2N66ZQ5PT', 'stellar');
863
+ // valid('GAJHORKJKDDEPYCD6URDFODV7CVLJ5AAOJKR6PG2VQOLWFQOF3X7XLOG', 'stellar');
864
+ // valid('GACXQEAXYBEZLBMQ2XETOBRO4P66FZAJENDHOQRYPUIXZIIXLKMZEXBJ', 'stellar');
865
+ // valid('GDD3XRXU3G4DXHVRUDH7LJM4CD4PDZTVP4QHOO4Q6DELKXUATR657OZV', 'stellar');
866
+ // valid('GDTYVCTAUQVPKEDZIBWEJGKBQHB4UGGXI2SXXUEW7LXMD4B7MK37CWLJ', 'xlm');
867
+ // valid('GCCVYKDNQP7NGNTR42SYPMQUZIFTPJUJHXM6JIXQMDLXMCC3ZYOV6AG3', 'xlm', 'testnet');
868
+ // });
869
+ //
870
+ // it('should return true for correct solana addresses', function () {
871
+ // valid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'solana');
872
+ // valid('6ZRCB7AAqGre6c72PRz3MHLC73VMYvJ8bi9KHf1HFpNk', 'sol');
873
+ // valid('HgyXhqapicB8zoyyFQ23oUwwFrBACDyDc7bqUuvnEELM', 'sol');
874
+ // valid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'sol', 'testnet');
875
+ //
876
+ // valid('69UwBV4LPg7hHUS5JXiXyfgVnESmDKe8KJppsLj8pRU', 'sol');
877
+ // valid('G4qGCGF4vWGPzYi2pxc2Djvgv3j8NiWaHQMgTVebCX6W', 'sol');
878
+ // });
879
+ //
880
+ // it('should return true for correct bonk addresses', function () {
881
+ // valid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'bonk');
882
+ // valid('6ZRCB7AAqGre6c72PRz3MHLC73VMYvJ8bi9KHf1HFpNk', 'BONK');
883
+ // valid('HgyXhqapicB8zoyyFQ23oUwwFrBACDyDc7bqUuvnEELM', 'BONK');
884
+ // valid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'BONK', 'testnet');
885
+ //
886
+ // valid('69UwBV4LPg7hHUS5JXiXyfgVnESmDKe8KJppsLj8pRU', 'BONK');
887
+ // valid('G4qGCGF4vWGPzYi2pxc2Djvgv3j8NiWaHQMgTVebCX6W', 'BONK');
888
+ // });
889
+ //
890
+ // });
891
+ //
892
+ // describe('invalid results', function () {
893
+ // function commonTests(currency) {
894
+ // commonTestsWithoutBase58Addresses(currency)
895
+ // invalid('1A1zP1ePQGefi2DMPTifTL5SLmv7DivfNa', currency); //reject invalid address
896
+ // invalid('1A1zP1ePQGefi2DMPTifTL5SLmv7DivfNa', currency, 'testnet'); //reject invalid address
897
+ // }
898
+ //
899
+ // function commonTestsWithoutBase58Addresses(currency) {
900
+ // invalid('', currency); //reject blank
901
+ // invalid('%%@', currency); //reject invalid base58 string
902
+ // invalid('bd839e4f6fadb293ba580df5dea7814399989983', currency); //reject transaction id's
903
+ // //testnet
904
+ // invalid('', currency, 'testnet'); //reject blank
905
+ // invalid('%%@', currency, 'testnet'); //reject invalid base58 string
906
+ // invalid('bd839e4f6fadb293ba580df5dea7814399989983', currency, 'testnet'); //reject transaction id's
907
+ // }
908
+ //
909
+ // it('should return false for incorrect bitcoin addresses', function () {
910
+ // commonTests('bitcoin');
911
+ // });
912
+ //
913
+ // it('should return false for incorrect bitcoincash addresses', function () {
914
+ // commonTests('bitcoincash');
915
+ //
916
+ // // bch addresses
917
+ // invalid('bc1ql08eyrk03qytqc5pdp5fnwpfh0x3y3k2skauvd', 'bitcoincash', 'both');
918
+ // });
919
+ //
920
+ // it('should return false for incorrect litecoin addresses', function () {
921
+ // commonTests('litecoin');
922
+ // });
923
+ //
924
+ // it('should return false for incorrect peercoin addresses', function () {
925
+ // commonTests('peercoin');
926
+ // });
927
+ //
928
+ // it('should return false for incorrect dogecoin addresses', function () {
929
+ // commonTests('dogecoin');
930
+ // });
931
+ //
932
+ // it('should return false for incorrect beavercoin addresses', function () {
933
+ // commonTests('beavercoin');
934
+ // });
935
+ //
936
+ // it('should return false for incorrect freicoin addresses', function () {
937
+ // commonTests('freicoin');
938
+ // });
939
+ //
940
+ // it('should return false for incorrect protoshares addresses', function () {
941
+ // commonTests('protoshares');
942
+ // });
943
+ //
944
+ // it('should return false for incorrect megacoin addresses', function () {
945
+ // commonTests('megacoin');
946
+ // });
947
+ //
948
+ // it('should return false for incorrect primecoin addresses', function () {
949
+ // commonTests('primecoin');
950
+ // });
951
+ //
952
+ // it('should return false for incorrect auroracoin addresses', function () {
953
+ // commonTests('auroracoin');
954
+ // });
955
+ //
956
+ // it('should return false for incorrect namecoin addresses', function () {
957
+ // commonTests('namecoin');
958
+ // });
959
+ //
960
+ // it('should return false for incorrect biocoin addresses', function () {
961
+ // commonTests('biocoin');
962
+ // });
963
+ //
964
+ // it('should return false for incorrect garlicoin addresses', function () {
965
+ // commonTests('garlicoin');
966
+ // });
967
+ //
968
+ // it('should return false for incorrect vertcoin addresses', function () {
969
+ // commonTests('vertcoin');
970
+ // });
971
+ //
972
+ // it('should return false for incorrect bitcoingold addresses', function () {
973
+ // commonTests('bitcoingold');
974
+ // });
975
+ //
976
+ // it('should return false for incorrect decred addresses', function () {
977
+ // commonTests('decred');
978
+ // });
979
+ //
980
+ // it('should return false for incorrect erc20 addresses', function () {
981
+ //
982
+ // commonTests('game');
983
+ // commonTestsWithoutBase58Addresses('usdc');
984
+ //
985
+ // // old game addresses
986
+ // invalid('GU5BBtW9gxSKvAknvFi9yUaXKUNW9zUN2p', 'game');
987
+ // invalid('GYxQMVzP6YpzX59QNRYqmJeHNtUMYSZPri', 'game');
988
+ // });
989
+ //
990
+ // it('should return false for incorrect solarcoin addresses', function () {
991
+ // commonTests('slr');
992
+ // });
993
+ //
994
+ // it('should return false for incorrect tether addresses', function () {
995
+ // commonTests('usdt');
996
+ // });
997
+ //
998
+ // it('should return false for incorrect expanse addresses', function () {
999
+ // commonTests('exp');
1000
+ // });
1001
+ //
1002
+ // it('should return false for incorrect usdt addresses', function () {
1003
+ // commonTests('usdt');
1004
+ // });
1005
+ //
1006
+ // it('should return false for incorrect bankex addresses', function () {
1007
+ // invalid('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez', 'bankex');
1008
+ // invalid('116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd', 'BKX');
1009
+ // invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'bankex', 'testnet');
1010
+ // invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'BKX', 'testnet');
1011
+ // });
1012
+ //
1013
+ // it('should return false for incorrect digibyte addresses', function () {
1014
+ // commonTests('digibyte');
1015
+ // });
1016
+ //
1017
+ // it('should return false for incorrect eip55 addresses', function () {
1018
+ // invalid('6xAff4d6793F584a473348EbA058deb8caad77a288', 'ethereum');
1019
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'ethereum');
1020
+ // invalid('0XD1220A0CF47C7B9BE7A2E6BA89F429762E7B9ADB', 'ethereum');
1021
+ // invalid('aFf4d6793f584a473348ebA058deb8caad77a2885', 'ethereum');
1022
+ // invalid('0xff4d6793F584a473', 'ethereum');
1023
+ //
1024
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'ethereumclassic');
1025
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'etherzero');
1026
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'callisto');
1027
+ // });
1028
+ //
1029
+ // it('should return false for incorrect ripple addresses', function () {
1030
+ // invalid('rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCN', 'ripple');
1031
+ // invalid('rDTXLQ7ZKZVKz33zJbHjgVShjsBnqMBhMN', 'XRP');
1032
+ // invalid('6xAff4d6793F584a473348EbA058deb8ca', 'ripple');
1033
+ // invalid('DJ53hTyLBdZp2wMi5BsCS3rtEL1ioYUkva', 'ripple');
1034
+ // });
1035
+ //
1036
+ // it('should return false for incorrect dash addresses', function () {
1037
+ // commonTests('dash');
1038
+ // });
1039
+ //
1040
+ // it('should return false for incorrect neo addresses', function () {
1041
+ // commonTests('neo');
1042
+ // invalid('AR4QmqYENiZAD6oXe7ftm6eDcwtHk7rVTa', 'neo');
1043
+ // invalid('AKDVzYGLczmykdtRaejgvWeZrvdkVEvQ10', 'NEO');
1044
+ // });
1045
+ //
1046
+ // it('should return false for incorrect qtum addresses', function () {
1047
+ // commonTests('qtum');
1048
+ // invalid('QNPhBbVhDghASxcUh2vHotQUgNeLRFTcfb', 'qtum');
1049
+ // invalid('QOPhBbVhDghASxcUh2vHotQUgNeLRFTcfa', 'QTUM');
1050
+ // });
1051
+ //
1052
+ // it('should return false for incorrect votecoin addresses', function () {
1053
+ // commonTests('votecoin');
1054
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'votecoin');
1055
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'VOT');
1056
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'votecoin', 'testnet');
1057
+ // });
1058
+ //
1059
+ // it('should return false for incorrect bitcoinz addresses', function () {
1060
+ // commonTests('bitcoinz');
1061
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'bitcoinz');
1062
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'BTCZ');
1063
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'bitcoinz', 'testnet');
1064
+ // });
1065
+ //
1066
+ // it('should return false for incorrect zclassic addresses', function () {
1067
+ // commonTests('zclassic');
1068
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zclassic');
1069
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZCL');
1070
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zclassic', 'testnet');
1071
+ // });
1072
+ //
1073
+ // it('should return false for incorrect hush addresses', function () {
1074
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'hush');
1075
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'HUSH');
1076
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'hush', 'testnet');
1077
+ // });
1078
+ //
1079
+ // it('should return false for incorrect zcash addresses', function () {
1080
+ // commonTests('zcash');
1081
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zcash');
1082
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZEC');
1083
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zcash', 'testnet');
1084
+ // });
1085
+ //
1086
+ // it('should return false for incorrect bitcoinprivate addresses', function () {
1087
+ // commonTests('bitcoinprivate');
1088
+ // invalid('b1Y4XXPFhwMb1SP33yhzn3h9qWXjujkgep4', 'bitcoinprivate');
1089
+ // //invalid('bx....', 'BTCP');
1090
+ // //invalid('nx....', 'bitcoinprivate', 'testnet');
1091
+ // });
1092
+ //
1093
+ // it('should return false for incorrect snowgem addresses', function () {
1094
+ // commonTests('snowgem');
1095
+ // invalid('s1Yx7WBkjB4UH6qQjPp6Ysmtr1C1JiTK2Yw', 'snowgem');
1096
+ // invalid('s3Y27MhkBRt3ha2UuxhjXaYF4DCnttTMnL1', 'SNG');
1097
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'snowgem', 'testnet');
1098
+ // });
1099
+ //
1100
+ // it('should return false for incorrect zencash addresses', function () {
1101
+ // commonTests('zencash');
1102
+ // invalid('znYiGGfYRepxkBjXYvA2kFrXiC351i9ta4z', 'zencash');
1103
+ // invalid('zsYEdGnZCQ9G86LZFtbynMn1hYTVhn6eYCL', 'ZEN');
1104
+ // invalid('ztYWMDLWjbruCJxKmmfAZiT6QAQdiv5F291', 'zencash', 'testnet');
1105
+ // });
1106
+ //
1107
+ // it('should return false for incorrect komodo addresses', function () {
1108
+ // commonTests('komodo');
1109
+ // invalid('R9Y5HirAzqDcWrWGiJEL115dpV3QB3hobH', 'komodo');
1110
+ // invalid('RAYj2KKVUohTu3hVdNJ4U6hQi7TNawpacH', 'KMD');
1111
+ // //invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'komodo', 'testnet');
1112
+ // });
1113
+ //
1114
+ // it('should return false for incorrect cardano addresses', function () {
1115
+ // commonTests('cardano');
1116
+ // invalid('Ae2tdPwUPEYxYNJw1He1esdZYvjmr4NtPzUsGTiqL9zd8ohjZYQcwu6lom7', 'cardano');
1117
+ // invalid('DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRTg1', 'cardano');
1118
+ // invalid('DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRT', 'ada');
1119
+ // //invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'komodo', 'testnet');
1120
+ //
1121
+ // invalid('adrr1qxy3w62dupy9pzmpdfzxz4k240w5vawyagl5m9djqquyymrtm3grn7gpnjh7rwh2dy62hk8639lt6kzn32yxq960usnq9pexvt', 'cardano');
1122
+ // invalid('addr2qxy3w62dupy9pzmpdfzxz4k240w5vawyagl5m9djqquyymrtm3grn7gpnjh7rwh2dy62hk8639lt6kzn32yxq960usnq9pexvt', 'cardano', 'prod');
1123
+ // invalid('addr1skemppmfevyk0lshu2w8j34707s3t3t58a04xcx5ccevrcmvpmxg2qt4pk0', 'cardano', 'testnet');
1124
+ //
1125
+ // });
1126
+ //
1127
+ // it('should return false for incorrect monero addresses', function () {
1128
+ // commonTests('monero');
1129
+ // invalid('4AWygwA3hHNE4e4Yr9PtRWJiorXTjZkCi57g4ExYzfXDFFQ8DRFEFyui1dLqVknpqQjGUBdTMbgaFAZaDbrVHdk3GAKBZ3E', 'monero');
1130
+ // invalid('44643dtxcxjgMWEQLo6mh1c4d9Zxx9GbgK9hEj9iGSiFEryCkbwHyJ3JqxZJRqeC3Hb7ZBLKq5NkaJwR1x95EYnR1bTgN6d', 'xmr');
1131
+ // invalid('A17N9ztrxjQD3v3JJtHGvHVnq6BAbujDNEuensB6PFwBYFpkjAicih8hDtX76HBuEag5NeaCuMZmRMe6eE5NMRGxFTQn8nJ', 'monero', 'testnet');
1132
+ //
1133
+ // //integrated
1134
+ // invalid('4LNSCKNSTPNbJYkyAEgL966eHJHLDHiq1PpwKoiFBybcSqNGYfLBJApC62uQEeGAFxfYEd29uXBBrJFo7DhKqFVNi3GhmN79EtD5dgycYz', 'monero');
1135
+ // invalid('4JpzTwf3i1GeCV76beVr19179oa8j1L8xNSC1bXMtAxxdf4aTTLqubL8EvXfQmUGKt9MMigFtKy91VtoTTSfg1LU7LocPruT6KcGC9RKJV', 'xmr');
1136
+ // });
1137
+ //
1138
+ // it('should return false for incorrect waves addresses', function () {
1139
+ // commonTests('waves');
1140
+ // invalid('3P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs1', 'waves');
1141
+ // invalid('3P4eeU7v1LMHQFwwT2GW9W99c6vZyytHaj', 'waves');
1142
+ // invalid('2P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs', 'waves');
1143
+ //
1144
+ // invalid('3Myrq5QDgRq3nBVRSSv9UYRP36xTtpJND5y', 'waves', 'testnet');
1145
+ // invalid('3My3KZgFQ3CrVHgz6vGRt8787sH4oAA1qp8', 'waves', 'testnet');
1146
+ // });
1147
+ //
1148
+ // it('should return false for incorrect nano addresses', function () {
1149
+ // commonTests('nano');
1150
+ // invalid('xrb_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjdgu', 'nano');
1151
+ // invalid('nano_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjdgu', 'nano');
1152
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'nano');
1153
+ // invalid('nano_111111111111111111111111111111111111111111111111111hifc8npp', 'nano');
1154
+ // });
1155
+ //
1156
+ // it('should return false for incorrect siacoin addresses', function () {
1157
+ // commonTests('siacoin')
1158
+ // invalid(
1159
+ // 'ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530372',
1160
+ // 'siacoin'
1161
+ // )
1162
+ // })
1163
+ //
1164
+ // it('should return false for incorrect lbry addresses', function () {
1165
+ // commonTests('lbc')
1166
+ // invalid('ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530372')
1167
+ // })
1168
+ //
1169
+ // it('should return false for incorrect tron addresses', function () {
1170
+ // commonTests('trx');
1171
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'trx');
1172
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'trx');
1173
+ // invalid('27bLJCYjbH6MT8DBF9xcrK6yZnm43vx7MNQ', 'trx');
1174
+ // });
1175
+ //
1176
+ // it('should return false for incorrect nem addresses', function () {
1177
+ // commonTests('nem');
1178
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'nem');
1179
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'nem');
1180
+ //
1181
+ // invalid('3Myrq5QDgRq3nBVRSSv9UYRP36xTtpJND5y', 'nem', 'testnet');
1182
+ // invalid('3My3KZgFQ3CrVHgz6vGRt8787sH4oAA1qp8', 'nem', 'testnet');
1183
+ // });
1184
+ //
1185
+ // it('should return false for incorrect bsv addresses', function () {
1186
+ // commonTests('bsv');
1187
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'bsv');
1188
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'bsv');
1189
+ //
1190
+ // invalid('158237019269308898689L', 'bsv');
1191
+ // invalid('158237A192B930C898689L', 'bsv');
1192
+ // invalid('bitcoin:qzpuefrpg3kl2ykQe52rxn96pd3Kp4qudywr5pyrsf', 'bsv');
1193
+ // invalid('pzuefrpg3kl2ykqe52rxn96pd3kp4qudywr5py', 'bsv');
1194
+ // invalid('rlt2c2wuxr644encp3as0hygtj9djrsaumku3cex5', 'bsv');
1195
+ // invalid('qra607y4wnkmnpy3wcmrxmltzkrxywcq85c7watpdx09', 'bsv');
1196
+ // });
1197
+ //
1198
+ // it('should return false for incorrect stellar addresses', function () {
1199
+ // commonTests('stellar');
1200
+ // invalid('SBGWKM3CD4IL47QN6X54N6Y33T3JDNVI6AIJ6CD5IM47HG3IG4O36XCU', 'stellar');
1201
+ // invalid('GBPXX0A5N4JYPESHAADMQKBPWZWQDQ64ZV6ZL2S3LAGW4SY7NTCMWIVL', 'stellar');
1202
+ // invalid('GCFZB6L25D26RQFDWSSBDEYQ32JHLRMTT44ZYE3DZQUTYOL7WY43PLBG++', 'stellar');
1203
+ // invalid('GADE5QJ2TY7S5ZB65Q43DFGWYWCPHIYDJ2326KZGAGBN7AE5UY6JVDRRA', 'stellar');
1204
+ // invalid('GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2', 'stellar');
1205
+ // invalid('GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2T', 'stellar');
1206
+ // invalid('GDXIIZTKTLVYCBHURXL2UPMTYXOVNI7BRAEFQCP6EZCY4JLKY4VKFNLT', 'stellar');
1207
+ // invalid('SAB5556L5AN5KSR5WF7UOEFDCIODEWEO7H2UR4S5R62DFTQOGLKOVZDY', 'stellar');
1208
+ // invalid('gWRYUerEKuz53tstxEuR3NCkiQDcV4wzFHmvLnZmj7PUqxW2wt', 'stellar');
1209
+ // invalid('g4VPBPrHZkfE8CsjuG2S4yBQNd455UWmk', 'stellar');
1210
+ // });
1211
+ //
1212
+ // it('should return false for incorrect xtz(tezos) address', function () {
1213
+ // commonTests('xtz');
1214
+ // invalid('SBGWKM3CD4IL47QN6X54N6Y33T3JDNVI6AIJ6CD5IM47HG3IG4O36XCU', 'xtz');
1215
+ // invalid('GBPXX0A5N4JYPESHAADMQKBPWZWQDQ64ZV6ZL2S3LAGW4SY7NTCMWIVL', 'xtz');
1216
+ // invalid('GCFZB6L25D26RQFDWSSBDEYQ32JHLRMTT44ZYE3DZQUTYOL7WY43PLBG', 'xtz');
1217
+ // invalid('tz1RR6wy9BeXG3Fjk25YmkSMGHxTtKkhpX', 'xtz');
1218
+ // invalid('tz1h3rQ8wBxFd8L9B3d7JhaPQawu6Z568XU3xY', 'xtz');
1219
+ // invalid('tz1Lhf4J9Qxoe4DZ2nfe8FGDnvVj7oKjnMY6', 'xtz');
1220
+ // invalid('KT1E2LvxxFGB3Svh9p9HCP2jEEYyHjABMbK', 'xtz');
1221
+ //
1222
+ // });
1223
+ //
1224
+ // it('should return false for incorrect eos addresses', function () {
1225
+ // commonTests('eos');
1226
+ // invalid('1234567890123', 'eos');
1227
+ // invalid('12345678901', 'eos');
1228
+ // invalid('12345678901@', 'eos');
1229
+ // });
1230
+ //
1231
+ // it('should return false for incorrect solana addresses', function () {
1232
+ // invalid('833XQoXTx05iya53Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'solana');
1233
+ // invalid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdz', 'solana');
1234
+ // invalid('bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej', 'sol');
1235
+ // invalid('Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm', 'sol');
1236
+ // invalid('addr1skemppmfevyk0lshu2w8j34707s3t3t58a04xcx5ccevrcmvpmxg2qt4pk0', 'sol', 'testnet');
1237
+ // });
1238
+ //
1239
+ // it('should return false for incorrect solana addresses for unknown tokens, even if chainType is provided', function () {
1240
+ // invalid('833XQoXTx05iya53Tr6iqEs9GbRuvVfwyLCP2vpdzhq', 'mobile', { chainType: 'solana' });
1241
+ // invalid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdz', 'mobile', { chainType: 'solana' });
1242
+ // invalid('bc1qwqdg6squsna38e46795at95yu9atm8azzmyvckulcc7kytlcckxswvvzej', 'mobile', { chainType: 'solana' });
1243
+ // invalid('Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm', 'mobile', { chainType: 'solana' });
1244
+ // invalid('addr1skemppmfevyk0lshu2w8j34707s3t3t58a04xcx5ccevrcmvpmxg2qt4pk0', 'mobile', { chainType: 'solana', networkType: 'testnet' });
1245
+ // });
1246
+ //
1247
+ // it('should return false for incorrect erc20 addresses for unknown tokens, even if chainType is provided', function () {
1248
+ // invalid('833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdz', 'eurc', { chainType: 'ethereum' });
1249
+ // invalid('0xDDDDDDD', 'eurc', { chainType: 'ethereum' });
1250
+ // invalid('1234567890123', 'eurc', { chainType: 'Ethereum' });
1251
+ // });
1252
+ //
1253
+ // it('should return false for incorrect trc20 addresses for unknown tokens, even if chainType is provided', function () {
1254
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'unknown trc20', { chainType: 'TRON' });
1255
+ // invalid('27bLJCYjbH6MT8DBF9xcrK6yZnm43vx7MNQ', 'unknown trc20', { chainType: 'tron' , networkType: 'testnet' });
1256
+ // invalid('27bLJCYjbH6MT8DBF9xcrK6yZnm43vx7MNQ', 'unknown trc20', { chainType: 'tron' , networkType: 'prod' });
1257
+ // });
1258
+ //
1259
+ // });
1260
+ //
1261
+ // });
1262
+ //
1263
+ // describe('invalid results', function () {
1264
+ // function commonTests(currency) {
1265
+ // invalid('', currency); //reject blank
1266
+ // invalid('%%@', currency); //reject invalid base58 string
1267
+ // invalid('1A1zP1ePQGefi2DMPTifTL5SLmv7DivfNa', currency); //reject invalid address
1268
+ // invalid('bd839e4f6fadb293ba580df5dea7814399989983', currency); //reject transaction id's
1269
+ // //testnet
1270
+ // invalid('', currency, 'testnet'); //reject blank
1271
+ // invalid('%%@', currency, 'testnet'); //reject invalid base58 string
1272
+ // invalid('1A1zP1ePQGefi2DMPTifTL5SLmv7DivfNa', currency, 'testnet'); //reject invalid address
1273
+ // invalid('bd839e4f6fadb293ba580df5dea7814399989983', currency, 'testnet'); //reject transaction id's
1274
+ // }
1275
+ //
1276
+ // it('should return false for incorrect bitcoin addresses', function () {
1277
+ // commonTests('bitcoin');
1278
+ // });
1279
+ //
1280
+ // it('should return false for incorrect bitcoincash addresses', function () {
1281
+ // commonTests('bitcoincash');
1282
+ // });
1283
+ //
1284
+ // it('should return false for incorrect litecoin addresses', function () {
1285
+ // commonTests('litecoin');
1286
+ // });
1287
+ //
1288
+ // it('should return false for incorrect peercoin addresses', function () {
1289
+ // commonTests('peercoin');
1290
+ // });
1291
+ //
1292
+ // it('should return false for incorrect dogecoin addresses', function () {
1293
+ // commonTests('dogecoin');
1294
+ // });
1295
+ //
1296
+ // it('should return false for incorrect beavercoin addresses', function () {
1297
+ // commonTests('beavercoin');
1298
+ // });
1299
+ //
1300
+ // it('should return false for incorrect freicoin addresses', function () {
1301
+ // commonTests('freicoin');
1302
+ // });
1303
+ //
1304
+ // it('should return false for incorrect protoshares addresses', function () {
1305
+ // commonTests('protoshares');
1306
+ // });
1307
+ //
1308
+ // it('should return false for incorrect megacoin addresses', function () {
1309
+ // commonTests('megacoin');
1310
+ // });
1311
+ //
1312
+ // it('should return false for incorrect primecoin addresses', function () {
1313
+ // commonTests('primecoin');
1314
+ // });
1315
+ //
1316
+ // it('should return false for incorrect auroracoin addresses', function () {
1317
+ // commonTests('auroracoin');
1318
+ // });
1319
+ //
1320
+ // it('should return false for incorrect namecoin addresses', function () {
1321
+ // commonTests('namecoin');
1322
+ // });
1323
+ //
1324
+ // it('should return false for incorrect biocoin addresses', function () {
1325
+ // commonTests('biocoin');
1326
+ // });
1327
+ //
1328
+ // it('should return false for incorrect garlicoin addresses', function () {
1329
+ // commonTests('garlicoin');
1330
+ // });
1331
+ //
1332
+ // it('should return false for incorrect vertcoin addresses', function () {
1333
+ // commonTests('vertcoin');
1334
+ // });
1335
+ //
1336
+ // it('should return false for incorrect bitcoingold addresses', function () {
1337
+ // commonTests('bitcoingold');
1338
+ // });
1339
+ //
1340
+ // it('should return false for incorrect decred addresses', function () {
1341
+ // commonTests('decred');
1342
+ // });
1343
+ //
1344
+ // it('should return false for incorrect solarcoin addresses', function () {
1345
+ // commonTests('slr');
1346
+ // });
1347
+ //
1348
+ // it('should return false for incorrect tether addresses', function () {
1349
+ // commonTests('usdt');
1350
+ // });
1351
+ //
1352
+ // it('should return false for incorrect expanse addresses', function () {
1353
+ // commonTests('exp');
1354
+ // });
1355
+ //
1356
+ // it('should return false for incorrect usdt addresses', function () {
1357
+ // commonTests('usdt');
1358
+ // });
1359
+ //
1360
+ // it('should return false for incorrect bankex addresses', function () {
1361
+ // invalid('1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez', 'bankex');
1362
+ // invalid('116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd', 'BKX');
1363
+ // invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'bankex', 'testnet');
1364
+ // invalid('mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef', 'BKX', 'testnet');
1365
+ // });
1366
+ //
1367
+ // it('should return false for incorrect digibyte addresses', function () {
1368
+ // commonTests('digibyte');
1369
+ // });
1370
+ //
1371
+ // it('should return false for incorrect eip55 addresses', function () {
1372
+ // invalid('6xAff4d6793F584a473348EbA058deb8caad77a288', 'ethereum');
1373
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'ethereum');
1374
+ // invalid('0XD1220A0CF47C7B9BE7A2E6BA89F429762E7B9ADB', 'ethereum');
1375
+ // invalid('aFf4d6793f584a473348ebA058deb8caad77a2885', 'ethereum');
1376
+ // invalid('0xff4d6793F584a473', 'ethereum');
1377
+ //
1378
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'ethereumclassic');
1379
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'etherzero');
1380
+ // invalid('0x02fcd51aAbB814FfFe17908fbc888A8975D839A5', 'callisto');
1381
+ // });
1382
+ //
1383
+ // it('should return false for incorrect ripple addresses', function () {
1384
+ // invalid('rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCN', 'ripple');
1385
+ // invalid('rDTXLQ7ZKZVKz33zJbHjgVShjsBnqMBhMN', 'XRP');
1386
+ // invalid('6xAff4d6793F584a473348EbA058deb8ca', 'ripple');
1387
+ // invalid('DJ53hTyLBdZp2wMi5BsCS3rtEL1ioYUkva', 'ripple');
1388
+ // });
1389
+ //
1390
+ // it('should return false for incorrect dash addresses', function () {
1391
+ // commonTests('dash');
1392
+ // });
1393
+ //
1394
+ // it('should return false for incorrect neo addresses', function () {
1395
+ // commonTests('neo');
1396
+ // invalid('AR4QmqYENiZAD6oXe7ftm6eDcwtHk7rVTa', 'neo');
1397
+ // invalid('AKDVzYGLczmykdtRaejgvWeZrvdkVEvQ10', 'NEO');
1398
+ // });
1399
+ //
1400
+ // it('should return false for incorrect qtum addresses', function () {
1401
+ // commonTests('qtum');
1402
+ // invalid('QNPhBbVhDghASxcUh2vHotQUgNeLRFTcfb', 'qtum');
1403
+ // invalid('QOPhBbVhDghASxcUh2vHotQUgNeLRFTcfa', 'QTUM');
1404
+ // });
1405
+ //
1406
+ // it('should return false for incorrect votecoin addresses', function () {
1407
+ // commonTests('votecoin');
1408
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'votecoin');
1409
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'VOT');
1410
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'votecoin', 'testnet');
1411
+ // });
1412
+ //
1413
+ // it('should return false for incorrect bitcoinz addresses', function () {
1414
+ // commonTests('bitcoinz');
1415
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'bitcoinz');
1416
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'BTCZ');
1417
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'bitcoinz', 'testnet');
1418
+ // });
1419
+ //
1420
+ // it('should return false for incorrect zclassic addresses', function () {
1421
+ // commonTests('zclassic');
1422
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zclassic');
1423
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZCL');
1424
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zclassic', 'testnet');
1425
+ // });
1426
+ //
1427
+ // it('should return false for incorrect hush addresses', function () {
1428
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'hush');
1429
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'HUSH');
1430
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'hush', 'testnet');
1431
+ // });
1432
+ //
1433
+ // it('should return false for incorrect zcash addresses', function () {
1434
+ // commonTests('zcash');
1435
+ // invalid('t1Y9yhDa5XEjgfnTgZoKddeSiEN1aoLkQxq', 'zcash');
1436
+ // invalid('t3Yz22vK5z2LcKEdg16Yv4FFneEL1zg9ojd', 'ZEC');
1437
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'zcash', 'testnet');
1438
+ // });
1439
+ //
1440
+ // it('should return false for incorrect bitcoinprivate addresses', function () {
1441
+ // commonTests('bitcoinprivate');
1442
+ // invalid('b1Y4XXPFhwMb1SP33yhzn3h9qWXjujkgep4', 'bitcoinprivate');
1443
+ // //invalid('bx....', 'BTCP');
1444
+ // //invalid('nx....', 'bitcoinprivate', 'testnet');
1445
+ // });
1446
+ //
1447
+ // it('should return false for incorrect snowgem addresses', function () {
1448
+ // commonTests('snowgem');
1449
+ // invalid('s1Yx7WBkjB4UH6qQjPp6Ysmtr1C1JiTK2Yw', 'snowgem');
1450
+ // invalid('s3Y27MhkBRt3ha2UuxhjXaYF4DCnttTMnL1', 'SNG');
1451
+ // invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'snowgem', 'testnet');
1452
+ // });
1453
+ //
1454
+ // it('should return false for incorrect zencash addresses', function () {
1455
+ // commonTests('zencash');
1456
+ // invalid('znYiGGfYRepxkBjXYvA2kFrXiC351i9ta4z', 'zencash');
1457
+ // invalid('zsYEdGnZCQ9G86LZFtbynMn1hYTVhn6eYCL', 'ZEN');
1458
+ // invalid('ztYWMDLWjbruCJxKmmfAZiT6QAQdiv5F291', 'zencash', 'testnet');
1459
+ // });
1460
+ //
1461
+ // it('should return false for incorrect komodo addresses', function () {
1462
+ // commonTests('komodo');
1463
+ // invalid('R9Y5HirAzqDcWrWGiJEL115dpV3QB3hobH', 'komodo');
1464
+ // invalid('RAYj2KKVUohTu3hVdNJ4U6hQi7TNawpacH', 'KMD');
1465
+ // //invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'komodo', 'testnet');
1466
+ // });
1467
+ //
1468
+ // it('should return false for incorrect cardano addresses', function () {
1469
+ // commonTests('cardano');
1470
+ // invalid('Ae2tdPwUPEYxYNJw1He1esdZYvjmr4NtPzUsGTiqL9zd8ohjZYQcwu6lom7', 'cardano');
1471
+ // invalid('DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRTg1', 'cardano');
1472
+ // invalid('DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRT', 'ada');
1473
+ // //invalid('t2YNzUUx8mWBCRYPRezvA363EYXyEpHokyi', 'komodo', 'testnet');
1474
+ // });
1475
+ //
1476
+ // it('should return false for incorrect monero addresses', function () {
1477
+ // commonTests('monero');
1478
+ // invalid('4AWygwA3hHNE4e4Yr9PtRWJiorXTjZkCi57g4ExYzfXDFFQ8DRFEFyui1dLqVknpqQjGUBdTMbgaFAZaDbrVHdk3GAKBZ3E', 'monero');
1479
+ // invalid('44643dtxcxjgMWEQLo6mh1c4d9Zxx9GbgK9hEj9iGSiFEryCkbwHyJ3JqxZJRqeC3Hb7ZBLKq5NkaJwR1x95EYnR1bTgN6d', 'xmr');
1480
+ // invalid('A17N9ztrxjQD3v3JJtHGvHVnq6BAbujDNEuensB6PFwBYFpkjAicih8hDtX76HBuEag5NeaCuMZmRMe6eE5NMRGxFTQn8nJ', 'monero', 'testnet');
1481
+ //
1482
+ // //integrated
1483
+ // invalid('4LNSCKNSTPNbJYkyAEgL966eHJHLDHiq1PpwKoiFBybcSqNGYfLBJApC62uQEeGAFxfYEd29uXBBrJFo7DhKqFVNi3GhmN79EtD5dgycYz', 'monero');
1484
+ // invalid('4JpzTwf3i1GeCV76beVr19179oa8j1L8xNSC1bXMtAxxdf4aTTLqubL8EvXfQmUGKt9MMigFtKy91VtoTTSfg1LU7LocPruT6KcGC9RKJV', 'xmr');
1485
+ // });
1486
+ //
1487
+ // it('should return false for incorrect waves addresses', function () {
1488
+ // commonTests('waves');
1489
+ // invalid('3P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs1', 'waves');
1490
+ // invalid('3P4eeU7v1LMHQFwwT2GW9W99c6vZyytHaj', 'waves');
1491
+ // invalid('2P93mVrYnQ4ahaRMYwA2BeWY32eDxTpLVEs', 'waves');
1492
+ //
1493
+ // invalid('3Myrq5QDgRq3nBVRSSv9UYRP36xTtpJND5y', 'waves', 'testnet');
1494
+ // invalid('3My3KZgFQ3CrVHgz6vGRt8787sH4oAA1qp8', 'waves', 'testnet');
1495
+ // });
1496
+ //
1497
+ // it('should return false for incorrect nano addresses', function () {
1498
+ // commonTests('nano');
1499
+ // invalid('xrb_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjdgu', 'nano');
1500
+ // invalid('nano_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjdgu', 'nano');
1501
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'nano');
1502
+ // invalid('nano_111111111111111111111111111111111111111111111111111hifc8npp', 'nano');
1503
+ // });
1504
+ //
1505
+ // it('should return false for incorrect siacoin addresses', function () {
1506
+ // commonTests('siacoin')
1507
+ // invalid(
1508
+ // 'ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530372',
1509
+ // 'siacoin'
1510
+ // )
1511
+ // })
1512
+ //
1513
+ //
1514
+ // it('should return false for incorrect lbry addresses', function () {
1515
+ // commonTests('lbc')
1516
+ // invalid('ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530372')
1517
+ // })
1518
+ //
1519
+ // it('should return false for incorrect tron addresses', function () {
1520
+ // commonTests('trx');
1521
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'trx');
1522
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'trx');
1523
+ // });
1524
+ //
1525
+ // it('should return false for incorrect nem addresses', function () {
1526
+ // commonTests('nem');
1527
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'nem');
1528
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'nem');
1529
+ //
1530
+ // invalid('3Myrq5QDgRq3nBVRSSv9UYRP36xTtpJND5y', 'nem', 'testnet');
1531
+ // invalid('3My3KZgFQ3CrVHgz6vGRt8787sH4oAA1qp8', 'nem', 'testnet');
1532
+ // });
1533
+ //
1534
+ // it('should return false for incorrect bsv addresses', function () {
1535
+ // commonTests('bsv');
1536
+ // invalid('xrb_1111111112111111111111111111111111111111111111111111hifc8npp', 'bsv');
1537
+ // invalid('TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg31', 'bsv');
1538
+ //
1539
+ // invalid('158237019269308898689L', 'bsv');
1540
+ // invalid('158237A192B930C898689L', 'bsv');
1541
+ // invalid('bitcoin:qzpuefrpg3kl2ykQe52rxn96pd3Kp4qudywr5pyrsf', 'bsv');
1542
+ // invalid('pzuefrpg3kl2ykqe52rxn96pd3kp4qudywr5py', 'bsv');
1543
+ // invalid('rlt2c2wuxr644encp3as0hygtj9djrsaumku3cex5', 'bsv');
1544
+ // invalid('qra607y4wnkmnpy3wcmrxmltzkrxywcq85c7watpdx09', 'bsv');
1545
+ // });
1546
+ //
1547
+ // it('should return false for incorrect stellar addresses', function () {
1548
+ // commonTests('stellar');
1549
+ // invalid('SBGWKM3CD4IL47QN6X54N6Y33T3JDNVI6AIJ6CD5IM47HG3IG4O36XCU', 'stellar');
1550
+ // invalid('GBPXX0A5N4JYPESHAADMQKBPWZWQDQ64ZV6ZL2S3LAGW4SY7NTCMWIVL', 'stellar');
1551
+ // invalid('GCFZB6L25D26RQFDWSSBDEYQ32JHLRMTT44ZYE3DZQUTYOL7WY43PLBG++', 'stellar');
1552
+ // invalid('GADE5QJ2TY7S5ZB65Q43DFGWYWCPHIYDJ2326KZGAGBN7AE5UY6JVDRRA', 'stellar');
1553
+ // invalid('GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2', 'stellar');
1554
+ // invalid('GB6OWYST45X57HCJY5XWOHDEBULB6XUROWPIKW77L5DSNANBEQGUPADT2T', 'stellar');
1555
+ // invalid('GDXIIZTKTLVYCBHURXL2UPMTYXOVNI7BRAEFQCP6EZCY4JLKY4VKFNLT', 'stellar');
1556
+ // invalid('SAB5556L5AN5KSR5WF7UOEFDCIODEWEO7H2UR4S5R62DFTQOGLKOVZDY', 'stellar');
1557
+ // invalid('gWRYUerEKuz53tstxEuR3NCkiQDcV4wzFHmvLnZmj7PUqxW2wt', 'stellar');
1558
+ // invalid('g4VPBPrHZkfE8CsjuG2S4yBQNd455UWmk', 'stellar');
1559
+ // });
1560
+ //
1561
+ // it('should return false for incorrect vet addresses', function () {
1562
+ // commonTests('vet');
1563
+ // invalid('SBGWKM3CD4IL47QN6X54N6Y33T3JDNVI6AIJ6CD5IM47HG3IG4O36XCU', 'vet');
1564
+ // invalid('Ox46B8aABa5Eaa84Dc074c350eD57D8b3c35B90E09', 'vet');
1565
+ // invalid('0x46b8aABa5Eaa84Dc074c350eD57D8b3c35B90E09', 'vet');
1566
+ // });
1567
+ //
1568
+ // it('should return false for incorrect algo addresses', function () {
1569
+ // commonTests('algo');
1570
+ // invalid('GPNISIUAYDOMHM7VURRAAAP5H6OAWRRBCPXEIOZO3QI7TZKR5GTAQ7WK7Y', 'algo');
1571
+ // invalid('LCRDY3LYAANTVS3XRHEHWHGXRTKZYVTX55P5IA2AT5ZDJ4CWZFFZIKVHMJ', 'algo')
1572
+ // invalid('SP745JJR4KPRQEXJZHVIEN736LYTL2T2DFMG3OIIFJBV66K73PHNMDCZV', 'algo')
1573
+ // invalid('KHSHWO2TUWE53RMVG6ZUBNAEX6MTYPT76TCIDCDWYUUTK6HCJTZS2HDQU', 'algo')
1574
+ // });
1575
+ //
1576
+ // it('should return false for incorrect dot addresses', function () {
1577
+ // commonTests('dot');
1578
+ // invalid('1jQPKJmghHbrRhUiMt2cNEuxYbR6S9vYtJKqYvE4PNR9WDB', 'dot');
1579
+ // invalid('1FRMM8PEiWXYax7rpS6X4XZX1aAAxSWx1CrKTyrVYhV24fh', 'dot');
1580
+ // invalid('5CK8D1sKNwF473wbuBP6NuhQfPaWUetNsWUNAAzVwTfxqjf', 'dot');
1581
+ // invalid('pjsLDC1JFyrhm3ftC9Gs4QoyrkHKhZKtK7YqGTRFtTafgp', 'dot');
1582
+ // invalid('15FKUKXC6kwaXxJ1tNywmFy4ZY6FoDFCnU3fMbibFdeqwGw', 'dot');
1583
+ // invalid('CxDDSH8gS7jecsxaRL8Txf8H5kqesLXAEAEgp76Yz632J9M', 'dot');
1584
+ // });
1585
+
1586
+
1587
+ // });
1588
+
1589
+