@swapkit/helpers 2.6.0 → 3.0.0-beta.1

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 (167) hide show
  1. package/dist/api/index.cjs +3 -0
  2. package/dist/api/index.cjs.map +16 -0
  3. package/dist/api/index.js +3 -0
  4. package/dist/api/index.js.map +16 -0
  5. package/dist/chunk-1gwdyyeh.js +4 -0
  6. package/dist/chunk-1gwdyyeh.js.map +10 -0
  7. package/dist/chunk-2bhvezjh.js +4 -0
  8. package/dist/chunk-2bhvezjh.js.map +10 -0
  9. package/dist/chunk-3ptwhtpd.js +3 -0
  10. package/dist/chunk-3ptwhtpd.js.map +10 -0
  11. package/dist/chunk-3wnfcm30.js +4 -0
  12. package/dist/chunk-3wnfcm30.js.map +9 -0
  13. package/dist/chunk-40epvqbm.js +3 -0
  14. package/dist/chunk-40epvqbm.js.map +10 -0
  15. package/dist/chunk-49nsjaay.js +3 -0
  16. package/dist/chunk-49nsjaay.js.map +10 -0
  17. package/dist/chunk-4b66tryh.js +4 -0
  18. package/dist/chunk-4b66tryh.js.map +10 -0
  19. package/dist/chunk-4kzjrrjv.js +3 -0
  20. package/dist/chunk-4kzjrrjv.js.map +10 -0
  21. package/dist/chunk-5m49s8z8.js +4 -0
  22. package/dist/chunk-5m49s8z8.js.map +10 -0
  23. package/dist/chunk-9b6y7r75.js +4 -0
  24. package/dist/chunk-9b6y7r75.js.map +10 -0
  25. package/dist/chunk-9zcbvqq2.js +3 -0
  26. package/dist/chunk-9zcbvqq2.js.map +10 -0
  27. package/dist/chunk-a0bpx1q3.js +4 -0
  28. package/dist/chunk-a0bpx1q3.js.map +10 -0
  29. package/dist/chunk-a0fxkkfh.js +4 -0
  30. package/dist/chunk-a0fxkkfh.js.map +10 -0
  31. package/dist/chunk-a6bjd9ar.js +3 -0
  32. package/dist/chunk-a6bjd9ar.js.map +10 -0
  33. package/dist/chunk-bg6pz5qh.js +3 -0
  34. package/dist/chunk-bg6pz5qh.js.map +10 -0
  35. package/dist/chunk-cpdcnp2x.js +4 -0
  36. package/dist/chunk-cpdcnp2x.js.map +10 -0
  37. package/dist/chunk-fazw0jvt.js +3 -0
  38. package/dist/chunk-fazw0jvt.js.map +9 -0
  39. package/dist/chunk-fr86y3rx.js +4 -0
  40. package/dist/chunk-fr86y3rx.js.map +10 -0
  41. package/dist/chunk-ftdtdkhk.js +3 -0
  42. package/dist/chunk-ftdtdkhk.js.map +10 -0
  43. package/dist/chunk-gjeaw024.js +4 -0
  44. package/dist/chunk-gjeaw024.js.map +10 -0
  45. package/dist/chunk-hdcdd2cf.js +4 -0
  46. package/dist/chunk-hdcdd2cf.js.map +10 -0
  47. package/dist/chunk-q2pb6ggs.js +3 -0
  48. package/dist/chunk-q2pb6ggs.js.map +10 -0
  49. package/dist/chunk-t9s9811k.js +3 -0
  50. package/dist/chunk-t9s9811k.js.map +10 -0
  51. package/dist/chunk-v4dvhh90.js +4 -0
  52. package/dist/chunk-v4dvhh90.js.map +10 -0
  53. package/dist/chunk-vzptz52h.js +4 -0
  54. package/dist/chunk-vzptz52h.js.map +10 -0
  55. package/dist/chunk-wyr5d8ad.js +3 -0
  56. package/dist/chunk-wyr5d8ad.js.map +10 -0
  57. package/dist/chunk-x0jsq6ag.js +3 -0
  58. package/dist/chunk-x0jsq6ag.js.map +10 -0
  59. package/dist/chunk-x2fe9scs.js +3 -0
  60. package/dist/chunk-x2fe9scs.js.map +10 -0
  61. package/dist/chunk-xm5jkehh.js +4 -0
  62. package/dist/chunk-xm5jkehh.js.map +10 -0
  63. package/dist/chunk-xzb1nshn.js +3 -0
  64. package/dist/chunk-xzb1nshn.js.map +10 -0
  65. package/dist/contracts/index.cjs +3 -0
  66. package/dist/contracts/index.cjs.map +38 -0
  67. package/dist/contracts/index.js +3 -0
  68. package/dist/contracts/index.js.map +38 -0
  69. package/dist/index.cjs +6 -0
  70. package/dist/index.cjs.map +30 -0
  71. package/dist/index.js +3 -3
  72. package/dist/index.js.map +23 -23
  73. package/dist/tokens/index.cjs +3 -0
  74. package/dist/tokens/index.cjs.map +10 -0
  75. package/dist/tokens/index.js +3 -0
  76. package/dist/tokens/index.js.map +10 -0
  77. package/package.json +35 -16
  78. package/src/api/index.ts +19 -0
  79. package/src/api/microgard/endpoints.ts +83 -0
  80. package/src/api/microgard/types.ts +60 -0
  81. package/src/api/midgard/endpoints.ts +154 -0
  82. package/src/api/midgard/types.ts +155 -0
  83. package/src/api/swapkitApi/endpoints.ts +161 -0
  84. package/src/api/swapkitApi/types.ts +576 -0
  85. package/src/api/thornode/endpoints.ts +78 -0
  86. package/src/api/thornode/types.ts +241 -0
  87. package/src/api/thorswapStatic/endpoints.ts +46 -0
  88. package/src/api/thorswapStatic/types.ts +18 -0
  89. package/src/contracts/abis/avaxGeneric.ts +92 -0
  90. package/src/contracts/abis/avaxWoofi.ts +145 -0
  91. package/src/contracts/abis/bscGeneric.ts +106 -0
  92. package/src/contracts/abis/chainflipGateway.ts +330 -0
  93. package/src/contracts/abis/erc20.ts +99 -0
  94. package/src/contracts/abis/ethGeneric.ts +92 -0
  95. package/src/contracts/abis/mayaEvmVaults.ts +331 -0
  96. package/src/contracts/abis/pancakeV2.ts +145 -0
  97. package/src/contracts/abis/pangolin.ts +120 -0
  98. package/src/contracts/abis/sushiswap.ts +120 -0
  99. package/src/contracts/abis/tcEthVault.ts +650 -0
  100. package/src/contracts/abis/traderJoe.ts +120 -0
  101. package/src/contracts/abis/uniswapV2.ts +120 -0
  102. package/src/contracts/abis/uniswapV2Leg.ts +128 -0
  103. package/src/contracts/abis/uniswapV3_100.ts +128 -0
  104. package/src/contracts/abis/uniswapV3_10000.ts +128 -0
  105. package/src/contracts/abis/uniswapV3_3000.ts +128 -0
  106. package/src/contracts/abis/uniswapV3_500.ts +128 -0
  107. package/src/contracts/index.ts +95 -0
  108. package/src/contracts/routers/index.ts +58 -0
  109. package/src/contracts/routers/kyber.ts +402 -0
  110. package/src/contracts/routers/oneinch.ts +2188 -0
  111. package/src/contracts/routers/pancakeswap.ts +340 -0
  112. package/src/contracts/routers/pangolin.ts +340 -0
  113. package/src/contracts/routers/sushiswap.ts +340 -0
  114. package/src/contracts/routers/traderJoe.ts +340 -0
  115. package/src/contracts/routers/uniswapv2.ts +340 -0
  116. package/src/contracts/routers/uniswapv3.ts +254 -0
  117. package/src/contracts/routers/woofi.ts +171 -0
  118. package/src/index.ts +19 -15
  119. package/src/modules/__tests__/assetValue.test.ts +50 -24
  120. package/src/modules/__tests__/swapKitConfig.test.ts +37 -0
  121. package/src/modules/assetValue.ts +82 -141
  122. package/src/modules/bigIntArithmetics.ts +6 -2
  123. package/src/modules/requestClient.ts +53 -65
  124. package/src/modules/swapKitConfig.ts +134 -0
  125. package/src/modules/swapKitError.ts +19 -14
  126. package/src/tokens/index.ts +15 -0
  127. package/src/tokens/lists/camelot_v3.ts +15920 -0
  128. package/src/tokens/lists/caviar_v1.ts +1694 -0
  129. package/src/tokens/lists/chainflip.ts +104 -0
  130. package/src/tokens/lists/index.ts +14 -0
  131. package/src/tokens/lists/jupiter.ts +29606 -0
  132. package/src/tokens/lists/mayachain.ts +513 -0
  133. package/src/tokens/lists/oneinch.ts +14238 -0
  134. package/src/tokens/lists/openocean_v2.ts +11514 -0
  135. package/src/tokens/lists/pancakeswap.ts +4296 -0
  136. package/src/tokens/lists/pangolin_v1.ts +175 -0
  137. package/src/tokens/lists/sushiswap_v2.ts +965 -0
  138. package/src/tokens/lists/thorchain.ts +669 -0
  139. package/src/tokens/lists/traderjoe_v2.ts +1384 -0
  140. package/src/tokens/lists/uniswap_v2.ts +5596 -0
  141. package/src/tokens/lists/uniswap_v3.ts +5946 -0
  142. package/src/types/chains.ts +48 -51
  143. package/src/types/commonTypes.ts +3 -90
  144. package/src/types/derivationPath.ts +11 -24
  145. package/src/types/index.ts +3 -4
  146. package/src/types/quotes.ts +0 -1
  147. package/src/types/radix.ts +2 -2
  148. package/src/types/sdk.ts +0 -40
  149. package/src/types/tokens.ts +14 -17
  150. package/src/types/wallet.ts +70 -33
  151. package/src/{helpers → utils}/__tests__/asset.test.ts +0 -27
  152. package/src/utils/asset.ts +235 -0
  153. package/src/{helpers → utils}/derivationPath.ts +31 -9
  154. package/src/{helpers → utils}/memo.ts +0 -82
  155. package/src/{helpers → utils}/others.ts +12 -5
  156. package/src/utils/plugin.ts +13 -0
  157. package/src/utils/tokens.ts +73 -0
  158. package/src/{helpers → utils}/validators.ts +7 -5
  159. package/src/{helpers/web3wallets.ts → utils/wallets.ts} +189 -145
  160. package/src/helpers/asset.ts +0 -324
  161. package/src/modules/walletUtils.ts +0 -30
  162. package/src/types/network.ts +0 -49
  163. /package/src/{helpers/__tests__/derivationPath.ts → utils/__tests__/derivationPath.test.ts} +0 -0
  164. /package/src/{helpers → utils}/__tests__/memo.test.ts +0 -0
  165. /package/src/{helpers → utils}/__tests__/others.test.ts +0 -0
  166. /package/src/{helpers → utils}/__tests__/validators.test.ts +0 -0
  167. /package/src/{helpers → utils}/liquidity.ts +0 -0
@@ -13,11 +13,13 @@ export enum Chain {
13
13
  Kujira = "KUJI",
14
14
  Litecoin = "LTC",
15
15
  Maya = "MAYA",
16
+ Near = "NEAR",
16
17
  Optimism = "OP",
17
18
  Polkadot = "DOT",
18
19
  Chainflip = "FLIP",
19
20
  Polygon = "MATIC",
20
21
  Radix = "XRD",
22
+ Ripple = "XRP",
21
23
  THORChain = "THOR",
22
24
  Solana = "SOL",
23
25
  }
@@ -49,12 +51,14 @@ export enum ChainId {
49
51
  Litecoin = "litecoin",
50
52
  Maya = "mayachain-mainnet-v1",
51
53
  MayaStagenet = "mayachain-stagenet-v1",
54
+ Near = "near",
52
55
  Optimism = "10",
53
56
  OptimismHex = "0xa",
54
57
  Polkadot = "polkadot",
55
58
  Polygon = "137",
56
59
  PolygonHex = "0x89",
57
60
  Radix = "radix-mainnet",
61
+ Ripple = "ripple",
58
62
  THORChain = "thorchain-1",
59
63
  THORChainStagenet = "thorchain-stagenet-v2",
60
64
  Solana = "solana",
@@ -76,21 +80,23 @@ export const ChainIdToChain: Record<ChainId, Chain> = {
76
80
  [ChainId.Dash]: Chain.Dash,
77
81
  [ChainId.Dogecoin]: Chain.Dogecoin,
78
82
  [ChainId.EthereumHex]: Chain.Ethereum,
83
+ [ChainId.Ethereum]: Chain.Ethereum,
79
84
  [ChainId.Fiat]: Chain.Fiat,
80
85
  [ChainId.Kujira]: Chain.Kujira,
81
- [ChainId.Ethereum]: Chain.Ethereum,
82
86
  [ChainId.Litecoin]: Chain.Litecoin,
83
87
  [ChainId.MayaStagenet]: Chain.Maya,
84
88
  [ChainId.Maya]: Chain.Maya,
89
+ [ChainId.Near]: Chain.Near,
85
90
  [ChainId.OptimismHex]: Chain.Optimism,
86
91
  [ChainId.Optimism]: Chain.Optimism,
87
92
  [ChainId.Polkadot]: Chain.Polkadot,
88
93
  [ChainId.PolygonHex]: Chain.Polygon,
89
94
  [ChainId.Polygon]: Chain.Polygon,
90
95
  [ChainId.Radix]: Chain.Radix,
96
+ [ChainId.Ripple]: Chain.Ripple,
97
+ [ChainId.Solana]: Chain.Solana,
91
98
  [ChainId.THORChainStagenet]: Chain.THORChain,
92
99
  [ChainId.THORChain]: Chain.THORChain,
93
- [ChainId.Solana]: Chain.Solana,
94
100
  };
95
101
 
96
102
  type ChainNameType = keyof typeof Chain;
@@ -115,10 +121,12 @@ export const BaseDecimal: Record<Chain, number> = {
115
121
  LTC: 8,
116
122
  MATIC: 18,
117
123
  MAYA: 8,
124
+ NEAR: 24,
118
125
  OP: 18,
119
126
  SOL: 9,
120
127
  THOR: 8,
121
128
  XRD: 18,
129
+ XRP: 6,
122
130
  };
123
131
 
124
132
  export const BlockTimes: Record<Partial<Chain>, number> = {
@@ -137,10 +145,12 @@ export const BlockTimes: Record<Partial<Chain>, number> = {
137
145
  [Chain.Kujira]: 2.2,
138
146
  [Chain.Litecoin]: 150,
139
147
  [Chain.Maya]: 6,
148
+ [Chain.Near]: 1,
140
149
  [Chain.Optimism]: 2,
141
150
  [Chain.Polkadot]: 6,
142
151
  [Chain.Polygon]: 2.1,
143
152
  [Chain.Radix]: 5,
153
+ [Chain.Ripple]: 5,
144
154
  [Chain.Solana]: 0.4,
145
155
  [Chain.THORChain]: 6,
146
156
  };
@@ -156,6 +166,7 @@ export type EVMChain =
156
166
  | Chain.Ethereum
157
167
  | Chain.Optimism
158
168
  | Chain.Polygon;
169
+
159
170
  export const EVMChains = [
160
171
  Chain.Arbitrum,
161
172
  Chain.Avalanche,
@@ -182,6 +193,12 @@ export const UTXOChains = [
182
193
 
183
194
  export type CosmosChain = Chain.Cosmos | Chain.THORChain | Chain.Maya | Chain.Kujira;
184
195
  export const CosmosChains = [Chain.Cosmos, Chain.THORChain, Chain.Maya, Chain.Kujira] as const;
196
+ export const CosmosChainPrefixes = {
197
+ [Chain.Cosmos]: "cosmos",
198
+ [Chain.THORChain]: "thor",
199
+ [Chain.Maya]: "maya",
200
+ [Chain.Kujira]: "kujira",
201
+ } as Record<CosmosChain, string>;
185
202
 
186
203
  export const TCSupportedChains = [
187
204
  Chain.Avalanche,
@@ -206,28 +223,40 @@ export const MAYASupportedChains = [
206
223
 
207
224
  export const RPC_URLS: Record<Chain | StagenetChain, string> = {
208
225
  [Chain.Arbitrum]: "https://arb1.arbitrum.io/rpc",
209
- [Chain.Avalanche]: "https://avalanche-c-chain-rpc.publicnode.com",
226
+ [Chain.Avalanche]: "https://api.avax.network/ext/bc/C/rpc",
210
227
  [Chain.Base]: "https://base-rpc.publicnode.com",
211
228
  [Chain.BinanceSmartChain]: "https://bsc-dataseed.binance.org",
212
- [Chain.Bitcoin]: "https://bitcoin-rpc.publicnode.com",
213
229
  [Chain.BitcoinCash]: "https://node-router.thorswap.net/bitcoin-cash",
230
+ [Chain.Bitcoin]: "https://bitcoin-rpc.publicnode.com",
214
231
  [Chain.Chainflip]: "wss://mainnet-archive.chainflip.io",
215
232
  [Chain.Cosmos]: "https://node-router.thorswap.net/cosmos/rpc",
216
233
  [Chain.Dash]: "https://dash-rpc.publicnode.com",
217
234
  [Chain.Dogecoin]: "https://node-router.thorswap.net/dogecoin",
218
235
  [Chain.Ethereum]: "https://ethereum-rpc.publicnode.com",
219
236
  [Chain.Fiat]: "",
220
- [Chain.Kujira]: "https://rpc-kujira.synergynodes.com/",
237
+ [Chain.Kujira]: "https://kujira-rpc.ibs.team",
221
238
  [Chain.Litecoin]: "https://node-router.thorswap.net/litecoin",
222
239
  [Chain.Maya]: "https://tendermint.mayachain.info",
240
+ [Chain.Near]: "https://rpc.ankr.com/near",
223
241
  [Chain.Optimism]: "https://mainnet.optimism.io",
224
242
  [Chain.Polkadot]: "wss://rpc.polkadot.io",
225
243
  [Chain.Polygon]: "https://polygon-rpc.com",
226
244
  [Chain.Radix]: "https://radix-mainnet.rpc.grove.city/v1/326002fc/core",
245
+ [Chain.Ripple]: "wss://xrpl.ws/",
246
+ [Chain.Solana]: "https://solana-rpc.publicnode.com",
227
247
  [Chain.THORChain]: "https://rpc.thorswap.net",
228
- [StagenetChain.THORChain]: "https://stagenet-rpc.ninerealms.com",
229
248
  [StagenetChain.Maya]: "https://stagenet.tendermint.mayachain.info",
230
- [Chain.Solana]: "https://solana-rpc.publicnode.com",
249
+ [StagenetChain.THORChain]: "https://stagenet-rpc.ninerealms.com",
250
+ };
251
+
252
+ export const NODE_URLS: Record<
253
+ Chain.THORChain | Chain.Maya | StagenetChain.THORChain | StagenetChain.Maya,
254
+ string
255
+ > = {
256
+ [Chain.THORChain]: "https://thornode.thorswap.net",
257
+ [Chain.Maya]: "https://mayanode.mayachain.info",
258
+ [StagenetChain.THORChain]: "https://stagenet-thornode.ninerealms.com",
259
+ [StagenetChain.Maya]: "https://stagenet.mayanode.mayachain.info",
231
260
  };
232
261
 
233
262
  export const FALLBACK_URLS: Record<Chain | StagenetChain, string[]> = {
@@ -255,10 +284,11 @@ export const FALLBACK_URLS: Record<Chain | StagenetChain, string[]> = {
255
284
  [Chain.Dogecoin]: ["https://doge.getblock.io/mainnet", "https://dogecoin.publicnode.com"],
256
285
  [Chain.Ethereum]: ["https://eth.llamarpc.com", "https://rpc.ankr.com/eth"],
257
286
  [Chain.Fiat]: [],
258
- [Chain.Kujira]: ["https://kujira-rpc.polkachu.com", "https://kujira-rpc.ibs.team"],
287
+ [Chain.Kujira]: ["https://kujira-rpc.polkachu.com", "https://rpc-kujira.synergynodes.com/"],
259
288
  [Chain.Litecoin]: ["https://ltc.getblock.io/mainnet", "https://litecoin.publicnode.com"],
260
289
  [Chain.Maya]: ["https://tendermint.mayachain.info", "https://maya-tendermint.publicnode.com"],
261
290
  [StagenetChain.Maya]: [],
291
+ [Chain.Near]: ["https://1rpc.io/near"],
262
292
  [Chain.Optimism]: ["https://optimism.llamarpc.com", "https://1rpc.io/op"],
263
293
  [Chain.Polkadot]: [
264
294
  "wss://polkadot-rpc.dwellir.com",
@@ -266,7 +296,8 @@ export const FALLBACK_URLS: Record<Chain | StagenetChain, string[]> = {
266
296
  ],
267
297
  [Chain.Polygon]: ["https://polygon.llamarpc.com", "https://rpc.ankr.com/polygon"],
268
298
  [Chain.Radix]: ["https://mainnet.radixdlt.com", "https://radix-mainnet.rpc.grove.city/v1"],
269
- [Chain.THORChain]: ["https://thornode.ninerealms.com", "https://thornode.thorswap.net"],
299
+ [Chain.Ripple]: ["wss://s1.ripple.com/", "wss://s2.ripple.com/"],
300
+ [Chain.THORChain]: ["https://thornode.ninerealms.com", NODE_URLS[Chain.THORChain]],
270
301
  [StagenetChain.THORChain]: [],
271
302
  [Chain.Solana]: ["https://api.mainnet-beta.solana.com", "https://rpc.ankr.com/solana"],
272
303
  };
@@ -287,20 +318,18 @@ export const EXPLORER_URLS: Record<Chain, string> = {
287
318
  [Chain.Kujira]: "https://finder.kujira.network/kaiyo-1",
288
319
  [Chain.Litecoin]: "https://blockchair.com/litecoin",
289
320
  [Chain.Maya]: "https://www.mayascan.org",
321
+ [Chain.Near]: "https://nearblocks.io",
290
322
  [Chain.Optimism]: "https://optimistic.etherscan.io",
291
323
  [Chain.Polkadot]: "https://polkadot.subscan.io",
292
324
  [Chain.Polygon]: "https://polygonscan.com",
293
325
  [Chain.Radix]: "https://dashboard.radixdlt.com",
326
+ [Chain.Ripple]: "https://livenet.xrpl.org/",
294
327
  [Chain.THORChain]: "https://runescan.io",
295
328
  [Chain.Solana]: "https://solscan.io",
296
329
  };
297
330
 
298
331
  let RPCUrlsMerged = RPC_URLS;
299
332
 
300
- export const getRPCUrl = (chain: Chain | StagenetChain) => {
301
- return RPCUrlsMerged[chain];
302
- };
303
-
304
333
  const getRpcBody = (chain: Chain | StagenetChain) => {
305
334
  switch (chain) {
306
335
  case Chain.Arbitrum:
@@ -310,50 +339,26 @@ const getRpcBody = (chain: Chain | StagenetChain) => {
310
339
  case Chain.Ethereum:
311
340
  case Chain.Optimism:
312
341
  case Chain.Polygon:
313
- return {
314
- jsonrpc: "2.0",
315
- method: "eth_blockNumber",
316
- params: [],
317
- id: 1,
318
- };
342
+ return { id: 1, jsonrpc: "2.0", method: "eth_blockNumber", params: [] };
319
343
  case Chain.Bitcoin:
320
344
  case Chain.Dogecoin:
321
345
  case Chain.BitcoinCash:
322
346
  case Chain.Dash:
323
347
  case Chain.Litecoin:
324
- return {
325
- jsonrpc: "1.0",
326
- id: "test",
327
- method: "getblockchaininfo",
328
- params: [],
329
- };
348
+ return { id: "test", jsonrpc: "1.0", method: "getblockchaininfo", params: [] };
330
349
  case Chain.Cosmos:
331
350
  case Chain.Kujira:
332
351
  case Chain.Maya:
333
352
  case Chain.THORChain:
334
353
  case StagenetChain.Maya:
335
354
  case StagenetChain.THORChain:
336
- return {
337
- id: 1,
338
- jsonrpc: "2.0",
339
- method: "status",
340
- params: {},
341
- };
355
+ return { id: 1, jsonrpc: "2.0", method: "status", params: {} };
342
356
  case Chain.Polkadot:
343
- return {
344
- jsonrpc: "2.0",
345
- id: 1,
346
- method: "system_health",
347
- params: [],
348
- };
357
+ return { id: 1, jsonrpc: "2.0", method: "system_health", params: [] };
358
+ case Chain.Solana:
359
+ return { id: 1, jsonrpc: "2.0", method: "getHealth" };
349
360
  case Chain.Radix:
350
361
  return "";
351
- case Chain.Solana:
352
- return {
353
- jsonrpc: "2.0",
354
- id: 1,
355
- method: "getHealth",
356
- };
357
362
  default:
358
363
  throw new Error(`Unsupported chain: ${chain}`);
359
364
  }
@@ -437,14 +442,6 @@ export const ChainToChainId = chains.reduce(
437
442
  {} as { [key in Chain]: ChainId },
438
443
  );
439
444
 
440
- export const ChainToRPC = chains.reduce(
441
- (acc, chain) => {
442
- acc[chain] = getRPCUrl(chain);
443
- return acc;
444
- },
445
- {} as { [key in Chain]: string },
446
- );
447
-
448
445
  export const ChainToHexChainId = chains.reduce(
449
446
  (acc, chain) => {
450
447
  const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;
@@ -1,96 +1,9 @@
1
- import type { RadixNetwork } from "@swapkit/toolbox-radix";
2
1
  import type { Chain } from "./chains";
3
- import type { ChainApis } from "./sdk";
4
2
  import type { ChainWallet, CryptoChain } from "./wallet";
5
3
 
6
- /**
7
- * @optional for swapkit API access
8
- */
9
- export type SwapkitConfig = {
10
- swapkitConfig?: {
11
- isDev?: boolean;
12
- swapkitApiKey?: string;
13
- useHashedApiKey?: boolean;
14
- referer?: string;
15
- };
16
- swapkitApiKey?: string;
17
- };
18
-
19
- export type ConnectConfig = SwapkitConfig & {
20
- stagenet?: boolean;
21
- /**
22
- * @required
23
- */
24
- thorswapApiKey?: string;
25
- /**
26
- * @optional for non ETH EVM chains - if not set you must use alchemyApi
27
- */
28
- covalentApiKey?: string;
29
- /**
30
- * @required for ETH
31
- */
32
- ethplorerApiKey?: string;
33
- /**
34
- * @required for BTC, BCH, LTC, DOGE
35
- */
36
- blockchairApiKey?: string;
37
- /**
38
- * @required for Walletconnect
39
- */
40
- walletConnectProjectId?: string;
41
- /**
42
- * @optional for Trezor config
43
- */
44
- trezorManifest?: {
45
- email: string;
46
- appUrl: string;
47
- };
48
- /**
49
- * @optional for KeepKey config
50
- */
51
- keepkeyConfig?: {
52
- apiKey: string;
53
- pairingInfo: {
54
- name: string;
55
- imageUrl: string;
56
- basePath: string;
57
- url: string;
58
- };
59
- };
60
- /**
61
- * @deprecated use chainflipBrokerConfig
62
- * @optional for setting the chainflip broker url
63
- */
64
- chainflipBrokerUrl?: string;
65
- /**
66
- * @optional for setting the chainflip broker url
67
- */
68
- chainflipBrokerConfig?: {
69
- useChainflipSDKBroker?: boolean;
70
- chainflipBrokerUrl: string;
71
- };
72
- /**
73
- * @optional for setting the radix wallet
74
- */
75
- radixDappConfig?: {
76
- dAppDefinitionAddress: string;
77
- applicationName: string;
78
- applicationVersion: string;
79
- network: RadixNetwork;
80
- };
81
-
82
- /**
83
- * @optional for setting the kado api key
84
- */
85
- kadoApiKey?: string;
86
- };
87
-
88
- export type ConnectWalletParams<M = { [key in string]: any }> = {
89
- addChain: <T extends CryptoChain>(params: ChainWallet<T> & M) => void;
90
- apis: ChainApis;
91
- config: ConnectConfig;
92
- rpcUrls: { [chain in CryptoChain]?: string };
93
- };
4
+ export type AddChainType<M = { [key in string]: any }> = <T extends CryptoChain>(
5
+ params: Omit<ChainWallet<T>, "balance"> & M,
6
+ ) => void;
94
7
 
95
8
  export type Witness = {
96
9
  value: number;
@@ -1,3 +1,4 @@
1
+ import { derivationPathToString } from "../utils/derivationPath";
1
2
  import type { Chain } from "./chains";
2
3
 
3
4
  export enum ContractAddress {
@@ -10,30 +11,6 @@ export enum ContractAddress {
10
11
  OP = "0x4200000000000000000000000000000000000042",
11
12
  }
12
13
 
13
- export enum DerivationPath {
14
- ARB = "m/44'/60'/0'/0",
15
- AVAX = "m/44'/60'/0'/0",
16
- BASE = "m/44'/60'/0'/0",
17
- BCH = "m/44'/145'/0'/0",
18
- BSC = "m/44'/60'/0'/0",
19
- BTC = "m/84'/0'/0'/0",
20
- DASH = "m/44'/5'/0'/0",
21
- DOGE = "m/44'/3'/0'/0",
22
- DOT = "////",
23
- ETH = "m/44'/60'/0'/0",
24
- FLIP = "////",
25
- GAIA = "m/44'/118'/0'/0",
26
- KUJI = "m/44'/118'/0'/0",
27
- LTC = "m/84'/2'/0'/0",
28
- MATIC = "m/44'/60'/0'/0",
29
- MAYA = "m/44'/931'/0'/0",
30
- OP = "m/44'/60'/0'/0",
31
- SOL = "m/44'/501'/0'/0",
32
- THOR = "m/44'/931'/0'/0",
33
- XRD = "////",
34
- FIAT = "////",
35
- }
36
-
37
14
  export type DerivationPathArray = [number, number, number, number, number?];
38
15
 
39
16
  export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
@@ -51,6 +28,7 @@ export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
51
28
  LTC: [84, 2, 0, 0, 0],
52
29
  MATIC: [44, 60, 0, 0, 0],
53
30
  MAYA: [44, 931, 0, 0, 0],
31
+ NEAR: [44, 397, 0, 0, 0],
54
32
  OP: [44, 60, 0, 0, 0],
55
33
  SOL: [44, 501, 0, 0, 0],
56
34
  THOR: [44, 931, 0, 0, 0],
@@ -60,4 +38,13 @@ export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
60
38
  FIAT: [0, 0, 0, 0, 0],
61
39
  FLIP: [0, 0, 0, 0, 0],
62
40
  XRD: [0, 0, 0, 0, 0],
41
+ XRP: [44, 144, 0, 0, 0],
63
42
  };
43
+
44
+ export const DerivationPath: Record<Chain, string> = Object.keys(NetworkDerivationPath).reduce(
45
+ (acc, key) => {
46
+ acc[key as Chain] = derivationPathToString(NetworkDerivationPath[key as Chain]);
47
+ return acc;
48
+ },
49
+ {} as Record<Chain, string>,
50
+ );
@@ -1,9 +1,8 @@
1
1
  export * from "./chains";
2
2
  export * from "./commonTypes";
3
3
  export * from "./derivationPath";
4
- export * from "./network";
5
- export * from "./tokens";
6
- export * from "./wallet";
7
- export * from "./sdk";
8
4
  export * from "./quotes";
9
5
  export * from "./radix";
6
+ export * from "./sdk";
7
+ export * from "./tokens";
8
+ export * from "./wallet";
@@ -170,5 +170,4 @@ export enum FeeTypeEnum {
170
170
  AFFILIATE = "affiliate",
171
171
  TAX = "tax",
172
172
  PRIORITY = "priority",
173
- SERVICE = "service",
174
173
  }
@@ -1,5 +1,5 @@
1
1
  export type RadixCoreStateResourceDTO = {
2
- at_ledger_state?: any; // not needed
2
+ at_ledger_state?: any;
3
3
  manager: {
4
4
  resource_type: string;
5
5
  divisibility: {
@@ -10,5 +10,5 @@ export type RadixCoreStateResourceDTO = {
10
10
  };
11
11
  };
12
12
  };
13
- owner_role?: any; // not needed
13
+ owner_role?: any;
14
14
  };
package/src/types/sdk.ts CHANGED
@@ -1,34 +1,4 @@
1
- import type { CovalentApiType, EthplorerApiType } from "@swapkit/toolbox-evm";
2
- import type { BlockchairApiType } from "@swapkit/toolbox-utxo";
3
-
4
- import type { AlchemyApiType } from "@swapkit/toolbox-evm/src/api/alchemyApi";
5
1
  import type { AssetValue } from "../modules/assetValue";
6
- import type { Chain, CosmosChain, UTXOChain } from "./chains";
7
-
8
- type NonEthEvmChains =
9
- | Chain.Base
10
- | Chain.BinanceSmartChain
11
- | Chain.Polygon
12
- | Chain.Avalanche
13
- | Chain.Arbitrum
14
- | Chain.Optimism;
15
-
16
- export type ChainApis = { [key in NonEthEvmChains]?: CovalentApiType | AlchemyApiType } & {
17
- [key in Chain.Ethereum]?: EthplorerApiType;
18
- } & {
19
- [key in UTXOChain]?: BlockchairApiType;
20
- } & {
21
- [key in CosmosChain | Chain.Solana | Chain.Radix | Chain.Polkadot | Chain.Chainflip]?: string;
22
- } & {
23
- [key in Chain.Fiat]?: undefined;
24
- };
25
-
26
- export type ChainApi =
27
- | EthplorerApiType
28
- | CovalentApiType
29
- | AlchemyApiType
30
- | BlockchairApiType
31
- | string;
32
2
 
33
3
  export type GenericSwapParams<T = unknown> = {
34
4
  buyAsset?: AssetValue;
@@ -57,13 +27,6 @@ export type ApproveReturnType<T extends ApproveMode> = T extends "checkOnly"
57
27
  ? Promise<boolean>
58
28
  : Promise<string>;
59
29
 
60
- export type WalletTxParams = {
61
- feeOptionKey?: FeeOption;
62
- from?: string;
63
- memo?: string; // optional memo to pass
64
- recipient: string;
65
- };
66
-
67
30
  export enum MemoType {
68
31
  NAME_REGISTER = "~",
69
32
  BOND = "BOND",
@@ -75,7 +38,4 @@ export enum MemoType {
75
38
  CLOSE_LOAN = "$-",
76
39
  RUNEPOOL_DEPOSIT = "POOL+",
77
40
  RUNEPOOL_WITHDRAW = "POOL-",
78
- CLAIM_TCY = "tcy",
79
- STAKE_TCY = "tcy+",
80
- UNSTAKE_TCY = "tcy-",
81
41
  }
@@ -1,20 +1,17 @@
1
- import type { tokenLists } from "@swapkit/tokens";
1
+ import type { tokenLists } from "@swapkit/helpers/tokens";
2
2
 
3
3
  export type TokenTax = { buy: number; sell: number };
4
4
 
5
- export type TokenNames =
6
- | (typeof tokenLists)["CaviarV1List"]["tokens"][number]["identifier"]
7
- | (typeof tokenLists)["ChainflipList"]["tokens"][number]["identifier"]
8
- // | (typeof tokenLists)["JupiterList"]["tokens"][number]["identifier"]
9
- | (typeof tokenLists)["KadoList"]["tokens"][number]["identifier"]
10
- | (typeof tokenLists)["MayaList"]["tokens"][number]["identifier"]
11
- // | (typeof tokenLists)['OciswapV1List']["tokens"][number]["identifier"]
12
- | (typeof tokenLists)["OneInchList"]["tokens"][number]["identifier"]
13
- | (typeof tokenLists)["OpenOceanV2List"]["tokens"][number]["identifier"]
14
- | (typeof tokenLists)["PancakeswapList"]["tokens"][number]["identifier"]
15
- | (typeof tokenLists)["PangolinList"]["tokens"][number]["identifier"]
16
- | (typeof tokenLists)["SushiswapList"]["tokens"][number]["identifier"]
17
- | (typeof tokenLists)["ThorchainList"]["tokens"][number]["identifier"]
18
- | (typeof tokenLists)["TraderjoeV2List"]["tokens"][number]["identifier"]
19
- | (typeof tokenLists)["UniswapV2List"]["tokens"][number]["identifier"]
20
- | (typeof tokenLists)["UniswapV3List"]["tokens"][number]["identifier"];
5
+ type ListOfTokens = Exclude<
6
+ keyof typeof tokenLists,
7
+ | "JupiterList"
8
+ | "CamelotV3List"
9
+ | "OneInchList"
10
+ | "OpenOceanV2List"
11
+ | "PancakeswapList"
12
+ | "PangolinList"
13
+ | "SushiswapList"
14
+ | "TraderjoeV2List"
15
+ >;
16
+
17
+ export type TokenNames = (typeof tokenLists)[ListOfTokens]["tokens"][number]["identifier"];