@shapeshiftoss/caip 8.16.4 → 8.16.6

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 (212) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/accountId/accountId.d.ts +29 -0
  3. package/dist/cjs/accountId/accountId.js +44 -0
  4. package/dist/cjs/accountId/accountId.test.d.ts +1 -0
  5. package/dist/cjs/accountId/accountId.test.js +109 -0
  6. package/dist/cjs/adapters/banxa/index.d.ts +15 -0
  7. package/dist/cjs/adapters/banxa/index.js +153 -0
  8. package/dist/cjs/adapters/coinbase/generate.d.ts +1 -0
  9. package/dist/cjs/adapters/coinbase/generate.js +9 -0
  10. package/dist/cjs/adapters/coinbase/generated/adapter.json +153 -0
  11. package/dist/cjs/adapters/coinbase/generated/index.d.ts +2 -0
  12. package/dist/cjs/adapters/coinbase/generated/index.js +8 -0
  13. package/dist/cjs/adapters/coinbase/index.d.ts +3 -0
  14. package/dist/cjs/adapters/coinbase/index.js +16 -0
  15. package/dist/cjs/adapters/coinbase/utils.d.ts +12 -0
  16. package/dist/cjs/adapters/coinbase/utils.js +55 -0
  17. package/dist/cjs/adapters/coincap/generate.d.ts +1 -0
  18. package/dist/cjs/adapters/coincap/generate.js +16 -0
  19. package/dist/cjs/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  20. package/dist/cjs/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  21. package/dist/cjs/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  22. package/dist/cjs/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  23. package/dist/cjs/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  24. package/dist/cjs/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  25. package/dist/cjs/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  26. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  27. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  28. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  29. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  30. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  31. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  32. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  33. package/dist/cjs/adapters/coincap/generated/index.d.ts +16 -0
  34. package/dist/cjs/adapters/coincap/generated/index.js +36 -0
  35. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  36. package/dist/cjs/adapters/coincap/index.d.ts +5 -0
  37. package/dist/cjs/adapters/coincap/index.js +48 -0
  38. package/dist/cjs/adapters/coincap/index.test.d.ts +1 -0
  39. package/dist/cjs/adapters/coincap/index.test.js +90 -0
  40. package/dist/cjs/adapters/coincap/utils.d.ts +24 -0
  41. package/dist/cjs/adapters/coincap/utils.js +147 -0
  42. package/dist/cjs/adapters/coincap/utils.test.d.ts +4 -0
  43. package/dist/cjs/adapters/coincap/utils.test.js +176 -0
  44. package/dist/cjs/adapters/coingecko/generate.d.ts +1 -0
  45. package/dist/cjs/adapters/coingecko/generate.js +10 -0
  46. package/dist/cjs/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  47. package/dist/cjs/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  48. package/dist/cjs/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  49. package/dist/cjs/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  50. package/dist/cjs/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  51. package/dist/cjs/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  52. package/dist/cjs/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  53. package/dist/cjs/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  54. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  55. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  56. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  57. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  58. package/dist/cjs/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
  59. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  60. package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  61. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  62. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  63. package/dist/cjs/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
  64. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  65. package/dist/cjs/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
  66. package/dist/cjs/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
  67. package/dist/cjs/adapters/coingecko/generated/index.d.ts +27 -0
  68. package/dist/cjs/adapters/coingecko/generated/index.js +58 -0
  69. package/dist/cjs/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
  70. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  71. package/dist/cjs/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
  72. package/dist/cjs/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
  73. package/dist/cjs/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
  74. package/dist/cjs/adapters/coingecko/index.d.ts +34 -0
  75. package/dist/cjs/adapters/coingecko/index.js +223 -0
  76. package/dist/cjs/adapters/coingecko/index.test.d.ts +1 -0
  77. package/dist/cjs/adapters/coingecko/index.test.js +318 -0
  78. package/dist/cjs/adapters/coingecko/utils.d.ts +11 -0
  79. package/dist/cjs/adapters/coingecko/utils.js +311 -0
  80. package/dist/cjs/adapters/coingecko/utils.test.d.ts +1 -0
  81. package/dist/cjs/adapters/coingecko/utils.test.js +220 -0
  82. package/dist/cjs/adapters/index.d.ts +6 -0
  83. package/dist/cjs/adapters/index.js +22 -0
  84. package/dist/cjs/adapters/mtpelerin/index.d.ts +10 -0
  85. package/dist/cjs/adapters/mtpelerin/index.js +127 -0
  86. package/dist/cjs/adapters/onramper/index.d.ts +6 -0
  87. package/dist/cjs/adapters/onramper/index.js +39 -0
  88. package/dist/cjs/assetId/assetId.d.ts +36 -0
  89. package/dist/cjs/assetId/assetId.js +120 -0
  90. package/dist/cjs/assetId/assetId.test.d.ts +1 -0
  91. package/dist/cjs/assetId/assetId.test.js +324 -0
  92. package/dist/cjs/chainId/chainId.d.ts +20 -0
  93. package/dist/cjs/chainId/chainId.js +25 -0
  94. package/dist/cjs/chainId/chainId.test.d.ts +1 -0
  95. package/dist/cjs/chainId/chainId.test.js +90 -0
  96. package/dist/cjs/constants.d.ts +163 -0
  97. package/dist/cjs/constants.js +231 -0
  98. package/dist/cjs/index.d.ts +7 -0
  99. package/dist/cjs/index.js +36 -0
  100. package/dist/cjs/package.json +1 -0
  101. package/dist/cjs/typeGuards.d.ts +16 -0
  102. package/dist/cjs/typeGuards.js +56 -0
  103. package/dist/cjs/utils.d.ts +36 -0
  104. package/dist/cjs/utils.js +57 -0
  105. package/dist/cjs/utils.test.d.ts +1 -0
  106. package/dist/cjs/utils.test.js +160 -0
  107. package/dist/esm/.tsbuildinfo +1 -0
  108. package/dist/esm/accountId/accountId.d.ts +29 -0
  109. package/dist/esm/accountId/accountId.js +39 -0
  110. package/dist/esm/accountId/accountId.test.d.ts +1 -0
  111. package/dist/esm/accountId/accountId.test.js +107 -0
  112. package/dist/esm/adapters/banxa/index.d.ts +15 -0
  113. package/dist/esm/adapters/banxa/index.js +143 -0
  114. package/dist/esm/adapters/coinbase/generate.d.ts +1 -0
  115. package/dist/esm/adapters/coinbase/generate.js +7 -0
  116. package/dist/esm/adapters/coinbase/generated/adapter.json +153 -0
  117. package/dist/esm/adapters/coinbase/generated/index.d.ts +2 -0
  118. package/dist/esm/adapters/coinbase/generated/index.js +2 -0
  119. package/dist/esm/adapters/coinbase/index.d.ts +3 -0
  120. package/dist/esm/adapters/coinbase/index.js +8 -0
  121. package/dist/esm/adapters/coinbase/utils.d.ts +12 -0
  122. package/dist/esm/adapters/coinbase/utils.js +46 -0
  123. package/dist/esm/adapters/coincap/generate.d.ts +1 -0
  124. package/dist/esm/adapters/coincap/generate.js +11 -0
  125. package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  126. package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  127. package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  128. package/dist/esm/adapters/coincap/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  129. package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  130. package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  131. package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  132. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +1 -0
  133. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +1 -0
  134. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +1 -0
  135. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +1 -0
  136. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +1 -0
  137. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +1 -0
  138. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +1 -0
  139. package/dist/esm/adapters/coincap/generated/index.d.ts +16 -0
  140. package/dist/esm/adapters/coincap/generated/index.js +16 -0
  141. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  142. package/dist/esm/adapters/coincap/index.d.ts +5 -0
  143. package/dist/esm/adapters/coincap/index.js +16 -0
  144. package/dist/esm/adapters/coincap/index.test.d.ts +1 -0
  145. package/dist/esm/adapters/coincap/index.test.js +88 -0
  146. package/dist/esm/adapters/coincap/utils.d.ts +24 -0
  147. package/dist/esm/adapters/coincap/utils.js +136 -0
  148. package/dist/esm/adapters/coincap/utils.test.d.ts +4 -0
  149. package/dist/esm/adapters/coincap/utils.test.js +171 -0
  150. package/dist/esm/adapters/coingecko/generate.d.ts +1 -0
  151. package/dist/esm/adapters/coingecko/generate.js +8 -0
  152. package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +1 -0
  153. package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +1 -0
  154. package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +1 -0
  155. package/dist/esm/adapters/coingecko/generated/bip122_00040fe8ec8471911baa1db1266ea15d/adapter.json +1 -0
  156. package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +1 -0
  157. package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +1 -0
  158. package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  159. package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  160. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +1 -0
  161. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +1 -0
  162. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  163. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  164. package/dist/esm/adapters/coingecko/generated/eip155_143/adapter.json +1 -0
  165. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  166. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  167. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +1 -0
  168. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  169. package/dist/esm/adapters/coingecko/generated/eip155_747474/adapter.json +1 -0
  170. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  171. package/dist/esm/adapters/coingecko/generated/eip155_9745/adapter.json +1 -0
  172. package/dist/esm/adapters/coingecko/generated/eip155_999/adapter.json +1 -0
  173. package/dist/esm/adapters/coingecko/generated/index.d.ts +27 -0
  174. package/dist/esm/adapters/coingecko/generated/index.js +27 -0
  175. package/dist/esm/adapters/coingecko/generated/near_mainnet/adapter.json +1 -0
  176. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  177. package/dist/esm/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -0
  178. package/dist/esm/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -0
  179. package/dist/esm/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -0
  180. package/dist/esm/adapters/coingecko/index.d.ts +34 -0
  181. package/dist/esm/adapters/coingecko/index.js +187 -0
  182. package/dist/esm/adapters/coingecko/index.test.d.ts +1 -0
  183. package/dist/esm/adapters/coingecko/index.test.js +316 -0
  184. package/dist/esm/adapters/coingecko/utils.d.ts +11 -0
  185. package/dist/esm/adapters/coingecko/utils.js +302 -0
  186. package/dist/esm/adapters/coingecko/utils.test.d.ts +1 -0
  187. package/dist/esm/adapters/coingecko/utils.test.js +215 -0
  188. package/dist/esm/adapters/index.d.ts +6 -0
  189. package/dist/esm/adapters/index.js +6 -0
  190. package/dist/esm/adapters/mtpelerin/index.d.ts +10 -0
  191. package/dist/esm/adapters/mtpelerin/index.js +121 -0
  192. package/dist/esm/adapters/onramper/index.d.ts +6 -0
  193. package/dist/esm/adapters/onramper/index.js +31 -0
  194. package/dist/esm/assetId/assetId.d.ts +36 -0
  195. package/dist/esm/assetId/assetId.js +114 -0
  196. package/dist/esm/assetId/assetId.test.d.ts +1 -0
  197. package/dist/esm/assetId/assetId.test.js +322 -0
  198. package/dist/esm/chainId/chainId.d.ts +20 -0
  199. package/dist/esm/chainId/chainId.js +20 -0
  200. package/dist/esm/chainId/chainId.test.d.ts +1 -0
  201. package/dist/esm/chainId/chainId.test.js +88 -0
  202. package/dist/esm/constants.d.ts +163 -0
  203. package/dist/esm/constants.js +227 -0
  204. package/dist/esm/index.d.ts +7 -0
  205. package/dist/esm/index.js +7 -0
  206. package/dist/esm/typeGuards.d.ts +16 -0
  207. package/dist/esm/typeGuards.js +44 -0
  208. package/dist/esm/utils.d.ts +36 -0
  209. package/dist/esm/utils.js +27 -0
  210. package/dist/esm/utils.test.d.ts +1 -0
  211. package/dist/esm/utils.test.js +158 -0
  212. package/package.json +1 -1
@@ -0,0 +1,318 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const assetId_1 = require("../../assetId/assetId");
5
+ const constants_1 = require("../../constants");
6
+ const _1 = require(".");
7
+ (0, vitest_1.describe)('adapters:coingecko', () => {
8
+ (0, vitest_1.describe)('coingeckoToAssetIds', () => {
9
+ (0, vitest_1.it)('can get AssetIds for bitcoin', () => {
10
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Utxo;
11
+ const chainReference = constants_1.CHAIN_REFERENCE.BitcoinMainnet;
12
+ const assetId = (0, assetId_1.toAssetId)({
13
+ chainNamespace,
14
+ chainReference,
15
+ assetNamespace: 'slip44',
16
+ assetReference: constants_1.ASSET_REFERENCE.Bitcoin,
17
+ });
18
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('bitcoin')).toEqual([assetId]);
19
+ });
20
+ (0, vitest_1.it)('can get AssetIds id for ethereum', () => {
21
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
22
+ const ethOnEthereum = (0, assetId_1.toAssetId)({
23
+ chainNamespace,
24
+ chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
25
+ assetNamespace: 'slip44',
26
+ assetReference: constants_1.ASSET_REFERENCE.Ethereum,
27
+ });
28
+ const ethOnOptimism = (0, assetId_1.toAssetId)({
29
+ chainNamespace,
30
+ chainReference: constants_1.CHAIN_REFERENCE.OptimismMainnet,
31
+ assetNamespace: 'slip44',
32
+ assetReference: constants_1.ASSET_REFERENCE.Optimism,
33
+ });
34
+ const ethOnArbitrum = (0, assetId_1.toAssetId)({
35
+ chainNamespace,
36
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumMainnet,
37
+ assetNamespace: 'slip44',
38
+ assetReference: constants_1.ASSET_REFERENCE.Arbitrum,
39
+ });
40
+ const ethOnArbitrumNova = (0, assetId_1.toAssetId)({
41
+ chainNamespace,
42
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumNovaMainnet,
43
+ assetNamespace: 'slip44',
44
+ assetReference: constants_1.ASSET_REFERENCE.ArbitrumNova,
45
+ });
46
+ const ethOnBase = (0, assetId_1.toAssetId)({
47
+ chainNamespace,
48
+ chainReference: constants_1.CHAIN_REFERENCE.BaseMainnet,
49
+ assetNamespace: 'slip44',
50
+ assetReference: constants_1.ASSET_REFERENCE.Base,
51
+ });
52
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('ethereum')).toEqual([
53
+ ethOnEthereum,
54
+ ethOnOptimism,
55
+ ethOnArbitrum,
56
+ ethOnArbitrumNova,
57
+ ethOnBase,
58
+ ]);
59
+ });
60
+ (0, vitest_1.it)('can get AssetIds id for FOX', () => {
61
+ const assetNamespace = 'erc20';
62
+ const foxOnEthereum = (0, assetId_1.toAssetId)({
63
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
64
+ chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
65
+ assetNamespace,
66
+ assetReference: '0xc770eefad204b5180df6a14ee197d99d808ee52d',
67
+ });
68
+ const foxOnPolygon = (0, assetId_1.toAssetId)({
69
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
70
+ chainReference: constants_1.CHAIN_REFERENCE.PolygonMainnet,
71
+ assetNamespace,
72
+ assetReference: '0x65a05db8322701724c197af82c9cae41195b0aa8',
73
+ });
74
+ const foxOnGnosis = (0, assetId_1.toAssetId)({
75
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
76
+ chainReference: constants_1.CHAIN_REFERENCE.GnosisMainnet,
77
+ assetNamespace,
78
+ assetReference: '0x21a42669643f45bc0e086b8fc2ed70c23d67509d',
79
+ });
80
+ const foxOnOptimism = (0, assetId_1.toAssetId)({
81
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
82
+ chainReference: constants_1.CHAIN_REFERENCE.OptimismMainnet,
83
+ assetNamespace,
84
+ assetReference: '0xf1a0da3367bc7aa04f8d94ba57b862ff37ced174',
85
+ });
86
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('shapeshift-fox-token')).toEqual([
87
+ foxOnEthereum,
88
+ foxOnOptimism,
89
+ foxOnPolygon,
90
+ foxOnGnosis,
91
+ constants_1.foxOnArbitrumOneAssetId,
92
+ ]);
93
+ });
94
+ (0, vitest_1.it)('can get AssetIds for cosmos', () => {
95
+ const atomOnCosmos = (0, assetId_1.toAssetId)({
96
+ chainNamespace: constants_1.CHAIN_NAMESPACE.CosmosSdk,
97
+ chainReference: constants_1.CHAIN_REFERENCE.CosmosHubMainnet,
98
+ assetNamespace: 'slip44',
99
+ assetReference: constants_1.ASSET_REFERENCE.Cosmos,
100
+ });
101
+ const atomOnBsc = (0, assetId_1.toAssetId)({
102
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
103
+ chainReference: constants_1.CHAIN_REFERENCE.BnbSmartChainMainnet,
104
+ assetNamespace: 'erc20',
105
+ assetReference: '0x0eb3a705fc54725037cc9e008bdede697f62f335',
106
+ });
107
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('cosmos')).toEqual([atomOnBsc, atomOnCosmos]);
108
+ });
109
+ (0, vitest_1.it)('can get AssetIds for USD Coin on Solana and EVM chains using coingecko', () => {
110
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
111
+ const assetNamespace = 'erc20';
112
+ const usdcOnEthereum = (0, assetId_1.toAssetId)({
113
+ chainNamespace,
114
+ chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
115
+ assetNamespace,
116
+ assetReference: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
117
+ });
118
+ const usdcOnAvalanche = (0, assetId_1.toAssetId)({
119
+ chainNamespace,
120
+ chainReference: constants_1.CHAIN_REFERENCE.AvalancheCChain,
121
+ assetNamespace,
122
+ assetReference: '0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e',
123
+ });
124
+ const usdcOnOptimism = (0, assetId_1.toAssetId)({
125
+ chainNamespace,
126
+ chainReference: constants_1.CHAIN_REFERENCE.OptimismMainnet,
127
+ assetNamespace,
128
+ assetReference: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
129
+ });
130
+ const usdcOnPolygon = (0, assetId_1.toAssetId)({
131
+ chainNamespace,
132
+ chainReference: constants_1.CHAIN_REFERENCE.PolygonMainnet,
133
+ assetNamespace,
134
+ assetReference: '0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
135
+ });
136
+ const usdcOnArbitrum = (0, assetId_1.toAssetId)({
137
+ chainNamespace,
138
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumMainnet,
139
+ assetNamespace,
140
+ assetReference: '0xaf88d065e77c8cc2239327c5edb3a432268e5831',
141
+ });
142
+ const usdcOnBase = (0, assetId_1.toAssetId)({
143
+ chainNamespace,
144
+ chainReference: constants_1.CHAIN_REFERENCE.BaseMainnet,
145
+ assetNamespace,
146
+ assetReference: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
147
+ });
148
+ const usdcOnSolana = (0, assetId_1.toAssetId)({
149
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Solana,
150
+ chainReference: constants_1.CHAIN_REFERENCE.SolanaMainnet,
151
+ assetNamespace: 'token',
152
+ assetReference: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
153
+ });
154
+ const usdcOnTron = (0, assetId_1.toAssetId)({
155
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Tron,
156
+ chainReference: constants_1.CHAIN_REFERENCE.TronMainnet,
157
+ assetNamespace: 'trc20',
158
+ assetReference: 'TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8',
159
+ });
160
+ const usdcOnSui = (0, assetId_1.toAssetId)({
161
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Sui,
162
+ chainReference: constants_1.CHAIN_REFERENCE.SuiMainnet,
163
+ assetNamespace: 'coin',
164
+ assetReference: '0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC',
165
+ });
166
+ const usdcOnMonad = (0, assetId_1.toAssetId)({
167
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
168
+ chainReference: constants_1.CHAIN_REFERENCE.MonadMainnet,
169
+ assetNamespace: 'erc20',
170
+ assetReference: '0x754704bc059f8c67012fed69bc8a327a5aafb603',
171
+ });
172
+ const usdcOnHyperEvm = (0, assetId_1.toAssetId)({
173
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
174
+ chainReference: constants_1.CHAIN_REFERENCE.HyperEvmMainnet,
175
+ assetNamespace: 'erc20',
176
+ assetReference: '0xb88339cb7199b77e23db6e890353e22632ba630f',
177
+ });
178
+ const usdcOnStarknet = (0, assetId_1.toAssetId)({
179
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Starknet,
180
+ chainReference: constants_1.CHAIN_REFERENCE.StarknetMainnet,
181
+ assetNamespace: 'token',
182
+ assetReference: '0x33068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb',
183
+ });
184
+ const usdcOnNear = (0, assetId_1.toAssetId)({
185
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Near,
186
+ chainReference: constants_1.CHAIN_REFERENCE.NearMainnet,
187
+ assetNamespace: 'nep141',
188
+ assetReference: '17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1',
189
+ });
190
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('usd-coin')).toEqual([
191
+ usdcOnEthereum,
192
+ usdcOnAvalanche,
193
+ usdcOnOptimism,
194
+ usdcOnPolygon,
195
+ usdcOnArbitrum,
196
+ usdcOnBase,
197
+ usdcOnMonad,
198
+ usdcOnHyperEvm,
199
+ usdcOnSolana,
200
+ usdcOnStarknet,
201
+ usdcOnSui,
202
+ usdcOnTron,
203
+ usdcOnNear,
204
+ ]);
205
+ });
206
+ (0, vitest_1.it)('can get AssetIds for bridged USD Coin on EVM Chains', () => {
207
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
208
+ const assetNamespace = 'erc20';
209
+ const usdcOnBscBridged = (0, assetId_1.toAssetId)({
210
+ chainNamespace,
211
+ chainReference: constants_1.CHAIN_REFERENCE.BnbSmartChainMainnet,
212
+ assetNamespace: 'erc20',
213
+ assetReference: '0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',
214
+ });
215
+ const usdcOnPolygonBridged = (0, assetId_1.toAssetId)({
216
+ chainNamespace,
217
+ chainReference: constants_1.CHAIN_REFERENCE.PolygonMainnet,
218
+ assetNamespace,
219
+ assetReference: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',
220
+ });
221
+ const usdcOnArbitrumNovaBridged = (0, assetId_1.toAssetId)({
222
+ chainNamespace,
223
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumNovaMainnet,
224
+ assetNamespace,
225
+ assetReference: '0x750ba8b76187092B0D1E87E28daaf484d1b5273b',
226
+ });
227
+ const usdcOnGnosisBridged = (0, assetId_1.toAssetId)({
228
+ chainNamespace,
229
+ chainReference: constants_1.CHAIN_REFERENCE.GnosisMainnet,
230
+ assetNamespace,
231
+ assetReference: '0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83',
232
+ });
233
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('binance-bridged-usdc-bnb-smart-chain')).toEqual([
234
+ usdcOnBscBridged,
235
+ ]);
236
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('bridged-usdc-polygon-pos-bridge')).toEqual([usdcOnPolygonBridged]);
237
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('gnosis-xdai-bridged-usdc-gnosis')).toEqual([usdcOnGnosisBridged]);
238
+ (0, vitest_1.expect)((0, _1.coingeckoToAssetIds)('official-arbitrum-bridged-usdc-arbitrum-nova')).toEqual([
239
+ usdcOnArbitrumNovaBridged,
240
+ ]);
241
+ });
242
+ });
243
+ (0, vitest_1.describe)('assetIdToCoingecko', () => {
244
+ (0, vitest_1.it)('can get CoinGecko id for bitcoin AssetId', () => {
245
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Utxo;
246
+ const chainReference = constants_1.CHAIN_REFERENCE.BitcoinMainnet;
247
+ const assetId = (0, assetId_1.toAssetId)({
248
+ chainNamespace,
249
+ chainReference,
250
+ assetNamespace: 'slip44',
251
+ assetReference: constants_1.ASSET_REFERENCE.Bitcoin,
252
+ });
253
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('bitcoin');
254
+ });
255
+ (0, vitest_1.it)('can get CoinGecko id for ethereum AssetId', () => {
256
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
257
+ const chainReference = constants_1.CHAIN_REFERENCE.EthereumMainnet;
258
+ const assetId = (0, assetId_1.toAssetId)({
259
+ chainNamespace,
260
+ chainReference,
261
+ assetNamespace: 'slip44',
262
+ assetReference: constants_1.ASSET_REFERENCE.Ethereum,
263
+ });
264
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('ethereum');
265
+ });
266
+ (0, vitest_1.it)('can get CoinGecko id for FOX', () => {
267
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
268
+ const chainReference = constants_1.CHAIN_REFERENCE.EthereumMainnet;
269
+ const assetNamespace = 'erc20';
270
+ const assetReference = '0xc770eefad204b5180df6a14ee197d99d808ee52d';
271
+ const assetId = (0, assetId_1.toAssetId)({ chainNamespace, chainReference, assetNamespace, assetReference });
272
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('shapeshift-fox-token');
273
+ });
274
+ (0, vitest_1.it)('can get CoinGecko id for cosmos AssetId', () => {
275
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.CosmosSdk;
276
+ const chainReference = constants_1.CHAIN_REFERENCE.CosmosHubMainnet;
277
+ const assetId = (0, assetId_1.toAssetId)({
278
+ chainNamespace,
279
+ chainReference,
280
+ assetNamespace: 'slip44',
281
+ assetReference: constants_1.ASSET_REFERENCE.Cosmos,
282
+ });
283
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('cosmos');
284
+ });
285
+ (0, vitest_1.it)('can get CoinGecko id for polygon AssetId', () => {
286
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
287
+ const chainReference = constants_1.CHAIN_REFERENCE.PolygonMainnet;
288
+ const assetId = (0, assetId_1.toAssetId)({
289
+ chainNamespace,
290
+ chainReference,
291
+ assetNamespace: 'slip44',
292
+ assetReference: constants_1.ASSET_REFERENCE.Polygon,
293
+ });
294
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('polygon-ecosystem-token');
295
+ });
296
+ (0, vitest_1.it)('can get CoinGecko id for gnosis AssetId', () => {
297
+ const chainNamespace = constants_1.CHAIN_NAMESPACE.Evm;
298
+ const chainReference = constants_1.CHAIN_REFERENCE.GnosisMainnet;
299
+ const assetId = (0, assetId_1.toAssetId)({
300
+ chainNamespace,
301
+ chainReference,
302
+ assetNamespace: 'slip44',
303
+ assetReference: constants_1.ASSET_REFERENCE.Gnosis,
304
+ });
305
+ (0, vitest_1.expect)((0, _1.assetIdToCoingecko)(assetId)).toEqual('xdai');
306
+ });
307
+ });
308
+ (0, vitest_1.describe)('chainIdToCoingeckoAssetPlatform', () => {
309
+ (0, vitest_1.it)('can get CoinGecko asset platform from ChainId', () => {
310
+ const chainId = constants_1.ethChainId;
311
+ (0, vitest_1.expect)((0, _1.chainIdToCoingeckoAssetPlatform)(chainId)).toEqual(_1.CoingeckoAssetPlatform.Ethereum);
312
+ });
313
+ (0, vitest_1.it)('throws on invalid ChainId', () => {
314
+ const chainId = constants_1.btcChainId;
315
+ (0, vitest_1.expect)(() => (0, _1.chainIdToCoingeckoAssetPlatform)(chainId)).toThrow();
316
+ });
317
+ });
318
+ });
@@ -0,0 +1,11 @@
1
+ import type { AssetId } from '../../assetId/assetId';
2
+ import type { ChainId } from '../../chainId/chainId';
3
+ export type CoingeckoCoin = {
4
+ id: string;
5
+ platforms: Record<string, string>;
6
+ };
7
+ type AssetMap = Record<ChainId, Record<AssetId, string>>;
8
+ export declare const fetchData: (URL: string) => Promise<CoingeckoCoin[]>;
9
+ export declare const parseData: (coins: CoingeckoCoin[]) => AssetMap;
10
+ export declare const writeFiles: (data: AssetMap) => Promise<void>;
11
+ export {};
@@ -0,0 +1,311 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.writeFiles = exports.parseData = exports.fetchData = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const assetId_1 = require("../../assetId/assetId");
10
+ const constants_1 = require("../../constants");
11
+ const utils_1 = require("../../utils");
12
+ const _1 = require(".");
13
+ const fetchData = async (URL) => (await axios_1.default.get(URL)).data;
14
+ exports.fetchData = fetchData;
15
+ const parseData = (coins) => {
16
+ const assetMap = coins.reduce((prev, { id, platforms }) => {
17
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Ethereum)) {
18
+ try {
19
+ const assetId = (0, assetId_1.toAssetId)({
20
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
21
+ chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
22
+ assetNamespace: 'erc20',
23
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Ethereum],
24
+ });
25
+ prev[constants_1.ethChainId][assetId] = id;
26
+ }
27
+ catch {
28
+ // unable to create assetId, skip token
29
+ }
30
+ }
31
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Avalanche)) {
32
+ try {
33
+ const assetId = (0, assetId_1.toAssetId)({
34
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
35
+ chainReference: constants_1.CHAIN_REFERENCE.AvalancheCChain,
36
+ assetNamespace: 'erc20',
37
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Avalanche],
38
+ });
39
+ prev[constants_1.avalancheChainId][assetId] = id;
40
+ }
41
+ catch {
42
+ // unable to create assetId, skip token
43
+ }
44
+ }
45
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Optimism)) {
46
+ try {
47
+ const assetId = (0, assetId_1.toAssetId)({
48
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
49
+ chainReference: constants_1.CHAIN_REFERENCE.OptimismMainnet,
50
+ assetNamespace: 'erc20',
51
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Optimism],
52
+ });
53
+ prev[constants_1.optimismChainId][assetId] = id;
54
+ }
55
+ catch {
56
+ // unable to create assetId, skip token
57
+ }
58
+ }
59
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.BnbSmartChain)) {
60
+ try {
61
+ const assetId = (0, assetId_1.toAssetId)({
62
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
63
+ chainReference: constants_1.CHAIN_REFERENCE.BnbSmartChainMainnet,
64
+ assetNamespace: 'erc20',
65
+ assetReference: platforms[_1.CoingeckoAssetPlatform.BnbSmartChain],
66
+ });
67
+ prev[constants_1.bscChainId][assetId] = id;
68
+ }
69
+ catch {
70
+ // unable to create assetId, skip token
71
+ }
72
+ }
73
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Polygon)) {
74
+ try {
75
+ const assetId = (0, assetId_1.toAssetId)({
76
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
77
+ chainReference: constants_1.CHAIN_REFERENCE.PolygonMainnet,
78
+ assetNamespace: 'erc20',
79
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Polygon],
80
+ });
81
+ prev[constants_1.polygonChainId][assetId] = id;
82
+ }
83
+ catch (err) {
84
+ // unable to create assetId, skip token
85
+ }
86
+ }
87
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Gnosis)) {
88
+ try {
89
+ const assetId = (0, assetId_1.toAssetId)({
90
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
91
+ chainReference: constants_1.CHAIN_REFERENCE.GnosisMainnet,
92
+ assetNamespace: 'erc20',
93
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Gnosis],
94
+ });
95
+ prev[constants_1.gnosisChainId][assetId] = id;
96
+ }
97
+ catch (err) {
98
+ // unable to create assetId, skip token
99
+ }
100
+ }
101
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Arbitrum)) {
102
+ try {
103
+ const assetId = (0, assetId_1.toAssetId)({
104
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
105
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumMainnet,
106
+ assetNamespace: 'erc20',
107
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Arbitrum],
108
+ });
109
+ prev[constants_1.arbitrumChainId][assetId] = id;
110
+ }
111
+ catch (err) {
112
+ // unable to create assetId, skip token
113
+ }
114
+ }
115
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.ArbitrumNova)) {
116
+ try {
117
+ const assetId = (0, assetId_1.toAssetId)({
118
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
119
+ chainReference: constants_1.CHAIN_REFERENCE.ArbitrumNovaMainnet,
120
+ assetNamespace: 'erc20',
121
+ assetReference: platforms[_1.CoingeckoAssetPlatform.ArbitrumNova],
122
+ });
123
+ prev[constants_1.arbitrumNovaChainId][assetId] = id;
124
+ }
125
+ catch (err) {
126
+ // unable to create assetId, skip token
127
+ }
128
+ }
129
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Base)) {
130
+ try {
131
+ const assetId = (0, assetId_1.toAssetId)({
132
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
133
+ chainReference: constants_1.CHAIN_REFERENCE.BaseMainnet,
134
+ assetNamespace: 'erc20',
135
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Base],
136
+ });
137
+ prev[constants_1.baseChainId][assetId] = id;
138
+ }
139
+ catch {
140
+ // unable to create assetId, skip token
141
+ }
142
+ }
143
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.HyperEvm)) {
144
+ try {
145
+ const assetId = (0, assetId_1.toAssetId)({
146
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
147
+ chainReference: constants_1.CHAIN_REFERENCE.HyperEvmMainnet,
148
+ assetNamespace: 'erc20',
149
+ assetReference: platforms[_1.CoingeckoAssetPlatform.HyperEvm],
150
+ });
151
+ prev[constants_1.hyperEvmChainId][assetId] = id;
152
+ }
153
+ catch {
154
+ // unable to create assetId, skip token
155
+ }
156
+ }
157
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Solana)) {
158
+ try {
159
+ const assetId = (0, assetId_1.toAssetId)({
160
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Solana,
161
+ chainReference: constants_1.CHAIN_REFERENCE.SolanaMainnet,
162
+ assetNamespace: 'token',
163
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Solana],
164
+ });
165
+ prev[constants_1.solanaChainId][assetId] = id;
166
+ }
167
+ catch {
168
+ // unable to create assetId, skip token
169
+ }
170
+ }
171
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Tron)) {
172
+ try {
173
+ const assetId = (0, assetId_1.toAssetId)({
174
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Tron,
175
+ chainReference: constants_1.CHAIN_REFERENCE.TronMainnet,
176
+ assetNamespace: 'trc20',
177
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Tron],
178
+ });
179
+ prev[constants_1.tronChainId][assetId] = id;
180
+ }
181
+ catch {
182
+ // unable to create assetId, skip token
183
+ }
184
+ }
185
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Sui)) {
186
+ try {
187
+ const assetId = (0, assetId_1.toAssetId)({
188
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Sui,
189
+ chainReference: constants_1.CHAIN_REFERENCE.SuiMainnet,
190
+ assetNamespace: constants_1.ASSET_NAMESPACE.suiCoin,
191
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Sui],
192
+ });
193
+ prev[constants_1.suiChainId][assetId] = id;
194
+ }
195
+ catch {
196
+ // unable to create assetId, skip token
197
+ }
198
+ }
199
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Monad)) {
200
+ try {
201
+ const assetId = (0, assetId_1.toAssetId)({
202
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
203
+ chainReference: constants_1.CHAIN_REFERENCE.MonadMainnet,
204
+ assetNamespace: 'erc20',
205
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Monad],
206
+ });
207
+ prev[constants_1.monadChainId][assetId] = id;
208
+ }
209
+ catch {
210
+ // unable to create assetId, skip token
211
+ }
212
+ }
213
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Plasma)) {
214
+ try {
215
+ const assetId = (0, assetId_1.toAssetId)({
216
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
217
+ chainReference: constants_1.CHAIN_REFERENCE.PlasmaMainnet,
218
+ assetNamespace: 'erc20',
219
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Plasma],
220
+ });
221
+ prev[constants_1.plasmaChainId][assetId] = id;
222
+ }
223
+ catch {
224
+ // unable to create assetId, skip token
225
+ }
226
+ }
227
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Katana)) {
228
+ try {
229
+ const assetId = (0, assetId_1.toAssetId)({
230
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
231
+ chainReference: constants_1.CHAIN_REFERENCE.KatanaMainnet,
232
+ assetNamespace: 'erc20',
233
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Katana],
234
+ });
235
+ prev[constants_1.katanaChainId][assetId] = id;
236
+ }
237
+ catch {
238
+ // unable to create assetId, skip token
239
+ }
240
+ }
241
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Starknet)) {
242
+ try {
243
+ const assetId = (0, assetId_1.toAssetId)({
244
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Starknet,
245
+ chainReference: constants_1.CHAIN_REFERENCE.StarknetMainnet,
246
+ assetNamespace: constants_1.ASSET_NAMESPACE.starknetToken,
247
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Starknet],
248
+ });
249
+ prev[constants_1.starknetChainId][assetId] = id;
250
+ }
251
+ catch {
252
+ // unable to create assetId, skip token
253
+ }
254
+ }
255
+ if (Object.keys(platforms).includes(_1.CoingeckoAssetPlatform.Near)) {
256
+ try {
257
+ const assetId = (0, assetId_1.toAssetId)({
258
+ chainNamespace: constants_1.CHAIN_NAMESPACE.Near,
259
+ chainReference: constants_1.CHAIN_REFERENCE.NearMainnet,
260
+ assetNamespace: constants_1.ASSET_NAMESPACE.nep141,
261
+ assetReference: platforms[_1.CoingeckoAssetPlatform.Near],
262
+ });
263
+ prev[constants_1.nearChainId][assetId] = id;
264
+ }
265
+ catch {
266
+ // unable to create assetId, skip token
267
+ }
268
+ }
269
+ return prev;
270
+ }, {
271
+ [constants_1.ethChainId]: { [constants_1.ethAssetId]: 'ethereum' },
272
+ [constants_1.avalancheChainId]: { [constants_1.avalancheAssetId]: 'avalanche-2' },
273
+ [constants_1.optimismChainId]: { [constants_1.optimismAssetId]: 'ethereum' },
274
+ [constants_1.bscChainId]: { [constants_1.bscAssetId]: 'binancecoin' },
275
+ [constants_1.polygonChainId]: { [constants_1.polygonAssetId]: 'polygon-ecosystem-token' },
276
+ [constants_1.gnosisChainId]: { [constants_1.gnosisAssetId]: 'xdai' },
277
+ [constants_1.arbitrumChainId]: { [constants_1.arbitrumAssetId]: 'ethereum' },
278
+ [constants_1.arbitrumNovaChainId]: { [constants_1.arbitrumNovaAssetId]: 'ethereum' },
279
+ [constants_1.baseChainId]: { [constants_1.baseAssetId]: 'ethereum' },
280
+ [constants_1.hyperEvmChainId]: { [constants_1.hyperEvmAssetId]: 'hyperliquid' },
281
+ [constants_1.monadChainId]: { [constants_1.monadAssetId]: 'monad' },
282
+ [constants_1.plasmaChainId]: { [constants_1.plasmaAssetId]: 'plasma' },
283
+ [constants_1.katanaChainId]: { [constants_1.katanaAssetId]: 'katana' },
284
+ [constants_1.solanaChainId]: { [constants_1.solAssetId]: 'solana' },
285
+ [constants_1.starknetChainId]: { [constants_1.starknetAssetId]: 'starknet' },
286
+ [constants_1.tronChainId]: { [constants_1.tronAssetId]: 'tron' },
287
+ [constants_1.suiChainId]: { [constants_1.suiAssetId]: 'sui' },
288
+ [constants_1.nearChainId]: { [constants_1.nearAssetId]: 'near' },
289
+ });
290
+ return {
291
+ ...assetMap,
292
+ [constants_1.btcChainId]: utils_1.bitcoinAssetMap,
293
+ [constants_1.bchChainId]: utils_1.bitcoinCashAssetMap,
294
+ [constants_1.dogeChainId]: utils_1.dogecoinAssetMap,
295
+ [constants_1.ltcChainId]: utils_1.litecoinAssetMap,
296
+ [constants_1.zecChainId]: utils_1.zcashAssetMap,
297
+ [constants_1.cosmosChainId]: utils_1.cosmosAssetMap,
298
+ [constants_1.thorchainChainId]: utils_1.thorchainAssetMap,
299
+ [constants_1.mayachainChainId]: utils_1.mayachainAssetMap,
300
+ };
301
+ };
302
+ exports.parseData = parseData;
303
+ const writeFiles = async (data) => {
304
+ await Promise.all(Object.entries(data).map(async ([chainId, assets]) => {
305
+ const dirPath = `./src/adapters/coingecko/generated/${chainId}`.replace(':', '_');
306
+ await fs_1.default.promises.mkdir(dirPath, { recursive: true });
307
+ await fs_1.default.promises.writeFile(`${dirPath}/adapter.json`, JSON.stringify(assets));
308
+ }));
309
+ console.info('Generated CoinGecko AssetId adapter data.');
310
+ };
311
+ exports.writeFiles = writeFiles;
@@ -0,0 +1 @@
1
+ export {};