@shapeshiftoss/caip 8.16.4-alpha.0 → 8.16.4

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 (193) hide show
  1. package/CHANGELOG.md +726 -0
  2. package/package.json +2 -2
  3. package/dist/cjs/.tsbuildinfo +0 -1
  4. package/dist/cjs/accountId/accountId.d.ts +0 -29
  5. package/dist/cjs/accountId/accountId.js +0 -44
  6. package/dist/cjs/accountId/accountId.test.d.ts +0 -1
  7. package/dist/cjs/accountId/accountId.test.js +0 -109
  8. package/dist/cjs/adapters/banxa/index.d.ts +0 -15
  9. package/dist/cjs/adapters/banxa/index.js +0 -153
  10. package/dist/cjs/adapters/coinbase/generate.d.ts +0 -1
  11. package/dist/cjs/adapters/coinbase/generate.js +0 -9
  12. package/dist/cjs/adapters/coinbase/generated/adapter.json +0 -153
  13. package/dist/cjs/adapters/coinbase/generated/index.d.ts +0 -2
  14. package/dist/cjs/adapters/coinbase/generated/index.js +0 -8
  15. package/dist/cjs/adapters/coinbase/index.d.ts +0 -3
  16. package/dist/cjs/adapters/coinbase/index.js +0 -16
  17. package/dist/cjs/adapters/coinbase/utils.d.ts +0 -12
  18. package/dist/cjs/adapters/coinbase/utils.js +0 -55
  19. package/dist/cjs/adapters/coincap/generate.d.ts +0 -1
  20. package/dist/cjs/adapters/coincap/generate.js +0 -10
  21. package/dist/cjs/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  22. package/dist/cjs/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  23. package/dist/cjs/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  24. package/dist/cjs/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  25. package/dist/cjs/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  26. package/dist/cjs/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +0 -1
  27. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +0 -1
  28. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +0 -1
  29. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +0 -1
  30. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +0 -1
  31. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +0 -1
  32. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +0 -1
  33. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +0 -1
  34. package/dist/cjs/adapters/coincap/generated/index.d.ts +0 -15
  35. package/dist/cjs/adapters/coincap/generated/index.js +0 -34
  36. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  37. package/dist/cjs/adapters/coincap/index.d.ts +0 -4
  38. package/dist/cjs/adapters/coincap/index.js +0 -44
  39. package/dist/cjs/adapters/coincap/index.test.d.ts +0 -1
  40. package/dist/cjs/adapters/coincap/index.test.js +0 -90
  41. package/dist/cjs/adapters/coincap/utils.d.ts +0 -24
  42. package/dist/cjs/adapters/coincap/utils.js +0 -146
  43. package/dist/cjs/adapters/coincap/utils.test.d.ts +0 -4
  44. package/dist/cjs/adapters/coincap/utils.test.js +0 -173
  45. package/dist/cjs/adapters/coingecko/generate.d.ts +0 -1
  46. package/dist/cjs/adapters/coingecko/generate.js +0 -10
  47. package/dist/cjs/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  48. package/dist/cjs/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  49. package/dist/cjs/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  50. package/dist/cjs/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  51. package/dist/cjs/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  52. package/dist/cjs/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +0 -1
  53. package/dist/cjs/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +0 -1
  54. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +0 -1
  55. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +0 -1
  56. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +0 -1
  57. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +0 -1
  58. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +0 -1
  59. package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
  60. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +0 -1
  61. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +0 -1
  62. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +0 -1
  63. package/dist/cjs/adapters/coingecko/generated/index.d.ts +0 -18
  64. package/dist/cjs/adapters/coingecko/generated/index.js +0 -40
  65. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  66. package/dist/cjs/adapters/coingecko/index.d.ts +0 -26
  67. package/dist/cjs/adapters/coingecko/index.js +0 -163
  68. package/dist/cjs/adapters/coingecko/index.test.d.ts +0 -1
  69. package/dist/cjs/adapters/coingecko/index.test.js +0 -276
  70. package/dist/cjs/adapters/coingecko/utils.d.ts +0 -11
  71. package/dist/cjs/adapters/coingecko/utils.js +0 -190
  72. package/dist/cjs/adapters/coingecko/utils.test.d.ts +0 -1
  73. package/dist/cjs/adapters/coingecko/utils.test.js +0 -193
  74. package/dist/cjs/adapters/index.d.ts +0 -6
  75. package/dist/cjs/adapters/index.js +0 -22
  76. package/dist/cjs/adapters/mtpelerin/index.d.ts +0 -10
  77. package/dist/cjs/adapters/mtpelerin/index.js +0 -127
  78. package/dist/cjs/adapters/onramper/index.d.ts +0 -6
  79. package/dist/cjs/adapters/onramper/index.js +0 -39
  80. package/dist/cjs/assetId/assetId.d.ts +0 -36
  81. package/dist/cjs/assetId/assetId.js +0 -120
  82. package/dist/cjs/assetId/assetId.test.d.ts +0 -1
  83. package/dist/cjs/assetId/assetId.test.js +0 -324
  84. package/dist/cjs/chainId/chainId.d.ts +0 -20
  85. package/dist/cjs/chainId/chainId.js +0 -25
  86. package/dist/cjs/chainId/chainId.test.d.ts +0 -1
  87. package/dist/cjs/chainId/chainId.test.js +0 -90
  88. package/dist/cjs/constants.d.ts +0 -118
  89. package/dist/cjs/constants.js +0 -167
  90. package/dist/cjs/index.d.ts +0 -7
  91. package/dist/cjs/index.js +0 -36
  92. package/dist/cjs/package.json +0 -1
  93. package/dist/cjs/typeGuards.d.ts +0 -16
  94. package/dist/cjs/typeGuards.js +0 -56
  95. package/dist/cjs/utils.d.ts +0 -33
  96. package/dist/cjs/utils.js +0 -56
  97. package/dist/cjs/utils.test.d.ts +0 -1
  98. package/dist/cjs/utils.test.js +0 -160
  99. package/dist/esm/.tsbuildinfo +0 -1
  100. package/dist/esm/accountId/accountId.d.ts +0 -29
  101. package/dist/esm/accountId/accountId.js +0 -39
  102. package/dist/esm/accountId/accountId.test.d.ts +0 -1
  103. package/dist/esm/accountId/accountId.test.js +0 -107
  104. package/dist/esm/adapters/banxa/index.d.ts +0 -15
  105. package/dist/esm/adapters/banxa/index.js +0 -143
  106. package/dist/esm/adapters/coinbase/generate.d.ts +0 -1
  107. package/dist/esm/adapters/coinbase/generate.js +0 -7
  108. package/dist/esm/adapters/coinbase/generated/adapter.json +0 -153
  109. package/dist/esm/adapters/coinbase/generated/index.d.ts +0 -2
  110. package/dist/esm/adapters/coinbase/generated/index.js +0 -2
  111. package/dist/esm/adapters/coinbase/index.d.ts +0 -3
  112. package/dist/esm/adapters/coinbase/index.js +0 -8
  113. package/dist/esm/adapters/coinbase/utils.d.ts +0 -12
  114. package/dist/esm/adapters/coinbase/utils.js +0 -46
  115. package/dist/esm/adapters/coincap/generate.d.ts +0 -1
  116. package/dist/esm/adapters/coincap/generate.js +0 -8
  117. package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  118. package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  119. package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  120. package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  121. package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  122. package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +0 -1
  123. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +0 -1
  124. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +0 -1
  125. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +0 -1
  126. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +0 -1
  127. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +0 -1
  128. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +0 -1
  129. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +0 -1
  130. package/dist/esm/adapters/coincap/generated/index.d.ts +0 -15
  131. package/dist/esm/adapters/coincap/generated/index.js +0 -15
  132. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  133. package/dist/esm/adapters/coincap/index.d.ts +0 -4
  134. package/dist/esm/adapters/coincap/index.js +0 -13
  135. package/dist/esm/adapters/coincap/index.test.d.ts +0 -1
  136. package/dist/esm/adapters/coincap/index.test.js +0 -88
  137. package/dist/esm/adapters/coincap/utils.d.ts +0 -24
  138. package/dist/esm/adapters/coincap/utils.js +0 -135
  139. package/dist/esm/adapters/coincap/utils.test.d.ts +0 -4
  140. package/dist/esm/adapters/coincap/utils.test.js +0 -168
  141. package/dist/esm/adapters/coingecko/generate.d.ts +0 -1
  142. package/dist/esm/adapters/coingecko/generate.js +0 -8
  143. package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  144. package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  145. package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  146. package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  147. package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  148. package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +0 -1
  149. package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +0 -1
  150. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +0 -1
  151. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +0 -1
  152. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +0 -1
  153. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +0 -1
  154. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +0 -1
  155. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
  156. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +0 -1
  157. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +0 -1
  158. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +0 -1
  159. package/dist/esm/adapters/coingecko/generated/index.d.ts +0 -18
  160. package/dist/esm/adapters/coingecko/generated/index.js +0 -18
  161. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  162. package/dist/esm/adapters/coingecko/index.d.ts +0 -26
  163. package/dist/esm/adapters/coingecko/index.js +0 -127
  164. package/dist/esm/adapters/coingecko/index.test.d.ts +0 -1
  165. package/dist/esm/adapters/coingecko/index.test.js +0 -274
  166. package/dist/esm/adapters/coingecko/utils.d.ts +0 -11
  167. package/dist/esm/adapters/coingecko/utils.js +0 -181
  168. package/dist/esm/adapters/coingecko/utils.test.d.ts +0 -1
  169. package/dist/esm/adapters/coingecko/utils.test.js +0 -188
  170. package/dist/esm/adapters/index.d.ts +0 -6
  171. package/dist/esm/adapters/index.js +0 -6
  172. package/dist/esm/adapters/mtpelerin/index.d.ts +0 -10
  173. package/dist/esm/adapters/mtpelerin/index.js +0 -121
  174. package/dist/esm/adapters/onramper/index.d.ts +0 -6
  175. package/dist/esm/adapters/onramper/index.js +0 -31
  176. package/dist/esm/assetId/assetId.d.ts +0 -36
  177. package/dist/esm/assetId/assetId.js +0 -114
  178. package/dist/esm/assetId/assetId.test.d.ts +0 -1
  179. package/dist/esm/assetId/assetId.test.js +0 -322
  180. package/dist/esm/chainId/chainId.d.ts +0 -20
  181. package/dist/esm/chainId/chainId.js +0 -20
  182. package/dist/esm/chainId/chainId.test.d.ts +0 -1
  183. package/dist/esm/chainId/chainId.test.js +0 -88
  184. package/dist/esm/constants.d.ts +0 -118
  185. package/dist/esm/constants.js +0 -163
  186. package/dist/esm/index.d.ts +0 -7
  187. package/dist/esm/index.js +0 -7
  188. package/dist/esm/typeGuards.d.ts +0 -16
  189. package/dist/esm/typeGuards.js +0 -44
  190. package/dist/esm/utils.d.ts +0 -33
  191. package/dist/esm/utils.js +0 -26
  192. package/dist/esm/utils.test.d.ts +0 -1
  193. package/dist/esm/utils.test.js +0 -158
@@ -1 +0,0 @@
1
- export {};
@@ -1,193 +0,0 @@
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
- const fs_1 = __importDefault(require("fs"));
7
- const vitest_1 = require("vitest");
8
- const utils_1 = require("../../utils");
9
- const utils_2 = require("./utils");
10
- const makeEthMockCoingeckoResponse = () => ({
11
- id: 'ethereum',
12
- symbol: 'eth',
13
- platforms: {},
14
- });
15
- const makeWethMockCoingeckoResponse = () => ({
16
- id: 'weth',
17
- symbol: 'weth',
18
- name: 'WETH',
19
- platforms: {
20
- ethereum: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2',
21
- 'optimistic-ethereum': '0x4200000000000000000000000000000000000006',
22
- avalanche: '0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab',
23
- 'binance-smart-chain': '0x2170ed0880ac9a755fd29b2688956bd959f933f8',
24
- 'polygon-pos': '0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
25
- xdai: '0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1',
26
- 'arbitrum-one': '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
27
- 'arbitrum-nova': '0x722e8bdd2ce80a4422e880164f2079488e115365',
28
- base: '0x4200000000000000000000000000000000000006',
29
- },
30
- });
31
- const makeAvalancheMockCoingeckoResponse = () => ({
32
- id: 'avalanche-2',
33
- symbol: 'avax',
34
- platforms: {},
35
- });
36
- const makeFoxMockCoingeckoResponse = () => ({
37
- id: 'shapeshift-fox-token',
38
- symbol: 'fox',
39
- platforms: {
40
- ethereum: '0xc770eefad204b5180df6a14ee197d99d808ee52d',
41
- },
42
- });
43
- const makeBtcMockCoingeckoResponse = () => ({
44
- id: 'bitcoin',
45
- symbol: 'btc',
46
- platforms: {},
47
- });
48
- const makeCosmosMockCoingeckoResponse = () => ({
49
- id: 'cosmos',
50
- symbol: 'atom',
51
- platforms: {},
52
- });
53
- const makePolygonMockCoingeckoResponse = () => ({
54
- id: 'polygon-pos',
55
- symbol: 'matic',
56
- platforms: {},
57
- });
58
- const makeGnosisMockCoingeckoResponse = () => ({
59
- id: 'gnosis',
60
- symbol: 'xDai',
61
- platforms: {},
62
- });
63
- const makeThorchainMockCoingeckoResponse = () => ({
64
- id: 'thorchain',
65
- symbol: 'rune',
66
- platforms: {
67
- thorchain: '',
68
- },
69
- });
70
- vitest_1.vi.mock('fs', () => ({
71
- default: {
72
- promises: {
73
- writeFile: vitest_1.vi.fn(() => undefined),
74
- mkdir: vitest_1.vi.fn(() => undefined),
75
- },
76
- },
77
- }));
78
- (0, vitest_1.describe)('adapters:coingecko:utils', () => {
79
- (0, vitest_1.describe)('makeData', () => {
80
- (0, vitest_1.it)('can make btc data', () => {
81
- const result = utils_1.bitcoinAssetMap;
82
- const expected = { 'bip122:000000000019d6689c085ae165831e93/slip44:0': 'bitcoin' };
83
- (0, vitest_1.expect)(result).toEqual(expected);
84
- });
85
- (0, vitest_1.it)('can make cosmos data', () => {
86
- const result = utils_1.cosmosAssetMap;
87
- const expected = { 'cosmos:cosmoshub-4/slip44:118': 'cosmos' };
88
- (0, vitest_1.expect)(result).toEqual(expected);
89
- });
90
- });
91
- (0, vitest_1.describe)('parseData', () => {
92
- (0, vitest_1.it)('can parse all data', () => {
93
- const result = (0, utils_2.parseData)([
94
- makeEthMockCoingeckoResponse(),
95
- makeWethMockCoingeckoResponse(),
96
- makeFoxMockCoingeckoResponse(),
97
- makeBtcMockCoingeckoResponse(),
98
- makeCosmosMockCoingeckoResponse(),
99
- makeThorchainMockCoingeckoResponse(),
100
- makeAvalancheMockCoingeckoResponse(),
101
- makePolygonMockCoingeckoResponse(),
102
- makeGnosisMockCoingeckoResponse(),
103
- ]);
104
- const expected = {
105
- 'bip122:000000000019d6689c085ae165831e93': {
106
- 'bip122:000000000019d6689c085ae165831e93/slip44:0': 'bitcoin',
107
- },
108
- 'bip122:000000000000000000651ef99cb9fcbe': {
109
- 'bip122:000000000000000000651ef99cb9fcbe/slip44:145': 'bitcoin-cash',
110
- },
111
- 'bip122:00000000001a91e3dace36e2be3bf030': {
112
- 'bip122:00000000001a91e3dace36e2be3bf030/slip44:3': 'dogecoin',
113
- },
114
- 'bip122:12a765e31ffd4059bada1e25190f6e98': {
115
- 'bip122:12a765e31ffd4059bada1e25190f6e98/slip44:2': 'litecoin',
116
- },
117
- 'cosmos:cosmoshub-4': {
118
- 'cosmos:cosmoshub-4/slip44:118': 'cosmos',
119
- },
120
- 'cosmos:thorchain-1': {
121
- 'cosmos:thorchain-1/slip44:931': 'thorchain',
122
- },
123
- 'cosmos:mayachain-mainnet-v1': {
124
- 'cosmos:mayachain-mainnet-v1/slip44:931': 'cacao',
125
- },
126
- 'eip155:1': {
127
- 'eip155:1/slip44:60': 'ethereum',
128
- 'eip155:1/erc20:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2': 'weth',
129
- 'eip155:1/erc20:0xc770eefad204b5180df6a14ee197d99d808ee52d': 'shapeshift-fox-token',
130
- },
131
- 'eip155:43114': {
132
- 'eip155:43114/slip44:60': 'avalanche-2',
133
- 'eip155:43114/erc20:0x49d5c2bdffac6ce2bfdb6640f4f80f226bc10bab': 'weth',
134
- },
135
- 'eip155:56': {
136
- 'eip155:56/slip44:60': 'binancecoin',
137
- 'eip155:56/erc20:0x2170ed0880ac9a755fd29b2688956bd959f933f8': 'weth',
138
- },
139
- 'eip155:10': {
140
- 'eip155:10/slip44:60': 'ethereum',
141
- 'eip155:10/erc20:0x4200000000000000000000000000000000000006': 'weth',
142
- },
143
- 'eip155:137': {
144
- 'eip155:137/slip44:60': 'matic-network',
145
- 'eip155:137/erc20:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619': 'weth',
146
- },
147
- 'eip155:100': {
148
- 'eip155:100/slip44:60': 'xdai',
149
- 'eip155:100/erc20:0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1': 'weth',
150
- },
151
- 'eip155:42161': {
152
- 'eip155:42161/slip44:60': 'ethereum',
153
- 'eip155:42161/erc20:0x82af49447d8a07e3bd95bd0d56f35241523fbab1': 'weth',
154
- },
155
- 'eip155:42170': {
156
- 'eip155:42170/slip44:60': 'ethereum',
157
- 'eip155:42170/erc20:0x722e8bdd2ce80a4422e880164f2079488e115365': 'weth',
158
- },
159
- 'eip155:8453': {
160
- 'eip155:8453/slip44:60': 'ethereum',
161
- 'eip155:8453/erc20:0x4200000000000000000000000000000000000006': 'weth',
162
- },
163
- 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp': {
164
- 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/slip44:501': 'solana',
165
- },
166
- };
167
- (0, vitest_1.expect)(result).toEqual(expected);
168
- });
169
- });
170
- (0, vitest_1.describe)('writeFiles', () => {
171
- (0, vitest_1.it)('can writeFiles', async () => {
172
- const data = {
173
- foo: {
174
- assetIdAbc: 'bitcorn',
175
- assetIdDef: 'efferium',
176
- },
177
- bar: {
178
- assetIdGhi: 'fox',
179
- assetIdJkl: 'shib',
180
- },
181
- };
182
- const fooAssetIds = JSON.stringify(data.foo);
183
- const barAssetIds = JSON.stringify(data.bar);
184
- console.info = vitest_1.vi.fn();
185
- await (0, utils_2.writeFiles)(data);
186
- (0, vitest_1.expect)(fs_1.default.promises.mkdir).toHaveBeenNthCalledWith(1, './src/adapters/coingecko/generated/foo', { recursive: true });
187
- (0, vitest_1.expect)(fs_1.default.promises.writeFile).toHaveBeenNthCalledWith(1, './src/adapters/coingecko/generated/foo/adapter.json', fooAssetIds);
188
- (0, vitest_1.expect)(fs_1.default.promises.mkdir).toHaveBeenNthCalledWith(2, './src/adapters/coingecko/generated/bar', { recursive: true });
189
- (0, vitest_1.expect)(fs_1.default.promises.writeFile).toHaveBeenNthCalledWith(2, './src/adapters/coingecko/generated/bar/adapter.json', barAssetIds);
190
- (0, vitest_1.expect)(console.info).toBeCalledWith('Generated CoinGecko AssetId adapter data.');
191
- });
192
- });
193
- });
@@ -1,6 +0,0 @@
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,22 +0,0 @@
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("./banxa"), exports);
20
- __exportStar(require("./coinbase"), exports);
21
- __exportStar(require("./mtpelerin"), exports);
22
- __exportStar(require("./onramper"), exports);
@@ -1,10 +0,0 @@
1
- import type { AssetId } from '../../assetId/assetId';
2
- export declare const mtPelerinSymbolToAssetIds: (id: string) => AssetId[];
3
- export declare const assetIdToMtPelerinSymbol: (assetId: AssetId) => string | undefined;
4
- /**
5
- * Convert a mtPelerin asset identifier to a MtPelerin chain identifier for use in MtPelerin HTTP URLs
6
- *
7
- * @param {string} assetId - an assetId string referencing a specific asset; e.g., ethAssetId
8
- * @returns {string} - a MtPelerin network identifier; e.g., 'mainnet'
9
- */
10
- export declare const getMtPelerinNetFromAssetId: (assetId: AssetId) => string | undefined;
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMtPelerinNetFromAssetId = exports.assetIdToMtPelerinSymbol = exports.mtPelerinSymbolToAssetIds = void 0;
4
- const assetId_1 = require("../../assetId/assetId");
5
- const constants_1 = require("../../constants");
6
- /**
7
- * provided from https://api.mtPelerin.com/currencies/tokens
8
- */
9
- const MtPelerinSymbolToAssetIds = {
10
- ETH: [constants_1.ethAssetId, constants_1.optimismAssetId, constants_1.arbitrumAssetId, constants_1.baseAssetId],
11
- POL: [constants_1.polygonAssetId],
12
- XDAI: [constants_1.gnosisAssetId],
13
- BTC: [constants_1.btcAssetId],
14
- BNB: [constants_1.bscAssetId],
15
- DAI: ['eip155:1/erc20:0x6b175474e89094c44da98b954eedeac495271d0f'],
16
- USDT: [
17
- 'eip155:1/erc20:0xdac17f958d2ee523a2206206994597c13d831ec7',
18
- 'eip155:10/erc20:0x94b008aa00579c1307b0ef2c499ad98a8ce58e58',
19
- 'eip155:56/erc20:0x55d398326f99059ff775485246999027b3197955',
20
- 'eip155:100/erc20:0x4ecaba5870353805a9f068101a40e0f32ed605c6',
21
- 'eip155:137/erc20:0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
22
- 'eip155:42161/erc20:0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
23
- ],
24
- USDC: [
25
- 'eip155:1/erc20:0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
26
- 'eip155:10/erc20:0x0b2c639c533813f4aa9d7837caf62653d097ff85',
27
- 'eip155:56/erc20:0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d',
28
- 'eip155:137/erc20:0x3c499c542cef5e3811e1192ce70d8cc03d5c3359',
29
- 'eip155:100/erc20:0xddafbb505ad214d7b80b1f830fccc89b60fb7a83',
30
- 'eip155:42161/erc20:0xaf88d065e77c8cc2239327c5edb3a432268e5831',
31
- 'eip155:43114/erc20:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e',
32
- 'eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
33
- ],
34
- 'USDC.e': [
35
- 'eip155:10/erc20:0x7f5c764cbc14f9669b88837ca1490cca17c31607',
36
- 'eip155:137/erc20:0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
37
- 'eip155:42161/erc20:0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',
38
- 'eip155:43114/erc20:0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664',
39
- ],
40
- WBTC: [
41
- 'eip155:1/erc20:0x2260fac5e5542a773aa44fbcfedf7c193bc2c599',
42
- 'eip155:10/erc20:0x68f180fcce6836688e9084f035309e29bf0a2095',
43
- 'eip155:100/erc20:0x8e5bbbb09ed1ebde8674cda39a0c169401db4252',
44
- 'eip155:137/erc20:0x1bfd67037b42cf73acf2047067bd4f2c47d9bfd6',
45
- 'eip155:42161/erc20:0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f',
46
- ],
47
- AVAX: [constants_1.avalancheAssetId],
48
- 'BTC.b': ['eip155:43114/erc20:0x152b9d0fdc40c096757f570a51e494bd4b943e50'],
49
- cbBTC: [
50
- 'eip155:1/erc20:0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf',
51
- 'eip155:8453/erc20:0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf',
52
- ],
53
- EURA: [
54
- 'eip155:42161/erc20:0xfa5ed56a203466cbbc2430a43c66b9d8723528e7',
55
- 'eip155:137/erc20:0xe0b52e49357fd4daf2c15e02058dce6bc0057db4',
56
- ],
57
- EURC: [
58
- 'eip155:1/erc20:0x1abaea1f7c830bd89acc67ec4af516284b1bc33c',
59
- 'eip155:8453/erc20:0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42',
60
- 'eip155:43114/erc20:0xc891eb4cbdeff6e073e859e987815ed1505c2acd',
61
- ],
62
- EURS: [
63
- 'eip155:1/erc20:0xdb25f211ab05b1c97d595516f45794528a807ad8',
64
- 'eip155:137/erc20:0xe111178a87a3bff0c8d18decba5798827539ae99',
65
- ],
66
- FRAX: [
67
- 'eip155:1/erc20:0x853d955acef822db058eb8505911ed77f175b99e',
68
- 'eip155:137/erc20:0x45c32fa6df82ead1e2ef74d17b76547eddfaff89',
69
- 'eip155:43114/erc20:0xd24c2ad096400b6fbcd2ad8b24e7acbc21a1da64',
70
- ],
71
- GHO: ['eip155:1/erc20:0x40d16fc0246ad3160ccc09b8d0d3a2cd28ae6c2f'],
72
- LUSD: [
73
- 'eip155:1/erc20:0x5f98805a4e8be255a32880fdec7f6728c6568ba0',
74
- 'eip155:10/erc20:0xc40f949f8a4e094d1b49a23ea9241d289b7b2819',
75
- ],
76
- PAXG: ['eip155:1/erc20:0x45804880de22913dafe09f4980848ece6ecbaf78'],
77
- WETH: [
78
- 'eip155:56/erc20:0x2170ed0880ac9a755fd29b2688956bd959f933f8',
79
- 'eip155:100/erc20:0x6a023ccd1ff6f2045c3309768ead9e68f978f6e1',
80
- 'eip155:137/erc20:0x7ceb23fd6bc0add59e62ac25578270cff1b9f619',
81
- ],
82
- BTCB: ['eip155:56/erc20:0x7130d2a12b9bcbfae4f2634d864a1ee1ce3ead9c'],
83
- crvUSD: ['eip155:1/erc20:0xf939e0a03fb07f59a73314e73794be0e57ac1b4e'],
84
- XAUt: ['eip155:1/erc20:0x68749665ff8d2d112fa859aa293f07a622782f38'],
85
- ZCHF: [
86
- 'eip155:1/erc20:0xb58e61c3098d85632df34eecfb899a1ed80921cb',
87
- 'eip155:100/erc20:0xd4dd9e2f021bb459d5a5f6c24c12fe09c5d45553',
88
- ],
89
- };
90
- const mtPelerinSymbolToAssetIds = (id) => MtPelerinSymbolToAssetIds[id];
91
- exports.mtPelerinSymbolToAssetIds = mtPelerinSymbolToAssetIds;
92
- const assetIdToMtPelerinSymbol = (assetId) => {
93
- return Object.entries(MtPelerinSymbolToAssetIds)
94
- .filter(([, assetIds]) => assetIds.includes(assetId))
95
- .map(([key]) => key)[0];
96
- };
97
- exports.assetIdToMtPelerinSymbol = assetIdToMtPelerinSymbol;
98
- /**
99
- * map ChainIds to MtPelerin network,
100
- * since some MtPelerin assets could be on multiple chains and their default
101
- * chain won't be exactly the same as ours.
102
- *
103
- * https://developers.mtPelerin.com/integration-guides/options -> "net"
104
- * source of truth per MtPelerin
105
- */
106
- const chainIdToMtPelerinNetworkCodeMap = {
107
- [constants_1.ethChainId]: 'mainnet',
108
- [constants_1.btcChainId]: 'bitcoin_mainnet',
109
- [constants_1.avalancheChainId]: 'avalanche_mainnet',
110
- [constants_1.optimismChainId]: 'optimism_mainnet',
111
- [constants_1.polygonChainId]: 'matic_mainnet',
112
- [constants_1.gnosisChainId]: 'xdai_mainnet',
113
- [constants_1.bscChainId]: 'bsc_mainnet',
114
- [constants_1.arbitrumChainId]: 'arbitrum_mainnet',
115
- [constants_1.baseChainId]: 'base_mainnet',
116
- };
117
- /**
118
- * Convert a mtPelerin asset identifier to a MtPelerin chain identifier for use in MtPelerin HTTP URLs
119
- *
120
- * @param {string} assetId - an assetId string referencing a specific asset; e.g., ethAssetId
121
- * @returns {string} - a MtPelerin network identifier; e.g., 'mainnet'
122
- */
123
- const getMtPelerinNetFromAssetId = (assetId) => {
124
- const { chainId } = (0, assetId_1.fromAssetId)(assetId);
125
- return chainIdToMtPelerinNetworkCodeMap[chainId];
126
- };
127
- exports.getMtPelerinNetFromAssetId = getMtPelerinNetFromAssetId;
@@ -1,6 +0,0 @@
1
- import type { AssetId } from '../../assetId/assetId';
2
- type OnRamperTokenId = string;
3
- export declare const NativeAssetIdToOnRamperIdMap: Record<AssetId, OnRamperTokenId[]>;
4
- export declare const onRamperTokenIdToAssetId: (tokenId: OnRamperTokenId) => AssetId | undefined;
5
- export declare const assetIdToOnRamperTokenList: (assetId: AssetId) => OnRamperTokenId[] | undefined;
6
- export {};
@@ -1,39 +0,0 @@
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.assetIdToOnRamperTokenList = exports.onRamperTokenIdToAssetId = exports.NativeAssetIdToOnRamperIdMap = void 0;
7
- const entries_1 = __importDefault(require("lodash/entries"));
8
- const constants_1 = require("../../constants");
9
- // Native assets only - tokens are fetched dynamically
10
- exports.NativeAssetIdToOnRamperIdMap = {
11
- [constants_1.bscAssetId]: ['bnb_bsc'],
12
- [constants_1.dogeAssetId]: ['doge_dogecoin'],
13
- [constants_1.ethAssetId]: ['eth'],
14
- [constants_1.arbitrumAssetId]: ['eth_arbitrum'],
15
- [constants_1.optimismAssetId]: ['eth_optimism'],
16
- [constants_1.baseAssetId]: ['eth_base'],
17
- [constants_1.ltcAssetId]: ['ltc_litecoin'],
18
- [constants_1.polygonAssetId]: ['matic_polygon'],
19
- [constants_1.thorchainAssetId]: ['rune_thorchain'],
20
- [constants_1.avalancheAssetId]: ['avax_avaxc'],
21
- [constants_1.btcAssetId]: ['btc'],
22
- [constants_1.bchAssetId]: ['bch_bitcoincash'],
23
- [constants_1.cosmosAssetId]: ['atom_cosmos'],
24
- [constants_1.gnosisAssetId]: ['xdai_gnosis'],
25
- [constants_1.solAssetId]: ['sol'],
26
- };
27
- // explodes and inverts the assetId => tokenId[] map by creating a 1to1 token => assetId mapping
28
- const invertMap = () => {
29
- const invertedMap = {};
30
- (0, entries_1.default)(exports.NativeAssetIdToOnRamperIdMap).flatMap(([assetId, idList]) => idList.forEach(id => {
31
- invertedMap[id] = assetId;
32
- }));
33
- return invertedMap;
34
- };
35
- const OnRamperIdToAssetIdMap = invertMap();
36
- const onRamperTokenIdToAssetId = (tokenId) => OnRamperIdToAssetIdMap[tokenId];
37
- exports.onRamperTokenIdToAssetId = onRamperTokenIdToAssetId;
38
- const assetIdToOnRamperTokenList = (assetId) => exports.NativeAssetIdToOnRamperIdMap[assetId];
39
- exports.assetIdToOnRamperTokenList = assetIdToOnRamperTokenList;
@@ -1,36 +0,0 @@
1
- import type { ChainId, ChainNamespace, ChainReference } from '../chainId/chainId';
2
- import type { ASSET_NAMESPACE, ASSET_REFERENCE } from '../constants';
3
- import type { Nominal } from '../utils';
4
- export type AssetId = Nominal<string, 'AssetId'>;
5
- export type AssetNamespace = (typeof ASSET_NAMESPACE)[keyof typeof ASSET_NAMESPACE];
6
- export type AssetReference = (typeof ASSET_REFERENCE)[keyof typeof ASSET_REFERENCE];
7
- type ToAssetIdWithChainId = {
8
- chainNamespace?: never;
9
- chainReference?: never;
10
- chainId: ChainId;
11
- assetNamespace: AssetNamespace;
12
- assetReference: AssetReference | string;
13
- };
14
- type ToAssetIdWithChainIdParts = {
15
- chainNamespace: ChainNamespace;
16
- chainReference: ChainReference;
17
- chainId?: never;
18
- assetNamespace: AssetNamespace;
19
- assetReference: AssetReference | string;
20
- };
21
- export type ToAssetIdArgs = ToAssetIdWithChainId | ToAssetIdWithChainIdParts;
22
- type ToAssetId = (args: ToAssetIdArgs) => AssetId;
23
- export declare const toAssetId: ToAssetId;
24
- type FromAssetIdReturn = {
25
- chainNamespace: ChainNamespace;
26
- chainReference: ChainReference;
27
- chainId: ChainId;
28
- assetNamespace: AssetNamespace;
29
- assetReference: AssetReference;
30
- };
31
- export type FromAssetId = (assetId: AssetId) => FromAssetIdReturn;
32
- export declare const fromAssetId: FromAssetId;
33
- export declare const isNft: (assetId: AssetId) => boolean;
34
- export declare const toCAIP19: ToAssetId;
35
- export declare const fromCAIP19: FromAssetId;
36
- export {};
@@ -1,120 +0,0 @@
1
- "use strict";
2
- // https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-19.md
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.fromCAIP19 = exports.toCAIP19 = exports.isNft = exports.fromAssetId = exports.toAssetId = void 0;
5
- const chainId_1 = require("../chainId/chainId");
6
- const constants_1 = require("../constants");
7
- const typeGuards_1 = require("../typeGuards");
8
- /**
9
- * validate that a value is a string slip44 value
10
- * @see https://github.com/satoshilabs/slips/blob/master/slip-0044.md
11
- * @param {string} value - possible slip44 value
12
- */
13
- const isValidSlip44 = (value) => {
14
- // TCY is a weird AssetId, its asset ref part is not a number
15
- if (value === 'tcy')
16
- return true;
17
- const n = Number(value);
18
- // slip44 has a max value of an unsigned 32-bit integer
19
- return !isNaN(n) && n >= 0 && n < 4294967296;
20
- };
21
- const isToAssetIdWithChainIdArgs = (args) => !!args.chainId;
22
- const toAssetId = (args) => {
23
- const { assetNamespace, assetReference } = args;
24
- (0, typeGuards_1.assertIsAssetNamespace)(assetNamespace);
25
- if (!assetReference)
26
- throw new Error('toAssetId: No assetReference provided');
27
- const { chainId, chainNamespace, chainReference } = (() => {
28
- if (isToAssetIdWithChainIdArgs(args)) {
29
- const fromChainIdResult = (0, chainId_1.fromChainId)(args.chainId);
30
- return {
31
- chainId: args.chainId,
32
- chainNamespace: fromChainIdResult.chainNamespace,
33
- chainReference: fromChainIdResult.chainReference,
34
- };
35
- }
36
- else
37
- return {
38
- chainId: (0, chainId_1.toChainId)({
39
- chainNamespace: args.chainNamespace,
40
- chainReference: args.chainReference,
41
- }),
42
- chainNamespace: args.chainNamespace,
43
- chainReference: args.chainReference,
44
- };
45
- })();
46
- (0, typeGuards_1.assertIsChainNamespace)(chainNamespace);
47
- (0, typeGuards_1.assertIsChainReference)(chainReference);
48
- (0, typeGuards_1.assertValidChainPartsPair)(chainNamespace, chainReference);
49
- if (!constants_1.VALID_ASSET_NAMESPACE[chainNamespace].includes(assetNamespace) ||
50
- !(0, typeGuards_1.isAssetNamespace)(assetNamespace))
51
- throw new Error(`toAssetId: AssetNamespace ${assetNamespace} not supported for Chain Namespace ${chainNamespace}`);
52
- if (assetNamespace === 'slip44' && !isValidSlip44(String(assetReference))) {
53
- throw new Error(`Invalid reference for namespace slip44`);
54
- }
55
- const assetReferenceNormalized = (() => {
56
- const assertContractAddress = (address) => {
57
- if (!address.startsWith('0x'))
58
- throw new Error(`toAssetId: assetReference must start with 0x: ${assetReference}`);
59
- if (address.length !== 42)
60
- throw new Error(`toAssetId: assetReference length must be 42, length: ${assetReference.length}, ${assetReference}`);
61
- };
62
- switch (assetNamespace) {
63
- case 'erc20':
64
- assertContractAddress(assetReference);
65
- return assetReference.toLowerCase();
66
- case 'erc721':
67
- case 'erc1155':
68
- // caip-22 (https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-22.md)
69
- // caip-29 (https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-29.md)
70
- const [address] = assetReference.split('/');
71
- assertContractAddress(address);
72
- return assetReference.toLowerCase();
73
- default:
74
- return assetReference;
75
- }
76
- })();
77
- return `${chainId}/${assetNamespace}:${assetReferenceNormalized}`;
78
- };
79
- exports.toAssetId = toAssetId;
80
- // NOTE: perf critical - benchmark any changes
81
- const fromAssetId = (assetId) => {
82
- const slashIdx = assetId.indexOf('/');
83
- const chainId = assetId.substring(0, slashIdx);
84
- const assetParts = assetId.substring(slashIdx + 1);
85
- const { chainNamespace, chainReference } = (0, chainId_1.fromChainId)(chainId);
86
- const idx = assetParts.indexOf(':');
87
- const assetNamespace = assetParts.substring(0, idx);
88
- const assetReference = assetParts.substring(idx + 1);
89
- if (!(0, typeGuards_1.isAssetIdParts)(chainNamespace, chainReference, assetNamespace))
90
- throw new Error(`fromAssetId: invalid AssetId: ${assetId}`);
91
- const assetReferenceNormalized = (() => {
92
- switch (assetNamespace) {
93
- case 'erc20':
94
- case 'erc721':
95
- case 'erc1155':
96
- return assetReference.toLowerCase();
97
- default:
98
- return assetReference;
99
- }
100
- })();
101
- return {
102
- chainId,
103
- chainNamespace: chainNamespace,
104
- chainReference: chainReference,
105
- assetNamespace: assetNamespace,
106
- assetReference: assetReferenceNormalized,
107
- };
108
- };
109
- exports.fromAssetId = fromAssetId;
110
- // NOTE: perf critical - benchmark any changes
111
- const isNft = (assetId) => {
112
- const slashIdx = assetId.indexOf('/');
113
- const assetParts = assetId.substring(slashIdx + 1);
114
- const idx = assetParts.indexOf(':');
115
- const assetNamespace = assetParts.substring(0, idx);
116
- return ['erc721', 'erc1155'].includes(assetNamespace);
117
- };
118
- exports.isNft = isNft;
119
- exports.toCAIP19 = exports.toAssetId;
120
- exports.fromCAIP19 = exports.fromAssetId;
@@ -1 +0,0 @@
1
- export {};