@shapeshiftoss/caip 8.16.7 → 8.16.8

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 (115) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -1
  2. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +1 -1
  3. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +1 -1
  4. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +1 -1
  5. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +1 -1
  6. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +1 -1
  7. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +1 -1
  8. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +1 -1
  9. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -1
  10. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +1 -1
  11. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +1 -1
  12. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +1 -1
  13. package/dist/cjs/adapters/coingecko/generated/eip155_130/adapter.json +1 -0
  14. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +1 -1
  15. package/dist/cjs/adapters/coingecko/generated/eip155_143/adapter.json +1 -1
  16. package/dist/cjs/adapters/coingecko/generated/eip155_146/adapter.json +1 -0
  17. package/dist/cjs/adapters/coingecko/generated/eip155_1514/adapter.json +1 -0
  18. package/dist/cjs/adapters/coingecko/generated/eip155_1868/adapter.json +1 -0
  19. package/dist/cjs/adapters/coingecko/generated/eip155_25/adapter.json +1 -0
  20. package/dist/cjs/adapters/coingecko/generated/eip155_324/adapter.json +1 -0
  21. package/dist/cjs/adapters/coingecko/generated/eip155_34443/adapter.json +1 -0
  22. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +1 -1
  23. package/dist/cjs/adapters/coingecko/generated/eip155_42220/adapter.json +1 -0
  24. package/dist/cjs/adapters/coingecko/generated/eip155_43111/adapter.json +1 -0
  25. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +1 -1
  26. package/dist/cjs/adapters/coingecko/generated/eip155_4326/adapter.json +1 -0
  27. package/dist/cjs/adapters/coingecko/generated/eip155_480/adapter.json +1 -0
  28. package/dist/cjs/adapters/coingecko/generated/eip155_5000/adapter.json +1 -0
  29. package/dist/cjs/adapters/coingecko/generated/eip155_534352/adapter.json +1 -0
  30. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +1 -1
  31. package/dist/cjs/adapters/coingecko/generated/eip155_57073/adapter.json +1 -0
  32. package/dist/cjs/adapters/coingecko/generated/eip155_59144/adapter.json +1 -0
  33. package/dist/cjs/adapters/coingecko/generated/eip155_60808/adapter.json +1 -0
  34. package/dist/cjs/adapters/coingecko/generated/eip155_747/adapter.json +1 -0
  35. package/dist/cjs/adapters/coingecko/generated/eip155_747474/adapter.json +1 -1
  36. package/dist/cjs/adapters/coingecko/generated/eip155_80094/adapter.json +1 -0
  37. package/dist/cjs/adapters/coingecko/generated/eip155_81457/adapter.json +1 -0
  38. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +1 -1
  39. package/dist/cjs/adapters/coingecko/generated/eip155_9745/adapter.json +1 -1
  40. package/dist/cjs/adapters/coingecko/generated/eip155_98866/adapter.json +1 -0
  41. package/dist/cjs/adapters/coingecko/generated/eip155_999/adapter.json +1 -1
  42. package/dist/cjs/adapters/coingecko/generated/index.d.ts +21 -2
  43. package/dist/cjs/adapters/coingecko/generated/index.js +71 -33
  44. package/dist/cjs/adapters/coingecko/generated/near_mainnet/adapter.json +1 -1
  45. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -1
  46. package/dist/cjs/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -1
  47. package/dist/cjs/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -1
  48. package/dist/cjs/adapters/coingecko/generated/ton_mainnet/adapter.json +1 -1
  49. package/dist/cjs/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -1
  50. package/dist/cjs/adapters/coingecko/index.d.ts +20 -1
  51. package/dist/cjs/adapters/coingecko/index.js +100 -5
  52. package/dist/cjs/adapters/coingecko/index.test.js +132 -16
  53. package/dist/cjs/adapters/coingecko/utils.js +300 -15
  54. package/dist/cjs/adapters/coingecko/utils.test.js +60 -5
  55. package/dist/cjs/constants.d.ts +80 -4
  56. package/dist/cjs/constants.js +123 -8
  57. package/dist/esm/.tsbuildinfo +1 -1
  58. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +1 -1
  59. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +1 -1
  60. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +1 -1
  61. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +1 -1
  62. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +1 -1
  63. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +1 -1
  64. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +1 -1
  65. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -1
  66. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +1 -1
  67. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +1 -1
  68. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +1 -1
  69. package/dist/esm/adapters/coingecko/generated/eip155_130/adapter.json +1 -0
  70. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +1 -1
  71. package/dist/esm/adapters/coingecko/generated/eip155_143/adapter.json +1 -1
  72. package/dist/esm/adapters/coingecko/generated/eip155_146/adapter.json +1 -0
  73. package/dist/esm/adapters/coingecko/generated/eip155_1514/adapter.json +1 -0
  74. package/dist/esm/adapters/coingecko/generated/eip155_1868/adapter.json +1 -0
  75. package/dist/esm/adapters/coingecko/generated/eip155_25/adapter.json +1 -0
  76. package/dist/esm/adapters/coingecko/generated/eip155_324/adapter.json +1 -0
  77. package/dist/esm/adapters/coingecko/generated/eip155_34443/adapter.json +1 -0
  78. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +1 -1
  79. package/dist/esm/adapters/coingecko/generated/eip155_42220/adapter.json +1 -0
  80. package/dist/esm/adapters/coingecko/generated/eip155_43111/adapter.json +1 -0
  81. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +1 -1
  82. package/dist/esm/adapters/coingecko/generated/eip155_4326/adapter.json +1 -0
  83. package/dist/esm/adapters/coingecko/generated/eip155_480/adapter.json +1 -0
  84. package/dist/esm/adapters/coingecko/generated/eip155_5000/adapter.json +1 -0
  85. package/dist/esm/adapters/coingecko/generated/eip155_534352/adapter.json +1 -0
  86. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +1 -1
  87. package/dist/esm/adapters/coingecko/generated/eip155_57073/adapter.json +1 -0
  88. package/dist/esm/adapters/coingecko/generated/eip155_59144/adapter.json +1 -0
  89. package/dist/esm/adapters/coingecko/generated/eip155_60808/adapter.json +1 -0
  90. package/dist/esm/adapters/coingecko/generated/eip155_747/adapter.json +1 -0
  91. package/dist/esm/adapters/coingecko/generated/eip155_747474/adapter.json +1 -1
  92. package/dist/esm/adapters/coingecko/generated/eip155_80094/adapter.json +1 -0
  93. package/dist/esm/adapters/coingecko/generated/eip155_81457/adapter.json +1 -0
  94. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +1 -1
  95. package/dist/esm/adapters/coingecko/generated/eip155_9745/adapter.json +1 -1
  96. package/dist/esm/adapters/coingecko/generated/eip155_98866/adapter.json +1 -0
  97. package/dist/esm/adapters/coingecko/generated/eip155_999/adapter.json +1 -1
  98. package/dist/esm/adapters/coingecko/generated/index.d.ts +21 -2
  99. package/dist/esm/adapters/coingecko/generated/index.js +21 -2
  100. package/dist/esm/adapters/coingecko/generated/near_mainnet/adapter.json +1 -1
  101. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -1
  102. package/dist/esm/adapters/coingecko/generated/starknet_SN_MAIN/adapter.json +1 -1
  103. package/dist/esm/adapters/coingecko/generated/sui_35834a8a/adapter.json +1 -1
  104. package/dist/esm/adapters/coingecko/generated/ton_mainnet/adapter.json +1 -1
  105. package/dist/esm/adapters/coingecko/generated/tron_0x2b6653dc/adapter.json +1 -1
  106. package/dist/esm/adapters/coingecko/index.d.ts +20 -1
  107. package/dist/esm/adapters/coingecko/index.js +101 -6
  108. package/dist/esm/adapters/coingecko/index.test.js +133 -17
  109. package/dist/esm/adapters/coingecko/utils.js +301 -16
  110. package/dist/esm/adapters/coingecko/utils.test.js +60 -5
  111. package/dist/esm/constants.d.ts +80 -4
  112. package/dist/esm/constants.js +120 -6
  113. package/package.json +4 -4
  114. package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
  115. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
@@ -1,6 +1,6 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { toAssetId } from '../../assetId/assetId.js';
3
- import { ASSET_REFERENCE, btcChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, ethChainId, foxOnArbitrumOneAssetId, } from '../../constants.js';
3
+ import { ASSET_REFERENCE, btcChainId, celoChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, ethChainId, flowEvmChainId, foxOnArbitrumOneAssetId, } from '../../constants.js';
4
4
  import { assetIdToCoingecko, chainIdToCoingeckoAssetPlatform, CoingeckoAssetPlatform, coingeckoToAssetIds, } from './index.js';
5
5
  describe('adapters:coingecko', () => {
6
6
  describe('coingeckoToAssetIds', () => {
@@ -35,24 +35,101 @@ describe('adapters:coingecko', () => {
35
35
  assetNamespace: 'slip44',
36
36
  assetReference: ASSET_REFERENCE.Arbitrum,
37
37
  });
38
- const ethOnArbitrumNova = toAssetId({
39
- chainNamespace,
40
- chainReference: CHAIN_REFERENCE.ArbitrumNovaMainnet,
41
- assetNamespace: 'slip44',
42
- assetReference: ASSET_REFERENCE.ArbitrumNova,
43
- });
44
38
  const ethOnBase = toAssetId({
45
39
  chainNamespace,
46
40
  chainReference: CHAIN_REFERENCE.BaseMainnet,
47
41
  assetNamespace: 'slip44',
48
42
  assetReference: ASSET_REFERENCE.Base,
49
43
  });
44
+ const ethOnMegaEth = toAssetId({
45
+ chainNamespace,
46
+ chainReference: CHAIN_REFERENCE.MegaEthMainnet,
47
+ assetNamespace: 'slip44',
48
+ assetReference: ASSET_REFERENCE.MegaEth,
49
+ });
50
+ const ethOnZkSyncEra = toAssetId({
51
+ chainNamespace,
52
+ chainReference: CHAIN_REFERENCE.ZkSyncEraMainnet,
53
+ assetNamespace: 'slip44',
54
+ assetReference: ASSET_REFERENCE.ZkSyncEra,
55
+ });
56
+ const ethOnBlast = toAssetId({
57
+ chainNamespace,
58
+ chainReference: CHAIN_REFERENCE.BlastMainnet,
59
+ assetNamespace: 'slip44',
60
+ assetReference: ASSET_REFERENCE.Blast,
61
+ });
62
+ const ethOnWorldChain = toAssetId({
63
+ chainNamespace,
64
+ chainReference: CHAIN_REFERENCE.WorldChainMainnet,
65
+ assetNamespace: 'slip44',
66
+ assetReference: ASSET_REFERENCE.WorldChain,
67
+ });
68
+ const ethOnHemi = toAssetId({
69
+ chainNamespace,
70
+ chainReference: CHAIN_REFERENCE.HemiMainnet,
71
+ assetNamespace: 'slip44',
72
+ assetReference: ASSET_REFERENCE.Hemi,
73
+ });
74
+ const ethOnLinea = toAssetId({
75
+ chainNamespace,
76
+ chainReference: CHAIN_REFERENCE.LineaMainnet,
77
+ assetNamespace: 'slip44',
78
+ assetReference: ASSET_REFERENCE.Linea,
79
+ });
80
+ const ethOnInk = toAssetId({
81
+ chainNamespace,
82
+ chainReference: CHAIN_REFERENCE.InkMainnet,
83
+ assetNamespace: 'slip44',
84
+ assetReference: ASSET_REFERENCE.Ink,
85
+ });
86
+ const ethOnScroll = toAssetId({
87
+ chainNamespace,
88
+ chainReference: CHAIN_REFERENCE.ScrollMainnet,
89
+ assetNamespace: 'slip44',
90
+ assetReference: ASSET_REFERENCE.Scroll,
91
+ });
92
+ const ethOnUnichain = toAssetId({
93
+ chainNamespace: CHAIN_NAMESPACE.Evm,
94
+ chainReference: CHAIN_REFERENCE.UnichainMainnet,
95
+ assetNamespace: 'slip44',
96
+ assetReference: ASSET_REFERENCE.Unichain,
97
+ });
98
+ const ethOnBob = toAssetId({
99
+ chainNamespace,
100
+ chainReference: CHAIN_REFERENCE.BobMainnet,
101
+ assetNamespace: 'slip44',
102
+ assetReference: ASSET_REFERENCE.Bob,
103
+ });
104
+ const ethOnMode = toAssetId({
105
+ chainNamespace,
106
+ chainReference: CHAIN_REFERENCE.ModeMainnet,
107
+ assetNamespace: 'slip44',
108
+ assetReference: ASSET_REFERENCE.Mode,
109
+ });
110
+ const ethOnSoneium = toAssetId({
111
+ chainNamespace,
112
+ chainReference: CHAIN_REFERENCE.SoneiumMainnet,
113
+ assetNamespace: 'slip44',
114
+ assetReference: ASSET_REFERENCE.Soneium,
115
+ });
50
116
  expect(coingeckoToAssetIds('ethereum')).toEqual([
51
117
  ethOnEthereum,
52
118
  ethOnOptimism,
53
119
  ethOnArbitrum,
54
- ethOnArbitrumNova,
55
120
  ethOnBase,
121
+ ethOnBob,
122
+ ethOnZkSyncEra,
123
+ ethOnBlast,
124
+ ethOnWorldChain,
125
+ ethOnHemi,
126
+ ethOnLinea,
127
+ ethOnMode,
128
+ ethOnMegaEth,
129
+ ethOnInk,
130
+ ethOnScroll,
131
+ ethOnUnichain,
132
+ ethOnSoneium,
56
133
  ]);
57
134
  });
58
135
  it('can get AssetIds id for FOX', () => {
@@ -173,12 +250,48 @@ describe('adapters:coingecko', () => {
173
250
  assetNamespace: 'erc20',
174
251
  assetReference: '0xb88339cb7199b77e23db6e890353e22632ba630f',
175
252
  });
253
+ const usdcOnPlume = toAssetId({
254
+ chainNamespace: CHAIN_NAMESPACE.Evm,
255
+ chainReference: CHAIN_REFERENCE.PlumeMainnet,
256
+ assetNamespace: 'erc20',
257
+ assetReference: '0x222365ef19f7947e5484218551b56bb3965aa7af',
258
+ });
259
+ const usdcOnZkSyncEra = toAssetId({
260
+ chainNamespace: CHAIN_NAMESPACE.Evm,
261
+ chainReference: CHAIN_REFERENCE.ZkSyncEraMainnet,
262
+ assetNamespace: 'erc20',
263
+ assetReference: '0x1d17cbcf0d6d143135ae902365d2e5e2a16538d4',
264
+ });
265
+ const usdcOnWorldChain = toAssetId({
266
+ chainNamespace: CHAIN_NAMESPACE.Evm,
267
+ chainReference: CHAIN_REFERENCE.WorldChainMainnet,
268
+ assetNamespace: 'erc20',
269
+ assetReference: '0x79a02482a880bce3f13e09da970dc34db4cd24d1',
270
+ });
176
271
  const usdcOnStarknet = toAssetId({
177
272
  chainNamespace: CHAIN_NAMESPACE.Starknet,
178
273
  chainReference: CHAIN_REFERENCE.StarknetMainnet,
179
274
  assetNamespace: 'token',
180
275
  assetReference: '0x33068f6539f8e6e6b131e6b2b814e6c34a5224bc66947c47dab9dfee93b35fb',
181
276
  });
277
+ const usdcOnInk = toAssetId({
278
+ chainNamespace: CHAIN_NAMESPACE.Evm,
279
+ chainReference: CHAIN_REFERENCE.InkMainnet,
280
+ assetNamespace: 'erc20',
281
+ assetReference: '0x2d270e6886d130d724215a266106e6832161eaed',
282
+ });
283
+ const usdcOnSonic = toAssetId({
284
+ chainNamespace: CHAIN_NAMESPACE.Evm,
285
+ chainReference: CHAIN_REFERENCE.SonicMainnet,
286
+ assetNamespace: 'erc20',
287
+ assetReference: '0x29219dd400f2bf60e5a23d13be72b486d4038894',
288
+ });
289
+ const usdcOnUnichain = toAssetId({
290
+ chainNamespace: CHAIN_NAMESPACE.Evm,
291
+ chainReference: CHAIN_REFERENCE.UnichainMainnet,
292
+ assetNamespace: 'erc20',
293
+ assetReference: '0x078d782b760474a361dda0af3839290b0ef57ad6',
294
+ });
182
295
  const usdcOnNear = toAssetId({
183
296
  chainNamespace: CHAIN_NAMESPACE.Near,
184
297
  chainReference: CHAIN_REFERENCE.NearMainnet,
@@ -194,6 +307,12 @@ describe('adapters:coingecko', () => {
194
307
  usdcOnBase,
195
308
  usdcOnMonad,
196
309
  usdcOnHyperEvm,
310
+ usdcOnPlume,
311
+ usdcOnZkSyncEra,
312
+ usdcOnWorldChain,
313
+ usdcOnInk,
314
+ usdcOnSonic,
315
+ usdcOnUnichain,
197
316
  usdcOnSolana,
198
317
  usdcOnStarknet,
199
318
  usdcOnSui,
@@ -216,12 +335,6 @@ describe('adapters:coingecko', () => {
216
335
  assetNamespace,
217
336
  assetReference: '0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174',
218
337
  });
219
- const usdcOnArbitrumNovaBridged = toAssetId({
220
- chainNamespace,
221
- chainReference: CHAIN_REFERENCE.ArbitrumNovaMainnet,
222
- assetNamespace,
223
- assetReference: '0x750ba8b76187092B0D1E87E28daaf484d1b5273b',
224
- });
225
338
  const usdcOnGnosisBridged = toAssetId({
226
339
  chainNamespace,
227
340
  chainReference: CHAIN_REFERENCE.GnosisMainnet,
@@ -233,9 +346,6 @@ describe('adapters:coingecko', () => {
233
346
  ]);
234
347
  expect(coingeckoToAssetIds('bridged-usdc-polygon-pos-bridge')).toEqual([usdcOnPolygonBridged]);
235
348
  expect(coingeckoToAssetIds('gnosis-xdai-bridged-usdc-gnosis')).toEqual([usdcOnGnosisBridged]);
236
- expect(coingeckoToAssetIds('official-arbitrum-bridged-usdc-arbitrum-nova')).toEqual([
237
- usdcOnArbitrumNovaBridged,
238
- ]);
239
349
  });
240
350
  });
241
351
  describe('assetIdToCoingecko', () => {
@@ -312,5 +422,11 @@ describe('adapters:coingecko', () => {
312
422
  const chainId = btcChainId;
313
423
  expect(() => chainIdToCoingeckoAssetPlatform(chainId)).toThrow();
314
424
  });
425
+ it('can get CoinGecko asset platform for flow evm ChainId', () => {
426
+ expect(chainIdToCoingeckoAssetPlatform(flowEvmChainId)).toEqual(CoingeckoAssetPlatform.FlowEvm);
427
+ });
428
+ it('can get CoinGecko asset platform for celo ChainId', () => {
429
+ expect(chainIdToCoingeckoAssetPlatform(celoChainId)).toEqual(CoingeckoAssetPlatform.Celo);
430
+ });
315
431
  });
316
432
  });
@@ -1,7 +1,7 @@
1
1
  import axios from 'axios';
2
2
  import fs from 'fs';
3
3
  import { toAssetId } from '../../assetId/assetId.js';
4
- import { arbitrumAssetId, arbitrumChainId, arbitrumNovaAssetId, arbitrumNovaChainId, ASSET_NAMESPACE, avalancheAssetId, avalancheChainId, baseAssetId, baseChainId, bchChainId, bscAssetId, bscChainId, btcChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, cosmosChainId, dogeChainId, ethAssetId, ethChainId, gnosisAssetId, gnosisChainId, hyperEvmAssetId, hyperEvmChainId, katanaAssetId, katanaChainId, ltcChainId, mayachainChainId, monadAssetId, monadChainId, nearAssetId, nearChainId, optimismAssetId, optimismChainId, plasmaAssetId, plasmaChainId, polygonAssetId, polygonChainId, solanaChainId, solAssetId, starknetAssetId, starknetChainId, suiAssetId, suiChainId, thorchainChainId, tonAssetId, tonChainId, tronAssetId, tronChainId, zecChainId, } from '../../constants.js';
4
+ import { arbitrumAssetId, arbitrumChainId, ASSET_NAMESPACE, avalancheAssetId, avalancheChainId, baseAssetId, baseChainId, bchChainId, berachainAssetId, berachainChainId, blastAssetId, blastChainId, bobAssetId, bobChainId, bscAssetId, bscChainId, btcChainId, celoAssetId, celoChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, cosmosChainId, cronosAssetId, cronosChainId, dogeChainId, ethAssetId, ethChainId, flowEvmAssetId, flowEvmChainId, gnosisAssetId, gnosisChainId, hemiAssetId, hemiChainId, hyperEvmAssetId, hyperEvmChainId, inkAssetId, inkChainId, katanaAssetId, katanaChainId, lineaAssetId, lineaChainId, ltcChainId, mantleAssetId, mantleChainId, mayachainChainId, megaethAssetId, megaethChainId, modeAssetId, modeChainId, monadAssetId, monadChainId, nearAssetId, nearChainId, optimismAssetId, optimismChainId, plasmaAssetId, plasmaChainId, plumeAssetId, plumeChainId, polygonAssetId, polygonChainId, scrollAssetId, scrollChainId, solanaChainId, solAssetId, soneiumAssetId, soneiumChainId, sonicAssetId, sonicChainId, starknetAssetId, starknetChainId, storyAssetId, storyChainId, suiAssetId, suiChainId, thorchainChainId, tonAssetId, tonChainId, tronAssetId, tronChainId, unichainAssetId, unichainChainId, worldChainAssetId, worldChainChainId, zecChainId, zkSyncEraAssetId, zkSyncEraChainId, } from '../../constants.js';
5
5
  import { bitcoinAssetMap, bitcoinCashAssetMap, cosmosAssetMap, dogecoinAssetMap, litecoinAssetMap, mayachainAssetMap, thorchainAssetMap, zcashAssetMap, } from '../../utils.js';
6
6
  import { CoingeckoAssetPlatform } from './index.js';
7
7
  export const fetchData = async (URL) => (await axios.get(URL)).data;
@@ -105,20 +105,6 @@ export const parseData = (coins) => {
105
105
  // unable to create assetId, skip token
106
106
  }
107
107
  }
108
- if (Object.keys(platforms).includes(CoingeckoAssetPlatform.ArbitrumNova)) {
109
- try {
110
- const assetId = toAssetId({
111
- chainNamespace: CHAIN_NAMESPACE.Evm,
112
- chainReference: CHAIN_REFERENCE.ArbitrumNovaMainnet,
113
- assetNamespace: 'erc20',
114
- assetReference: platforms[CoingeckoAssetPlatform.ArbitrumNova],
115
- });
116
- prev[arbitrumNovaChainId][assetId] = id;
117
- }
118
- catch (err) {
119
- // unable to create assetId, skip token
120
- }
121
- }
122
108
  if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Base)) {
123
109
  try {
124
110
  const assetId = toAssetId({
@@ -217,6 +203,132 @@ export const parseData = (coins) => {
217
203
  // unable to create assetId, skip token
218
204
  }
219
205
  }
206
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Plume)) {
207
+ try {
208
+ const assetId = toAssetId({
209
+ chainNamespace: CHAIN_NAMESPACE.Evm,
210
+ chainReference: CHAIN_REFERENCE.PlumeMainnet,
211
+ assetNamespace: 'erc20',
212
+ assetReference: platforms[CoingeckoAssetPlatform.Plume],
213
+ });
214
+ prev[plumeChainId][assetId] = id;
215
+ }
216
+ catch {
217
+ // unable to create assetId, skip token
218
+ }
219
+ }
220
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.WorldChain)) {
221
+ try {
222
+ const assetId = toAssetId({
223
+ chainNamespace: CHAIN_NAMESPACE.Evm,
224
+ chainReference: CHAIN_REFERENCE.WorldChainMainnet,
225
+ assetNamespace: 'erc20',
226
+ assetReference: platforms[CoingeckoAssetPlatform.WorldChain],
227
+ });
228
+ prev[worldChainChainId][assetId] = id;
229
+ }
230
+ catch {
231
+ // unable to create assetId, skip token
232
+ }
233
+ }
234
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Mantle)) {
235
+ try {
236
+ const assetId = toAssetId({
237
+ chainNamespace: CHAIN_NAMESPACE.Evm,
238
+ chainReference: CHAIN_REFERENCE.MantleMainnet,
239
+ assetNamespace: 'erc20',
240
+ assetReference: platforms[CoingeckoAssetPlatform.Mantle],
241
+ });
242
+ prev[mantleChainId][assetId] = id;
243
+ }
244
+ catch {
245
+ // unable to create assetId, skip token
246
+ }
247
+ }
248
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Ink)) {
249
+ try {
250
+ const assetId = toAssetId({
251
+ chainNamespace: CHAIN_NAMESPACE.Evm,
252
+ chainReference: CHAIN_REFERENCE.InkMainnet,
253
+ assetNamespace: 'erc20',
254
+ assetReference: platforms[CoingeckoAssetPlatform.Ink],
255
+ });
256
+ prev[inkChainId][assetId] = id;
257
+ }
258
+ catch {
259
+ // unable to create assetId, skip token
260
+ }
261
+ }
262
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.MegaEth)) {
263
+ try {
264
+ const assetId = toAssetId({
265
+ chainNamespace: CHAIN_NAMESPACE.Evm,
266
+ chainReference: CHAIN_REFERENCE.MegaEthMainnet,
267
+ assetNamespace: 'erc20',
268
+ assetReference: platforms[CoingeckoAssetPlatform.MegaEth],
269
+ });
270
+ prev[megaethChainId][assetId] = id;
271
+ }
272
+ catch {
273
+ // unable to create assetId, skip token
274
+ }
275
+ }
276
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Linea)) {
277
+ try {
278
+ const assetId = toAssetId({
279
+ chainNamespace: CHAIN_NAMESPACE.Evm,
280
+ chainReference: CHAIN_REFERENCE.LineaMainnet,
281
+ assetNamespace: 'erc20',
282
+ assetReference: platforms[CoingeckoAssetPlatform.Linea],
283
+ });
284
+ prev[lineaChainId][assetId] = id;
285
+ }
286
+ catch {
287
+ // unable to create assetId, skip token
288
+ }
289
+ }
290
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Berachain)) {
291
+ try {
292
+ const assetId = toAssetId({
293
+ chainNamespace: CHAIN_NAMESPACE.Evm,
294
+ chainReference: CHAIN_REFERENCE.BerachainMainnet,
295
+ assetNamespace: 'erc20',
296
+ assetReference: platforms[CoingeckoAssetPlatform.Berachain],
297
+ });
298
+ prev[berachainChainId][assetId] = id;
299
+ }
300
+ catch {
301
+ // unable to create assetId, skip token
302
+ }
303
+ }
304
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Scroll)) {
305
+ try {
306
+ const assetId = toAssetId({
307
+ chainNamespace: CHAIN_NAMESPACE.Evm,
308
+ chainReference: CHAIN_REFERENCE.ScrollMainnet,
309
+ assetNamespace: 'erc20',
310
+ assetReference: platforms[CoingeckoAssetPlatform.Scroll],
311
+ });
312
+ prev[scrollChainId][assetId] = id;
313
+ }
314
+ catch {
315
+ // unable to create assetId, skip token
316
+ }
317
+ }
318
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Cronos)) {
319
+ try {
320
+ const assetId = toAssetId({
321
+ chainNamespace: CHAIN_NAMESPACE.Evm,
322
+ chainReference: CHAIN_REFERENCE.CronosMainnet,
323
+ assetNamespace: 'erc20',
324
+ assetReference: platforms[CoingeckoAssetPlatform.Cronos],
325
+ });
326
+ prev[cronosChainId][assetId] = id;
327
+ }
328
+ catch {
329
+ // unable to create assetId, skip token
330
+ }
331
+ }
220
332
  if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Katana)) {
221
333
  try {
222
334
  const assetId = toAssetId({
@@ -231,6 +343,160 @@ export const parseData = (coins) => {
231
343
  // unable to create assetId, skip token
232
344
  }
233
345
  }
346
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.FlowEvm)) {
347
+ try {
348
+ const assetId = toAssetId({
349
+ chainNamespace: CHAIN_NAMESPACE.Evm,
350
+ chainReference: CHAIN_REFERENCE.FlowEvmMainnet,
351
+ assetNamespace: 'erc20',
352
+ assetReference: platforms[CoingeckoAssetPlatform.FlowEvm],
353
+ });
354
+ prev[flowEvmChainId][assetId] = id;
355
+ }
356
+ catch {
357
+ // unable to create assetId, skip token
358
+ }
359
+ }
360
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Celo)) {
361
+ try {
362
+ const assetId = toAssetId({
363
+ chainNamespace: CHAIN_NAMESPACE.Evm,
364
+ chainReference: CHAIN_REFERENCE.CeloMainnet,
365
+ assetNamespace: 'erc20',
366
+ assetReference: platforms[CoingeckoAssetPlatform.Celo],
367
+ });
368
+ prev[celoChainId][assetId] = id;
369
+ }
370
+ catch {
371
+ // unable to create assetId, skip token
372
+ }
373
+ }
374
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Story)) {
375
+ try {
376
+ const assetId = toAssetId({
377
+ chainNamespace: CHAIN_NAMESPACE.Evm,
378
+ chainReference: CHAIN_REFERENCE.StoryMainnet,
379
+ assetNamespace: 'erc20',
380
+ assetReference: platforms[CoingeckoAssetPlatform.Story],
381
+ });
382
+ prev[storyChainId][assetId] = id;
383
+ }
384
+ catch {
385
+ // unable to create assetId, skip token
386
+ }
387
+ }
388
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.ZkSyncEra)) {
389
+ try {
390
+ const assetId = toAssetId({
391
+ chainNamespace: CHAIN_NAMESPACE.Evm,
392
+ chainReference: CHAIN_REFERENCE.ZkSyncEraMainnet,
393
+ assetNamespace: 'erc20',
394
+ assetReference: platforms[CoingeckoAssetPlatform.ZkSyncEra],
395
+ });
396
+ prev[zkSyncEraChainId][assetId] = id;
397
+ }
398
+ catch {
399
+ // unable to create assetId, skip token
400
+ }
401
+ }
402
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Blast)) {
403
+ try {
404
+ const assetId = toAssetId({
405
+ chainNamespace: CHAIN_NAMESPACE.Evm,
406
+ chainReference: CHAIN_REFERENCE.BlastMainnet,
407
+ assetNamespace: 'erc20',
408
+ assetReference: platforms[CoingeckoAssetPlatform.Blast],
409
+ });
410
+ prev[blastChainId][assetId] = id;
411
+ }
412
+ catch {
413
+ // unable to create assetId, skip token
414
+ }
415
+ }
416
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Hemi)) {
417
+ try {
418
+ const assetId = toAssetId({
419
+ chainNamespace: CHAIN_NAMESPACE.Evm,
420
+ chainReference: CHAIN_REFERENCE.HemiMainnet,
421
+ assetNamespace: 'erc20',
422
+ assetReference: platforms[CoingeckoAssetPlatform.Hemi],
423
+ });
424
+ prev[hemiChainId][assetId] = id;
425
+ }
426
+ catch {
427
+ // unable to create assetId, skip token
428
+ }
429
+ }
430
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Sonic)) {
431
+ try {
432
+ const assetId = toAssetId({
433
+ chainNamespace: CHAIN_NAMESPACE.Evm,
434
+ chainReference: CHAIN_REFERENCE.SonicMainnet,
435
+ assetNamespace: 'erc20',
436
+ assetReference: platforms[CoingeckoAssetPlatform.Sonic],
437
+ });
438
+ prev[sonicChainId][assetId] = id;
439
+ }
440
+ catch {
441
+ // unable to create assetId, skip token
442
+ }
443
+ }
444
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Unichain)) {
445
+ try {
446
+ const assetId = toAssetId({
447
+ chainNamespace: CHAIN_NAMESPACE.Evm,
448
+ chainReference: CHAIN_REFERENCE.UnichainMainnet,
449
+ assetNamespace: 'erc20',
450
+ assetReference: platforms[CoingeckoAssetPlatform.Unichain],
451
+ });
452
+ prev[unichainChainId][assetId] = id;
453
+ }
454
+ catch {
455
+ // unable to create assetId, skip token
456
+ }
457
+ }
458
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Bob)) {
459
+ try {
460
+ const assetId = toAssetId({
461
+ chainNamespace: CHAIN_NAMESPACE.Evm,
462
+ chainReference: CHAIN_REFERENCE.BobMainnet,
463
+ assetNamespace: 'erc20',
464
+ assetReference: platforms[CoingeckoAssetPlatform.Bob],
465
+ });
466
+ prev[bobChainId][assetId] = id;
467
+ }
468
+ catch {
469
+ // unable to create assetId, skip token
470
+ }
471
+ }
472
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Mode)) {
473
+ try {
474
+ const assetId = toAssetId({
475
+ chainNamespace: CHAIN_NAMESPACE.Evm,
476
+ chainReference: CHAIN_REFERENCE.ModeMainnet,
477
+ assetNamespace: 'erc20',
478
+ assetReference: platforms[CoingeckoAssetPlatform.Mode],
479
+ });
480
+ prev[modeChainId][assetId] = id;
481
+ }
482
+ catch {
483
+ // unable to create assetId, skip token
484
+ }
485
+ }
486
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Soneium)) {
487
+ try {
488
+ const assetId = toAssetId({
489
+ chainNamespace: CHAIN_NAMESPACE.Evm,
490
+ chainReference: CHAIN_REFERENCE.SoneiumMainnet,
491
+ assetNamespace: 'erc20',
492
+ assetReference: platforms[CoingeckoAssetPlatform.Soneium],
493
+ });
494
+ prev[soneiumChainId][assetId] = id;
495
+ }
496
+ catch {
497
+ // unable to create assetId, skip token
498
+ }
499
+ }
234
500
  if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Starknet)) {
235
501
  try {
236
502
  const assetId = toAssetId({
@@ -282,12 +548,31 @@ export const parseData = (coins) => {
282
548
  [polygonChainId]: { [polygonAssetId]: 'polygon-ecosystem-token' },
283
549
  [gnosisChainId]: { [gnosisAssetId]: 'xdai' },
284
550
  [arbitrumChainId]: { [arbitrumAssetId]: 'ethereum' },
285
- [arbitrumNovaChainId]: { [arbitrumNovaAssetId]: 'ethereum' },
286
551
  [baseChainId]: { [baseAssetId]: 'ethereum' },
287
552
  [hyperEvmChainId]: { [hyperEvmAssetId]: 'hyperliquid' },
288
553
  [monadChainId]: { [monadAssetId]: 'monad' },
289
554
  [plasmaChainId]: { [plasmaAssetId]: 'plasma' },
555
+ [plumeChainId]: { [plumeAssetId]: 'plume' },
556
+ [mantleChainId]: { [mantleAssetId]: 'mantle' },
557
+ [inkChainId]: { [inkAssetId]: 'ethereum' },
558
+ [megaethChainId]: { [megaethAssetId]: 'ethereum' },
559
+ [lineaChainId]: { [lineaAssetId]: 'ethereum' },
560
+ [berachainChainId]: { [berachainAssetId]: 'berachain-bera' },
561
+ [cronosChainId]: { [cronosAssetId]: 'crypto-com-chain' },
290
562
  [katanaChainId]: { [katanaAssetId]: 'katana' },
563
+ [storyChainId]: { [storyAssetId]: 'story-2' },
564
+ [flowEvmChainId]: { [flowEvmAssetId]: 'flow' },
565
+ [celoChainId]: { [celoAssetId]: 'celo' },
566
+ [zkSyncEraChainId]: { [zkSyncEraAssetId]: 'ethereum' },
567
+ [blastChainId]: { [blastAssetId]: 'ethereum' },
568
+ [worldChainChainId]: { [worldChainAssetId]: 'ethereum' },
569
+ [hemiChainId]: { [hemiAssetId]: 'ethereum' },
570
+ [scrollChainId]: { [scrollAssetId]: 'ethereum' },
571
+ [sonicChainId]: { [sonicAssetId]: 'sonic-3' },
572
+ [unichainChainId]: { [unichainAssetId]: 'ethereum' },
573
+ [bobChainId]: { [bobAssetId]: 'ethereum' },
574
+ [modeChainId]: { [modeAssetId]: 'ethereum' },
575
+ [soneiumChainId]: { [soneiumAssetId]: 'ethereum' },
291
576
  [solanaChainId]: { [solAssetId]: 'solana' },
292
577
  [starknetChainId]: { [starknetAssetId]: 'starknet' },
293
578
  [tronChainId]: { [tronAssetId]: 'tron' },
@@ -19,7 +19,6 @@ const makeWethMockCoingeckoResponse = () => ({
19
19
  'polygon-pos': '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
20
20
  xdai: '0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1',
21
21
  'arbitrum-one': '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
22
- 'arbitrum-nova': '0x722e8bdd2ce80a4422e880164f2079488e115365',
23
22
  base: '0x4200000000000000000000000000000000000006',
24
23
  },
25
24
  });
@@ -150,10 +149,6 @@ describe('adapters:coingecko:utils', () => {
150
149
  'eip155:42161/slip44:60': 'ethereum',
151
150
  'eip155:42161/erc20:0x82af49447d8a07e3bd95bd0d56f35241523fbab1': 'weth',
152
151
  },
153
- 'eip155:42170': {
154
- 'eip155:42170/slip44:60': 'ethereum',
155
- 'eip155:42170/erc20:0x722e8bdd2ce80a4422e880164f2079488e115365': 'weth',
156
- },
157
152
  'eip155:8453': {
158
153
  'eip155:8453/slip44:60': 'ethereum',
159
154
  'eip155:8453/erc20:0x4200000000000000000000000000000000000006': 'weth',
@@ -167,9 +162,69 @@ describe('adapters:coingecko:utils', () => {
167
162
  'eip155:9745': {
168
163
  'eip155:9745/slip44:60': 'plasma',
169
164
  },
165
+ 'eip155:480': {
166
+ 'eip155:480/slip44:60': 'ethereum',
167
+ },
168
+ 'eip155:4326': {
169
+ 'eip155:4326/slip44:60': 'ethereum',
170
+ },
171
+ 'eip155:59144': {
172
+ 'eip155:59144/slip44:60': 'ethereum',
173
+ },
174
+ 'eip155:534352': {
175
+ 'eip155:534352/slip44:60': 'ethereum',
176
+ },
170
177
  'eip155:747474': {
171
178
  'eip155:747474/slip44:60': 'katana',
172
179
  },
180
+ 'eip155:747': {
181
+ 'eip155:747/slip44:60': 'flow',
182
+ },
183
+ 'eip155:42220': {
184
+ 'eip155:42220/slip44:60': 'celo',
185
+ },
186
+ 'eip155:1514': {
187
+ 'eip155:1514/slip44:60': 'story-2',
188
+ },
189
+ 'eip155:324': {
190
+ 'eip155:324/slip44:60': 'ethereum',
191
+ },
192
+ 'eip155:81457': {
193
+ 'eip155:81457/slip44:60': 'ethereum',
194
+ },
195
+ 'eip155:43111': {
196
+ 'eip155:43111/slip44:60': 'ethereum',
197
+ },
198
+ 'eip155:5000': {
199
+ 'eip155:5000/slip44:60': 'mantle',
200
+ },
201
+ 'eip155:80094': {
202
+ 'eip155:80094/slip44:60': 'berachain-bera',
203
+ },
204
+ 'eip155:57073': {
205
+ 'eip155:57073/slip44:60': 'ethereum',
206
+ },
207
+ 'eip155:60808': {
208
+ 'eip155:60808/slip44:60': 'ethereum',
209
+ },
210
+ 'eip155:25': {
211
+ 'eip155:25/slip44:60': 'crypto-com-chain',
212
+ },
213
+ 'eip155:146': {
214
+ 'eip155:146/slip44:60': 'sonic-3',
215
+ },
216
+ 'eip155:130': {
217
+ 'eip155:130/slip44:60': 'ethereum',
218
+ },
219
+ 'eip155:34443': {
220
+ 'eip155:34443/slip44:60': 'ethereum',
221
+ },
222
+ 'eip155:1868': {
223
+ 'eip155:1868/slip44:60': 'ethereum',
224
+ },
225
+ 'eip155:98866': {
226
+ 'eip155:98866/slip44:60': 'plume',
227
+ },
173
228
  'near:mainnet': {
174
229
  'near:mainnet/slip44:397': 'near',
175
230
  },