@shapeshiftoss/caip 8.14.0 → 8.16.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 (99) hide show
  1. package/CHANGELOG.md +726 -0
  2. package/dist/accountId/accountId.d.ts +9 -9
  3. package/dist/accountId/accountId.js +16 -20
  4. package/dist/accountId/accountId.test.js +107 -0
  5. package/dist/adapters/banxa/index.d.ts +6 -5
  6. package/dist/adapters/banxa/index.js +60 -38
  7. package/dist/adapters/coinbase/generate.js +4 -8
  8. package/dist/adapters/coinbase/generated/index.js +2 -8
  9. package/dist/adapters/coinbase/index.d.ts +1 -1
  10. package/dist/adapters/coinbase/index.js +7 -15
  11. package/dist/adapters/coinbase/utils.d.ts +2 -2
  12. package/dist/adapters/coinbase/utils.js +11 -23
  13. package/dist/adapters/coincap/generate.js +5 -7
  14. package/dist/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +1 -0
  15. package/dist/adapters/coincap/generated/eip155_1/adapter.json +1 -1
  16. package/dist/adapters/coincap/generated/index.d.ts +2 -3
  17. package/dist/adapters/coincap/generated/index.js +8 -22
  18. package/dist/adapters/coincap/index.d.ts +2 -1
  19. package/dist/adapters/coincap/index.js +9 -38
  20. package/dist/adapters/coincap/index.test.js +92 -0
  21. package/dist/adapters/coincap/utils.d.ts +1 -1
  22. package/dist/adapters/coincap/utils.js +21 -32
  23. package/dist/adapters/coincap/utils.test.d.ts +4 -0
  24. package/dist/adapters/coincap/utils.test.js +163 -0
  25. package/dist/adapters/coingecko/generate.js +5 -7
  26. package/dist/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +1 -0
  27. package/dist/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +1 -0
  28. package/dist/adapters/coingecko/generated/eip155_1/adapter.json +1 -1
  29. package/dist/adapters/coingecko/generated/eip155_10/adapter.json +1 -1
  30. package/dist/adapters/coingecko/generated/eip155_100/adapter.json +1 -0
  31. package/dist/adapters/coingecko/generated/eip155_137/adapter.json +1 -0
  32. package/dist/adapters/coingecko/generated/eip155_42161/adapter.json +1 -0
  33. package/dist/adapters/coingecko/generated/eip155_42170/adapter.json +1 -0
  34. package/dist/adapters/coingecko/generated/eip155_43114/adapter.json +1 -1
  35. package/dist/adapters/coingecko/generated/eip155_56/adapter.json +1 -0
  36. package/dist/adapters/coingecko/generated/eip155_8453/adapter.json +1 -0
  37. package/dist/adapters/coingecko/generated/index.d.ts +10 -3
  38. package/dist/adapters/coingecko/generated/index.js +18 -26
  39. package/dist/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +1 -0
  40. package/dist/adapters/coingecko/index.d.ts +17 -14
  41. package/dist/adapters/coingecko/index.js +89 -72
  42. package/dist/adapters/coingecko/index.test.d.ts +1 -0
  43. package/dist/adapters/coingecko/index.test.js +274 -0
  44. package/dist/adapters/coingecko/utils.d.ts +4 -6
  45. package/dist/adapters/coingecko/utils.js +148 -50
  46. package/dist/adapters/coingecko/utils.test.d.ts +1 -0
  47. package/dist/adapters/coingecko/utils.test.js +188 -0
  48. package/dist/adapters/index.d.ts +0 -5
  49. package/dist/adapters/index.js +6 -27
  50. package/dist/adapters/mtpelerin/index.d.ts +1 -61
  51. package/dist/adapters/mtpelerin/index.js +96 -88
  52. package/dist/adapters/onramper/index.d.ts +2 -2
  53. package/dist/adapters/onramper/index.js +1483 -62
  54. package/dist/assetId/assetId.d.ts +14 -13
  55. package/dist/assetId/assetId.js +81 -57
  56. package/dist/assetId/assetId.test.d.ts +1 -0
  57. package/dist/assetId/assetId.test.js +336 -0
  58. package/dist/chainId/chainId.d.ts +11 -10
  59. package/dist/chainId/chainId.js +14 -16
  60. package/dist/chainId/chainId.test.d.ts +1 -0
  61. package/dist/chainId/chainId.test.js +88 -0
  62. package/dist/constants.d.ts +63 -38
  63. package/dist/constants.js +139 -99
  64. package/dist/index.js +7 -36
  65. package/dist/typeGuards.d.ts +5 -3
  66. package/dist/typeGuards.js +34 -40
  67. package/dist/utils.d.ts +7 -8
  68. package/dist/utils.js +23 -67
  69. package/dist/utils.test.d.ts +1 -0
  70. package/dist/utils.test.js +162 -0
  71. package/package.json +11 -30
  72. package/dist/adapters/coincap/generated/cosmos_osmosis-1/adapter.json +0 -1
  73. package/dist/adapters/coincap/generated/cosmos_thorchain-mainnet-v1/adapter.json +0 -1
  74. package/dist/adapters/coingecko/generated/cosmos_osmosis-1/adapter.json +0 -1
  75. package/dist/adapters/coingecko/generated/cosmos_thorchain-mainnet-v1/adapter.json +0 -1
  76. package/dist/adapters/gem/index.d.ts +0 -2
  77. package/dist/adapters/gem/index.js +0 -39
  78. package/dist/adapters/junopay/index.d.ts +0 -7
  79. package/dist/adapters/junopay/index.js +0 -52
  80. package/dist/adapters/osmosis/generate.js +0 -13
  81. package/dist/adapters/osmosis/generated/cosmos_osmosis-1/adapter.json +0 -1022
  82. package/dist/adapters/osmosis/generated/index.d.ts +0 -2
  83. package/dist/adapters/osmosis/generated/index.js +0 -8
  84. package/dist/adapters/osmosis/index.d.ts +0 -6
  85. package/dist/adapters/osmosis/index.js +0 -54
  86. package/dist/adapters/osmosis/utils.d.ts +0 -37
  87. package/dist/adapters/osmosis/utils.js +0 -90
  88. package/dist/adapters/thortrading/index.d.ts +0 -5
  89. package/dist/adapters/thortrading/index.js +0 -44
  90. package/dist/adapters/yearn/generate.js +0 -9
  91. package/dist/adapters/yearn/generated/eip155_1/adapter.json +0 -1
  92. package/dist/adapters/yearn/generated/index.d.ts +0 -2
  93. package/dist/adapters/yearn/generated/index.js +0 -8
  94. package/dist/adapters/yearn/index.d.ts +0 -2
  95. package/dist/adapters/yearn/index.js +0 -41
  96. package/dist/adapters/yearn/utils.d.ts +0 -7
  97. package/dist/adapters/yearn/utils.js +0 -62
  98. /package/dist/{adapters/osmosis/generate.d.ts → accountId/accountId.test.d.ts} +0 -0
  99. /package/dist/adapters/{yearn/generate.d.ts → coincap/index.test.d.ts} +0 -0
@@ -1,83 +1,181 @@
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 fetchData = async (URL) => (await axios_1.default.get(URL)).data;
13
- exports.fetchData = fetchData;
14
- const parseData = (coins) => {
1
+ import axios from 'axios';
2
+ import fs from 'fs';
3
+ import { toAssetId } from '../../assetId/assetId';
4
+ import { arbitrumAssetId, arbitrumChainId, arbitrumNovaAssetId, arbitrumNovaChainId, avalancheAssetId, avalancheChainId, baseAssetId, baseChainId, bchChainId, bscAssetId, bscChainId, btcChainId, CHAIN_NAMESPACE, CHAIN_REFERENCE, cosmosChainId, dogeChainId, ethAssetId, ethChainId, gnosisAssetId, gnosisChainId, ltcChainId, mayachainChainId, optimismAssetId, optimismChainId, polygonAssetId, polygonChainId, solanaChainId, solAssetId, thorchainChainId, } from '../../constants';
5
+ import { bitcoinAssetMap, bitcoinCashAssetMap, cosmosAssetMap, dogecoinAssetMap, litecoinAssetMap, mayachainAssetMap, thorchainAssetMap, } from '../../utils';
6
+ import { CoingeckoAssetPlatform } from '.';
7
+ export const fetchData = async (URL) => (await axios.get(URL)).data;
8
+ export const parseData = (coins) => {
15
9
  const assetMap = coins.reduce((prev, { id, platforms }) => {
16
- if (Object.keys(platforms).includes('ethereum')) {
10
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Ethereum)) {
11
+ try {
12
+ const assetId = toAssetId({
13
+ chainNamespace: CHAIN_NAMESPACE.Evm,
14
+ chainReference: CHAIN_REFERENCE.EthereumMainnet,
15
+ assetNamespace: 'erc20',
16
+ assetReference: platforms[CoingeckoAssetPlatform.Ethereum],
17
+ });
18
+ prev[ethChainId][assetId] = id;
19
+ }
20
+ catch {
21
+ // unable to create assetId, skip token
22
+ }
23
+ }
24
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Avalanche)) {
25
+ try {
26
+ const assetId = toAssetId({
27
+ chainNamespace: CHAIN_NAMESPACE.Evm,
28
+ chainReference: CHAIN_REFERENCE.AvalancheCChain,
29
+ assetNamespace: 'erc20',
30
+ assetReference: platforms[CoingeckoAssetPlatform.Avalanche],
31
+ });
32
+ prev[avalancheChainId][assetId] = id;
33
+ }
34
+ catch {
35
+ // unable to create assetId, skip token
36
+ }
37
+ }
38
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Optimism)) {
39
+ try {
40
+ const assetId = toAssetId({
41
+ chainNamespace: CHAIN_NAMESPACE.Evm,
42
+ chainReference: CHAIN_REFERENCE.OptimismMainnet,
43
+ assetNamespace: 'erc20',
44
+ assetReference: platforms[CoingeckoAssetPlatform.Optimism],
45
+ });
46
+ prev[optimismChainId][assetId] = id;
47
+ }
48
+ catch {
49
+ // unable to create assetId, skip token
50
+ }
51
+ }
52
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.BnbSmartChain)) {
53
+ try {
54
+ const assetId = toAssetId({
55
+ chainNamespace: CHAIN_NAMESPACE.Evm,
56
+ chainReference: CHAIN_REFERENCE.BnbSmartChainMainnet,
57
+ assetNamespace: 'bep20',
58
+ assetReference: platforms[CoingeckoAssetPlatform.BnbSmartChain],
59
+ });
60
+ prev[bscChainId][assetId] = id;
61
+ }
62
+ catch {
63
+ // unable to create assetId, skip token
64
+ }
65
+ }
66
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Polygon)) {
67
+ try {
68
+ const assetId = toAssetId({
69
+ chainNamespace: CHAIN_NAMESPACE.Evm,
70
+ chainReference: CHAIN_REFERENCE.PolygonMainnet,
71
+ assetNamespace: 'erc20',
72
+ assetReference: platforms[CoingeckoAssetPlatform.Polygon],
73
+ });
74
+ prev[polygonChainId][assetId] = id;
75
+ }
76
+ catch (err) {
77
+ // unable to create assetId, skip token
78
+ }
79
+ }
80
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Gnosis)) {
81
+ try {
82
+ const assetId = toAssetId({
83
+ chainNamespace: CHAIN_NAMESPACE.Evm,
84
+ chainReference: CHAIN_REFERENCE.GnosisMainnet,
85
+ assetNamespace: 'erc20',
86
+ assetReference: platforms[CoingeckoAssetPlatform.Gnosis],
87
+ });
88
+ prev[gnosisChainId][assetId] = id;
89
+ }
90
+ catch (err) {
91
+ // unable to create assetId, skip token
92
+ }
93
+ }
94
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Arbitrum)) {
17
95
  try {
18
- const assetId = (0, assetId_1.toAssetId)({
19
- chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
20
- chainReference: constants_1.CHAIN_REFERENCE.EthereumMainnet,
96
+ const assetId = toAssetId({
97
+ chainNamespace: CHAIN_NAMESPACE.Evm,
98
+ chainReference: CHAIN_REFERENCE.ArbitrumMainnet,
21
99
  assetNamespace: 'erc20',
22
- assetReference: platforms.ethereum,
100
+ assetReference: platforms[CoingeckoAssetPlatform.Arbitrum],
23
101
  });
24
- prev[constants_1.ethChainId][assetId] = id;
102
+ prev[arbitrumChainId][assetId] = id;
25
103
  }
26
- catch (_a) {
104
+ catch (err) {
27
105
  // unable to create assetId, skip token
28
106
  }
29
107
  }
30
- if (Object.keys(platforms).includes('avalanche')) {
108
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.ArbitrumNova)) {
31
109
  try {
32
- const assetId = (0, assetId_1.toAssetId)({
33
- chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
34
- chainReference: constants_1.CHAIN_REFERENCE.AvalancheCChain,
110
+ const assetId = toAssetId({
111
+ chainNamespace: CHAIN_NAMESPACE.Evm,
112
+ chainReference: CHAIN_REFERENCE.ArbitrumNovaMainnet,
35
113
  assetNamespace: 'erc20',
36
- assetReference: platforms.avalanche,
114
+ assetReference: platforms[CoingeckoAssetPlatform.ArbitrumNova],
37
115
  });
38
- prev[constants_1.avalancheChainId][assetId] = id;
116
+ prev[arbitrumNovaChainId][assetId] = id;
39
117
  }
40
- catch (_b) {
118
+ catch (err) {
41
119
  // unable to create assetId, skip token
42
120
  }
43
121
  }
44
- if (Object.keys(platforms).includes('optimistic-ethereum')) {
122
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Base)) {
45
123
  try {
46
- const assetId = (0, assetId_1.toAssetId)({
47
- chainNamespace: constants_1.CHAIN_NAMESPACE.Evm,
48
- chainReference: constants_1.CHAIN_REFERENCE.OptimismMainnet,
124
+ const assetId = toAssetId({
125
+ chainNamespace: CHAIN_NAMESPACE.Evm,
126
+ chainReference: CHAIN_REFERENCE.BaseMainnet,
49
127
  assetNamespace: 'erc20',
50
- assetReference: platforms['optimistic-ethereum'],
128
+ assetReference: platforms[CoingeckoAssetPlatform.Base],
129
+ });
130
+ prev[baseChainId][assetId] = id;
131
+ }
132
+ catch {
133
+ // unable to create assetId, skip token
134
+ }
135
+ }
136
+ if (Object.keys(platforms).includes(CoingeckoAssetPlatform.Solana)) {
137
+ try {
138
+ const assetId = toAssetId({
139
+ chainNamespace: CHAIN_NAMESPACE.Solana,
140
+ chainReference: CHAIN_REFERENCE.SolanaMainnet,
141
+ assetNamespace: 'token',
142
+ assetReference: platforms[CoingeckoAssetPlatform.Solana],
51
143
  });
52
- prev[constants_1.optimismChainId][assetId] = id;
144
+ prev[solanaChainId][assetId] = id;
53
145
  }
54
- catch (_c) {
146
+ catch {
55
147
  // unable to create assetId, skip token
56
148
  }
57
149
  }
58
150
  return prev;
59
151
  }, {
60
- [constants_1.ethChainId]: { [constants_1.ethAssetId]: 'ethereum' },
61
- [constants_1.avalancheChainId]: { [constants_1.avalancheAssetId]: 'avalanche-2' },
62
- [constants_1.optimismChainId]: { [constants_1.optimismAssetId]: 'ethereum' },
152
+ [ethChainId]: { [ethAssetId]: 'ethereum' },
153
+ [avalancheChainId]: { [avalancheAssetId]: 'avalanche-2' },
154
+ [optimismChainId]: { [optimismAssetId]: 'ethereum' },
155
+ [bscChainId]: { [bscAssetId]: 'binancecoin' },
156
+ [polygonChainId]: { [polygonAssetId]: 'matic-network' },
157
+ [gnosisChainId]: { [gnosisAssetId]: 'xdai' },
158
+ [arbitrumChainId]: { [arbitrumAssetId]: 'ethereum' },
159
+ [arbitrumNovaChainId]: { [arbitrumNovaAssetId]: 'ethereum' },
160
+ [baseChainId]: { [baseAssetId]: 'ethereum' },
161
+ [solanaChainId]: { [solAssetId]: 'solana' },
63
162
  });
64
163
  return {
65
164
  ...assetMap,
66
- [constants_1.btcChainId]: utils_1.bitcoinAssetMap,
67
- [constants_1.bchChainId]: utils_1.bitcoinCashAssetMap,
68
- [constants_1.dogeChainId]: utils_1.dogecoinAssetMap,
69
- [constants_1.ltcChainId]: utils_1.litecoinAssetMap,
70
- [constants_1.cosmosChainId]: utils_1.cosmosAssetMap,
71
- [constants_1.osmosisChainId]: utils_1.osmosisAssetMap,
72
- [constants_1.thorchainChainId]: utils_1.thorchainAssetMap,
165
+ [btcChainId]: bitcoinAssetMap,
166
+ [bchChainId]: bitcoinCashAssetMap,
167
+ [dogeChainId]: dogecoinAssetMap,
168
+ [ltcChainId]: litecoinAssetMap,
169
+ [cosmosChainId]: cosmosAssetMap,
170
+ [thorchainChainId]: thorchainAssetMap,
171
+ [mayachainChainId]: mayachainAssetMap,
73
172
  };
74
173
  };
75
- exports.parseData = parseData;
76
- const writeFiles = async (data) => {
174
+ export const writeFiles = async (data) => {
77
175
  await Promise.all(Object.entries(data).map(async ([chainId, assets]) => {
78
- const path = `./src/adapters/coingecko/generated/${chainId}/adapter.json`.replace(':', '_');
79
- await fs_1.default.promises.writeFile(path, JSON.stringify(assets));
176
+ const dirPath = `./src/adapters/coingecko/generated/${chainId}`.replace(':', '_');
177
+ await fs.promises.mkdir(dirPath, { recursive: true });
178
+ await fs.promises.writeFile(`${dirPath}/adapter.json`, JSON.stringify(assets));
80
179
  }));
81
180
  console.info('Generated CoinGecko AssetId adapter data.');
82
181
  };
83
- exports.writeFiles = writeFiles;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,188 @@
1
+ import realFs from 'fs';
2
+ import { describe, expect, it, vi } from 'vitest';
3
+ import { bitcoinAssetMap, cosmosAssetMap } from '../../utils';
4
+ import { parseData, writeFiles } from './utils';
5
+ const makeEthMockCoingeckoResponse = () => ({
6
+ id: 'ethereum',
7
+ symbol: 'eth',
8
+ platforms: {},
9
+ });
10
+ const makeWethMockCoingeckoResponse = () => ({
11
+ id: 'weth',
12
+ symbol: 'weth',
13
+ name: 'WETH',
14
+ platforms: {
15
+ ethereum: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
16
+ 'optimistic-ethereum': '0x4200000000000000000000000000000000000006',
17
+ avalanche: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab',
18
+ 'binance-smart-chain': '0x2170ed0880ac9a755fd29b2688956bd959f933f8',
19
+ 'polygon-pos': '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
20
+ xdai: '0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1',
21
+ 'arbitrum-one': '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
22
+ 'arbitrum-nova': '0x722e8bdd2ce80a4422e880164f2079488e115365',
23
+ base: '0x4200000000000000000000000000000000000006',
24
+ },
25
+ });
26
+ const makeAvalancheMockCoingeckoResponse = () => ({
27
+ id: 'avalanche-2',
28
+ symbol: 'avax',
29
+ platforms: {},
30
+ });
31
+ const makeFoxMockCoingeckoResponse = () => ({
32
+ id: 'shapeshift-fox-token',
33
+ symbol: 'fox',
34
+ platforms: {
35
+ ethereum: '0xc770eefad204b5180df6a14ee197d99d808ee52d',
36
+ },
37
+ });
38
+ const makeBtcMockCoingeckoResponse = () => ({
39
+ id: 'bitcoin',
40
+ symbol: 'btc',
41
+ platforms: {},
42
+ });
43
+ const makeCosmosMockCoingeckoResponse = () => ({
44
+ id: 'cosmos',
45
+ symbol: 'atom',
46
+ platforms: {},
47
+ });
48
+ const makePolygonMockCoingeckoResponse = () => ({
49
+ id: 'polygon-pos',
50
+ symbol: 'matic',
51
+ platforms: {},
52
+ });
53
+ const makeGnosisMockCoingeckoResponse = () => ({
54
+ id: 'gnosis',
55
+ symbol: 'xDai',
56
+ platforms: {},
57
+ });
58
+ const makeThorchainMockCoingeckoResponse = () => ({
59
+ id: 'thorchain',
60
+ symbol: 'rune',
61
+ platforms: {
62
+ thorchain: '',
63
+ },
64
+ });
65
+ vi.mock('fs', () => ({
66
+ default: {
67
+ promises: {
68
+ writeFile: vi.fn(() => undefined),
69
+ mkdir: vi.fn(() => undefined),
70
+ },
71
+ },
72
+ }));
73
+ describe('adapters:coingecko:utils', () => {
74
+ describe('makeData', () => {
75
+ it('can make btc data', () => {
76
+ const result = bitcoinAssetMap;
77
+ const expected = { 'bip122:000000000019d6689c085ae165831e93/slip44:0': 'bitcoin' };
78
+ expect(result).toEqual(expected);
79
+ });
80
+ it('can make cosmos data', () => {
81
+ const result = cosmosAssetMap;
82
+ const expected = { 'cosmos:cosmoshub-4/slip44:118': 'cosmos' };
83
+ expect(result).toEqual(expected);
84
+ });
85
+ });
86
+ describe('parseData', () => {
87
+ it('can parse all data', () => {
88
+ const result = parseData([
89
+ makeEthMockCoingeckoResponse(),
90
+ makeWethMockCoingeckoResponse(),
91
+ makeFoxMockCoingeckoResponse(),
92
+ makeBtcMockCoingeckoResponse(),
93
+ makeCosmosMockCoingeckoResponse(),
94
+ makeThorchainMockCoingeckoResponse(),
95
+ makeAvalancheMockCoingeckoResponse(),
96
+ makePolygonMockCoingeckoResponse(),
97
+ makeGnosisMockCoingeckoResponse(),
98
+ ]);
99
+ const expected = {
100
+ 'bip122:000000000019d6689c085ae165831e93': {
101
+ 'bip122:000000000019d6689c085ae165831e93/slip44:0': 'bitcoin',
102
+ },
103
+ 'bip122:000000000000000000651ef99cb9fcbe': {
104
+ 'bip122:000000000000000000651ef99cb9fcbe/slip44:145': 'bitcoin-cash',
105
+ },
106
+ 'bip122:00000000001a91e3dace36e2be3bf030': {
107
+ 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3': 'dogecoin',
108
+ },
109
+ 'bip122:12a765e31ffd4059bada1e25190f6e98': {
110
+ 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2': 'litecoin',
111
+ },
112
+ 'cosmos:cosmoshub-4': {
113
+ 'cosmos:cosmoshub-4/slip44:118': 'cosmos',
114
+ },
115
+ 'cosmos:thorchain-1': {
116
+ 'cosmos:thorchain-1/slip44:931': 'thorchain',
117
+ },
118
+ 'cosmos:mayachain-mainnet-v1': {
119
+ 'cosmos:mayachain-mainnet-v1/slip44:931': 'cacao',
120
+ },
121
+ 'eip155:1': {
122
+ 'eip155:1/slip44:60': 'ethereum',
123
+ 'eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': 'weth',
124
+ 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d': 'shapeshift-fox-token',
125
+ },
126
+ 'eip155:43114': {
127
+ 'eip155:43114/slip44:60': 'avalanche-2',
128
+ 'eip155:43114/erc20:0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab': 'weth',
129
+ },
130
+ 'eip155:56': {
131
+ 'eip155:56/slip44:60': 'binancecoin',
132
+ 'eip155:56/bep20:0x2170ed0880ac9a755fd29b2688956bd959f933f8': 'weth',
133
+ },
134
+ 'eip155:10': {
135
+ 'eip155:10/slip44:60': 'ethereum',
136
+ 'eip155:10/erc20:0x4200000000000000000000000000000000000006': 'weth',
137
+ },
138
+ 'eip155:137': {
139
+ 'eip155:137/slip44:60': 'matic-network',
140
+ 'eip155:137/erc20:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619': 'weth',
141
+ },
142
+ 'eip155:100': {
143
+ 'eip155:100/slip44:60': 'xdai',
144
+ 'eip155:100/erc20:0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1': 'weth',
145
+ },
146
+ 'eip155:42161': {
147
+ 'eip155:42161/slip44:60': 'ethereum',
148
+ 'eip155:42161/erc20:0x82af49447d8a07e3bd95bd0d56f35241523fbab1': 'weth',
149
+ },
150
+ 'eip155:42170': {
151
+ 'eip155:42170/slip44:60': 'ethereum',
152
+ 'eip155:42170/erc20:0x722e8bdd2ce80a4422e880164f2079488e115365': 'weth',
153
+ },
154
+ 'eip155:8453': {
155
+ 'eip155:8453/slip44:60': 'ethereum',
156
+ 'eip155:8453/erc20:0x4200000000000000000000000000000000000006': 'weth',
157
+ },
158
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': {
159
+ 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501': 'solana',
160
+ },
161
+ };
162
+ expect(result).toEqual(expected);
163
+ });
164
+ });
165
+ describe('writeFiles', () => {
166
+ it('can writeFiles', async () => {
167
+ const data = {
168
+ foo: {
169
+ assetIdAbc: 'bitcorn',
170
+ assetIdDef: 'efferium',
171
+ },
172
+ bar: {
173
+ assetIdGhi: 'fox',
174
+ assetIdJkl: 'shib',
175
+ },
176
+ };
177
+ const fooAssetIds = JSON.stringify(data.foo);
178
+ const barAssetIds = JSON.stringify(data.bar);
179
+ console.info = vi.fn();
180
+ await writeFiles(data);
181
+ expect(realFs.promises.mkdir).toHaveBeenNthCalledWith(1, './src/adapters/coingecko/generated/foo', { recursive: true });
182
+ expect(realFs.promises.writeFile).toHaveBeenNthCalledWith(1, './src/adapters/coingecko/generated/foo/adapter.json', fooAssetIds);
183
+ expect(realFs.promises.mkdir).toHaveBeenNthCalledWith(2, './src/adapters/coingecko/generated/bar', { recursive: true });
184
+ expect(realFs.promises.writeFile).toHaveBeenNthCalledWith(2, './src/adapters/coingecko/generated/bar/adapter.json', barAssetIds);
185
+ expect(console.info).toBeCalledWith('Generated CoinGecko AssetId adapter data.');
186
+ });
187
+ });
188
+ });
@@ -1,11 +1,6 @@
1
1
  export * from './coingecko';
2
2
  export * from './coincap';
3
- export * from './yearn';
4
- export * from './osmosis';
5
- export * from './gem';
6
3
  export * from './banxa';
7
4
  export * from './coinbase';
8
- export * from './junopay';
9
- export * from './thortrading';
10
5
  export * from './mtpelerin';
11
6
  export * from './onramper';
@@ -1,27 +1,6 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./coingecko"), exports);
18
- __exportStar(require("./coincap"), exports);
19
- __exportStar(require("./yearn"), exports);
20
- __exportStar(require("./osmosis"), exports);
21
- __exportStar(require("./gem"), exports);
22
- __exportStar(require("./banxa"), exports);
23
- __exportStar(require("./coinbase"), exports);
24
- __exportStar(require("./junopay"), exports);
25
- __exportStar(require("./thortrading"), exports);
26
- __exportStar(require("./mtpelerin"), exports);
27
- __exportStar(require("./onramper"), exports);
1
+ export * from './coingecko';
2
+ export * from './coincap';
3
+ export * from './banxa';
4
+ export * from './coinbase';
5
+ export * from './mtpelerin';
6
+ export * from './onramper';
@@ -1,64 +1,4 @@
1
- import { AssetId } from '../../assetId/assetId';
2
- /**
3
- * The following is the list of assets that Mt Pelerin supports
4
- * but they're **not supported** (yet?) in ShapeShift
5
- * {
6
- '[xdai_mainnet]/0x0000000000000000000000000000000000000000': 'XDAI',
7
- '[xdai_mainnet]/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83': 'USDC',
8
- '[xdai_mainnet]/0x4ECaBa5870353805a9F068101A40E0f32ed605C6': 'USDT',
9
- '[xdai_mainnet]/0x8e5bBbb09Ed1ebdE8674Cda39A0c169401db4252': 'WBTC',
10
- '[xdai_mainnet]/0x6A023CCd1ff6F2045C3309768eAd9E68F978f6e1': 'WETH',
11
- '[xdai_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
12
- '[xdai_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
13
- '[bsc_mainnet]/0x0000000000000000000000000000000000000000': 'BNB',
14
- '[bsc_mainnet]/0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d': 'USDC',
15
- '[bsc_mainnet]/0x55d398326f99059fF775485246999027B3197955': 'USDT',
16
- '[bsc_mainnet]/0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c': 'BTCB',
17
- '[bsc_mainnet]/0x2170ed0880ac9a755fd29b2688956bd959f933f8': 'WETH',
18
- '[bsc_mainnet]/0xe9e7cea3dedca5984780bafc599bd69add087d56': 'BUSD',
19
- '[bsc_mainnet]/0x23b8683Ff98F9E4781552DFE6f12Aa32814924e8': 'jEUR',
20
- '[bsc_mainnet]/0x7c869b5A294b1314E985283d01C702B62224a05f': 'jCHF',
21
- '[bsc_mainnet]/0x048E9b1ddF9EBbb224812372280e94Ccac443f9e': 'jGBP',
22
- '[bsc_mainnet]/0x6B8b9AE0627a7622c593A1696859ca753c61A670': 'jZAR',
23
- '[matic_mainnet]/0x0000000000000000000000000000000000000000': 'MATIC',
24
- '[matic_mainnet]/0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174': 'USDC',
25
- '[matic_mainnet]/0xc2132D05D31c914a87C6611C10748AEb04B58e8F': 'USDT',
26
- '[matic_mainnet]/0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6': 'WBTC',
27
- '[matic_mainnet]/0x4e3Decbb3645551B8A19f0eA1678079FCB33fB4c': 'jEUR',
28
- '[matic_mainnet]/0xbD1463F02f61676d53fd183C2B19282BFF93D099': 'jCHF',
29
- '[matic_mainnet]/0x767058F11800FBA6A682E73A6e79ec5eB74Fac8c': 'jGBP',
30
- '[matic_mainnet]/0x8ca194A3b22077359b5732DE53373D4afC11DeE3': 'jCAD',
31
- '[matic_mainnet]/0xa926db7a4CC0cb1736D5ac60495ca8Eb7214B503': 'jSGD',
32
- '[matic_mainnet]/0x197E5d6CcfF265AC3E303a34Db360ee1429f5d1A': 'jSEK',
33
- '[matic_mainnet]/0xCB7F1Ef7246D1497b985f7FC45A1A31F04346133': 'jAUD',
34
- '[matic_mainnet]/0x8343091F2499FD4b6174A46D067A920a3b851FF9': 'jJPY',
35
- '[matic_mainnet]/0x7ceb23fd6bc0add59e62ac25578270cff1b9f619': 'WETH',
36
- '[matic_mainnet]/0xE111178A87A3BFf0c8d18DECBa5798827539Ae99': 'EURS',
37
- '[matic_mainnet]/0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f': 'EURT',
38
- '[matic_mainnet]/0xE0B52e49357Fd4DAf2c15e02058DCE6BC0057db4': 'agEUR',
39
- '[matic_mainnet]/0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89': 'FRAX',
40
- '[matic_mainnet]/0xa3Fa99A148fA48D14Ed51d610c367C61876997F1': 'MAI',
41
- '[matic_mainnet]/0xE6469Ba6D2fD6130788E0eA9C0a0515900563b59': 'UST',
42
- '[tezos_mainnet]/0x0000000000000000000000000000000000000000': 'XTZ',
43
- '[tezos_mainnet]/KT1JBNFcB5tiycHNdYGYCtR3kk6JaJysUCi8': 'EURL',
44
- '[arbitrum_mainnet]/0x0000000000000000000000000000000000000000': 'ETH',
45
- '[arbitrum_mainnet]/0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8': 'USDC',
46
- '[avalanche_mainnet]/0x9fB1d52596c44603198fB0aee434fac3a679f702': 'jEUR',
47
- '[avalanche_mainnet]/0x2d5563da42b06FbBF9c67b7DC073cF6A7842239e': 'jCHF',
48
- '[avalanche_mainnet]/0x5c49b268c9841AFF1Cc3B0a418ff5c3442eE3F3b': 'MAI',
49
- '[avalanche_mainnet]/0xb599c3590F42f8F995ECfa0f85D2980B76862fc1': 'UST',
50
- '[fantom_mainnet]/0x0000000000000000000000000000000000000000': 'FTM',
51
- '[fantom_mainnet]/0x04068DA6C83AFCFA0e13ba15A6696662335D5B75': 'USDC',
52
- '[fantom_mainnet]/0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355': 'FRAX',
53
- '[fantom_mainnet]/0xfB98B335551a418cD0737375a2ea0ded62Ea213b': 'MAI',
54
- '[fantom_mainnet]/0x846e4D51d7E2043C1a87E0Ab7490B93FB940357b': 'UST',
55
- '[rsk_mainnet]/0x0000000000000000000000000000000000000000': 'RBTC',
56
- '[rsk_mainnet]/0x2d919f19d4892381d58edebeca66d5642cef1a1f': 'RDOC',
57
- '[rsk_mainnet]/0xef213441a85df4d7acbdae0cf78004e1e486bb96': 'USDT',
58
- '[rsk_mainnet]/0x2acc95758f8b5f583470ba265eb685a8f45fc9d5': 'RIF',
59
- '[ethChainId]/0x89d71DfbDD6ebeCd0dfe27D55189F903169d2991': 'THDX'
60
- * }
61
- */
1
+ import type { AssetId } from '../../assetId/assetId';
62
2
  export declare const mtPelerinSymbolToAssetIds: (id: string) => AssetId[];
63
3
  export declare const assetIdToMtPelerinSymbol: (assetId: AssetId) => string | undefined;
64
4
  /**