@ledgerhq/cryptoassets 9.6.0 → 9.7.0-next.0

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 (69) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +43 -7
  3. package/lib/data/cardanoNative.json +76 -66
  4. package/lib/data/erc20-signatures.d.ts +1 -1
  5. package/lib/data/erc20-signatures.d.ts.map +1 -1
  6. package/lib/data/erc20-signatures.js +1 -1
  7. package/lib/data/erc20-signatures.js.map +1 -1
  8. package/lib/data/esdt.d.ts +2 -1
  9. package/lib/data/esdt.d.ts.map +1 -1
  10. package/lib/data/esdt.js.map +1 -1
  11. package/lib/data/esdt.json +112 -4
  12. package/lib/data/evm/137/erc20-signatures.json +1 -1
  13. package/lib/data/evm/137/erc20.json +1 -1
  14. package/lib/data/evm/30/erc20.json +1 -1
  15. package/lib/data/evm/index.js.map +1 -1
  16. package/lib/data/exchange/coins.js +1 -1
  17. package/lib/data/exchange/coins.js.map +1 -1
  18. package/lib/data/polygon-erc20.d.ts.map +1 -1
  19. package/lib/data/polygon-erc20.js +1 -0
  20. package/lib/data/polygon-erc20.js.map +1 -1
  21. package/lib/tokens.d.ts +5 -0
  22. package/lib/tokens.d.ts.map +1 -1
  23. package/lib/tokens.js +81 -11
  24. package/lib/tokens.js.map +1 -1
  25. package/lib/tokens.test.d.ts +2 -0
  26. package/lib/tokens.test.d.ts.map +1 -0
  27. package/lib/tokens.test.js +119 -0
  28. package/lib/tokens.test.js.map +1 -0
  29. package/lib-es/data/cardanoNative.json +76 -66
  30. package/lib-es/data/erc20-signatures.d.ts +1 -1
  31. package/lib-es/data/erc20-signatures.d.ts.map +1 -1
  32. package/lib-es/data/erc20-signatures.js +1 -1
  33. package/lib-es/data/erc20-signatures.js.map +1 -1
  34. package/lib-es/data/esdt.d.ts +2 -1
  35. package/lib-es/data/esdt.d.ts.map +1 -1
  36. package/lib-es/data/esdt.js.map +1 -1
  37. package/lib-es/data/esdt.json +112 -4
  38. package/lib-es/data/evm/137/erc20-signatures.json +1 -1
  39. package/lib-es/data/evm/137/erc20.json +1 -1
  40. package/lib-es/data/evm/30/erc20.json +1 -1
  41. package/lib-es/data/evm/index.js +4 -4
  42. package/lib-es/data/evm/index.js.map +1 -1
  43. package/lib-es/data/exchange/coins.js +1 -1
  44. package/lib-es/data/exchange/coins.js.map +1 -1
  45. package/lib-es/data/polygon-erc20.d.ts.map +1 -1
  46. package/lib-es/data/polygon-erc20.js +1 -0
  47. package/lib-es/data/polygon-erc20.js.map +1 -1
  48. package/lib-es/tokens.d.ts +5 -0
  49. package/lib-es/tokens.d.ts.map +1 -1
  50. package/lib-es/tokens.js +78 -10
  51. package/lib-es/tokens.js.map +1 -1
  52. package/lib-es/tokens.test.d.ts +2 -0
  53. package/lib-es/tokens.test.d.ts.map +1 -0
  54. package/lib-es/tokens.test.js +117 -0
  55. package/lib-es/tokens.test.js.map +1 -0
  56. package/package.json +1 -1
  57. package/src/__snapshots__/currencies.test.ts.snap +1 -0
  58. package/src/data/cardanoNative.json +77 -67
  59. package/src/data/erc20-signatures.ts +1 -1
  60. package/src/data/esdt.json +112 -4
  61. package/src/data/esdt.ts +2 -1
  62. package/src/data/evm/137/erc20-signatures.json +1 -1
  63. package/src/data/evm/137/erc20.json +1 -1
  64. package/src/data/evm/30/erc20.json +1 -1
  65. package/src/data/evm/index.ts +4 -4
  66. package/src/data/exchange/coins.ts +1 -1
  67. package/src/data/polygon-erc20.ts +1 -0
  68. package/src/tokens.test.ts +135 -0
  69. package/src/tokens.ts +97 -9
@@ -1 +1 @@
1
- [["rootstock","amlt_coinfirm_on_rsk","RAMLT",18,"AMLT Coinfirm on RSK","3045022100a2f83692fe1e6777b01250d6e45781b24a874be62853ec228f901eac859b12ba0220351e4fd685cfdf370fc720ad9e3ea9783b1a2801fafcc2ae151b1640b810337d","0xff9eA341d9eA91Cb7C54342354377f5104fD403f",false,false,null],["rootstock","babelfish","FISH",18,"Babelfish","30440220076594e0ddde1d15044513cffefbd77002e06741b62693aea97369a10aed804902207b1df88e854ee2940414813af65551270dd29eb813b35ac67484d94692df4a1e","0x055A902303746382FBB7D18f6aE0df56eFDc5213",false,false,null],["rootstock","bitcoin_pagolinea","BTCCB",18,"Bitcoin PagoLinea","304402200bf25bd96a7ad00a6e56b271ba30a1c72d4135ca3d566232fcb4ec82c7741ff30220009f963c1fa09280d78c72cfc7277a8ba61aa8217425d0d3bdde01a11cfc0226","0xAB2D290B7A600f5eA8d5b933f6F15C867Fd7e60e",false,false,null],["rootstock","bitpro","BPRO",18,"BitPro","3045022100ccc7b9e42932afbeca9c41db4ac7e8d48de303f8e27708c815ba90d79fa64c6102207c3a59d6c3fac935aa9e43e1a34411404c220328488dc4f9e89366e1701be405","0x440CD83C160De5C96Ddb20246815eA44C7aBBCa8",false,false,null],["rootstock","bolívares_pagolinea","VESCB",18,"Bolívares PagoLinea","3044022063c4717b9fd2c696a6f12f80626b748296ac3ab2e3b09f805b595581655a8dd10220234c1cd2957386834f7d0e347894acc99bd44f39f767758f934f469c4e6fdd72","0xE9F78E507f24537F3F78C212CF93F65EEc9054c2",false,false,null],["rootstock","brazilian_digital_token","BRZ",4,"Brazilian Digital Token","304502210090fdcb3534c34db8bd9b16b83bb49af09c25cde650327dba95fd8dfc645cbb4f022078192a589efebebef28335442334b040cadc8c85a79873aa195aef503acbdc91","0xE355c280131dFaF18Bf1c3648aEe3C396dB6b5Fd",false,false,null],["rootstock","bundles_finance_on_rsk","RBUND",18,"Bundles Finance on RSK","30440220226d545b11119bf438c934fa6287415e59c68e1c6d4215e24b78be6a94884c5502206bebc2e0b7b023cf6a7b81cf9a72de8d89ed1a104747e113f71dd1bf9cbb77f9","0x4991516DF6053121121274397a8C1dAD608Bc95B",false,false,null],["rootstock","chainlink_token_on_rsk","RLINK",18,"ChainLink Token on RSK","3045022100da3dd5bf6dbc5bdd01332a6973450c9f3c1c944b5d0eefacb09dc1a0a29140d302200d55b21c0e36e1fcbfa615e556382cde33059ba886872ddfbb188c33ef3f733b","0x14AdaE34beF7ca957Ce2dDe5ADD97ea050123827",false,false,null],["rootstock","dai_stablecoin_on_rsk","RDAI",18,"Dai Stablecoin on RSK","3044022069cd0b4a80d09c8a8131e0dad6261f640427881f31a170800e7d2da4e8e8f25502204ba41e3d7c1c163d9d80fc6533ea67528569885aaba3d0d959968950ed760db9","0x6B1A73d547F4009a26B8485B63d7015d248Ad406",false,false,null],["rootstock","dollar_on_chain","DOC",18,"Dollar on Chain","30440220356938660fbcab4de449e7ca40fbb2358a13e18be9cf9812fa9f4d9d6c52acd80220110572a052adf34552f4de8a93295d9985522a9b8454a4bcc486b0c75edd4127","0xe700691dA7b9851F2F35f8b8182c69c53CcaD9Db",false,false,null],["rootstock","dólar_americano_pagolinea","USDCB",18,"Dólar Americano PagoLinea","304402207e91a0136fbc3076f402d7ee3609ada685eef48a9966432d44abd12edad5628302200c1724de4450f4c426d640d24d62374f93cc808f3da59825318a00d5376aaaeb","0xAa5dc2Ea0e056fC962f48aB25547d66d3586ee8a",false,false,null],["rootstock","ether_pagolinea","ETHCB",18,"Ether PagoLinea","304402206a0edbcdb6d3495122e67cefa2296224b0e385cfe57424f6d2c659f8bc48a76c02202e759f3390301db1cc97e6e131a56c2de0b75ccde8a5730a3a68067179112193","0x84c0cB1D6623cFB3546a79C66EB96b874ce6659D",false,false,null],["rootstock","euro_pagolinea","EURCB",18,"Euro PagoLinea","30450221008ea87b87f5c39cd8096d049a3f44756e66575f5e193281d1cd3afdbeb3cd1ca202203c5efcd6320404ae4325fee91fe007957ce18bc5497c66d76d77ff326bb0d7ea","0xAe2ceb4B57ade22643Be2909425105d5114b1dBC",false,false,null],["rootstock","flixxo_on_rsk","RFLIXX",18,"Flixxo on RSK","304402200b4ac06b69dda3404f508bcab37cd73348afc4f4b6bf68a5653c94defc619183022071fab27b45e8086c06443a87696e6a804e62cf9b5c70549ebd6419fe638fce4c","0x73c08467E23F7DCB7dDBbc8d05041B74467A498A",false,false,null],["rootstock","guaranies_paraguayos_pagolinea","PYGCB",18,"Guaranies Paraguayos PagoLinea","30440220296c86f0ec5185f8722cc1f9fe499402956e25cef90d92cd55421620d654973b022004e43d53f9d670bd60ebe9e698c7a9f0d40b6191b0660d8effc2998044a94af9","0xa05Fd8082e19923AA4868Ff3C2AE48850b734736",false,false,null],["rootstock","invecoin","INV",18,"Invecoin","30440220032c40205d59ea9ecfc805d09f0e63935e7e5e9da91e6b579ed4521deaad5caa02204e2f894e1aa59ffe6592858b9f8b422bf9e91eeedbffcc5d46f52255e0cb0de4","0xE0cfF8a40F540657C62eB4CAC34b915e5Ed8D8Ff",false,false,null],["rootstock","money_on_chain_governance_token","MOC",18,"Money on Chain Governance Token","30440220760642aae8ffc1e11dff2475e79a73dd3289eb857307cd387893b5047f86345c02204318a8162e9b89072b0dc13a1e7c71dcab603cd3b22d7f9e219f8c564162a82a","0x9AC7fE28967B30E3A4e6e03286d715b42B453D10",false,false,null],["rootstock","peso_uruguayo_pagolinea","UYUCB",18,"Peso Uruguayo PagoLinea","304502210080ca1cbfdfd3bdf19a2147521ca502485e254697860d67de42130f7ff7fa0fd502200f9799ae0f938c3015b0841624ad7e831507d859a8b9cc036c71587e25c78149","0xD8132625b10b3962239F6842981Dce02F1A163D2",false,false,null],["rootstock","pesos_argentinos_pagolinea","ARSCB",18,"Pesos Argentinos PagoLinea","304402207ef5f4b507df83a82f00d63ceb2c4cd98aa2afb986ddb2d247885a1f73f82a69022051e4b4f3c074a501cf4a142d394031a409dbb70ab42c0a5b38eaf79207a653cb","0xD52dA63689543924dCa66bCBe2e2ea599c45D575",false,false,null],["rootstock","pesos_bolivianos_pagolinea","BOBCB",18,"Pesos Bolivianos PagoLinea","3045022100e6768dd5f740c6213ed14c63b597f1cfa8f349b5570ebf3ffe96a8c65df1f22e0220283c62d6b2f714eb59b2b6f3a7438c2a06610e7bf15f46f20b019d286f72ec80","0x977675B863B3b1cf46A927FdDcBE0C831BF50135",false,false,null],["rootstock","pesos_colombianos_pagolinea","COPCB",18,"Pesos Colombianos PagoLinea","304402207ebe7930590848c7fc5152e9da96e547b751f2a7cb28b4741206415e45737d8b02202f87448d1d85d89f3708e38d8036360cfe1e5fb150b9a60705c40a0e84079a94","0x7C459C5b11E2815db085DdA9Ec314A9CDE00A082",false,false,null],["rootstock","pesos_mexicanos_pagolinea","MXNCB",18,"Pesos Mexicanos PagoLinea","3045022100c4fcf05d9c42d40fd171437e175e6568b16373b166dd4a1f4a21923c321be90c02200c6556d0f4c58d6f531958282265ca91f28441e1cca9224716170e996e5b7d2a","0x2058BA9577C4F90246BEa9d74AE2E4cd0167A123",false,false,null],["rootstock","pesos_panameños_pagolinea","PABCB",18,"Pesos Panameños PagoLinea","3044022049c5f46fbc187414c3f43dbadb02cd2acdebfd9469d39a9ff1a513f349925e3b02207bcd65d9165b54b097d216a1b54187efac0270064a26138afd0cf3f62270cac0","0x99Af5DEb8dAEBCD36FCCD16fA46dC95D922CdE5b",false,false,null],["rootstock","real_brasileño_pagolinea","BRLCB",18,"Real Brasileño PagoLinea","3045022100cd2015c81d3a17be53553db987d97336539026d4c07c49aa2127331af16be5f102200f419753d40f9cf2b938205c78317a2f53a35acb1c4dd94578a2744694b5b059","0x3e040020648A2F2C872Ce0c7165BA5ad7841C972",false,false,null],["rootstock","redfox_labs_on_rsk","RRFOX",18,"RedFOX Labs on RSK","3045022100c0fcc32dbbdeff305c2debff5905f7449e8786ec0265b6350227834706a3292302202edf5394621040b5cb8f0d58dd39021a6c782b40f7991f5f2eb4dbe33d58ee99","0x9C3a5F8d686fADE293c0CE989A62a34408C4E307",false,false,null],["rootstock","rif","RIF",18,"RIF","30440220498043456808baa17a44a93a38a0d0e2efcc9b86f8da905c2755993965df02ff02202620b4efc2fc1ff036698a3040735684a676fb2132931de8399ee67bd85cce0c","0x2AcC95758f8b5F583470ba265EB685a8F45fC9D5",false,false,null],["rootstock","rif_dollar_on_chain","RDOC",18,"RIF Dollar on Chain","3045022100f696b3ee5aa537ec2a6149127992e39218e9c9c99b78b30a5f9588373e7f30c90220432ec6952286684c692d1919a3cd06a7f2289e9ff5bf085687c383fe3ca0bfa1","0x2d919F19D4892381D58edeBeca66D5642Cef1a1f",false,false,null],["rootstock","rif_name_service","RNS",0,"RIF Name Service","3044022076f3c7bfaada96fb71136a93c33809ce59b9ef6ee3cada61fb83fbb633c0fcea02207d9b5544c6ada9bec27b125614d5edac1eccb92c577abcef6fd61ff69b9f5b41","0x45d3e4FB311982A06bA52359d44cb4f5980e0ef1",false,false,null],["rootstock","rif_pro","RIFP",18,"RIF Pro","3044022008f8db1c708cda6e3c7aded9733815b419c9615b3c975c0b6348acdbc80fd3e1022010e0d803762f3cf505ffcb322d4def5f67056b5c811fce31687e05969f1b6f32","0xf4d27c56595Ed59B66cC7F03CFF5193e4bd74a61",false,false,null],["rootstock","rlending_rbtc","CRBTC",8,"rLending RBTC","3045022100a87e4e1984a6aad7a6d36f028983651accfcf2f5fc920b6791dbcc02e368242802202e367a961987c0a3ca73050ca7343b795a2fbf22ca56c676d852613ef57e3468","0x872664a885A1995D754e3666a23Fad5C801401c4",false,false,null],["rootstock","rlending_rif","CRIF",8,"rLending RIF","3045022100ceacde5434fb0719754eb5d3aa6417e6713e3d814621b6fd21b2db426c9bb1020220606be2175702d32c4ab40ba05f38a5b34c71c03b36fd6184898ce9e275efe125","0xB7FF2C56C897562c0aA6747D2679d35F5e937492",false,false,null],["rootstock","rlending_usdt","CRUSDT",8,"rLending USDT","3045022100e7b665564b2055c754a0d6061546b3fd194a0ee31e5c662f2a4de23db6c82fbc0220184e63c62544bf7a35b9e25c7c41dd9f4a9f3aa9f9962451cc3533f238ee68e6","0xd256C121a507CAdd2687599E27fa45E31B7C3199",false,false,null],["rootstock","rsk_swap_lp_bpro_doc","BPRO_DOC",18,"RSK Swap LP BPRO_DOC","3045022100d676054b7b75dbf87f2c6cb72e0304e02f84158c4ceac64479ac1c33d995a8c702205dc39e6a8bdf88bb76263318ff1f5ff11e2ff88ef78927e6ace66a321bb2363a","0xE66388940C3db98a7b9fcf628702FFBec3a106A3",false,false,null],["rootstock","rsk_swap_lp_rdai_doc","DAI_DOC",18,"RSK Swap LP rDAI_DOC","3044022058d7fad8fd9260dcf94aa4676fed67adbd868446a3870ffbbc73a39f9a4698fa022026013304f65c9a089dfc0f2ff98e517c906d46ac7bac67b8795b56f9587f7e95","0x22dAA89Fdf6Fb6A6771652141E6f18b8EBD86960",false,false,null],["rootstock","rsk_swap_lp_rdai_rbtc","RDAI_RBTC",18,"RSK Swap LP rDAI_RBTC","3044022067689f802b40afc214bccc6ed1db7255cc3ba6328332772a55087771f5a2a90f0220483fefc7b989b0038f4d6706286f059b216a3e6915a678dff0079a884ed14b72","0xC9FE8e7a47eFF9f62F2684A540619D52FBcd6649",false,false,null],["rootstock","rsk_swap_lp_rdoc_doc","RDOC_DOC",18,"RSK Swap LP RDOC_DOC","3044022008adad291cfb1c53d188c8a37e6ddfca233f274e4c6e0297cbec3856c225c7ad022069f991f69ffb2b1f294942a4bb02d55c18aef2753b3c7d0e586dfc7eebc90acf","0x90fc6Fbb9c7ecfecF0acB44385e6A4d076817feB",false,false,null],["rootstock","rsk_swap_lp_rif_doc","RIF_DOC",18,"RSK Swap LP RIF_DOC","3045022100f9b95d34456c296b4d585caaacf66eab85d0a9ffc395259d614b2d61904905620220182f5239ab542baf0311833e1f6372e8ad59e411e45993f3db38413e6bbdb361","0xDa066d0fD764c8035CD56798f0F0D2FE719cC62b",false,false,null],["rootstock","rsk_swap_lp_rif_rbtc","RBTC_RIF",18,"RSK Swap LP RIF_RBTC","304502210084529d420286706ab82299f678c3cf65c10fd7282623212e2deb267947067d21022006481c45f488ded4f0bf25980066880f7f499912b4ac4f6850a11d02a18d6bc0","0x818c0A92aaE155E93419b5a7323e8e8Ae649f287",false,false,null],["rootstock","rsk_swap_lp_rif_rdai","RIF_RDAI",18,"RSK Swap LP RIF_rDAI","3044022007ec9fd55ac180830c4b7bb6062032e63a907bb99509e1849a916b42cf195abf0220682b4dcd5e34e521e8718138640fe8400dcd329ae5bae53880bef7e1bb2cfb37","0x2d5146c744beF25b27d0DC8523eD547bf7514D84",false,false,null],["rootstock","rupia_indonesia_pagolinea","IDRCB",18,"Rupia Indonesia PagoLinea","3045022100b9df4ee1095472eb799c1171aef2dc24958443d3ee22ece2ed25051dc05c7fa5022064b4b882212692409b54d41f0ccd83e67cf0047882e79bd48c3996f8866c8856","0x3D9f9e1F8151410Beda306FdF8626a02E03Ea8aa",false,false,null],["rootstock","sol_peruano_pagolinea","PENCB",18,"Sol Peruano PagoLinea","3045022100d5c604e831b24d8212bb0ad06c1f8fd2a081abbffe7cda3fa290e8d9afae0f6a022008a220c11398b7d931cd50e7b2fa9a4b75973238b43938a223271f33a0c4f741","0x0F6895Fa2679453D2C32C5F6E2f00E4621c57CA2",false,false,null],["rootstock","sovryn_dollar","DLLR",18,"Sovryn Dollar","304402206ace953ed0a34395868eb4c33756806e37d6505c0462a1ec20ed2bb70726041102204101fd06ffdb99e8bb639316974a9335c6860844d2ee7fe94b536a1dc802e8d9","0xc1411567d2670e24d9C4DaAa7CdA95686e1250AA",false,false,null],["rootstock","sovryn_token","SOV",18,"Sovryn Token","3045022100f4455987978a646aed8971678b5eaa85ba69124474d77d1a1084bcd55e3d6349022049b1628c7041f4d070fc714a182df1a680a2180e8e1ce7b5614651be22fc148a","0xEFc78fc7d48b64958315949279Ba181c2114ABBd",false,false,null],["rootstock","tether_usd_on_rsk","RUSDT",18,"Tether USD on RSK","304402201a46f360e27fa67440c18c8328b37b4b7d73a92e9c07ec8bb00f0911fc2e99280220708ee610dd99d5233415f2fde75fe5d014d022648cc2b10fda154ed1b1a46f0f","0xef213441A85dF4d7ACbDaE0Cf78004e1E486bB96",false,false,null],["rootstock","universal_basic_income_on_rsk","RUBI",18,"Universal Basic Income on RSK","304402206e1a00cb86aef5059006afe3720cf86374b4a2f2f30cfc75271f153ba5f52a5702200e08e731be665070a7710658b71eaafcfef09560ac9c431520de1cfb0228bf79","0x70566D8541BEaBE984C8BAbF8a816eD908514ba8",false,false,null],["rootstock","usd_coin_on_rsk","RUSDC",18,"USD Coin on RSK","3044022037976250c8030e63193d2551d7a26c8068226ead1ee12ac821a4b3ca52e5e93202205b2ef9916a5a8cf07f16af390d14487dcc6d4f62f7cf17dad4d91a5d1c539630","0x1BDA44fda023f2aF8280A16FD1b01d1a493BA6C4",false,false,null],["rootstock","wrapped_rbtc_on_rsk","WRBTC",18,"Wrapped RBTC on RSK","3044022038afcc4edfc741591cff05b147a5115807f112c42c573acf081c370261111c560220196d3e2a9c8757c97ddef08c5928c436f24521d85fbd7954272e005fc18dc956","0x967F8799aF07dF1534d48A95a5C9FEBE92c53AE0",false,false,null],["rootstock","xusd_babelfish_stablecoin","XUSD",18,"XUSD Babelfish stablecoin","3045022100aa1b16acfc39475056e72a4f0870d0bfa869548bb8366dda3cbb9ddc011b2db5022047704344cc222ffb14c8e5fe7a821c7be55577adf88aa55bcbd4cda02e4c6442","0xb5999795BE0EbB5bAb23144AA5FD6A02D080299F",false,false,null],["rootstock","yuan_chino_pagolinea","CNYCB",18,"Yuan Chino PagoLinea","304402202341216e21ed69c750462db32c029a792a6f05837e6883189610209815c7f59f02203a8255808ddd317b04f365356136b26b2d4505160c402e58146d5d5ddad97044","0x61B50D8Fb43cC28b56EE7F9DA32AE46c3C1C68a3",false,false,null],["rootstock","zero","ZERO",18,"ZERO","3045022100b7a144da35339162c8051e36c7eb44ed24582ad1a72915e05d98571da4209e9902206441d8c655115384819c40bbd16af2ebce47fdb8045420f7c16d51b691b1dae8","0x451291D48f23782cb5609cEd5A195b0C92EdDC7B",false,false,null]]
1
+ [["rsk","amlt_coinfirm_on_rsk","RAMLT",18,"AMLT Coinfirm on RSK","3045022100a2f83692fe1e6777b01250d6e45781b24a874be62853ec228f901eac859b12ba0220351e4fd685cfdf370fc720ad9e3ea9783b1a2801fafcc2ae151b1640b810337d","0xff9eA341d9eA91Cb7C54342354377f5104fD403f",false,false,null],["rsk","babelfish","FISH",18,"Babelfish","30440220076594e0ddde1d15044513cffefbd77002e06741b62693aea97369a10aed804902207b1df88e854ee2940414813af65551270dd29eb813b35ac67484d94692df4a1e","0x055A902303746382FBB7D18f6aE0df56eFDc5213",false,false,null],["rsk","bitcoin_pagolinea","BTCCB",18,"Bitcoin PagoLinea","304402200bf25bd96a7ad00a6e56b271ba30a1c72d4135ca3d566232fcb4ec82c7741ff30220009f963c1fa09280d78c72cfc7277a8ba61aa8217425d0d3bdde01a11cfc0226","0xAB2D290B7A600f5eA8d5b933f6F15C867Fd7e60e",false,false,null],["rsk","bitpro","BPRO",18,"BitPro","3045022100ccc7b9e42932afbeca9c41db4ac7e8d48de303f8e27708c815ba90d79fa64c6102207c3a59d6c3fac935aa9e43e1a34411404c220328488dc4f9e89366e1701be405","0x440CD83C160De5C96Ddb20246815eA44C7aBBCa8",false,false,null],["rsk","bolívares_pagolinea","VESCB",18,"Bolívares PagoLinea","3044022063c4717b9fd2c696a6f12f80626b748296ac3ab2e3b09f805b595581655a8dd10220234c1cd2957386834f7d0e347894acc99bd44f39f767758f934f469c4e6fdd72","0xE9F78E507f24537F3F78C212CF93F65EEc9054c2",false,false,null],["rsk","brazilian_digital_token","BRZ",4,"Brazilian Digital Token","304502210090fdcb3534c34db8bd9b16b83bb49af09c25cde650327dba95fd8dfc645cbb4f022078192a589efebebef28335442334b040cadc8c85a79873aa195aef503acbdc91","0xE355c280131dFaF18Bf1c3648aEe3C396dB6b5Fd",false,false,null],["rsk","bundles_finance_on_rsk","RBUND",18,"Bundles Finance on RSK","30440220226d545b11119bf438c934fa6287415e59c68e1c6d4215e24b78be6a94884c5502206bebc2e0b7b023cf6a7b81cf9a72de8d89ed1a104747e113f71dd1bf9cbb77f9","0x4991516DF6053121121274397a8C1dAD608Bc95B",false,false,null],["rsk","chainlink_token_on_rsk","RLINK",18,"ChainLink Token on RSK","3045022100da3dd5bf6dbc5bdd01332a6973450c9f3c1c944b5d0eefacb09dc1a0a29140d302200d55b21c0e36e1fcbfa615e556382cde33059ba886872ddfbb188c33ef3f733b","0x14AdaE34beF7ca957Ce2dDe5ADD97ea050123827",false,false,null],["rsk","dai_stablecoin_on_rsk","RDAI",18,"Dai Stablecoin on RSK","3044022069cd0b4a80d09c8a8131e0dad6261f640427881f31a170800e7d2da4e8e8f25502204ba41e3d7c1c163d9d80fc6533ea67528569885aaba3d0d959968950ed760db9","0x6B1A73d547F4009a26B8485B63d7015d248Ad406",false,false,null],["rsk","dollar_on_chain","DOC",18,"Dollar on Chain","30440220356938660fbcab4de449e7ca40fbb2358a13e18be9cf9812fa9f4d9d6c52acd80220110572a052adf34552f4de8a93295d9985522a9b8454a4bcc486b0c75edd4127","0xe700691dA7b9851F2F35f8b8182c69c53CcaD9Db",false,false,null],["rsk","dólar_americano_pagolinea","USDCB",18,"Dólar Americano PagoLinea","304402207e91a0136fbc3076f402d7ee3609ada685eef48a9966432d44abd12edad5628302200c1724de4450f4c426d640d24d62374f93cc808f3da59825318a00d5376aaaeb","0xAa5dc2Ea0e056fC962f48aB25547d66d3586ee8a",false,false,null],["rsk","ether_pagolinea","ETHCB",18,"Ether PagoLinea","304402206a0edbcdb6d3495122e67cefa2296224b0e385cfe57424f6d2c659f8bc48a76c02202e759f3390301db1cc97e6e131a56c2de0b75ccde8a5730a3a68067179112193","0x84c0cB1D6623cFB3546a79C66EB96b874ce6659D",false,false,null],["rsk","euro_pagolinea","EURCB",18,"Euro PagoLinea","30450221008ea87b87f5c39cd8096d049a3f44756e66575f5e193281d1cd3afdbeb3cd1ca202203c5efcd6320404ae4325fee91fe007957ce18bc5497c66d76d77ff326bb0d7ea","0xAe2ceb4B57ade22643Be2909425105d5114b1dBC",false,false,null],["rsk","flixxo_on_rsk","RFLIXX",18,"Flixxo on RSK","304402200b4ac06b69dda3404f508bcab37cd73348afc4f4b6bf68a5653c94defc619183022071fab27b45e8086c06443a87696e6a804e62cf9b5c70549ebd6419fe638fce4c","0x73c08467E23F7DCB7dDBbc8d05041B74467A498A",false,false,null],["rsk","guaranies_paraguayos_pagolinea","PYGCB",18,"Guaranies Paraguayos PagoLinea","30440220296c86f0ec5185f8722cc1f9fe499402956e25cef90d92cd55421620d654973b022004e43d53f9d670bd60ebe9e698c7a9f0d40b6191b0660d8effc2998044a94af9","0xa05Fd8082e19923AA4868Ff3C2AE48850b734736",false,false,null],["rsk","invecoin","INV",18,"Invecoin","30440220032c40205d59ea9ecfc805d09f0e63935e7e5e9da91e6b579ed4521deaad5caa02204e2f894e1aa59ffe6592858b9f8b422bf9e91eeedbffcc5d46f52255e0cb0de4","0xE0cfF8a40F540657C62eB4CAC34b915e5Ed8D8Ff",false,false,null],["rsk","money_on_chain_governance_token","MOC",18,"Money on Chain Governance Token","30440220760642aae8ffc1e11dff2475e79a73dd3289eb857307cd387893b5047f86345c02204318a8162e9b89072b0dc13a1e7c71dcab603cd3b22d7f9e219f8c564162a82a","0x9AC7fE28967B30E3A4e6e03286d715b42B453D10",false,false,null],["rsk","peso_uruguayo_pagolinea","UYUCB",18,"Peso Uruguayo PagoLinea","304502210080ca1cbfdfd3bdf19a2147521ca502485e254697860d67de42130f7ff7fa0fd502200f9799ae0f938c3015b0841624ad7e831507d859a8b9cc036c71587e25c78149","0xD8132625b10b3962239F6842981Dce02F1A163D2",false,false,null],["rsk","pesos_argentinos_pagolinea","ARSCB",18,"Pesos Argentinos PagoLinea","304402207ef5f4b507df83a82f00d63ceb2c4cd98aa2afb986ddb2d247885a1f73f82a69022051e4b4f3c074a501cf4a142d394031a409dbb70ab42c0a5b38eaf79207a653cb","0xD52dA63689543924dCa66bCBe2e2ea599c45D575",false,false,null],["rsk","pesos_bolivianos_pagolinea","BOBCB",18,"Pesos Bolivianos PagoLinea","3045022100e6768dd5f740c6213ed14c63b597f1cfa8f349b5570ebf3ffe96a8c65df1f22e0220283c62d6b2f714eb59b2b6f3a7438c2a06610e7bf15f46f20b019d286f72ec80","0x977675B863B3b1cf46A927FdDcBE0C831BF50135",false,false,null],["rsk","pesos_colombianos_pagolinea","COPCB",18,"Pesos Colombianos PagoLinea","304402207ebe7930590848c7fc5152e9da96e547b751f2a7cb28b4741206415e45737d8b02202f87448d1d85d89f3708e38d8036360cfe1e5fb150b9a60705c40a0e84079a94","0x7C459C5b11E2815db085DdA9Ec314A9CDE00A082",false,false,null],["rsk","pesos_mexicanos_pagolinea","MXNCB",18,"Pesos Mexicanos PagoLinea","3045022100c4fcf05d9c42d40fd171437e175e6568b16373b166dd4a1f4a21923c321be90c02200c6556d0f4c58d6f531958282265ca91f28441e1cca9224716170e996e5b7d2a","0x2058BA9577C4F90246BEa9d74AE2E4cd0167A123",false,false,null],["rsk","pesos_panameños_pagolinea","PABCB",18,"Pesos Panameños PagoLinea","3044022049c5f46fbc187414c3f43dbadb02cd2acdebfd9469d39a9ff1a513f349925e3b02207bcd65d9165b54b097d216a1b54187efac0270064a26138afd0cf3f62270cac0","0x99Af5DEb8dAEBCD36FCCD16fA46dC95D922CdE5b",false,false,null],["rsk","real_brasileño_pagolinea","BRLCB",18,"Real Brasileño PagoLinea","3045022100cd2015c81d3a17be53553db987d97336539026d4c07c49aa2127331af16be5f102200f419753d40f9cf2b938205c78317a2f53a35acb1c4dd94578a2744694b5b059","0x3e040020648A2F2C872Ce0c7165BA5ad7841C972",false,false,null],["rsk","redfox_labs_on_rsk","RRFOX",18,"RedFOX Labs on RSK","3045022100c0fcc32dbbdeff305c2debff5905f7449e8786ec0265b6350227834706a3292302202edf5394621040b5cb8f0d58dd39021a6c782b40f7991f5f2eb4dbe33d58ee99","0x9C3a5F8d686fADE293c0CE989A62a34408C4E307",false,false,null],["rsk","rif","RIF",18,"RIF","30440220498043456808baa17a44a93a38a0d0e2efcc9b86f8da905c2755993965df02ff02202620b4efc2fc1ff036698a3040735684a676fb2132931de8399ee67bd85cce0c","0x2AcC95758f8b5F583470ba265EB685a8F45fC9D5",false,false,null],["rsk","rif_dollar_on_chain","RDOC",18,"RIF Dollar on Chain","3045022100f696b3ee5aa537ec2a6149127992e39218e9c9c99b78b30a5f9588373e7f30c90220432ec6952286684c692d1919a3cd06a7f2289e9ff5bf085687c383fe3ca0bfa1","0x2d919F19D4892381D58edeBeca66D5642Cef1a1f",false,false,null],["rsk","rif_name_service","RNS",0,"RIF Name Service","3044022076f3c7bfaada96fb71136a93c33809ce59b9ef6ee3cada61fb83fbb633c0fcea02207d9b5544c6ada9bec27b125614d5edac1eccb92c577abcef6fd61ff69b9f5b41","0x45d3e4FB311982A06bA52359d44cb4f5980e0ef1",false,false,null],["rsk","rif_pro","RIFP",18,"RIF Pro","3044022008f8db1c708cda6e3c7aded9733815b419c9615b3c975c0b6348acdbc80fd3e1022010e0d803762f3cf505ffcb322d4def5f67056b5c811fce31687e05969f1b6f32","0xf4d27c56595Ed59B66cC7F03CFF5193e4bd74a61",false,false,null],["rsk","rlending_rbtc","CRBTC",8,"rLending RBTC","3045022100a87e4e1984a6aad7a6d36f028983651accfcf2f5fc920b6791dbcc02e368242802202e367a961987c0a3ca73050ca7343b795a2fbf22ca56c676d852613ef57e3468","0x872664a885A1995D754e3666a23Fad5C801401c4",false,false,null],["rsk","rlending_rif","CRIF",8,"rLending RIF","3045022100ceacde5434fb0719754eb5d3aa6417e6713e3d814621b6fd21b2db426c9bb1020220606be2175702d32c4ab40ba05f38a5b34c71c03b36fd6184898ce9e275efe125","0xB7FF2C56C897562c0aA6747D2679d35F5e937492",false,false,null],["rsk","rlending_usdt","CRUSDT",8,"rLending USDT","3045022100e7b665564b2055c754a0d6061546b3fd194a0ee31e5c662f2a4de23db6c82fbc0220184e63c62544bf7a35b9e25c7c41dd9f4a9f3aa9f9962451cc3533f238ee68e6","0xd256C121a507CAdd2687599E27fa45E31B7C3199",false,false,null],["rsk","rsk_swap_lp_bpro_doc","BPRO_DOC",18,"RSK Swap LP BPRO_DOC","3045022100d676054b7b75dbf87f2c6cb72e0304e02f84158c4ceac64479ac1c33d995a8c702205dc39e6a8bdf88bb76263318ff1f5ff11e2ff88ef78927e6ace66a321bb2363a","0xE66388940C3db98a7b9fcf628702FFBec3a106A3",false,false,null],["rsk","rsk_swap_lp_rdai_doc","DAI_DOC",18,"RSK Swap LP rDAI_DOC","3044022058d7fad8fd9260dcf94aa4676fed67adbd868446a3870ffbbc73a39f9a4698fa022026013304f65c9a089dfc0f2ff98e517c906d46ac7bac67b8795b56f9587f7e95","0x22dAA89Fdf6Fb6A6771652141E6f18b8EBD86960",false,false,null],["rsk","rsk_swap_lp_rdai_rbtc","RDAI_RBTC",18,"RSK Swap LP rDAI_RBTC","3044022067689f802b40afc214bccc6ed1db7255cc3ba6328332772a55087771f5a2a90f0220483fefc7b989b0038f4d6706286f059b216a3e6915a678dff0079a884ed14b72","0xC9FE8e7a47eFF9f62F2684A540619D52FBcd6649",false,false,null],["rsk","rsk_swap_lp_rdoc_doc","RDOC_DOC",18,"RSK Swap LP RDOC_DOC","3044022008adad291cfb1c53d188c8a37e6ddfca233f274e4c6e0297cbec3856c225c7ad022069f991f69ffb2b1f294942a4bb02d55c18aef2753b3c7d0e586dfc7eebc90acf","0x90fc6Fbb9c7ecfecF0acB44385e6A4d076817feB",false,false,null],["rsk","rsk_swap_lp_rif_doc","RIF_DOC",18,"RSK Swap LP RIF_DOC","3045022100f9b95d34456c296b4d585caaacf66eab85d0a9ffc395259d614b2d61904905620220182f5239ab542baf0311833e1f6372e8ad59e411e45993f3db38413e6bbdb361","0xDa066d0fD764c8035CD56798f0F0D2FE719cC62b",false,false,null],["rsk","rsk_swap_lp_rif_rbtc","RBTC_RIF",18,"RSK Swap LP RIF_RBTC","304502210084529d420286706ab82299f678c3cf65c10fd7282623212e2deb267947067d21022006481c45f488ded4f0bf25980066880f7f499912b4ac4f6850a11d02a18d6bc0","0x818c0A92aaE155E93419b5a7323e8e8Ae649f287",false,false,null],["rsk","rsk_swap_lp_rif_rdai","RIF_RDAI",18,"RSK Swap LP RIF_rDAI","3044022007ec9fd55ac180830c4b7bb6062032e63a907bb99509e1849a916b42cf195abf0220682b4dcd5e34e521e8718138640fe8400dcd329ae5bae53880bef7e1bb2cfb37","0x2d5146c744beF25b27d0DC8523eD547bf7514D84",false,false,null],["rsk","rupia_indonesia_pagolinea","IDRCB",18,"Rupia Indonesia PagoLinea","3045022100b9df4ee1095472eb799c1171aef2dc24958443d3ee22ece2ed25051dc05c7fa5022064b4b882212692409b54d41f0ccd83e67cf0047882e79bd48c3996f8866c8856","0x3D9f9e1F8151410Beda306FdF8626a02E03Ea8aa",false,false,null],["rsk","sol_peruano_pagolinea","PENCB",18,"Sol Peruano PagoLinea","3045022100d5c604e831b24d8212bb0ad06c1f8fd2a081abbffe7cda3fa290e8d9afae0f6a022008a220c11398b7d931cd50e7b2fa9a4b75973238b43938a223271f33a0c4f741","0x0F6895Fa2679453D2C32C5F6E2f00E4621c57CA2",false,false,null],["rsk","sovryn_dollar","DLLR",18,"Sovryn Dollar","304402206ace953ed0a34395868eb4c33756806e37d6505c0462a1ec20ed2bb70726041102204101fd06ffdb99e8bb639316974a9335c6860844d2ee7fe94b536a1dc802e8d9","0xc1411567d2670e24d9C4DaAa7CdA95686e1250AA",false,false,null],["rsk","sovryn_token","SOV",18,"Sovryn Token","3045022100f4455987978a646aed8971678b5eaa85ba69124474d77d1a1084bcd55e3d6349022049b1628c7041f4d070fc714a182df1a680a2180e8e1ce7b5614651be22fc148a","0xEFc78fc7d48b64958315949279Ba181c2114ABBd",false,false,null],["rsk","tether_usd_on_rsk","RUSDT",18,"Tether USD on RSK","304402201a46f360e27fa67440c18c8328b37b4b7d73a92e9c07ec8bb00f0911fc2e99280220708ee610dd99d5233415f2fde75fe5d014d022648cc2b10fda154ed1b1a46f0f","0xef213441A85dF4d7ACbDaE0Cf78004e1E486bB96",false,false,null],["rsk","universal_basic_income_on_rsk","RUBI",18,"Universal Basic Income on RSK","304402206e1a00cb86aef5059006afe3720cf86374b4a2f2f30cfc75271f153ba5f52a5702200e08e731be665070a7710658b71eaafcfef09560ac9c431520de1cfb0228bf79","0x70566D8541BEaBE984C8BAbF8a816eD908514ba8",false,false,null],["rsk","usd_coin_on_rsk","RUSDC",18,"USD Coin on RSK","3044022037976250c8030e63193d2551d7a26c8068226ead1ee12ac821a4b3ca52e5e93202205b2ef9916a5a8cf07f16af390d14487dcc6d4f62f7cf17dad4d91a5d1c539630","0x1BDA44fda023f2aF8280A16FD1b01d1a493BA6C4",false,false,null],["rsk","wrapped_rbtc_on_rsk","WRBTC",18,"Wrapped RBTC on RSK","3044022038afcc4edfc741591cff05b147a5115807f112c42c573acf081c370261111c560220196d3e2a9c8757c97ddef08c5928c436f24521d85fbd7954272e005fc18dc956","0x967F8799aF07dF1534d48A95a5C9FEBE92c53AE0",false,false,null],["rsk","xusd_babelfish_stablecoin","XUSD",18,"XUSD Babelfish stablecoin","3045022100aa1b16acfc39475056e72a4f0870d0bfa869548bb8366dda3cbb9ddc011b2db5022047704344cc222ffb14c8e5fe7a821c7be55577adf88aa55bcbd4cda02e4c6442","0xb5999795BE0EbB5bAb23144AA5FD6A02D080299F",false,false,null],["rsk","yuan_chino_pagolinea","CNYCB",18,"Yuan Chino PagoLinea","304402202341216e21ed69c750462db32c029a792a6f05837e6883189610209815c7f59f02203a8255808ddd317b04f365356136b26b2d4505160c402e58146d5d5ddad97044","0x61B50D8Fb43cC28b56EE7F9DA32AE46c3C1C68a3",false,false,null],["rsk","zero","ZERO",18,"ZERO","3045022100b7a144da35339162c8051e36c7eb44ed24582ad1a72915e05d98571da4209e9902206441d8c655115384819c40bbd16af2ebce47fdb8045420f7c16d51b691b1dae8","0x451291D48f23782cb5609cEd5A195b0C92EdDC7B",false,false,null]]
@@ -13,7 +13,7 @@ import moonbeam_tokens from "./1284/erc20.json";
13
13
  import optimism_tokens from "./10/erc20.json";
14
14
  import optimism_goerli_tokens from "./420/erc20.json";
15
15
  import polygon_tokens from "./137/erc20.json";
16
- import rootstock_tokens from "./30/erc20.json";
16
+ import rsk_tokens from "./30/erc20.json";
17
17
  import songbird_tokens from "./19/erc20.json";
18
18
  import arbitrum_signatures from "./42161/erc20-signatures.json";
19
19
  import arbitrum_goerli_signatures from "./421613/erc20-signatures.json";
@@ -30,7 +30,7 @@ import moonbeam_signatures from "./1284/erc20-signatures.json";
30
30
  import optimism_signatures from "./10/erc20-signatures.json";
31
31
  import optimism_goerli_signatures from "./420/erc20-signatures.json";
32
32
  import polygon_signatures from "./137/erc20-signatures.json";
33
- import rootstock_signatures from "./30/erc20-signatures.json";
33
+ import rsk_signatures from "./30/erc20-signatures.json";
34
34
  import songbird_signatures from "./19/erc20-signatures.json";
35
35
 
36
36
  export const tokens = {
@@ -49,7 +49,7 @@ export const tokens = {
49
49
  10: optimism_tokens,
50
50
  420: optimism_goerli_tokens,
51
51
  137: polygon_tokens,
52
- 30: rootstock_tokens,
52
+ 30: rsk_tokens,
53
53
  19: songbird_tokens,
54
54
  };
55
55
 
@@ -69,7 +69,7 @@ export const signatures = {
69
69
  10: optimism_signatures,
70
70
  420: optimism_goerli_signatures,
71
71
  137: polygon_signatures,
72
- 30: rootstock_signatures,
72
+ 30: rsk_signatures,
73
73
  19: songbird_signatures,
74
74
  };
75
75
 
@@ -30,7 +30,7 @@ const exchanges: Exchange[] = [
30
30
  ["polygon","054d4154494307506f6c79676f6e07054d4154494312","3045022100f6b273253fa71317f7e69e5279b6dd786280dbebeffde9fd5de6a1570d3d36200220279ef3549393761e9b59b51ddbe423ebc078dae65815a69aabac5cc98e7782ca"],
31
31
  ["qtum","045154554d045174756d00","3045022100bf917e0b24327719fa37f755ad7c1070a049d8d5f2752b0524a3581a56b9f0e002202a1ca31a42753fbc29c4b93c3a7b7290c764e5a0fb1d9fc298bbb9f51b9edeb2"],
32
32
  ["ripple","035852500358525000","30450221008fb0ff1f9479b67c5ed560c49d70f4b41c946fb87c4c9f8364a207f5dc2f2d190220561b5e4483667d9196fa5624c2ba7a7364a40a6ee91dcd9675941222bf861161"],
33
- ["rootstock","045242544309526f6f7473746f636b06045242544312","3045022100df25ac8d89a8d44f8d1bf9593a88d73b3fa03b8507a38cf68834c63083a1a692022044314e87d09993556961961a210ef5aaed9fe4e5ecf579bd415264158c10574b"],
33
+ ["rsk","04524254430352736b06045242544312","304402204f3f55acb8c9bf7b610c76702183771532d618a5965c15efb6d3a4781c0ef74102203771d0cc54245c523a2030db6fd5f80c6a2964df3973df64e0b6c1f73da16854"],
34
34
  ["solana","03534f4c06536f6c616e6100","304402200b9d73926ef49cf6e3f775d4685cc1db7db95866d04b26bd384ae4f6185932ba0220574ec6e7a38d5fa827b541003947dda7ef51f721f162ed9d2bfe87b7457fdcf9"],
35
35
  ["solana_devnet","0474534f4c0d536f6c616e61204465766e657400","304402201fd15de58ed9e160d4aaa3deaa4688eae86c2733bc120f2c6f17712408b5af63022054f779a9130fccfcf30b2a28bc0ac9be505735c7cac68511127c6f19bd510a26"],
36
36
  ["solana_testnet","0474534f4c0e536f6c616e6120546573746e657400","3045022100f5429072d324201ec291cf1ba88a3834b0fafe2eb005e0d0378557e263baed940220611200f2f4c367e48dfb7bf6b4d073d1583e5acdbac3618d6d369e2878ae0521"],
@@ -575,6 +575,7 @@ const tokens: PolygonERC20Token[] = [
575
575
  ["polygon","wrapped_filecoin_(pos)","WFIL",18,"Wrapped Filecoin (PoS)","3044022078b0af0f86bc7b62ca450d4868649cf8df6973d3331a7ea244abec015abbbf5c02204a80853c3be77db55d88d647b8a1522defa0a0ea6a30482ca815453d180451d4","0xEde1B77C0Ccc45BFa949636757cd2cA7eF30137F",false,false],
576
576
  ["polygon","wrapped_ixs_token","WIXS",18,"Wrapped Ixs Token","3044022010c5a4c283d33754c01d52b1efb06e45844dd575d1bb20ad164af0eb915d0f3a022060075f9a9a4c8c19339931a68114ff2dc85ee8057cbac439eb2e7803463a4c67","0x1BA17C639BdaeCd8DC4AAc37df062d17ee43a1b8",false,false],
577
577
  ["polygon","wrapped_matic","WMATIC",18,"Wrapped Matic","304502210083ae7e7508bbe06a1b6c59543e62a3dcb2e825a6c39c1adc9ccd439253ac7f4d02201f60dcd93ad430b79b4b0b39571f5f15988233c04e5d2e45a4ecce1639fabf07","0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270",false,false],
578
+ ["polygon","wrapped_sol_(wormhole)","SOL",9,"Wrapped SOL (Wormhole)","3045022100e8b1a3d11196e0e77cb7955bfa73a820fdd7dcfc24137bb7a2eff34d2774f75a022058f54c4718e59f9f8166985df060bc0779fc029818a560c643ba685ca434e137","0xd93f7E271cB87c23AaA73edC008A79646d1F9912",false,false],
578
579
  ["polygon","wrapped_ust_token","UST",18,"Wrapped UST Token","304402204ad3702836823f826e934b945997b15c3238887767be33ef21f1aa5c9337c95d02206ed2ae004976c4d4ef8d6d62a785602f620490ad36b447d08de0aed9e46a4a02","0x692597b009d13C4049a947CAB2239b7d6517875F",false,false],
579
580
  ["polygon","xen_crypto","MXEN",18,"XEN Crypto","304402201663b7a1d7581b270b482f902b548600557cf9637f0fb0dda4ca59340054431a022048ae2ea7a17f9836b3f590d9e5ba219bc48767f93e61aa7f21c868e127e043c2","0x2AB0e9e4eE70FFf1fB9D67031E44F6410170d00e",false,false],
580
581
  ["polygon","xpndtoken","XPND",18,"XpndToken","304402206f9e2ac67daab794f470055d9e9579dafb29c482cfd41f9ef8402b6174b3376902201748bd4af860b9c48dc4dbafc8ce9faf689a19898aacaab1a219d6c2e679aba1","0x03f61137BFb86be07394f0FD07a33984020F96D8",true,true],
@@ -0,0 +1,135 @@
1
+ import { getCryptoCurrencyById } from "./currencies";
2
+ import {
3
+ addTokens,
4
+ convertERC20,
5
+ listTokens,
6
+ __clearAllLists,
7
+ findTokenById,
8
+ listTokensForCryptoCurrency,
9
+ createTokenHash,
10
+ } from "./tokens";
11
+ import { ERC20Token } from "./types";
12
+
13
+ const initMainToken: ERC20Token[] = [
14
+ [
15
+ "ethereum",
16
+ "ki",
17
+ "XKI",
18
+ 6,
19
+ "Ki",
20
+ "304402201fe22e202db62b632e0647a12070c24f34de2006e667abedaed5ca6ea2986b18022054dd4eda5bf5e444601a48e5370cfcf0b51cc5fe1237259f6066311286dbfd55",
21
+ "0x4f6103BAd230295baCF30f914FDa7D4273B7F585",
22
+ true,
23
+ false,
24
+ ],
25
+ [
26
+ "ethereum",
27
+ "kiba_inu",
28
+ "KIBA",
29
+ 18,
30
+ "Kiba Inu",
31
+ "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
32
+ "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
33
+ false,
34
+ false,
35
+ ],
36
+ [
37
+ "ethereum",
38
+ "kick",
39
+ "KICK",
40
+ 8,
41
+ "KICK",
42
+ "3044022000b06bf563f55da06b142b6816e824492a4862673f29842aa8b46f23a7dcbe57022049309464e7123f79df5bcead066a2b0af929965d3d9dc683a324eda32f970b07",
43
+ "0x27695E09149AdC738A978e9A678F99E4c39e9eb9",
44
+ true,
45
+ true,
46
+ ],
47
+ [
48
+ "ethereum",
49
+ "0xmonero",
50
+ "0XMR",
51
+ 18,
52
+ "0xMonero",
53
+ "30440220544ecf38d2906770446f52557f2dd42b6aa274bc960c808c4dcee42c44e8412202206fab6769ebe15fbfb7245b0156d17e432a1acd9920f1ecbf25729f8d8594af6c",
54
+ "0x035dF12E0F3ac6671126525f1015E47D79dFEDDF",
55
+ false,
56
+ true,
57
+ ],
58
+ ];
59
+
60
+ const ethereumCurrency = getCryptoCurrencyById("ethereum");
61
+
62
+ describe("tokens", () => {
63
+ beforeEach(() => {
64
+ __clearAllLists();
65
+ });
66
+ describe("addTokens", () => {
67
+ it("Should list token to be empty", () => {
68
+ expect(listTokens().length).toBe(0);
69
+ });
70
+
71
+ it("Add tokens normally and check if delisted work correclty", () => {
72
+ addTokens(initMainToken.map(convertERC20));
73
+ expect(listTokens().length).toBe(2);
74
+ expect(listTokens({ withDelisted: true }).length).toBe(4);
75
+ expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(2);
76
+ expect(
77
+ listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
78
+ .length
79
+ ).toBe(4);
80
+ });
81
+
82
+ it("Add token and readd the same token shouldn't delete anything", () => {
83
+ addTokens(initMainToken.map(convertERC20));
84
+ const changeToken: ERC20Token[] = [
85
+ [
86
+ "ethereum",
87
+ "kiba_inu",
88
+ "KIBA",
89
+ 18,
90
+ "Kiba Inu",
91
+ "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
92
+ "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
93
+ false,
94
+ false,
95
+ ],
96
+ ];
97
+ const tokenHash = createTokenHash(convertERC20(changeToken[0]));
98
+ const existingToken = listTokens().find((t) => t.ticker === "KIBA");
99
+ if (!existingToken) throw new Error("Should not be empty");
100
+ expect(tokenHash).toBe(createTokenHash(existingToken));
101
+
102
+ addTokens(changeToken.map(convertERC20));
103
+ const tokenAfterChange = listTokens().find((t) => t.ticker === "KIBA");
104
+ if (!tokenAfterChange) throw new Error("Should not be empty");
105
+ expect(tokenHash).toBe(createTokenHash(tokenAfterChange));
106
+ });
107
+
108
+ it("Add tokens normally and then delist one token", () => {
109
+ addTokens(initMainToken.map(convertERC20));
110
+ const changeToken: ERC20Token[] = [
111
+ [
112
+ "ethereum",
113
+ "kiba_inu",
114
+ "KIBA",
115
+ 18,
116
+ "Kiba Inu",
117
+ "3045022100baa979e8461d439b324416dff31f277663b51fa36e5e60005933292d5151f32502200528872863ce6b55009387bd2c5b6556b907193e27f506236149634a97518822",
118
+ "0x005D1123878Fc55fbd56b54C73963b234a64af3c",
119
+ false,
120
+ true,
121
+ ],
122
+ ];
123
+ addTokens(changeToken.map(convertERC20));
124
+ expect(listTokens().length).toBe(1);
125
+ findTokenById("kiba_inu");
126
+ expect(listTokens({ withDelisted: true }).length).toBe(4);
127
+
128
+ expect(listTokensForCryptoCurrency(ethereumCurrency).length).toBe(1);
129
+ expect(
130
+ listTokensForCryptoCurrency(ethereumCurrency, { withDelisted: true })
131
+ .length
132
+ ).toBe(4);
133
+ });
134
+ });
135
+ });
package/src/tokens.ts CHANGED
@@ -22,6 +22,7 @@ const tokensById: Record<string, TokenCurrency> = {};
22
22
  const tokensByTicker: Record<string, TokenCurrency> = {};
23
23
  const tokensByAddress: Record<string, TokenCurrency> = {};
24
24
  const tokensByCurrencyAddress: Record<string, TokenCurrency> = {};
25
+ const tokenListHashes = new Set();
25
26
  addTokens(erc20tokens.map(convertERC20));
26
27
  addTokens(polygonTokens.map(convertERC20));
27
28
  addTokens(trc10tokens.map(convertTRONTokens("trc10")));
@@ -38,6 +39,37 @@ type TokensListOptions = {
38
39
  const defaultTokenListOptions: TokensListOptions = {
39
40
  withDelisted: false,
40
41
  };
42
+ export function createTokenHash(token: TokenCurrency): string {
43
+ return token
44
+ ? `${token.id}${token.contractAddress}${token.delisted}${token.disableCountervalue}${token.ticker}${token.countervalueTicker}${token.ledgerSignature}`
45
+ : "";
46
+ }
47
+
48
+ /**
49
+ * Only for jest purpose, clean object to be empty
50
+ * @param obj
51
+ */
52
+ const __clearObject = (
53
+ obj: Record<string, TokenCurrency | TokenCurrency[]>
54
+ ): void => {
55
+ for (const key in obj) {
56
+ delete obj[key];
57
+ }
58
+ };
59
+ /**
60
+ * Only for jest purpose, clear all the init list
61
+ */
62
+ export function __clearAllLists(): void {
63
+ tokensArray.length = 0;
64
+ tokensArrayWithDelisted.length = 0;
65
+ __clearObject(tokensByCryptoCurrency);
66
+ __clearObject(tokensByCryptoCurrencyWithDelisted);
67
+ __clearObject(tokensById);
68
+ __clearObject(tokensByTicker);
69
+ __clearObject(tokensByAddress);
70
+ __clearObject(tokensByCurrencyAddress);
71
+ tokenListHashes.clear();
72
+ }
41
73
 
42
74
  /**
43
75
  *
@@ -140,23 +172,75 @@ function comparePriority(a: TokenCurrency, b: TokenCurrency) {
140
172
  return Number(!!b.disableCountervalue) - Number(!!a.disableCountervalue);
141
173
  }
142
174
 
175
+ function removeTokenFromArray(array: TokenCurrency[], tokenId: string) {
176
+ if (array && array.length > 0) {
177
+ const index = array.findIndex(
178
+ (currentToken) => currentToken && currentToken.id === tokenId
179
+ );
180
+ if (index === -1) return array;
181
+ return array.splice(index, 1);
182
+ }
183
+ }
184
+
185
+ function removeTokenFromRecord(
186
+ record: Record<string, TokenCurrency>,
187
+ key: string
188
+ ) {
189
+ tokenListHashes.delete(record[key]);
190
+ delete record[key];
191
+ }
192
+
193
+ /**
194
+ * Delete previous token entry to all array
195
+ * @param token
196
+ */
197
+ function removeTokenFromAllLists(token: TokenCurrency) {
198
+ const { id, contractAddress, parentCurrency, ticker } = token;
199
+ const lowCaseContract = contractAddress.toLowerCase();
200
+
201
+ removeTokenFromRecord(tokensById, id);
202
+ removeTokenFromRecord(
203
+ tokensByCurrencyAddress,
204
+ parentCurrency.id + ":" + lowCaseContract
205
+ );
206
+ removeTokenFromRecord(tokensByAddress, lowCaseContract);
207
+ removeTokenFromRecord(tokensByTicker, ticker);
208
+ removeTokenFromArray(tokensArray, id);
209
+ removeTokenFromArray(tokensArrayWithDelisted, id);
210
+ removeTokenFromArray(tokensByCryptoCurrency[parentCurrency.id], id);
211
+ removeTokenFromArray(
212
+ tokensByCryptoCurrencyWithDelisted[parentCurrency.id],
213
+ id
214
+ );
215
+ }
216
+
143
217
  export function addTokens(list: TokenCurrency[]): void {
144
218
  list.forEach((token) => {
145
- if (tokensById[token.id]) return;
146
- if (!token.delisted) tokensArray.push(token);
219
+ if (!token) return;
220
+ const tokenHash = createTokenHash(token);
221
+ if (tokenListHashes.has(tokenHash)) return;
222
+
223
+ /**
224
+ * We clean all the reference of an existing token, if an hash doesn't match.
225
+ * Like this we can update any change from a already added token coming from Dynamic CAL
226
+ * and maintain it up to date without having to release a new version of LLD or LLM
227
+ */
228
+ removeTokenFromAllLists(token);
229
+ const { id, contractAddress, parentCurrency, delisted, ticker } = token;
230
+ const lowCaseContract = contractAddress.toLowerCase();
231
+
232
+ if (!delisted) tokensArray.push(token);
147
233
  tokensArrayWithDelisted.push(token);
148
- tokensById[token.id] = token;
234
+ tokensById[id] = token;
149
235
 
150
236
  if (
151
- !tokensByTicker[token.ticker] ||
152
- comparePriority(token, tokensByTicker[token.ticker]) > 0
237
+ !tokensByTicker[ticker] ||
238
+ comparePriority(token, tokensByTicker[ticker]) > 0
153
239
  ) {
154
- tokensByTicker[token.ticker] = token;
240
+ tokensByTicker[ticker] = token;
155
241
  }
156
242
 
157
- const lowCaseContract = token.contractAddress.toLowerCase();
158
243
  tokensByAddress[lowCaseContract] = token;
159
- const { parentCurrency } = token;
160
244
  tokensByCurrencyAddress[parentCurrency.id + ":" + lowCaseContract] = token;
161
245
 
162
246
  if (!(parentCurrency.id in tokensByCryptoCurrency)) {
@@ -167,8 +251,10 @@ export function addTokens(list: TokenCurrency[]): void {
167
251
  tokensByCryptoCurrencyWithDelisted[parentCurrency.id] = [];
168
252
  }
169
253
 
170
- if (!token.delisted) tokensByCryptoCurrency[parentCurrency.id].push(token);
254
+ if (!delisted) tokensByCryptoCurrency[parentCurrency.id].push(token);
171
255
  tokensByCryptoCurrencyWithDelisted[parentCurrency.id].push(token);
256
+
257
+ tokenListHashes.add(tokenHash);
172
258
  });
173
259
  }
174
260
 
@@ -306,6 +392,7 @@ function convertElrondESDTTokens([
306
392
  decimals,
307
393
  signature,
308
394
  name,
395
+ disableCountervalue,
309
396
  ]: ElrondESDTToken): TokenCurrency {
310
397
  const ELROND_ESDT_CONTRACT =
311
398
  "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u";
@@ -317,6 +404,7 @@ function convertElrondESDTTokens([
317
404
  ledgerSignature: signature,
318
405
  parentCurrency: getCryptoCurrencyById("elrond"),
319
406
  tokenType: "esdt",
407
+ disableCountervalue,
320
408
  name,
321
409
  ticker,
322
410
  units: [