multichain-address-validator 0.8.0 → 0.8.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 (79) hide show
  1. package/README.md +0 -1
  2. package/dist/cjs/chain-validators.js +2 -0
  3. package/dist/esm/chain-validators.js +2 -0
  4. package/package.json +3 -2
  5. package/.editorconfig +0 -10
  6. package/.travis.yml +0 -11
  7. package/.vscode/launch.json +0 -23
  8. package/index.html +0 -12
  9. package/package-lock.json +0 -1705
  10. package/src/chain-validators.ts +0 -183
  11. package/src/crypto/base32.ts +0 -66
  12. package/src/crypto/base58.ts +0 -46
  13. package/src/crypto/bech32.js +0 -132
  14. package/src/crypto/biginteger.js +0 -1426
  15. package/src/crypto/blake256.js +0 -188
  16. package/src/crypto/blake2b.js +0 -276
  17. package/src/crypto/cnBase58.js +0 -226
  18. package/src/crypto/segwit_addr.js +0 -118
  19. package/src/crypto/utils.ts +0 -133
  20. package/src/helpers.ts +0 -13
  21. package/src/index.ts +0 -28
  22. package/src/types.ts +0 -19
  23. package/src/validators/algorand_validator.ts +0 -28
  24. package/src/validators/base58_validator.ts +0 -32
  25. package/src/validators/bch_validator.ts +0 -66
  26. package/src/validators/bip173_validator.ts +0 -19
  27. package/src/validators/bitcoin_validator.ts +0 -93
  28. package/src/validators/bittensor_validator.ts +0 -8
  29. package/src/validators/cardano_validator.ts +0 -50
  30. package/src/validators/eos_validator.ts +0 -13
  31. package/src/validators/ethereum_validator.ts +0 -37
  32. package/src/validators/hedera_validator.ts +0 -10
  33. package/src/validators/index.ts +0 -20
  34. package/src/validators/monero_validator.ts +0 -72
  35. package/src/validators/move_validator.ts +0 -11
  36. package/src/validators/nano_validator.ts +0 -32
  37. package/src/validators/nem_validator.ts +0 -18
  38. package/src/validators/polkadot_validator.ts +0 -7
  39. package/src/validators/ripple_validator.ts +0 -44
  40. package/src/validators/sia_validator.ts +0 -33
  41. package/src/validators/solana_validator.ts +0 -21
  42. package/src/validators/ss58_validator.ts +0 -80
  43. package/src/validators/tezos_validator.ts +0 -36
  44. package/src/validators/tron_validator.ts +0 -59
  45. package/src/validators/xlm_validator.ts +0 -54
  46. package/src/validators/zcash_validator.ts +0 -57
  47. package/test/addresses/addresses.ts +0 -63
  48. package/test/addresses/algorand.json +0 -6
  49. package/test/addresses/aptos.json +0 -6
  50. package/test/addresses/bch-testnet.json +0 -4
  51. package/test/addresses/bch.json +0 -7
  52. package/test/addresses/bittensor.json +0 -27
  53. package/test/addresses/btc-testnet.json +0 -14
  54. package/test/addresses/btc.json +0 -18
  55. package/test/addresses/cardano.json +0 -8
  56. package/test/addresses/doge-testnet.json +0 -3
  57. package/test/addresses/doge.json +0 -7
  58. package/test/addresses/eos.json +0 -6
  59. package/test/addresses/evm.json +0 -20
  60. package/test/addresses/hbar.json +0 -11
  61. package/test/addresses/ltc-testnet.json +0 -10
  62. package/test/addresses/ltc.json +0 -9
  63. package/test/addresses/monero-testnet.json +0 -5
  64. package/test/addresses/monero.json +0 -7
  65. package/test/addresses/nano.json +0 -12
  66. package/test/addresses/nem.json +0 -4
  67. package/test/addresses/polkadot.json +0 -8
  68. package/test/addresses/ripple.json +0 -20
  69. package/test/addresses/sia.json +0 -5
  70. package/test/addresses/solana.json +0 -12
  71. package/test/addresses/sui.json +0 -6
  72. package/test/addresses/tezos.json +0 -9
  73. package/test/addresses/tron.json +0 -6
  74. package/test/addresses/xlm.json +0 -21
  75. package/test/addresses/zcash.json +0 -8
  76. package/test/multichain-address-validator.test.ts +0 -242
  77. package/tsconfig.cjs.json +0 -7
  78. package/tsconfig.esm.json +0 -7
  79. package/tsconfig.json +0 -24
@@ -1,27 +0,0 @@
1
- [
2
- "5CS9x5NsPHpb2THeS92zBYCSSk4MFoQjjx76DB8bEzeJTTSt",
3
- "5CZmB94iEG4Ld7JkejAWToAw7NKEfV3YZHX7FYaqPGh7isXe",
4
- "5DA7UsaYbk1UnhhtTxqpwdqjuxhQ2rW7D6GTN1S1S5tC2NRV",
5
- "5HGjWAeFDfFCWPsjFQdVV2Msvz2XtMktvgocEZcCj68kUMaw",
6
- "5DAAnrj7VHTznn2AWBemMuyBwZWs6FNFjdyVXUeYum3PTXFy",
7
- "5HpG9w8EBLe5XCrbczpwq5TSXvedjrBGCwqxK1iQ7qUsSWFc",
8
- "5CiPPseXPECbkjWCa6MnjNokrgYjMqmKndv2rSnekmSK2DjL",
9
- "5GNJqTPyNqANBkUVMN1LPPrxXnFouWXoe2wNSmmEoLctxiZY",
10
- "5Gs5ung9YhbXjrEx469w5V9C6V8nEVM6XS9CzMMq1tq16cMt",
11
- {
12
- "address": "1iQPKJmghHbrRhUiMt2cNEuxYbR6S9vYtJKqYvE4PNR9WDB",
13
- "invalid": true
14
- },
15
- {
16
- "address": "invalid_ss58_address",
17
- "invalid": true
18
- },
19
- {
20
- "address": "0x1234567890abcdef",
21
- "invalid": true
22
- },
23
- {
24
- "address": "123",
25
- "invalid": true
26
- }
27
- ]
@@ -1,14 +0,0 @@
1
- [
2
- "mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef",
3
- "GSa5espVLNseXEfKt46zEdS6jrPkmFghBU",
4
- "mptPo5AvLzJXi4T82vR6g82fT5uJ6HsQCu",
5
- "mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef",
6
- "2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7",
7
- "tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
8
- "GSa5espVLNseXEfKt46zEdS6jrPkmFghBU",
9
- "tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7",
10
- "tb1qqqqqp399et2xygdj5xreqhjjvcmzhxw4aywxecjdzew6hylgvsesrxh6hy",
11
- "2My6YWQy9Umh52TFwhRA5CXHZQVLFoB39vJ",
12
- "mxHzYDeCZD8qzvfVzTqPS65p23inGkRvXT",
13
- "2N3ATmqPqnHR243HiwtqpCFwSsNdTiCvmmv"
14
- ]
@@ -1,18 +0,0 @@
1
- [
2
- "12KYrjTdVGjFMtaxERSk3gphreJ5US8aUP",
3
- "12QeMLzSrB8XH8FvEzPMVoRxVAzTr5XM2y",
4
- "15uwigGExiNQxTNr1QSZYPXJMp9Px2YnVU",
5
- "3FyVFsEyyBPzHjD3qUEgX7Jsn4tcHNZFkn",
6
- "38mKdURe1zcQyrFqRLzR8PRao3iLGEPVsU",
7
- "BC1QW508D6QEJXTDG4Y5R3ZARVARY0C5XW7KV8F3T4",
8
- "1oNLrsHnBcR6dpaBpwz3LSwutbUNkNSjs",
9
- "1HVDCg2KrPBH1Mg5SK9fGjAR9KVqyMMdBC",
10
- "1SQHtwR5oJRKLfiWQ2APsAd9miUc4k2ez",
11
- "116CGDLddrZhMrTwhCVJXtXQpxygTT1kHd",
12
- "3NJZLcZEEYBpxYEUGewU4knsQRn1WM5Fkt",
13
- "bc1q2t63ewm3mvh0ztmnmezxm7s0tefknenxlrlwrk",
14
- {
15
- "address": "bc1pmr3w69uk09zqez3vy4l0jjws7uwa9fmljag2mwumfx9rr6045g8scr7nn3",
16
- "invalid": true
17
- }
18
- ]
@@ -1,8 +0,0 @@
1
- [
2
- "Ae2tdPwUPEYzs5BRbGcoS3DXvK8mwgggmESz4HqUwMyaS9eNksZGz1LMS9v",
3
- "Ae2tdPwUPEYxYNJw1He1esdZYvjmr4NtPzUsGTiqL9zd8ohjZYQcwu6kom7",
4
- "DdzFFzCqrhsfdzUZxvuBkhV8Lpm9p43p9ubh79GCTkxJikAjKh51qhtCFMqUniC5tv5ZExyvSmAte2Du2tGimavSo6qSgXbjiy8qZRTg",
5
- "Ae2tdPwUPEZKmwoy3AU3cXb5Chnasj6mvVNxV1H11997q3VW5ihbSfQwGpm",
6
- "4swhHtxKapQbj3TZEipgtp7NQzcRWDYqCxXYoPQWjGyHmhxS1w1TjUEszCQT1sQucGwmPQMYdv1FYs3d51KgoubviPBf",
7
- "addr1qxy3w62dupy9pzmpdfzxz4k240w5vawyagl5m9djqquyymrtm3grn7gpnjh7rwh2dy62hk8639lt6kzn32yxq960usnq9pexvt"
8
- ]
@@ -1,3 +0,0 @@
1
- [
2
- "2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7"
3
- ]
@@ -1,7 +0,0 @@
1
- [
2
- "DPpJVPpvPNP6i6tMj4rTycAGh8wReTqaSU",
3
- "DNzLUN6MyYVS5zf4Xc2yK69V3dXs6Mxia5",
4
- "DPS6iZj7roHquvwRYXNBua9QtKPzigUUhM",
5
- "A7JjzK9k9x5b2MkkQzqt91WZsuu7wTu6iS",
6
- "A5qAJPAc1Ym4A815HcvLKe6Bp5DJeRPJtF"
7
- ]
@@ -1,6 +0,0 @@
1
- [
2
- "bittrexacct1",
3
- "binancecleos",
4
- "123456789012",
5
- "12345678.012"
6
- ]
@@ -1,20 +0,0 @@
1
- [
2
- "0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF",
3
- "0xa00354276d2fC74ee91e37D085d35748613f4748",
4
- "0xAff4d6793F584a473348EbA058deb8caad77a288",
5
- "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
6
- "0x52908400098527886E0F7030069857D2E4169EE7",
7
- "0x8617E340B3D01FA5F11F306F4090FD50E238070D",
8
- "0x27b1fdb04752bbc536007a920d24acb045561c26",
9
- "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed",
10
- "0xfB6916095ca1df60bB79Ce92cE3Ea74c37c5d359",
11
- "0xdbF03B407c01E7cD3CBea99509d93f8DDDC8C6FB",
12
- "0xD1220A0cf47c7B9Be7A2E6BA89F429762e7b9aDb",
13
- "0xE37c0D48d68da5c5b14E5c1a9f1CFE802776D9FF",
14
- "0xa00354276d2fC74ee91e37D085d35748613f4748",
15
- "0xAff4d6793F584a473348EbA058deb8caad77a288",
16
- "0xc6d9d2cd449a754c494264e1809c50e34d64562b",
17
- "0x52908400098527886E0F7030069857D2E4169EE7",
18
- "0x8617E340B3D01FA5F11F306F4090FD50E238070D",
19
- "0xde709f2102306220921060314715629080e2fb77"
20
- ]
@@ -1,11 +0,0 @@
1
- [
2
- "0.0.12345",
3
- "0.0.987654321",
4
- "0.1.54321",
5
- "1.0.123",
6
- "2.3.45678",
7
- "0.2.789",
8
- "0.2.789",
9
- "0.0.1",
10
- "10.5.987"
11
- ]
@@ -1,10 +0,0 @@
1
- [
2
- "mzBc4XEFSdzCDcTxAgf6EZXgsZWpztRhef",
3
- "2MxKEf2su6FGAUfCEAHreGFQvEYrfYNHvL7",
4
- "2N5jUhwzndtTUXspDGJkAvP7WCCRLQkgMfX",
5
- "QW2SvwjaJU8LD6GSmtm1PHnBG2xPuxwZFy",
6
- "QjpzxpbLp5pCGsCczMbfh1uhC3P89QZavY",
7
- "tltc1qu78xur5xnq6fjy83amy0qcjfau8m367defyhms",
8
- "mipcBbFg9gMiCh81Kj8tqqdgoZub1ZJRfn",
9
- "nYNZ81BicMYUDt99dFsMdPo5JjfrMB6T3k"
10
- ]
@@ -1,9 +0,0 @@
1
- [
2
- "LVg2kJoFNg45Nbpy53h7Fe1wKyeXVRhMH9",
3
- "LTpYZG19YmfvY2bBDYtCKpunVRw7nVgRHW",
4
- "Lb6wDP2kHGyWC7vrZuZAgV7V4ECyDdH7a6",
5
- "ltc1qg42tkwuuxefutzxezdkdel39gfstuap288mfea",
6
- "ltc1qg42tkwuuxefutzxezdkdel39gfstuap288mfea",
7
- "ltc1qhxka8d59lylj76rpsflhagp76nvckggd8x0tt7jtnphpkmfv3snsk6suq0",
8
- "LLUvRjeoNCa1gRuoVzFAzr3pWdu21JJESa"
9
- ]
@@ -1,5 +0,0 @@
1
- [
2
- "A2be3UvzMtkJtxRYgcCbQt2y7Rp2eLVGqNTWfZeankrWimSMM4y7uMP6B9oAZaHsXTj8KFSerkSkkVRuEuEca9QM8VhxCNU",
3
- "9uXRFi4PZMqhsnthBF6bGdfVnBSZtfKkR7Td8qPM7jUKZeTfR1tLhCoTLqYNE12xuiQg3aWGiLw83bWsqwTRLaM4Jk47xYM",
4
- "9tFTaQM39JXhULZsHauPHhjFrjcGSGXoijEPYoRgAky9Veck2mFp3EifQ2tKHmEHuuUoFfgYRNR2bVaborz5oi8JA8xkqjY"
5
- ]
@@ -1,7 +0,0 @@
1
- [
2
- "47zQ5LAivg6hNCgijXSEFVLX7mke1bgM6YGLFaANDoJbgXDymcAAZvvMNt2PmMpqEe5qRy2zyfMYXdwpmdyitiFh84xnPG2",
3
- "48bWuoDG75CXMDHbmPEvUF2hm1vLDic7ZJ7hqRkL65QR9p13AQAX4eEACXNk4YP115Q4KRVZnAvmMBHrcGfv9FvKPZnH6vH",
4
- "88WB4JKdQVhWfkc8cBT9EEJ6vejSAqKJHbV1dXBAXdpgQovtNDNRxfKCS7wB8rHQ5D5zH2Pd1YkyMNNQDie6ZfeZ311fPgn",
5
- "4Gd4DLiXzBmbVX2FZZ3Cvu6fUaWACup1qDowprUCje1kSP4FmbftiJMSfV8kWZXNqmVwj4m52xqtgFNUudVmsmGkGvkLcCibWfVUfUFVB7",
6
- "4J5sF94AzXgFgx8LuWc9dcWkJkGkD3cL3L2AuhX6QA9jFvSxxj6QhHqHXqM2b2Go7G8RyDzEbHxYd9G26XUUbuJChipEyBz9fENMU2Ua9b"
7
- ]
@@ -1,12 +0,0 @@
1
- [
2
- "xrb_3t6k35gi95xu6tergt6p69ck76ogmitsa8mnijtpxm9fkcm736xtoncuohr3",
3
- "xrb_13ezf4od79h1tgj9aiu4djzcmmguendtjfuhwfukhuucboua8cpoihmh8byo",
4
- "xrb_35jjmmmh81kydepzeuf9oec8hzkay7msr6yxagzxpcht7thwa5bus5tomgz9",
5
- "xrb_1111111111111111111111111111111111111111111111111111hifc8npp",
6
- "xrb_1ipx847tk8o46pwxt5qjdbncjqcbwcc1rrmqnkztrfjy5k7z4imsrata9est",
7
- "xrb_3wm37qz19zhei7nzscjcopbrbnnachs4p1gnwo5oroi3qonw6inwgoeuufdp",
8
- "xrb_3arg3asgtigae3xckabaaewkx3bzsh7nwz7jkmjos79ihyaxwphhm6qgjps4",
9
- "xrb_1f5e4w33ndqbkx4bw5jtp13kp5xghebfxcmw9hdt1f7goid1s4373w6tjmgu",
10
- "xrb_1q79ahdr36uqn38p5tp5sqwkn73rnpj1k8obtuetdbjcx37d5gahhd1u9cuh",
11
- "nano_1q79ahdr36uqn38p5tp5sqwkn73rnpj1k8obtuetdbjcx37d5gahhd1u9cuh"
12
- ]
@@ -1,4 +0,0 @@
1
- [
2
- "NBZMQO7ZPBYNBDUR7F75MAKA2S3DHDCIFG775N3D",
3
- "TDWTRGT6GVWCV7GRWFNI45S53PGOJBKNUF3GE6PB"
4
- ]
@@ -1,8 +0,0 @@
1
- [
2
- "1iQPKJmghHbrRhUiMt2cNEuxYbR6S9vYtJKqYvE4PNR9WDB",
3
- "1FRMM8PEiWXYax7rpS6X4XZX1aAAxSWx1CrKTyrVYhV24fg",
4
- "5CK8D1sKNwF473wbuBP6NuhQfPaWUetNsWUNAAzVwTfxqjfr",
5
- "CpjsLDC1JFyrhm3ftC9Gs4QoyrkHKhZKtK7YqGTRFtTafgp",
6
- "15FKUKXC6kwaXxJ1tXNywmFy4ZY6FoDFCnU3fMbibFdeqwGw",
7
- "CxDDSH8gS7jecsxaRL9Txf8H5kqesLXAEAEgp76Yz632J9M"
8
- ]
@@ -1,20 +0,0 @@
1
- [
2
- "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn",
3
- "rG1QQv2nh2gr7RCZ1P8YYcBUKCCN633jCn",
4
- "r3kmLJN5D28dHuH8vZNUZpMC43pEHpaocV",
5
- "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
6
- {
7
- "address": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
8
- "memo": "4294967295"
9
- },
10
- "rDTXLQ7ZKZVKz33zJbHjgVShjsBnqMBhmN",
11
- {
12
- "address": "rDTXLQ7ZKZVKz33zJbHjgVShjsBnqMBhmN",
13
- "memo": "50000"
14
- },
15
- {
16
- "address": "rDTXLQ7ZKZVKz33zJbHjgVShjsBnqMBhmN",
17
- "memo": "non-numeric-memo",
18
- "invalidMemo": true
19
- }
20
- ]
@@ -1,5 +0,0 @@
1
- [
2
- "a9b01c85163638682b170d82de02b8bb99ba86092e9ab1b0d25111284fe618e93456915820f1",
3
- "ab0c327982abfcc6055a6c9551589167d8a73501aca8769f106371fbc937ad100c955c3b7ba9",
4
- "ffe1308c044ade30392a0cdc1fd5a4dbe94f9616a95faf888ed36123d9e711557aa497530373"
5
- ]
@@ -1,12 +0,0 @@
1
- [
2
- "833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq",
3
- "6ZRCB7AAqGre6c72PRz3MHLC73VMYvJ8bi9KHf1HFpNk",
4
- "HgyXhqapicB8zoyyFQ23oUwwFrBACDyDc7bqUuvnEELM",
5
- "833XorXTTx5iya5B3Tr6iqEs9GbRuvVfwyLCP2vpdzhq",
6
- "69UwBV4LPg7hHUS5JXiXyfgVnESmDKe8KJppsLj8pRU",
7
- "G4qGCGF4vWGPzYi2pxc2Djvgv3j8NiWaHQMgTVebCX6W",
8
- {
9
- "address": "3Yu3ULPjVc4QqS349VCs22br9zH9T6MWNnSM9RBimkw",
10
- "invalid": true
11
- }
12
- ]
@@ -1,6 +0,0 @@
1
- [
2
- "0xaabf25b0c115130a4ad88bfa08627c5a103b7851e90869c23fadaf0512dd5133",
3
- "0xdce6ab89a1d26c99491a70fd4a2536d065925114deee916a1ae7d35007f4dedf",
4
- "0xd05448f15a03f25b2816c4538b72bd54752ba7522d4831a4c9ea5a613becb47a",
5
- "0x39f521d22f611a4dec2f790fef2e4f8d1f96550509e85beccf8acec52c1a7219"
6
- ]
@@ -1,9 +0,0 @@
1
- [
2
- "tz1Lhf4J9Qxoe3DZ2nfe8FGDnvVj7oKjnMY6",
3
- "tz1PyxsQ7xVTa5J7gtBeT7pST5Zi5nk5GSjg",
4
- "tz1LcuQHNVQEWP2fZjk1QYZGNrfLDwrT3SyZ",
5
- "tz1Lhf4J9Qxoe3DZ2nfe8FGDnvVj7oKjnMY6",
6
- "tz1RR6wETy9BeXG3Fjk25YmkSMGHxTtKkhpX",
7
- "tz1h3rQ8wBxFd8L9B3d7Jhaawu6Z568XU3xY",
8
- "KT1EM2LvxxFGB3Svh9p9HCP2jEEYyHjABMbK"
9
- ]
@@ -1,6 +0,0 @@
1
- [
2
- "TNDzfERDpxLDS2w1q6yaFC7pzqaSQ3Bg3r",
3
- "TFEkshkSXo8yMe8vcA6P77XmiLfstNWHyT",
4
- "TUBBzKNM9gr687ucwj8fvVS2Sf2e4WseVa",
5
- "TFEkshkSXo8yMe8vcA6P77XmiLfstNWHyT"
6
- ]
@@ -1,21 +0,0 @@
1
- [
2
- "GBBM6BKZPEHWYO3E3YKREDPQXMS4VK35YLNU7NFBRI26RAN7GI5POFBB",
3
- "GB7KKHHVYLDIZEKYJPAJUOTBE5E3NJAXPSDZK7O6O44WR3EBRO5HRPVT",
4
- "GD6WVYRVID442Y4JVWFWKWCZKB45UGHJAABBJRS22TUSTWGJYXIUR7N2",
5
- "GBCG42WTVWPO4Q6OZCYI3D6ZSTFSJIXIS6INCIUF23L6VN3ADE4337AP",
6
- "GDFX463YPLCO2EY7NGFMI7SXWWDQAMASGYZXCG2LATOF3PP5NQIUKBPT",
7
- "GBXEODUMM3SJ3QSX2VYUWFU3NRP7BQRC2ERWS7E2LZXDJXL2N66ZQ5PT",
8
- "GAJHORKJKDDEPYCD6URDFODV7CVLJ5AAOJKR6PG2VQOLWFQOF3X7XLOG",
9
- "GACXQEAXYBEZLBMQ2XETOBRO4P66FZAJENDHOQRYPUIXZIIXLKMZEXBJ",
10
- "GDD3XRXU3G4DXHVRUDH7LJM4CD4PDZTVP4QHOO4Q6DELKXUATR657OZV",
11
- "GDTYVCTAUQVPKEDZIBWEJGKBQHB4UGGXI2SXXUEW7LXMD4B7MK37CWLJ",
12
- {
13
- "address": "GDTYVCTAUQVPKEDZIBWEJGKBQHB4UGGXI2SXXUEW7LXMD4B7MK37CWLJ",
14
- "memo": "3fdsfsdfasdfdsfgasdgfdsfgas"
15
- },
16
- {
17
- "address": "GDTYVCTAUQVPKEDZIBWEJGKBQHB4UGGXI2SXXUEW7LXMD4B7MK37CWLJ",
18
- "memo": "really long memo that exceeds 28 bytes",
19
- "invalidMemo": true
20
- }
21
- ]
@@ -1,8 +0,0 @@
1
- [
2
- "t1NN6mnj4gaMX4aL4C2B29ekFgLttT9B1jM",
3
- "t1ZVi2YGk98tEGYcNpXYnJFWCoLG2oYwv3J",
4
- "t3cFfPt1Bcvgez9ZbMBFWeZsskxTkPzGCow",
5
- "t1at7nVNsv6taLRrNRvnQdtfLNRDfsGc3Ak",
6
- "t1MYWFMnMbazMP3U8ZCASfdamy6JY5inevP",
7
- "t1a7EMsA9HxrBgPmLYUUq3iBijnDvfgptGJ"
8
- ]
@@ -1,242 +0,0 @@
1
- import {describe, it} from 'mocha'
2
- import {expect} from 'chai'
3
-
4
- import {Chain, NetworkType, validate, validateMemo} from '../src'
5
- // @ts-ignore
6
- import addresses, {TestAddress} from './addresses/addresses'
7
-
8
- function check(address: TestAddress, chain: Chain) {
9
- if (typeof address === 'string') {
10
- return valid(address, chain)
11
- }
12
- (address.invalid || address.invalidMemo)
13
- ? invalid(address, chain)
14
- : valid(address, chain)
15
- }
16
-
17
- function valid(address: TestAddress, chain: Chain) {
18
- const valid = validate(address, chain);
19
- expect({address, chain, valid}).to.deep.equal({address, chain, valid: true});
20
- }
21
-
22
- function invalid(address: TestAddress, chain: Chain) {
23
- const valid = validate(address, chain);
24
- expect({address, chain, valid}).to.deep.equal({address, chain, valid: false});
25
- }
26
-
27
- function checkMemo(address: TestAddress, chain: Chain) {
28
- if (typeof address === 'string') {
29
- return
30
- }
31
- address.invalidMemo
32
- ? invalidMemo(address.memo, chain)
33
- : validMemo(address.memo, chain)
34
- }
35
-
36
- function validMemo(memo: string | undefined, chain: Chain) {
37
- if (!memo) {
38
- return
39
- }
40
- const valid = validateMemo(memo, chain);
41
- expect({memo, chain, valid}).to.deep.equal({memo, chain, valid: true});
42
- }
43
-
44
- function invalidMemo(memo: string | undefined, chain: Chain) {
45
- if (!memo) {
46
- return
47
- }
48
- const valid = validateMemo(memo, chain);
49
- expect({memo, chain, valid}).to.deep.equal({memo, chain, valid: false});
50
- }
51
-
52
- interface TestCase {
53
- alternatives: string[],
54
- testAddresses: keyof typeof addresses,
55
- exclude?: (keyof typeof addresses)[]
56
- testnet?: {
57
- testAddresses: keyof typeof addresses
58
- }
59
- }
60
-
61
- const TestCases: Record<string, TestCase> = {
62
- 'algorand': {
63
- alternatives: [],
64
- testAddresses: 'algorand',
65
- },
66
- 'aptos': {
67
- alternatives: [],
68
- testAddresses: 'aptos',
69
- exclude: ['sui']
70
- },
71
- 'bitcoin': {
72
- alternatives: ['btc', 'omni'],
73
- testAddresses: 'btc', // corresponds to addresses.js
74
- exclude: ['bch', 'ltc'],
75
- testnet: {
76
- testAddresses: 'btc-testnet'
77
- }
78
- },
79
- 'bitcoin-cash': {
80
- alternatives: ['bch', 'bitcoincash', 'bitcoin cash'],
81
- testAddresses: 'bch',
82
- exclude: ['btc', 'ltc'],
83
- testnet: {
84
- testAddresses: 'bch-testnet',
85
- }
86
- },
87
- 'bittensor': {
88
- alternatives: ['tao'],
89
- testAddresses: 'bittensor',
90
- exclude: ['polkadot'],
91
- },
92
- 'cardano': {
93
- alternatives: ['ada'],
94
- testAddresses: 'cardano',
95
- },
96
- 'doge': {
97
- alternatives: ['dogecoin'],
98
- exclude: ['btc'],
99
- testAddresses: 'doge',
100
- testnet: {
101
- testAddresses: 'doge-testnet',
102
- }
103
- },
104
- 'eos': {
105
- alternatives: [],
106
- testAddresses: 'eos',
107
- },
108
- 'ethereum': {
109
- alternatives: [
110
- 'arbitrum',
111
- 'avalanche',
112
- 'avalanche-c',
113
- 'base',
114
- 'berachain',
115
- 'binance',
116
- 'bnb',
117
- 'bsc',
118
- 'eth',
119
- 'flare',
120
- 'monad',
121
- 'optimism',
122
- 'sonic',
123
- 'story',
124
- ],
125
- testAddresses: 'evm',
126
- },
127
- 'hedera': {
128
- alternatives: [],
129
- testAddresses: 'hbar'
130
- },
131
- 'litecoin': {
132
- alternatives: ['ltc'],
133
- exclude: ['btc', 'bch'],
134
- testAddresses: 'ltc',
135
- testnet: {
136
- testAddresses: 'ltc-testnet'
137
- }
138
- },
139
- 'monero': {
140
- alternatives: [],
141
- testAddresses: 'monero',
142
- testnet: {
143
- testAddresses: 'monero-testnet',
144
- }
145
- },
146
- 'monad': {
147
- alternatives: ['mon'],
148
- testAddresses: 'evm',
149
- exclude: ['evm'],
150
- },
151
- 'nano': {
152
- alternatives: [],
153
- testAddresses: 'nano',
154
- },
155
- 'nem': {
156
- alternatives: [],
157
- testAddresses: 'nem',
158
- },
159
- 'polkadot': {
160
- alternatives: [],
161
- testAddresses: 'polkadot',
162
- exclude: ['bittensor'],
163
- },
164
- 'ripple': {
165
- alternatives: ['xrp'],
166
- testAddresses: 'ripple'
167
- },
168
- 'sia': {
169
- alternatives: ['SiaCoin'],
170
- testAddresses: 'sia',
171
- },
172
- 'solana': {
173
- alternatives: ['sol', 'spl'],
174
- testAddresses: 'solana'
175
- },
176
- 'sui': {
177
- alternatives: [],
178
- testAddresses: 'sui',
179
- exclude: ['aptos']
180
- },
181
- 'tezos': {
182
- alternatives: [],
183
- testAddresses: 'tezos',
184
- exclude: ['btc', 'bch', 'btc-testnet', 'ltc-testnet', 'bch-testnet', 'doge', 'doge-testnet', 'ltc', 'tron', 'zcash'],
185
- },
186
- 'tron': {
187
- alternatives: ['trc20'],
188
- testAddresses: 'tron',
189
- },
190
- 'xlm': {
191
- alternatives: ['stellar', 'stellarlumens'],
192
- testAddresses: 'xlm',
193
- },
194
- 'zcash': {
195
- alternatives: ['zec'],
196
- testAddresses: 'zcash',
197
- exclude: ['tezos'],
198
- }
199
- }
200
-
201
- describe('multichain address validator', function () {
202
- it('should check valid addresses for chains', function () {
203
- for (const chain in TestCases) {
204
- for (const c of [chain, ...TestCases[chain].alternatives]) {
205
- if (!addresses[TestCases[chain].testAddresses]) {
206
- throw new Error(`No test addresses for chain '${chain}'`)
207
- }
208
- for (const address of addresses[TestCases[chain].testAddresses]) {
209
- check(address, c)
210
- checkMemo(address, c)
211
- }
212
-
213
- if (TestCases[chain].testnet) {
214
- if (!addresses[TestCases[chain].testnet.testAddresses]) {
215
- throw new Error(`No test testnet addresses for chain '${chain}'`)
216
- }
217
- for (const address of addresses[TestCases[chain].testnet.testAddresses]) {
218
- checkMemo(address, {chain: c, networkType: NetworkType.TestNet})
219
- }
220
- }
221
- }
222
- }
223
- })
224
-
225
- it('should check invalid addresses for chains', function () {
226
- for (const chain in TestCases) {
227
- for (const c of [chain, ...TestCases[chain].alternatives]) {
228
- const invalidChains = Object.keys(addresses)
229
- .filter(key => key !== TestCases[chain].testAddresses)
230
- .filter(key => !TestCases[chain].exclude?.includes(key as any))
231
-
232
- for (const invalidChain of invalidChains) {
233
- for (const address of addresses[invalidChain]) {
234
- invalid(address, c)
235
- }
236
- }
237
- }
238
- }
239
- })
240
- })
241
-
242
-
package/tsconfig.cjs.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "module": "CommonJS",
5
- "outDir": "./dist/cjs"
6
- }
7
- }
package/tsconfig.esm.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "module": "ESNext",
5
- "outDir": "./dist/esm"
6
- }
7
- }
package/tsconfig.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2020",
4
- "lib": [
5
- "ESNext", "dom",
6
- ],
7
- "module": "NodeNext",
8
- "rootDir": "./src",
9
- "resolveJsonModule": true,
10
- "moduleResolution": "node",
11
- "declaration": true,
12
- "outDir": "./dist",
13
- "esModuleInterop": true,
14
- "forceConsistentCasingInFileNames": true,
15
- "strict": false,
16
- "skipLibCheck": true,
17
- "allowJs": true,
18
- },
19
- "exclude": [
20
- "./dist",
21
- "./test",
22
- "./config",
23
- ]
24
- }