@swapkit/helpers 4.0.0-beta.33 → 4.0.0-beta.34

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 (251) hide show
  1. package/dist/api/index.js +2 -2
  2. package/dist/api/index.js.map +1 -1
  3. package/dist/{chunk-ganzk321.js → chunk-hm14bfyg.js} +3 -3
  4. package/dist/{chunk-fazw0jvt.js.map → chunk-hm14bfyg.js.map} +1 -1
  5. package/dist/chunk-vb4wtm2w.js +4 -0
  6. package/dist/{chunk-ganzk321.js.map → chunk-vb4wtm2w.js.map} +1 -1
  7. package/dist/contracts.cjs +4 -0
  8. package/dist/contracts.cjs.map +10 -0
  9. package/dist/contracts.js +4 -0
  10. package/dist/contracts.js.map +10 -0
  11. package/dist/index.cjs +3 -3
  12. package/dist/index.cjs.map +9 -9
  13. package/dist/index.js +3 -3
  14. package/dist/index.js.map +9 -9
  15. package/dist/tokens.cjs +4 -0
  16. package/dist/tokens.cjs.map +10 -0
  17. package/dist/tokens.js +4 -0
  18. package/dist/tokens.js.map +10 -0
  19. package/dist/types/api/index.d.ts +238 -0
  20. package/dist/types/api/index.d.ts.map +1 -0
  21. package/dist/types/api/microgard/endpoints.d.ts +25 -0
  22. package/dist/types/api/microgard/endpoints.d.ts.map +1 -0
  23. package/dist/types/api/microgard/types.d.ts +56 -0
  24. package/dist/types/api/microgard/types.d.ts.map +1 -0
  25. package/dist/types/api/midgard/endpoints.d.ts +35 -0
  26. package/dist/types/api/midgard/endpoints.d.ts.map +1 -0
  27. package/dist/types/api/midgard/types.d.ts +102 -0
  28. package/dist/types/api/midgard/types.d.ts.map +1 -0
  29. package/dist/types/api/swapkitApi/endpoints.d.ts +194 -0
  30. package/dist/types/api/swapkitApi/endpoints.d.ts.map +1 -0
  31. package/dist/types/api/swapkitApi/types.d.ts +7238 -0
  32. package/dist/types/api/swapkitApi/types.d.ts.map +1 -0
  33. package/dist/types/api/thornode/endpoints.d.ts +31 -0
  34. package/dist/types/api/thornode/endpoints.d.ts.map +1 -0
  35. package/dist/types/api/thornode/types.d.ts +264 -0
  36. package/dist/types/api/thornode/types.d.ts.map +1 -0
  37. package/dist/types/api/thorswapStatic/endpoints.d.ts +7 -0
  38. package/dist/types/api/thorswapStatic/endpoints.d.ts.map +1 -0
  39. package/dist/types/api/thorswapStatic/types.d.ts +22 -0
  40. package/dist/types/api/thorswapStatic/types.d.ts.map +1 -0
  41. package/dist/types/contracts.d.ts +2 -0
  42. package/dist/types/contracts.d.ts.map +1 -0
  43. package/{src/index.ts → dist/types/index.d.ts} +3 -4
  44. package/dist/types/index.d.ts.map +1 -0
  45. package/dist/types/modules/assetValue.d.ts +71 -0
  46. package/dist/types/modules/assetValue.d.ts.map +1 -0
  47. package/dist/types/modules/bigIntArithmetics.d.ts +56 -0
  48. package/dist/types/modules/bigIntArithmetics.d.ts.map +1 -0
  49. package/dist/types/modules/feeMultiplier.d.ts +45 -0
  50. package/dist/types/modules/feeMultiplier.d.ts.map +1 -0
  51. package/dist/types/modules/requestClient.d.ts +22 -0
  52. package/dist/types/modules/requestClient.d.ts.map +1 -0
  53. package/dist/types/modules/swapKitConfig.d.ts +98 -0
  54. package/dist/types/modules/swapKitConfig.d.ts.map +1 -0
  55. package/dist/types/modules/swapKitError.d.ts +829 -0
  56. package/dist/types/modules/swapKitError.d.ts.map +1 -0
  57. package/dist/types/modules/swapKitNumber.d.ts +7 -0
  58. package/dist/types/modules/swapKitNumber.d.ts.map +1 -0
  59. package/dist/types/tokens.d.ts +2 -0
  60. package/dist/types/tokens.d.ts.map +1 -0
  61. package/dist/types/types/chains.d.ts +187 -0
  62. package/dist/types/types/chains.d.ts.map +1 -0
  63. package/dist/types/types/commonTypes.d.ts +37 -0
  64. package/dist/types/types/commonTypes.d.ts.map +1 -0
  65. package/dist/types/types/derivationPath.d.ts +17 -0
  66. package/dist/types/types/derivationPath.d.ts.map +1 -0
  67. package/dist/types/types/errors/apiV1.d.ts +2 -0
  68. package/dist/types/types/errors/apiV1.d.ts.map +1 -0
  69. package/{src/types/index.ts → dist/types/types/index.d.ts} +1 -1
  70. package/dist/types/types/index.d.ts.map +1 -0
  71. package/dist/types/types/quotes.d.ts +170 -0
  72. package/dist/types/types/quotes.d.ts.map +1 -0
  73. package/dist/types/types/radix.d.ts +15 -0
  74. package/dist/types/types/radix.d.ts.map +1 -0
  75. package/dist/types/types/sdk.d.ts +35 -0
  76. package/dist/types/types/sdk.d.ts.map +1 -0
  77. package/dist/types/types/wallet.d.ts +121 -0
  78. package/dist/types/types/wallet.d.ts.map +1 -0
  79. package/dist/types/utils/asset.d.ts +40 -0
  80. package/dist/types/utils/asset.d.ts.map +1 -0
  81. package/dist/types/utils/derivationPath.d.ts +19 -0
  82. package/dist/types/utils/derivationPath.d.ts.map +1 -0
  83. package/dist/types/utils/explorerUrls.d.ts +10 -0
  84. package/dist/types/utils/explorerUrls.d.ts.map +1 -0
  85. package/dist/types/utils/liquidity.d.ts +59 -0
  86. package/dist/types/utils/liquidity.d.ts.map +1 -0
  87. package/dist/types/utils/memo.d.ts +65 -0
  88. package/dist/types/utils/memo.d.ts.map +1 -0
  89. package/dist/types/utils/others.d.ts +9 -0
  90. package/dist/types/utils/others.d.ts.map +1 -0
  91. package/dist/types/utils/validators.d.ts +3 -0
  92. package/dist/types/utils/validators.d.ts.map +1 -0
  93. package/dist/types/utils/wallets.d.ts +32 -0
  94. package/dist/types/utils/wallets.d.ts.map +1 -0
  95. package/package.json +14 -15
  96. package/dist/chunk-06q78xy3.js +0 -4
  97. package/dist/chunk-06q78xy3.js.map +0 -10
  98. package/dist/chunk-0q5vvg5c.js +0 -5
  99. package/dist/chunk-0q5vvg5c.js.map +0 -10
  100. package/dist/chunk-18bxh1n7.js +0 -5
  101. package/dist/chunk-18bxh1n7.js.map +0 -10
  102. package/dist/chunk-3qya5ng9.js +0 -4
  103. package/dist/chunk-3qya5ng9.js.map +0 -10
  104. package/dist/chunk-4yqymkbp.js +0 -5
  105. package/dist/chunk-4yqymkbp.js.map +0 -10
  106. package/dist/chunk-50gpwcq9.js +0 -4
  107. package/dist/chunk-50gpwcq9.js.map +0 -10
  108. package/dist/chunk-6atq9cs7.js +0 -4
  109. package/dist/chunk-6atq9cs7.js.map +0 -10
  110. package/dist/chunk-6m0d5pv4.js +0 -5
  111. package/dist/chunk-6m0d5pv4.js.map +0 -10
  112. package/dist/chunk-8x46g3wq.js +0 -5
  113. package/dist/chunk-8x46g3wq.js.map +0 -10
  114. package/dist/chunk-92sk0g47.js +0 -5
  115. package/dist/chunk-92sk0g47.js.map +0 -10
  116. package/dist/chunk-9f2b3enk.js +0 -5
  117. package/dist/chunk-9f2b3enk.js.map +0 -10
  118. package/dist/chunk-adrafsdk.js +0 -5
  119. package/dist/chunk-adrafsdk.js.map +0 -10
  120. package/dist/chunk-b1hang9z.js +0 -5
  121. package/dist/chunk-b1hang9z.js.map +0 -10
  122. package/dist/chunk-becdmywt.js +0 -4
  123. package/dist/chunk-becdmywt.js.map +0 -10
  124. package/dist/chunk-ehz0t9d1.js +0 -4
  125. package/dist/chunk-ehz0t9d1.js.map +0 -10
  126. package/dist/chunk-fazw0jvt.js +0 -4
  127. package/dist/chunk-fm9ycn0h.js +0 -5
  128. package/dist/chunk-fm9ycn0h.js.map +0 -10
  129. package/dist/chunk-g67e2r57.js +0 -4
  130. package/dist/chunk-g67e2r57.js.map +0 -10
  131. package/dist/chunk-he3vy8gt.js +0 -4
  132. package/dist/chunk-he3vy8gt.js.map +0 -10
  133. package/dist/chunk-jjayk2y5.js +0 -4
  134. package/dist/chunk-jjayk2y5.js.map +0 -10
  135. package/dist/chunk-mmyv2vsv.js +0 -5
  136. package/dist/chunk-mmyv2vsv.js.map +0 -10
  137. package/dist/chunk-phev7aw7.js +0 -4
  138. package/dist/chunk-phev7aw7.js.map +0 -10
  139. package/dist/chunk-rhqk87p2.js +0 -5
  140. package/dist/chunk-rhqk87p2.js.map +0 -10
  141. package/dist/chunk-rnv7fdjk.js +0 -4
  142. package/dist/chunk-rnv7fdjk.js.map +0 -10
  143. package/dist/chunk-rwh98p1c.js +0 -4
  144. package/dist/chunk-rwh98p1c.js.map +0 -10
  145. package/dist/chunk-v9zj2gsj.js +0 -5
  146. package/dist/chunk-v9zj2gsj.js.map +0 -10
  147. package/dist/chunk-vv5bgsn8.js +0 -4
  148. package/dist/chunk-vv5bgsn8.js.map +0 -10
  149. package/dist/chunk-vwh9jfxn.js +0 -5
  150. package/dist/chunk-vwh9jfxn.js.map +0 -10
  151. package/dist/chunk-x0rqy75t.js +0 -4
  152. package/dist/chunk-x0rqy75t.js.map +0 -10
  153. package/dist/contracts/index.cjs +0 -4
  154. package/dist/contracts/index.cjs.map +0 -38
  155. package/dist/contracts/index.js +0 -4
  156. package/dist/contracts/index.js.map +0 -38
  157. package/dist/tokens/index.cjs +0 -4
  158. package/dist/tokens/index.cjs.map +0 -10
  159. package/dist/tokens/index.js +0 -4
  160. package/dist/tokens/index.js.map +0 -10
  161. package/src/api/index.ts +0 -19
  162. package/src/api/microgard/endpoints.ts +0 -83
  163. package/src/api/microgard/types.ts +0 -57
  164. package/src/api/midgard/endpoints.ts +0 -90
  165. package/src/api/midgard/types.ts +0 -106
  166. package/src/api/swapkitApi/endpoints.ts +0 -193
  167. package/src/api/swapkitApi/types.ts +0 -635
  168. package/src/api/thornode/endpoints.ts +0 -116
  169. package/src/api/thornode/types.ts +0 -276
  170. package/src/api/thorswapStatic/endpoints.ts +0 -46
  171. package/src/api/thorswapStatic/types.ts +0 -18
  172. package/src/contracts/abis/avaxGeneric.ts +0 -92
  173. package/src/contracts/abis/avaxWoofi.ts +0 -145
  174. package/src/contracts/abis/bscGeneric.ts +0 -106
  175. package/src/contracts/abis/chainflipGateway.ts +0 -330
  176. package/src/contracts/abis/erc20.ts +0 -99
  177. package/src/contracts/abis/ethGeneric.ts +0 -92
  178. package/src/contracts/abis/mayaEvmVaults.ts +0 -331
  179. package/src/contracts/abis/pancakeV2.ts +0 -145
  180. package/src/contracts/abis/pangolin.ts +0 -120
  181. package/src/contracts/abis/sushiswap.ts +0 -120
  182. package/src/contracts/abis/tcEthVault.ts +0 -650
  183. package/src/contracts/abis/traderJoe.ts +0 -120
  184. package/src/contracts/abis/uniswapV2.ts +0 -120
  185. package/src/contracts/abis/uniswapV2Leg.ts +0 -128
  186. package/src/contracts/abis/uniswapV3_100.ts +0 -128
  187. package/src/contracts/abis/uniswapV3_10000.ts +0 -128
  188. package/src/contracts/abis/uniswapV3_3000.ts +0 -128
  189. package/src/contracts/abis/uniswapV3_500.ts +0 -128
  190. package/src/contracts/index.ts +0 -95
  191. package/src/contracts/routers/index.ts +0 -58
  192. package/src/contracts/routers/kyber.ts +0 -402
  193. package/src/contracts/routers/oneinch.ts +0 -2188
  194. package/src/contracts/routers/pancakeswap.ts +0 -340
  195. package/src/contracts/routers/pangolin.ts +0 -340
  196. package/src/contracts/routers/sushiswap.ts +0 -340
  197. package/src/contracts/routers/traderJoe.ts +0 -340
  198. package/src/contracts/routers/uniswapv2.ts +0 -340
  199. package/src/contracts/routers/uniswapv3.ts +0 -254
  200. package/src/contracts/routers/woofi.ts +0 -171
  201. package/src/modules/__tests__/assetValue.test.ts +0 -877
  202. package/src/modules/__tests__/bigIntArithmetics.test.ts +0 -30
  203. package/src/modules/__tests__/swapKitConfig.test.ts +0 -37
  204. package/src/modules/__tests__/swapKitNumber.test.ts +0 -560
  205. package/src/modules/assetValue.ts +0 -387
  206. package/src/modules/bigIntArithmetics.ts +0 -436
  207. package/src/modules/feeMultiplier.ts +0 -87
  208. package/src/modules/requestClient.ts +0 -83
  209. package/src/modules/swapKitConfig.ts +0 -143
  210. package/src/modules/swapKitError.ts +0 -442
  211. package/src/modules/swapKitNumber.ts +0 -16
  212. package/src/tokens/index.ts +0 -15
  213. package/src/tokens/lists/camelot_v3.ts +0 -16060
  214. package/src/tokens/lists/caviar_v1.ts +0 -1704
  215. package/src/tokens/lists/chainflip.ts +0 -104
  216. package/src/tokens/lists/index.ts +0 -14
  217. package/src/tokens/lists/jupiter.ts +0 -33563
  218. package/src/tokens/lists/mayachain.ts +0 -509
  219. package/src/tokens/lists/near.ts +0 -458
  220. package/src/tokens/lists/oneinch.ts +0 -15006
  221. package/src/tokens/lists/openocean_v2.ts +0 -12434
  222. package/src/tokens/lists/pancakeswap.ts +0 -6136
  223. package/src/tokens/lists/pangolin_v1.ts +0 -75
  224. package/src/tokens/lists/sushiswap_v2.ts +0 -595
  225. package/src/tokens/lists/thorchain.ts +0 -748
  226. package/src/tokens/lists/traderjoe_v2.ts +0 -594
  227. package/src/tokens/lists/uniswap_v2.ts +0 -11484
  228. package/src/tokens/lists/uniswap_v3.ts +0 -19424
  229. package/src/types/chains.ts +0 -555
  230. package/src/types/commonTypes.ts +0 -58
  231. package/src/types/derivationPath.ts +0 -58
  232. package/src/types/errors/apiV1.ts +0 -0
  233. package/src/types/quotes.ts +0 -172
  234. package/src/types/radix.ts +0 -14
  235. package/src/types/sdk.ts +0 -42
  236. package/src/types/tokens.ts +0 -17
  237. package/src/types/wallet.ts +0 -166
  238. package/src/utils/__tests__/asset.test.ts +0 -193
  239. package/src/utils/__tests__/derivationPath.test.ts +0 -16
  240. package/src/utils/__tests__/memo.test.ts +0 -103
  241. package/src/utils/__tests__/others.test.ts +0 -88
  242. package/src/utils/__tests__/validators.test.ts +0 -24
  243. package/src/utils/asset.ts +0 -231
  244. package/src/utils/derivationPath.ts +0 -98
  245. package/src/utils/liquidity.ts +0 -179
  246. package/src/utils/memo.ts +0 -143
  247. package/src/utils/others.ts +0 -86
  248. package/src/utils/plugin.ts +0 -13
  249. package/src/utils/tokens.ts +0 -73
  250. package/src/utils/validators.ts +0 -32
  251. package/src/utils/wallets.ts +0 -276
@@ -1,555 +0,0 @@
1
- import { match } from "ts-pattern";
2
- import { SwapKitError } from "../modules/swapKitError";
3
-
4
- export enum Chain {
5
- Arbitrum = "ARB",
6
- Aurora = "AURORA",
7
- Avalanche = "AVAX",
8
- Base = "BASE",
9
- Berachain = "BERA",
10
- BinanceSmartChain = "BSC",
11
- Bitcoin = "BTC",
12
- BitcoinCash = "BCH",
13
- Cosmos = "GAIA",
14
- Dash = "DASH",
15
- Dogecoin = "DOGE",
16
- Ethereum = "ETH",
17
- Fiat = "FIAT",
18
- Gnosis = "GNO",
19
- Kujira = "KUJI",
20
- Litecoin = "LTC",
21
- Maya = "MAYA",
22
- Near = "NEAR",
23
- Optimism = "OP",
24
- Polkadot = "DOT",
25
- Chainflip = "FLIP",
26
- Polygon = "POL",
27
- Radix = "XRD",
28
- Ripple = "XRP",
29
- THORChain = "THOR",
30
- Solana = "SOL",
31
- Tron = "TRX",
32
- Zcash = "ZEC",
33
- }
34
-
35
- export enum StagenetChain {
36
- THORChain = "THOR_STAGENET",
37
- Maya = "MAYA_STAGENET",
38
- }
39
-
40
- export enum ChainId {
41
- Arbitrum = "42161",
42
- ArbitrumHex = "0xa4b1",
43
- Aurora = "1313161554",
44
- AuroraHex = "0x4e454152",
45
- Avalanche = "43114",
46
- AvalancheHex = "0xa86a",
47
- Base = "8453",
48
- BaseHex = "0x2105",
49
- Berachain = "80094",
50
- BerachainHex = "0x138de",
51
- BinanceSmartChain = "56",
52
- BinanceSmartChainHex = "0x38",
53
- Bitcoin = "bitcoin",
54
- BitcoinCash = "bitcoincash",
55
- Chainflip = "chainflip",
56
- Cosmos = "cosmoshub-4",
57
- Dash = "dash",
58
- Dogecoin = "dogecoin",
59
- Ethereum = "1",
60
- EthereumHex = "0x1",
61
- Fiat = "fiat",
62
- Gnosis = "100",
63
- GnosisHex = "0x64",
64
- Kujira = "kaiyo-1",
65
- Litecoin = "litecoin",
66
- Maya = "mayachain-mainnet-v1",
67
- MayaStagenet = "mayachain-stagenet-v1",
68
- Near = "near",
69
- Optimism = "10",
70
- OptimismHex = "0xa",
71
- Polkadot = "polkadot",
72
- Polygon = "137",
73
- PolygonHex = "0x89",
74
- Radix = "radix-mainnet",
75
- Ripple = "ripple",
76
- THORChain = "thorchain-1",
77
- THORChainStagenet = "thorchain-stagenet-v2",
78
- Solana = "solana",
79
- Tron = "728126428",
80
- TronHex = "0x2b6653dc",
81
- Zcash = "zcash",
82
- }
83
-
84
- export const ChainIdToChain: Record<ChainId, Chain> = {
85
- [ChainId.ArbitrumHex]: Chain.Arbitrum,
86
- [ChainId.Arbitrum]: Chain.Arbitrum,
87
- [ChainId.AuroraHex]: Chain.Aurora,
88
- [ChainId.Aurora]: Chain.Aurora,
89
- [ChainId.AvalancheHex]: Chain.Avalanche,
90
- [ChainId.Avalanche]: Chain.Avalanche,
91
- [ChainId.BaseHex]: Chain.Base,
92
- [ChainId.Base]: Chain.Base,
93
- [ChainId.BerachainHex]: Chain.Berachain,
94
- [ChainId.Berachain]: Chain.Berachain,
95
- [ChainId.BinanceSmartChainHex]: Chain.BinanceSmartChain,
96
- [ChainId.BinanceSmartChain]: Chain.BinanceSmartChain,
97
- [ChainId.BitcoinCash]: Chain.BitcoinCash,
98
- [ChainId.Bitcoin]: Chain.Bitcoin,
99
- [ChainId.Chainflip]: Chain.Chainflip,
100
- [ChainId.Cosmos]: Chain.Cosmos,
101
- [ChainId.Dash]: Chain.Dash,
102
- [ChainId.Dogecoin]: Chain.Dogecoin,
103
- [ChainId.EthereumHex]: Chain.Ethereum,
104
- [ChainId.Ethereum]: Chain.Ethereum,
105
- [ChainId.Fiat]: Chain.Fiat,
106
- [ChainId.GnosisHex]: Chain.Gnosis,
107
- [ChainId.Gnosis]: Chain.Gnosis,
108
- [ChainId.Kujira]: Chain.Kujira,
109
- [ChainId.Litecoin]: Chain.Litecoin,
110
- [ChainId.MayaStagenet]: Chain.Maya,
111
- [ChainId.Maya]: Chain.Maya,
112
- [ChainId.Near]: Chain.Near,
113
- [ChainId.OptimismHex]: Chain.Optimism,
114
- [ChainId.Optimism]: Chain.Optimism,
115
- [ChainId.Polkadot]: Chain.Polkadot,
116
- [ChainId.PolygonHex]: Chain.Polygon,
117
- [ChainId.Polygon]: Chain.Polygon,
118
- [ChainId.Radix]: Chain.Radix,
119
- [ChainId.Ripple]: Chain.Ripple,
120
- [ChainId.Solana]: Chain.Solana,
121
- [ChainId.THORChainStagenet]: Chain.THORChain,
122
- [ChainId.THORChain]: Chain.THORChain,
123
- [ChainId.Tron]: Chain.Tron,
124
- [ChainId.TronHex]: Chain.Tron,
125
- [ChainId.Zcash]: Chain.Zcash,
126
- };
127
-
128
- type ChainNameType = keyof typeof Chain;
129
- const chainNames = Object.keys(Chain) as ChainNameType[];
130
- const chains = Object.values(Chain) as Chain[];
131
-
132
- export const BaseDecimal: Record<Chain, number> = {
133
- ARB: 18,
134
- AURORA: 18,
135
- AVAX: 18,
136
- BASE: 18,
137
- BCH: 8,
138
- BERA: 18,
139
- BSC: 18,
140
- BTC: 8,
141
- DASH: 8,
142
- DOGE: 8,
143
- DOT: 10,
144
- ETH: 18,
145
- FIAT: 2,
146
- FLIP: 18,
147
- GAIA: 6,
148
- GNO: 18,
149
- KUJI: 6,
150
- LTC: 8,
151
- POL: 18,
152
- MAYA: 8,
153
- NEAR: 24,
154
- OP: 18,
155
- SOL: 9,
156
- THOR: 8,
157
- TRX: 6,
158
- XRD: 18,
159
- XRP: 6,
160
- ZEC: 8,
161
- };
162
-
163
- export const BlockTimes: Record<Partial<Chain>, number> = {
164
- [Chain.Arbitrum]: 0.3,
165
- [Chain.Aurora]: 1,
166
- [Chain.Avalanche]: 3,
167
- [Chain.Base]: 2,
168
- [Chain.Berachain]: 2,
169
- [Chain.BinanceSmartChain]: 3,
170
- [Chain.Bitcoin]: 600,
171
- [Chain.BitcoinCash]: 600,
172
- [Chain.Chainflip]: 5,
173
- [Chain.Cosmos]: 2,
174
- [Chain.Dash]: 150,
175
- [Chain.Dogecoin]: 600,
176
- [Chain.Ethereum]: 12.5,
177
- [Chain.Fiat]: 60,
178
- [Chain.Gnosis]: 5.2,
179
- [Chain.Kujira]: 2.2,
180
- [Chain.Litecoin]: 150,
181
- [Chain.Maya]: 6,
182
- [Chain.Near]: 1,
183
- [Chain.Optimism]: 2,
184
- [Chain.Polkadot]: 6,
185
- [Chain.Polygon]: 2.1,
186
- [Chain.Radix]: 5,
187
- [Chain.Ripple]: 5,
188
- [Chain.Solana]: 0.4,
189
- [Chain.THORChain]: 6,
190
- [Chain.Tron]: 3,
191
- [Chain.Zcash]: 150,
192
- };
193
-
194
- export type SubstrateChain = Chain.Polkadot | Chain.Chainflip;
195
- export const SubstrateChains = [Chain.Polkadot, Chain.Chainflip];
196
-
197
- export type EVMChain =
198
- | Chain.Arbitrum
199
- | Chain.Aurora
200
- | Chain.Avalanche
201
- | Chain.Base
202
- | Chain.Berachain
203
- | Chain.BinanceSmartChain
204
- | Chain.Ethereum
205
- | Chain.Gnosis
206
- | Chain.Optimism
207
- | Chain.Polygon;
208
-
209
- export const EVMChains = [
210
- Chain.Arbitrum,
211
- Chain.Aurora,
212
- Chain.Avalanche,
213
- Chain.Base,
214
- Chain.Berachain,
215
- Chain.BinanceSmartChain,
216
- Chain.Ethereum,
217
- Chain.Gnosis,
218
- Chain.Optimism,
219
- Chain.Polygon,
220
- ] as const;
221
-
222
- export type UTXOChain =
223
- | Chain.Bitcoin
224
- | Chain.BitcoinCash
225
- | Chain.Dash
226
- | Chain.Dogecoin
227
- | Chain.Litecoin
228
- | Chain.Zcash;
229
- export const UTXOChains = [
230
- Chain.Bitcoin,
231
- Chain.BitcoinCash,
232
- Chain.Dash,
233
- Chain.Dogecoin,
234
- Chain.Litecoin,
235
- Chain.Zcash,
236
- ] as const;
237
-
238
- export type CosmosChain = Chain.Cosmos | Chain.THORChain | Chain.Maya | Chain.Kujira;
239
- export const CosmosChains = [Chain.Cosmos, Chain.THORChain, Chain.Maya, Chain.Kujira] as const;
240
- export const CosmosChainPrefixes = {
241
- [Chain.Cosmos]: "cosmos",
242
- [Chain.THORChain]: "thor",
243
- [Chain.Maya]: "maya",
244
- [Chain.Kujira]: "kujira",
245
- } as Record<CosmosChain, string>;
246
-
247
- export const TCSupportedChains = [
248
- Chain.Avalanche,
249
- Chain.BinanceSmartChain,
250
- Chain.Bitcoin,
251
- Chain.BitcoinCash,
252
- Chain.Cosmos,
253
- Chain.Dogecoin,
254
- Chain.Ethereum,
255
- Chain.Litecoin,
256
- Chain.THORChain,
257
- ] as const;
258
-
259
- export const MAYASupportedChains = [
260
- Chain.Arbitrum,
261
- Chain.Dash,
262
- Chain.Ethereum,
263
- Chain.Kujira,
264
- Chain.Maya,
265
- Chain.THORChain,
266
- ] as const;
267
-
268
- export const RPC_URLS: Record<Chain | StagenetChain, string> = {
269
- [Chain.Arbitrum]: "https://arb1.arbitrum.io/rpc",
270
- [Chain.Aurora]: "https://aurora-rpc.publicnode.com",
271
- [Chain.Avalanche]: "https://api.avax.network/ext/bc/C/rpc",
272
- [Chain.Base]: "https://base-rpc.publicnode.com",
273
- [Chain.Berachain]: "https://berachain-rpc.publicnode.com",
274
- [Chain.BinanceSmartChain]: "https://bsc-dataseed.binance.org",
275
- [Chain.BitcoinCash]: "https://node-router.thorswap.net/bitcoin-cash",
276
- [Chain.Bitcoin]: "https://bitcoin-rpc.publicnode.com",
277
- [Chain.Chainflip]: "wss://mainnet-archive.chainflip.io",
278
- [Chain.Cosmos]: "https://node-router.thorswap.net/cosmos/rpc",
279
- [Chain.Dash]: "https://dash-rpc.publicnode.com",
280
- [Chain.Dogecoin]: "https://node-router.thorswap.net/dogecoin",
281
- [Chain.Ethereum]: "https://ethereum-rpc.publicnode.com",
282
- [Chain.Fiat]: "",
283
- [Chain.Gnosis]: "https://gnosis-rpc.publicnode.com",
284
- [Chain.Kujira]: "https://kujira-rpc.ibs.team",
285
- [Chain.Litecoin]: "https://node-router.thorswap.net/litecoin",
286
- [Chain.Maya]: "https://tendermint.mayachain.info",
287
- [Chain.Near]: "https://rpc.mainnet.near.org",
288
- [Chain.Optimism]: "https://mainnet.optimism.io",
289
- [Chain.Polkadot]: "wss://rpc.polkadot.io",
290
- [Chain.Polygon]: "https://polygon-rpc.com",
291
- // TODO - Update Radix RPC URL when available
292
- [Chain.Radix]: "https://radix-mainnet.rpc.grove.city/v1/326002fc/core",
293
- [Chain.Ripple]: "wss://xrpl.ws/",
294
- [Chain.Solana]: "https://solana-rpc.publicnode.com",
295
- [Chain.THORChain]: "https://rpc.thorswap.net",
296
- [Chain.Tron]: "https://tron-rpc.publicnode.com",
297
- [Chain.Zcash]: "https://mainnet.lightwalletd.com:9067",
298
- [StagenetChain.Maya]: "",
299
- [StagenetChain.THORChain]: "https://stagenet-rpc.ninerealms.com",
300
- };
301
-
302
- export const NODE_URLS: Record<
303
- Chain.THORChain | Chain.Maya | StagenetChain.THORChain | StagenetChain.Maya,
304
- string
305
- > = {
306
- [Chain.THORChain]: "https://thornode.thorswap.net",
307
- [Chain.Maya]: "https://mayanode.mayachain.info",
308
- [StagenetChain.THORChain]: "https://stagenet-thornode.ninerealms.com",
309
- [StagenetChain.Maya]: "https://stagenet.mayanode.mayachain.info",
310
- };
311
-
312
- export const FALLBACK_URLS: Record<Chain | StagenetChain, string[]> = {
313
- [Chain.Arbitrum]: [
314
- "https://arb-mainnet.g.alchemy.com/v2/demo",
315
- "https://arbitrum.blockpi.network/v1/rpc/public",
316
- ],
317
- [Chain.Aurora]: ["https://1rpc.io/aurora", "https://mainnet.aurora.dev"],
318
- [Chain.Avalanche]: [
319
- "https://api.avax.network/ext/bc/C/rpc",
320
- "https://avalanche-c-chain-rpc.publicnode.com",
321
- ],
322
- [Chain.Base]: ["https://base.blockpi.network/v1/rpc/public", "https://1rpc.io/base"],
323
- [Chain.BinanceSmartChain]: [
324
- "https://bsc-rpc.gateway.pokt.network",
325
- "https://bsc-dataseed2.binance.org",
326
- ],
327
- [Chain.Berachain]: ["https://rpc.berachain.com", "https://berachain.drpc.org"],
328
- [Chain.Bitcoin]: ["https://bitcoin.publicnode.com"],
329
- [Chain.BitcoinCash]: ["https://bch-dataseed.binance.org", "https://bch.getblock.io/mainnet"],
330
- [Chain.Chainflip]: [
331
- "wss://archive-1.mainnet.chainflip.io",
332
- "wss://archive-2.mainnet.chainflip.io",
333
- ],
334
- [Chain.Cosmos]: ["https://cosmos-rpc.publicnode.com"],
335
- [Chain.Dash]: ["https://dash-rpc.publicnode.com"],
336
- [Chain.Dogecoin]: ["https://doge.getblock.io/mainnet", "https://dogecoin.publicnode.com"],
337
- [Chain.Ethereum]: ["https://eth.llamarpc.com", "https://cloudflare-eth.com"],
338
- [Chain.Fiat]: [],
339
- [Chain.Gnosis]: ["https://gnosis.drpc.org", "https://rpc.ankr.com/gnosis"],
340
- [Chain.Kujira]: ["https://kujira-rpc.polkachu.com", "https://rpc-kujira.synergynodes.com/"],
341
- [Chain.Litecoin]: ["https://ltc.getblock.io/mainnet", "https://litecoin.publicnode.com"],
342
- [Chain.Maya]: ["https://tendermint.mayachain.info", "https://maya-tendermint.publicnode.com"],
343
- [StagenetChain.Maya]: [],
344
- [Chain.Near]: [
345
- "https://1rpc.io/near",
346
- "https://near.lava.build",
347
- "https://near-mainnet.infura.io/v3/3cbfcafa5e1e48b7bb0ea41f2fbc4abf",
348
- ],
349
- [Chain.Optimism]: ["https://optimism.llamarpc.com", "https://1rpc.io/op"],
350
- [Chain.Polkadot]: [
351
- "wss://polkadot-rpc.dwellir.com",
352
- "wss://polkadot.api.onfinality.io/public-ws",
353
- ],
354
- [Chain.Polygon]: ["https://polygon.llamarpc.com", "https://polygon-bor-rpc.publicnode.com"],
355
- [Chain.Radix]: ["https://mainnet.radixdlt.com", "https://radix-mainnet.rpc.grove.city/v1"],
356
- [Chain.Ripple]: ["wss://s1.ripple.com/", "wss://s2.ripple.com/"],
357
- [Chain.THORChain]: ["https://thornode.ninerealms.com", NODE_URLS[Chain.THORChain]],
358
- [StagenetChain.THORChain]: [],
359
- [Chain.Solana]: [
360
- "https://api.mainnet-beta.solana.com",
361
- "https://solana-mainnet.rpc.extrnode.com",
362
- ],
363
- [Chain.Tron]: ["https://api.tronstack.io", "https://api.tron.network"],
364
- [Chain.Zcash]: [],
365
- };
366
-
367
- export const EXPLORER_URLS: Record<Chain, string> = {
368
- [Chain.Arbitrum]: "https://arbiscan.io",
369
- [Chain.Aurora]: "https://explorer.mainnet.aurora.dev",
370
- [Chain.Avalanche]: "https://snowtrace.io",
371
- [Chain.Base]: "https://basescan.org",
372
- [Chain.Berachain]: "https://berascan.com",
373
- [Chain.BinanceSmartChain]: "https://bscscan.com",
374
- [Chain.Bitcoin]: "https://blockchair.com/bitcoin",
375
- [Chain.BitcoinCash]: "https://www.blockchair.com/bitcoin-cash",
376
- [Chain.Chainflip]: "https://explorer.polkascan.io/polkadot",
377
- [Chain.Cosmos]: "https://www.mintscan.io/cosmos",
378
- [Chain.Dash]: "https://blockchair.com/dash",
379
- [Chain.Dogecoin]: "https://blockchair.com/dogecoin",
380
- [Chain.Ethereum]: "https://etherscan.io",
381
- [Chain.Fiat]: "",
382
- [Chain.Gnosis]: "https://gnosisscan.io",
383
- [Chain.Kujira]: "https://finder.kujira.network/kaiyo-1",
384
- [Chain.Litecoin]: "https://blockchair.com/litecoin",
385
- [Chain.Maya]: "https://www.mayascan.org",
386
- [Chain.Near]: "https://nearblocks.io",
387
- [Chain.Optimism]: "https://optimistic.etherscan.io",
388
- [Chain.Polkadot]: "https://polkadot.subscan.io",
389
- [Chain.Polygon]: "https://polygonscan.com",
390
- [Chain.Radix]: "https://dashboard.radixdlt.com",
391
- [Chain.Ripple]: "https://livenet.xrpl.org/",
392
- [Chain.THORChain]: "https://runescan.io",
393
- [Chain.Solana]: "https://solscan.io",
394
- [Chain.Tron]: "https://tronscan.org",
395
- [Chain.Zcash]: "https://blockchair.com/zcash",
396
- };
397
-
398
- let RPCUrlsMerged = RPC_URLS;
399
-
400
- const getRpcBody = (chain: Chain | StagenetChain) => {
401
- return match(chain)
402
- .with(
403
- Chain.Arbitrum,
404
- Chain.Aurora,
405
- Chain.Avalanche,
406
- Chain.Base,
407
- Chain.Berachain,
408
- Chain.BinanceSmartChain,
409
- Chain.Ethereum,
410
- Chain.Gnosis,
411
- Chain.Optimism,
412
- Chain.Polygon,
413
- () => ({ id: 1, jsonrpc: "2.0", method: "eth_blockNumber", params: [] }),
414
- )
415
- .with(
416
- Chain.Bitcoin,
417
- Chain.Dogecoin,
418
- Chain.BitcoinCash,
419
- Chain.Dash,
420
- Chain.Litecoin,
421
- Chain.Zcash,
422
- () => ({
423
- id: "test",
424
- jsonrpc: "1.0",
425
- method: "getblockchaininfo",
426
- params: [],
427
- }),
428
- )
429
- .with(
430
- Chain.Cosmos,
431
- Chain.Kujira,
432
- Chain.Maya,
433
- Chain.THORChain,
434
- StagenetChain.Maya,
435
- StagenetChain.THORChain,
436
- () => ({ id: 1, jsonrpc: "2.0", method: "status", params: {} }),
437
- )
438
- .with(Chain.Polkadot, Chain.Chainflip, () => ({
439
- id: 1,
440
- jsonrpc: "2.0",
441
- method: "system_health",
442
- params: [],
443
- }))
444
- .with(Chain.Solana, () => ({ id: 1, jsonrpc: "2.0", method: "getHealth" }))
445
- .with(Chain.Tron, Chain.Radix, Chain.Fiat, () => "")
446
- .with(Chain.Near, () => ({
447
- jsonrpc: "2.0",
448
- id: "dontcare",
449
- method: "status",
450
- params: [],
451
- }))
452
- .with(Chain.Ripple, () => ({
453
- method: "ping",
454
- params: [{}],
455
- id: 1,
456
- jsonrpc: "2.0",
457
- }))
458
- .otherwise(() => {
459
- throw new SwapKitError("helpers_chain_not_supported", { chain });
460
- });
461
- };
462
-
463
- function getChainStatusEndpoint(chain: Chain | StagenetChain) {
464
- return match(chain)
465
- .with(Chain.Radix, () => "/status/network-configuration")
466
- .with(Chain.Tron, () => "/wallet/getnowblock")
467
- .otherwise(() => "");
468
- }
469
-
470
- const testRPCConnection = async (chain: Chain | StagenetChain, url: string) => {
471
- try {
472
- const endpoint = url.startsWith("wss") ? url.replace("wss", "https") : url;
473
- const response = await fetch(`${endpoint}${getChainStatusEndpoint(chain)}`, {
474
- method: "POST",
475
- headers: { "Content-Type": "application/json" },
476
- body: JSON.stringify(getRpcBody(chain)),
477
- signal: AbortSignal.timeout(3000),
478
- });
479
-
480
- return response.ok;
481
- } catch {
482
- return false;
483
- }
484
- };
485
-
486
- const getRPCUrlWithFallback = async (chain: Chain | StagenetChain) => {
487
- const primaryUrl = RPC_URLS[chain];
488
-
489
- if (await testRPCConnection(chain, primaryUrl)) {
490
- return primaryUrl;
491
- }
492
-
493
- for (const fallbackUrl of FALLBACK_URLS[chain]) {
494
- if (await testRPCConnection(chain, fallbackUrl)) {
495
- return fallbackUrl;
496
- }
497
- }
498
-
499
- return primaryUrl;
500
- };
501
-
502
- export const initializeRPCUrlsWithFallback = async (
503
- chains: (Chain | StagenetChain)[] = [...Object.values(Chain), ...Object.values(StagenetChain)],
504
- ) => {
505
- const workingUrls: Record<Chain | StagenetChain, string> = {} as Record<
506
- Chain | StagenetChain,
507
- string
508
- >;
509
-
510
- await Promise.all(
511
- chains.map(async (chain) => {
512
- const workingUrl = await getRPCUrlWithFallback(chain);
513
- workingUrls[chain] = workingUrl;
514
- }),
515
- );
516
-
517
- RPCUrlsMerged = { ...RPCUrlsMerged, ...workingUrls };
518
- };
519
-
520
- const ChainToChainName = chains.reduce(
521
- (acc, chain) => {
522
- const chainName = chainNames.find((key) => Chain[key as ChainNameType] === chain);
523
-
524
- if (chainName) acc[chain] = chainName;
525
-
526
- return acc;
527
- },
528
- {} as { [key in Chain]: ChainNameType },
529
- );
530
-
531
- export const ChainToChainId = chains.reduce(
532
- (acc, chain) => {
533
- acc[chain] = ChainId[ChainToChainName[chain]];
534
- return acc;
535
- },
536
- {} as { [key in Chain]: ChainId },
537
- );
538
-
539
- export const ChainToHexChainId = chains.reduce(
540
- (acc, chain) => {
541
- const chainString = `${ChainToChainName[chain]}Hex` as keyof typeof ChainId;
542
-
543
- acc[chain] = ChainId[chainString];
544
- return acc;
545
- },
546
- {} as { [key in Chain]: ChainId },
547
- );
548
-
549
- export const ChainToExplorerUrl = chains.reduce(
550
- (acc, chain) => {
551
- acc[chain] = EXPLORER_URLS[chain];
552
- return acc;
553
- },
554
- {} as { [key in Chain]: string },
555
- );
@@ -1,58 +0,0 @@
1
- import type { Chain } from "./chains";
2
- import type { ChainWallet, CryptoChain } from "./wallet";
3
-
4
- export type AddChainType<M = { [key in string]: any }> = <T extends CryptoChain>(
5
- params: Omit<ChainWallet<T>, "balance"> & M,
6
- ) => void;
7
-
8
- export type Witness = {
9
- value: number;
10
- script: Buffer;
11
- };
12
-
13
- export enum QuoteMode {
14
- TC_SUPPORTED_TO_TC_SUPPORTED = "TC-TC",
15
- TC_SUPPORTED_TO_ETH = "TC-ERC20",
16
- TC_SUPPORTED_TO_AVAX = "TC-ARC20",
17
- TC_SUPPORTED_TO_BSC = "TC-BEP20",
18
- ETH_TO_TC_SUPPORTED = "ERC20-TC",
19
- ETH_TO_ETH = "ERC20-ERC20",
20
- ETH_TO_AVAX = "ERC20-ARC20",
21
- ETH_TO_BSC = "ERC20-BEP20",
22
- AVAX_TO_TC_SUPPORTED = "ARC20-TC",
23
- AVAX_TO_ETH = "ARC20-ERC20",
24
- AVAX_TO_AVAX = "ARC20-ARC20",
25
- AVAX_TO_BSC = "ARC20-BEP20",
26
- BSC_TO_TC_SUPPORTED = "BEP20-TC",
27
- BSC_TO_ETH = "BEP20-ERC20",
28
- BSC_TO_AVAX = "BEP20-ARC20",
29
- BSC_TO_BSC = "BEP20-BEP20",
30
- }
31
-
32
- export type Asset = {
33
- chain: Chain;
34
- symbol: string;
35
- ticker: string;
36
- synth?: boolean;
37
- };
38
-
39
- export const AGG_SWAP = [QuoteMode.ETH_TO_ETH, QuoteMode.AVAX_TO_AVAX, QuoteMode.BSC_TO_BSC];
40
-
41
- export const SWAP_IN = [
42
- QuoteMode.ETH_TO_TC_SUPPORTED,
43
- QuoteMode.ETH_TO_AVAX,
44
- QuoteMode.ETH_TO_BSC,
45
- QuoteMode.AVAX_TO_TC_SUPPORTED,
46
- QuoteMode.AVAX_TO_ETH,
47
- QuoteMode.AVAX_TO_BSC,
48
- QuoteMode.BSC_TO_TC_SUPPORTED,
49
- QuoteMode.BSC_TO_ETH,
50
- QuoteMode.BSC_TO_AVAX,
51
- ];
52
-
53
- export const SWAP_OUT = [
54
- QuoteMode.TC_SUPPORTED_TO_TC_SUPPORTED,
55
- QuoteMode.TC_SUPPORTED_TO_ETH,
56
- QuoteMode.TC_SUPPORTED_TO_AVAX,
57
- QuoteMode.TC_SUPPORTED_TO_BSC,
58
- ];
@@ -1,58 +0,0 @@
1
- import { derivationPathToString } from "../utils/derivationPath";
2
- import type { Chain } from "./chains";
3
-
4
- export enum ContractAddress {
5
- ARB = "0x0000000000000000000000000000000000000000",
6
- AURORA = "0x0000000000000000000000000000000000000000",
7
- AVAX = "0x0000000000000000000000000000000000000000",
8
- BASE = "0x0000000000000000000000000000000000000000",
9
- BERA = "0x0000000000000000000000000000000000000000",
10
- ETH = "0x0000000000000000000000000000000000000000",
11
- BSC = "0x0000000000000000000000000000000000000000",
12
- GNO = "0x0000000000000000000000000000000000000000",
13
- MATIC = "0x0000000000000000000000000000000000001010",
14
- OP = "0x4200000000000000000000000000000000000042",
15
- }
16
-
17
- export type DerivationPathArray = [number, number, number, number, number?];
18
-
19
- export const NetworkDerivationPath: Record<Chain, DerivationPathArray> = {
20
- ARB: [44, 60, 0, 0, 0],
21
- AURORA: [44, 60, 0, 0, 0],
22
- AVAX: [44, 60, 0, 0, 0],
23
- BASE: [44, 60, 0, 0, 0],
24
- BCH: [44, 145, 0, 0, 0],
25
- BERA: [44, 60, 0, 0, 0],
26
- BSC: [44, 60, 0, 0, 0],
27
- BTC: [84, 0, 0, 0, 0],
28
- DASH: [44, 5, 0, 0, 0],
29
- DOGE: [44, 3, 0, 0, 0],
30
- ETH: [44, 60, 0, 0, 0],
31
- GAIA: [44, 118, 0, 0, 0],
32
- GNO: [44, 60, 0, 0, 0],
33
- KUJI: [44, 118, 0, 0, 0],
34
- LTC: [84, 2, 0, 0, 0],
35
- POL: [44, 60, 0, 0, 0],
36
- MAYA: [44, 931, 0, 0, 0],
37
- NEAR: [44, 397, 0, 0, 0],
38
- OP: [44, 60, 0, 0, 0],
39
- SOL: [44, 501, 0, 0, 0],
40
- THOR: [44, 931, 0, 0, 0],
41
- TRX: [44, 195, 0, 0, 0],
42
- ZEC: [44, 133, 0, 0, 0],
43
-
44
- // Polkadot and related network derivation path is not number based
45
- DOT: [0, 0, 0, 0, 0],
46
- FIAT: [0, 0, 0, 0, 0],
47
- FLIP: [0, 0, 0, 0, 0],
48
- XRD: [0, 0, 0, 0, 0],
49
- XRP: [44, 144, 0, 0, 0],
50
- };
51
-
52
- export const DerivationPath: Record<Chain, string> = Object.keys(NetworkDerivationPath).reduce(
53
- (acc, key) => {
54
- acc[key as Chain] = derivationPathToString(NetworkDerivationPath[key as Chain]);
55
- return acc;
56
- },
57
- {} as Record<Chain, string>,
58
- );
File without changes