@shapeshiftoss/caip 8.16.4-alpha.1 → 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 (192) hide show
  1. package/package.json +1 -1
  2. package/dist/cjs/.tsbuildinfo +0 -1
  3. package/dist/cjs/accountId/accountId.d.ts +0 -29
  4. package/dist/cjs/accountId/accountId.js +0 -44
  5. package/dist/cjs/accountId/accountId.test.d.ts +0 -1
  6. package/dist/cjs/accountId/accountId.test.js +0 -109
  7. package/dist/cjs/adapters/banxa/index.d.ts +0 -15
  8. package/dist/cjs/adapters/banxa/index.js +0 -153
  9. package/dist/cjs/adapters/coinbase/generate.d.ts +0 -1
  10. package/dist/cjs/adapters/coinbase/generate.js +0 -9
  11. package/dist/cjs/adapters/coinbase/generated/adapter.json +0 -153
  12. package/dist/cjs/adapters/coinbase/generated/index.d.ts +0 -2
  13. package/dist/cjs/adapters/coinbase/generated/index.js +0 -8
  14. package/dist/cjs/adapters/coinbase/index.d.ts +0 -3
  15. package/dist/cjs/adapters/coinbase/index.js +0 -16
  16. package/dist/cjs/adapters/coinbase/utils.d.ts +0 -12
  17. package/dist/cjs/adapters/coinbase/utils.js +0 -55
  18. package/dist/cjs/adapters/coincap/generate.d.ts +0 -1
  19. package/dist/cjs/adapters/coincap/generate.js +0 -10
  20. package/dist/cjs/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  21. package/dist/cjs/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  22. package/dist/cjs/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  23. package/dist/cjs/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  24. package/dist/cjs/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  25. package/dist/cjs/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +0 -1
  26. package/dist/cjs/adapters/coincap/generated/eip155_1/adapter.json +0 -1
  27. package/dist/cjs/adapters/coincap/generated/eip155_10/adapter.json +0 -1
  28. package/dist/cjs/adapters/coincap/generated/eip155_137/adapter.json +0 -1
  29. package/dist/cjs/adapters/coincap/generated/eip155_42161/adapter.json +0 -1
  30. package/dist/cjs/adapters/coincap/generated/eip155_43114/adapter.json +0 -1
  31. package/dist/cjs/adapters/coincap/generated/eip155_56/adapter.json +0 -1
  32. package/dist/cjs/adapters/coincap/generated/eip155_8453/adapter.json +0 -1
  33. package/dist/cjs/adapters/coincap/generated/index.d.ts +0 -15
  34. package/dist/cjs/adapters/coincap/generated/index.js +0 -34
  35. package/dist/cjs/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  36. package/dist/cjs/adapters/coincap/index.d.ts +0 -4
  37. package/dist/cjs/adapters/coincap/index.js +0 -44
  38. package/dist/cjs/adapters/coincap/index.test.d.ts +0 -1
  39. package/dist/cjs/adapters/coincap/index.test.js +0 -90
  40. package/dist/cjs/adapters/coincap/utils.d.ts +0 -24
  41. package/dist/cjs/adapters/coincap/utils.js +0 -146
  42. package/dist/cjs/adapters/coincap/utils.test.d.ts +0 -4
  43. package/dist/cjs/adapters/coincap/utils.test.js +0 -173
  44. package/dist/cjs/adapters/coingecko/generate.d.ts +0 -1
  45. package/dist/cjs/adapters/coingecko/generate.js +0 -10
  46. package/dist/cjs/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  47. package/dist/cjs/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  48. package/dist/cjs/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  49. package/dist/cjs/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  50. package/dist/cjs/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  51. package/dist/cjs/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +0 -1
  52. package/dist/cjs/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +0 -1
  53. package/dist/cjs/adapters/coingecko/generated/eip155_1/adapter.json +0 -1
  54. package/dist/cjs/adapters/coingecko/generated/eip155_10/adapter.json +0 -1
  55. package/dist/cjs/adapters/coingecko/generated/eip155_100/adapter.json +0 -1
  56. package/dist/cjs/adapters/coingecko/generated/eip155_137/adapter.json +0 -1
  57. package/dist/cjs/adapters/coingecko/generated/eip155_42161/adapter.json +0 -1
  58. package/dist/cjs/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
  59. package/dist/cjs/adapters/coingecko/generated/eip155_43114/adapter.json +0 -1
  60. package/dist/cjs/adapters/coingecko/generated/eip155_56/adapter.json +0 -1
  61. package/dist/cjs/adapters/coingecko/generated/eip155_8453/adapter.json +0 -1
  62. package/dist/cjs/adapters/coingecko/generated/index.d.ts +0 -18
  63. package/dist/cjs/adapters/coingecko/generated/index.js +0 -40
  64. package/dist/cjs/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  65. package/dist/cjs/adapters/coingecko/index.d.ts +0 -26
  66. package/dist/cjs/adapters/coingecko/index.js +0 -163
  67. package/dist/cjs/adapters/coingecko/index.test.d.ts +0 -1
  68. package/dist/cjs/adapters/coingecko/index.test.js +0 -276
  69. package/dist/cjs/adapters/coingecko/utils.d.ts +0 -11
  70. package/dist/cjs/adapters/coingecko/utils.js +0 -190
  71. package/dist/cjs/adapters/coingecko/utils.test.d.ts +0 -1
  72. package/dist/cjs/adapters/coingecko/utils.test.js +0 -193
  73. package/dist/cjs/adapters/index.d.ts +0 -6
  74. package/dist/cjs/adapters/index.js +0 -22
  75. package/dist/cjs/adapters/mtpelerin/index.d.ts +0 -10
  76. package/dist/cjs/adapters/mtpelerin/index.js +0 -127
  77. package/dist/cjs/adapters/onramper/index.d.ts +0 -6
  78. package/dist/cjs/adapters/onramper/index.js +0 -39
  79. package/dist/cjs/assetId/assetId.d.ts +0 -36
  80. package/dist/cjs/assetId/assetId.js +0 -120
  81. package/dist/cjs/assetId/assetId.test.d.ts +0 -1
  82. package/dist/cjs/assetId/assetId.test.js +0 -324
  83. package/dist/cjs/chainId/chainId.d.ts +0 -20
  84. package/dist/cjs/chainId/chainId.js +0 -25
  85. package/dist/cjs/chainId/chainId.test.d.ts +0 -1
  86. package/dist/cjs/chainId/chainId.test.js +0 -90
  87. package/dist/cjs/constants.d.ts +0 -118
  88. package/dist/cjs/constants.js +0 -167
  89. package/dist/cjs/index.d.ts +0 -7
  90. package/dist/cjs/index.js +0 -36
  91. package/dist/cjs/package.json +0 -1
  92. package/dist/cjs/typeGuards.d.ts +0 -16
  93. package/dist/cjs/typeGuards.js +0 -56
  94. package/dist/cjs/utils.d.ts +0 -33
  95. package/dist/cjs/utils.js +0 -56
  96. package/dist/cjs/utils.test.d.ts +0 -1
  97. package/dist/cjs/utils.test.js +0 -160
  98. package/dist/esm/.tsbuildinfo +0 -1
  99. package/dist/esm/accountId/accountId.d.ts +0 -29
  100. package/dist/esm/accountId/accountId.js +0 -39
  101. package/dist/esm/accountId/accountId.test.d.ts +0 -1
  102. package/dist/esm/accountId/accountId.test.js +0 -107
  103. package/dist/esm/adapters/banxa/index.d.ts +0 -15
  104. package/dist/esm/adapters/banxa/index.js +0 -143
  105. package/dist/esm/adapters/coinbase/generate.d.ts +0 -1
  106. package/dist/esm/adapters/coinbase/generate.js +0 -7
  107. package/dist/esm/adapters/coinbase/generated/adapter.json +0 -153
  108. package/dist/esm/adapters/coinbase/generated/index.d.ts +0 -2
  109. package/dist/esm/adapters/coinbase/generated/index.js +0 -2
  110. package/dist/esm/adapters/coinbase/index.d.ts +0 -3
  111. package/dist/esm/adapters/coinbase/index.js +0 -8
  112. package/dist/esm/adapters/coinbase/utils.d.ts +0 -12
  113. package/dist/esm/adapters/coinbase/utils.js +0 -46
  114. package/dist/esm/adapters/coincap/generate.d.ts +0 -1
  115. package/dist/esm/adapters/coincap/generate.js +0 -8
  116. package/dist/esm/adapters/coincap/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  117. package/dist/esm/adapters/coincap/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  118. package/dist/esm/adapters/coincap/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  119. package/dist/esm/adapters/coincap/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  120. package/dist/esm/adapters/coincap/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  121. package/dist/esm/adapters/coincap/generated/cosmos_thorchain-1/adapter.json +0 -1
  122. package/dist/esm/adapters/coincap/generated/eip155_1/adapter.json +0 -1
  123. package/dist/esm/adapters/coincap/generated/eip155_10/adapter.json +0 -1
  124. package/dist/esm/adapters/coincap/generated/eip155_137/adapter.json +0 -1
  125. package/dist/esm/adapters/coincap/generated/eip155_42161/adapter.json +0 -1
  126. package/dist/esm/adapters/coincap/generated/eip155_43114/adapter.json +0 -1
  127. package/dist/esm/adapters/coincap/generated/eip155_56/adapter.json +0 -1
  128. package/dist/esm/adapters/coincap/generated/eip155_8453/adapter.json +0 -1
  129. package/dist/esm/adapters/coincap/generated/index.d.ts +0 -15
  130. package/dist/esm/adapters/coincap/generated/index.js +0 -15
  131. package/dist/esm/adapters/coincap/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  132. package/dist/esm/adapters/coincap/index.d.ts +0 -4
  133. package/dist/esm/adapters/coincap/index.js +0 -13
  134. package/dist/esm/adapters/coincap/index.test.d.ts +0 -1
  135. package/dist/esm/adapters/coincap/index.test.js +0 -88
  136. package/dist/esm/adapters/coincap/utils.d.ts +0 -24
  137. package/dist/esm/adapters/coincap/utils.js +0 -135
  138. package/dist/esm/adapters/coincap/utils.test.d.ts +0 -4
  139. package/dist/esm/adapters/coincap/utils.test.js +0 -168
  140. package/dist/esm/adapters/coingecko/generate.d.ts +0 -1
  141. package/dist/esm/adapters/coingecko/generate.js +0 -8
  142. package/dist/esm/adapters/coingecko/generated/bip122_000000000000000000651ef99cb9fcbe/adapter.json +0 -1
  143. package/dist/esm/adapters/coingecko/generated/bip122_000000000019d6689c085ae165831e93/adapter.json +0 -1
  144. package/dist/esm/adapters/coingecko/generated/bip122_00000000001a91e3dace36e2be3bf030/adapter.json +0 -1
  145. package/dist/esm/adapters/coingecko/generated/bip122_12a765e31ffd4059bada1e25190f6e98/adapter.json +0 -1
  146. package/dist/esm/adapters/coingecko/generated/cosmos_cosmoshub-4/adapter.json +0 -1
  147. package/dist/esm/adapters/coingecko/generated/cosmos_mayachain-mainnet-v1/adapter.json +0 -1
  148. package/dist/esm/adapters/coingecko/generated/cosmos_thorchain-1/adapter.json +0 -1
  149. package/dist/esm/adapters/coingecko/generated/eip155_1/adapter.json +0 -1
  150. package/dist/esm/adapters/coingecko/generated/eip155_10/adapter.json +0 -1
  151. package/dist/esm/adapters/coingecko/generated/eip155_100/adapter.json +0 -1
  152. package/dist/esm/adapters/coingecko/generated/eip155_137/adapter.json +0 -1
  153. package/dist/esm/adapters/coingecko/generated/eip155_42161/adapter.json +0 -1
  154. package/dist/esm/adapters/coingecko/generated/eip155_42170/adapter.json +0 -1
  155. package/dist/esm/adapters/coingecko/generated/eip155_43114/adapter.json +0 -1
  156. package/dist/esm/adapters/coingecko/generated/eip155_56/adapter.json +0 -1
  157. package/dist/esm/adapters/coingecko/generated/eip155_8453/adapter.json +0 -1
  158. package/dist/esm/adapters/coingecko/generated/index.d.ts +0 -18
  159. package/dist/esm/adapters/coingecko/generated/index.js +0 -18
  160. package/dist/esm/adapters/coingecko/generated/solana_5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp/adapter.json +0 -1
  161. package/dist/esm/adapters/coingecko/index.d.ts +0 -26
  162. package/dist/esm/adapters/coingecko/index.js +0 -127
  163. package/dist/esm/adapters/coingecko/index.test.d.ts +0 -1
  164. package/dist/esm/adapters/coingecko/index.test.js +0 -274
  165. package/dist/esm/adapters/coingecko/utils.d.ts +0 -11
  166. package/dist/esm/adapters/coingecko/utils.js +0 -181
  167. package/dist/esm/adapters/coingecko/utils.test.d.ts +0 -1
  168. package/dist/esm/adapters/coingecko/utils.test.js +0 -188
  169. package/dist/esm/adapters/index.d.ts +0 -6
  170. package/dist/esm/adapters/index.js +0 -6
  171. package/dist/esm/adapters/mtpelerin/index.d.ts +0 -10
  172. package/dist/esm/adapters/mtpelerin/index.js +0 -121
  173. package/dist/esm/adapters/onramper/index.d.ts +0 -6
  174. package/dist/esm/adapters/onramper/index.js +0 -31
  175. package/dist/esm/assetId/assetId.d.ts +0 -36
  176. package/dist/esm/assetId/assetId.js +0 -114
  177. package/dist/esm/assetId/assetId.test.d.ts +0 -1
  178. package/dist/esm/assetId/assetId.test.js +0 -322
  179. package/dist/esm/chainId/chainId.d.ts +0 -20
  180. package/dist/esm/chainId/chainId.js +0 -20
  181. package/dist/esm/chainId/chainId.test.d.ts +0 -1
  182. package/dist/esm/chainId/chainId.test.js +0 -88
  183. package/dist/esm/constants.d.ts +0 -118
  184. package/dist/esm/constants.js +0 -163
  185. package/dist/esm/index.d.ts +0 -7
  186. package/dist/esm/index.js +0 -7
  187. package/dist/esm/typeGuards.d.ts +0 -16
  188. package/dist/esm/typeGuards.js +0 -44
  189. package/dist/esm/utils.d.ts +0 -33
  190. package/dist/esm/utils.js +0 -26
  191. package/dist/esm/utils.test.d.ts +0 -1
  192. 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 {};