@0xsquid/react-hooks 7.7.0 → 8.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/dist/core/constants.d.ts +0 -2
  2. package/dist/core/queries/queries-keys.d.ts +2 -1
  3. package/dist/core/types/config.d.ts +27 -4
  4. package/dist/core/types/swap.d.ts +1 -0
  5. package/dist/hooks/chains/useSquidChains.d.ts +5 -8
  6. package/dist/hooks/swap/useSwap.d.ts +1 -1
  7. package/dist/hooks/tokens/useAllConnectedWalletBalances.d.ts +2 -1
  8. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +2 -1
  9. package/dist/hooks/tokens/useSquidTokens.d.ts +5 -1
  10. package/dist/hooks/transaction/useEstimate.d.ts +0 -2
  11. package/dist/index-B3FG6tRj.js +6021 -0
  12. package/dist/index-B3FG6tRj.js.map +1 -0
  13. package/dist/index-CeIwio11.js +41015 -0
  14. package/dist/index-CeIwio11.js.map +1 -0
  15. package/dist/index-CjYMwYuT.js +41267 -0
  16. package/dist/index-CjYMwYuT.js.map +1 -0
  17. package/dist/index-CoxuUJzG.js +6021 -0
  18. package/dist/index-CoxuUJzG.js.map +1 -0
  19. package/dist/index.esm.js +36 -0
  20. package/dist/index.esm.js.map +1 -0
  21. package/dist/index.js +292 -6
  22. package/dist/index.js.map +1 -1
  23. package/dist/secretService-C6ack504.js +168 -0
  24. package/dist/secretService-C6ack504.js.map +1 -0
  25. package/dist/{services/external/secretService.js → secretService-CgLleYSR.js} +43 -8
  26. package/dist/secretService-CgLleYSR.js.map +1 -0
  27. package/dist/services/internal/assetsService.d.ts +18 -19
  28. package/dist/services/internal/configService.d.ts +8 -16
  29. package/dist/services/internal/estimateService.d.ts +0 -1
  30. package/package.json +18 -4
  31. package/dist/core/abis/ics20.json +0 -128
  32. package/dist/core/client/index.js +0 -38
  33. package/dist/core/client/index.js.map +0 -1
  34. package/dist/core/connectors/bitcoin/errors/index.js +0 -22
  35. package/dist/core/connectors/bitcoin/errors/index.js.map +0 -1
  36. package/dist/core/connectors/bitcoin/helpers.js +0 -91
  37. package/dist/core/connectors/bitcoin/helpers.js.map +0 -1
  38. package/dist/core/connectors/bitcoin/index.js +0 -2
  39. package/dist/core/connectors/bitcoin/index.js.map +0 -1
  40. package/dist/core/connectors/bitcoin/wallets/index.js +0 -4
  41. package/dist/core/connectors/bitcoin/wallets/index.js.map +0 -1
  42. package/dist/core/connectors/bitcoin/wallets/keplr.js +0 -28
  43. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +0 -1
  44. package/dist/core/connectors/bitcoin/wallets/phantom.js +0 -56
  45. package/dist/core/connectors/bitcoin/wallets/phantom.js.map +0 -1
  46. package/dist/core/connectors/bitcoin/wallets/unisat.js +0 -28
  47. package/dist/core/connectors/bitcoin/wallets/unisat.js.map +0 -1
  48. package/dist/core/connectors/xrpl/CrossMark.js +0 -76
  49. package/dist/core/connectors/xrpl/CrossMark.js.map +0 -1
  50. package/dist/core/connectors/xrpl/WalletConnect.js +0 -194
  51. package/dist/core/connectors/xrpl/WalletConnect.js.map +0 -1
  52. package/dist/core/connectors/xrpl/Xaman.js +0 -71
  53. package/dist/core/connectors/xrpl/Xaman.js.map +0 -1
  54. package/dist/core/connectors/xrpl/XamanQr.js +0 -95
  55. package/dist/core/connectors/xrpl/XamanQr.js.map +0 -1
  56. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +0 -176
  57. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +0 -1
  58. package/dist/core/constants.js +0 -159
  59. package/dist/core/constants.js.map +0 -1
  60. package/dist/core/externalLinks.js +0 -21
  61. package/dist/core/externalLinks.js.map +0 -1
  62. package/dist/core/index.js +0 -4
  63. package/dist/core/index.js.map +0 -1
  64. package/dist/core/multicall3.js +0 -462
  65. package/dist/core/multicall3.js.map +0 -1
  66. package/dist/core/providers/BitcoinProvider.js +0 -15
  67. package/dist/core/providers/BitcoinProvider.js.map +0 -1
  68. package/dist/core/providers/CosmosProvider.js +0 -13
  69. package/dist/core/providers/CosmosProvider.js.map +0 -1
  70. package/dist/core/providers/EvmProvider.js +0 -15
  71. package/dist/core/providers/EvmProvider.js.map +0 -1
  72. package/dist/core/providers/SolanaProvider.js +0 -15
  73. package/dist/core/providers/SolanaProvider.js.map +0 -1
  74. package/dist/core/providers/SuiProvider.js +0 -15
  75. package/dist/core/providers/SuiProvider.js.map +0 -1
  76. package/dist/core/providers/XrplProvider.js +0 -15
  77. package/dist/core/providers/XrplProvider.js.map +0 -1
  78. package/dist/core/queries/queries-keys.js +0 -226
  79. package/dist/core/queries/queries-keys.js.map +0 -1
  80. package/dist/core/queries/react-query-config.js +0 -11
  81. package/dist/core/queries/react-query-config.js.map +0 -1
  82. package/dist/core/types/bitcoin.js +0 -2
  83. package/dist/core/types/bitcoin.js.map +0 -1
  84. package/dist/core/types/config.js +0 -2
  85. package/dist/core/types/config.js.map +0 -1
  86. package/dist/core/types/dex.d.ts +0 -28
  87. package/dist/core/types/dex.js +0 -33
  88. package/dist/core/types/dex.js.map +0 -1
  89. package/dist/core/types/error.js +0 -18
  90. package/dist/core/types/error.js.map +0 -1
  91. package/dist/core/types/event.js +0 -2
  92. package/dist/core/types/event.js.map +0 -1
  93. package/dist/core/types/evm.js +0 -2
  94. package/dist/core/types/evm.js.map +0 -1
  95. package/dist/core/types/history.js +0 -7
  96. package/dist/core/types/history.js.map +0 -1
  97. package/dist/core/types/index.js +0 -4
  98. package/dist/core/types/index.js.map +0 -1
  99. package/dist/core/types/onramps/index.js +0 -3
  100. package/dist/core/types/onramps/index.js.map +0 -1
  101. package/dist/core/types/onramps/onramp.js +0 -2
  102. package/dist/core/types/onramps/onramp.js.map +0 -1
  103. package/dist/core/types/onramps/revolut.js +0 -2
  104. package/dist/core/types/onramps/revolut.js.map +0 -1
  105. package/dist/core/types/rpc.js +0 -2
  106. package/dist/core/types/rpc.js.map +0 -1
  107. package/dist/core/types/solana.js +0 -2
  108. package/dist/core/types/solana.js.map +0 -1
  109. package/dist/core/types/sui.js +0 -2
  110. package/dist/core/types/sui.js.map +0 -1
  111. package/dist/core/types/swap.js +0 -2
  112. package/dist/core/types/swap.js.map +0 -1
  113. package/dist/core/types/tokens.js +0 -2
  114. package/dist/core/types/tokens.js.map +0 -1
  115. package/dist/core/types/transaction.js +0 -47
  116. package/dist/core/types/transaction.js.map +0 -1
  117. package/dist/core/types/wallet.js +0 -19
  118. package/dist/core/types/wallet.js.map +0 -1
  119. package/dist/core/types/xrpl.js +0 -32
  120. package/dist/core/types/xrpl.js.map +0 -1
  121. package/dist/core/wagmiConfig.js +0 -81
  122. package/dist/core/wagmiConfig.js.map +0 -1
  123. package/dist/core/wallets.js +0 -357
  124. package/dist/core/wallets.js.map +0 -1
  125. package/dist/hooks/analytics/useTrackSearchEmpty.js +0 -22
  126. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +0 -1
  127. package/dist/hooks/bitcoin/useBitcoin.js +0 -18
  128. package/dist/hooks/bitcoin/useBitcoin.js.map +0 -1
  129. package/dist/hooks/chains/useSquidChains.js +0 -107
  130. package/dist/hooks/chains/useSquidChains.js.map +0 -1
  131. package/dist/hooks/client/useClient.js +0 -63
  132. package/dist/hooks/client/useClient.js.map +0 -1
  133. package/dist/hooks/cosmos/useCosmos.js +0 -167
  134. package/dist/hooks/cosmos/useCosmos.js.map +0 -1
  135. package/dist/hooks/cosmos/useCosmosForChain.js +0 -29
  136. package/dist/hooks/cosmos/useCosmosForChain.js.map +0 -1
  137. package/dist/hooks/evm/useEvm.js +0 -68
  138. package/dist/hooks/evm/useEvm.js.map +0 -1
  139. package/dist/hooks/evm/useEvmWallets.js +0 -13
  140. package/dist/hooks/evm/useEvmWallets.js.map +0 -1
  141. package/dist/hooks/index.js +0 -54
  142. package/dist/hooks/index.js.map +0 -1
  143. package/dist/hooks/navigation/useKeyboardNavigation.js +0 -67
  144. package/dist/hooks/navigation/useKeyboardNavigation.js.map +0 -1
  145. package/dist/hooks/onramp/useFiatToCrypto.js +0 -298
  146. package/dist/hooks/onramp/useFiatToCrypto.js.map +0 -1
  147. package/dist/hooks/query/useSquidQueryClient.js +0 -23
  148. package/dist/hooks/query/useSquidQueryClient.js.map +0 -1
  149. package/dist/hooks/solana/useSolana.js +0 -81
  150. package/dist/hooks/solana/useSolana.js.map +0 -1
  151. package/dist/hooks/solana/useSolanaWallets.js +0 -8
  152. package/dist/hooks/solana/useSolanaWallets.js.map +0 -1
  153. package/dist/hooks/squid/useSquid.js +0 -55
  154. package/dist/hooks/squid/useSquid.js.map +0 -1
  155. package/dist/hooks/store/useAddressBookStore.js +0 -30
  156. package/dist/hooks/store/useAddressBookStore.js.map +0 -1
  157. package/dist/hooks/store/useAssetsColorsStore.js +0 -7
  158. package/dist/hooks/store/useAssetsColorsStore.js.map +0 -1
  159. package/dist/hooks/store/useDepositAddressStore.js +0 -12
  160. package/dist/hooks/store/useDepositAddressStore.js.map +0 -1
  161. package/dist/hooks/store/useFavoriteTokensStore.js +0 -28
  162. package/dist/hooks/store/useFavoriteTokensStore.js.map +0 -1
  163. package/dist/hooks/store/useHistoryStore.js +0 -129
  164. package/dist/hooks/store/useHistoryStore.js.map +0 -1
  165. package/dist/hooks/store/useSendTransactionStore.js +0 -21
  166. package/dist/hooks/store/useSendTransactionStore.js.map +0 -1
  167. package/dist/hooks/store/useSquidStore.js +0 -53
  168. package/dist/hooks/store/useSquidStore.js.map +0 -1
  169. package/dist/hooks/store/useWalletStore.js +0 -61
  170. package/dist/hooks/store/useWalletStore.js.map +0 -1
  171. package/dist/hooks/sui/useSui.js +0 -81
  172. package/dist/hooks/sui/useSui.js.map +0 -1
  173. package/dist/hooks/sui/useSuiWallets.js +0 -23
  174. package/dist/hooks/sui/useSuiWallets.js.map +0 -1
  175. package/dist/hooks/swap/useDepositAddress.js +0 -63
  176. package/dist/hooks/swap/useDepositAddress.js.map +0 -1
  177. package/dist/hooks/swap/useSwap.js +0 -203
  178. package/dist/hooks/swap/useSwap.js.map +0 -1
  179. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +0 -114
  180. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +0 -1
  181. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +0 -130
  182. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +0 -1
  183. package/dist/hooks/tokens/useBalance.js +0 -157
  184. package/dist/hooks/tokens/useBalance.js.map +0 -1
  185. package/dist/hooks/tokens/useMultiChainBalance.js +0 -77
  186. package/dist/hooks/tokens/useMultiChainBalance.js.map +0 -1
  187. package/dist/hooks/tokens/useMultipleTokenPrices.js +0 -46
  188. package/dist/hooks/tokens/useMultipleTokenPrices.js.map +0 -1
  189. package/dist/hooks/tokens/useNativeBalance.js +0 -249
  190. package/dist/hooks/tokens/useNativeBalance.js.map +0 -1
  191. package/dist/hooks/tokens/useNativeTokenForChain.js +0 -30
  192. package/dist/hooks/tokens/useNativeTokenForChain.js.map +0 -1
  193. package/dist/hooks/tokens/useSingleTokenPrice.js +0 -38
  194. package/dist/hooks/tokens/useSingleTokenPrice.js.map +0 -1
  195. package/dist/hooks/tokens/useSquidTokens.js +0 -85
  196. package/dist/hooks/tokens/useSquidTokens.js.map +0 -1
  197. package/dist/hooks/tokens/useTokenHistoricalData.js +0 -23
  198. package/dist/hooks/tokens/useTokenHistoricalData.js.map +0 -1
  199. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +0 -58
  200. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +0 -1
  201. package/dist/hooks/transaction/send/useSendTransaction.js +0 -245
  202. package/dist/hooks/transaction/send/useSendTransaction.js.map +0 -1
  203. package/dist/hooks/transaction/send/useSendTransactionGas.js +0 -73
  204. package/dist/hooks/transaction/send/useSendTransactionGas.js.map +0 -1
  205. package/dist/hooks/transaction/useAllTransactionsStatus.js +0 -127
  206. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +0 -1
  207. package/dist/hooks/transaction/useApproval.js +0 -246
  208. package/dist/hooks/transaction/useApproval.js.map +0 -1
  209. package/dist/hooks/transaction/useErc20Allowance.js +0 -43
  210. package/dist/hooks/transaction/useErc20Allowance.js.map +0 -1
  211. package/dist/hooks/transaction/useEstimate.js +0 -118
  212. package/dist/hooks/transaction/useEstimate.js.map +0 -1
  213. package/dist/hooks/transaction/useEstimatePriceImpact.js +0 -31
  214. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +0 -1
  215. package/dist/hooks/transaction/useExecuteTransaction.js +0 -678
  216. package/dist/hooks/transaction/useExecuteTransaction.js.map +0 -1
  217. package/dist/hooks/transaction/useGetRoute.js +0 -207
  218. package/dist/hooks/transaction/useGetRoute.js.map +0 -1
  219. package/dist/hooks/transaction/useIcs20Allowance.js +0 -46
  220. package/dist/hooks/transaction/useIcs20Allowance.js.map +0 -1
  221. package/dist/hooks/transaction/useRouteWarnings.js +0 -19
  222. package/dist/hooks/transaction/useRouteWarnings.js.map +0 -1
  223. package/dist/hooks/transaction/useSendTransactionStatus.js +0 -63
  224. package/dist/hooks/transaction/useSendTransactionStatus.js.map +0 -1
  225. package/dist/hooks/transaction/useSwapTransactionStatus.js +0 -114
  226. package/dist/hooks/transaction/useSwapTransactionStatus.js.map +0 -1
  227. package/dist/hooks/user/useAvatar.js +0 -40
  228. package/dist/hooks/user/useAvatar.js.map +0 -1
  229. package/dist/hooks/user/useHistory.js +0 -103
  230. package/dist/hooks/user/useHistory.js.map +0 -1
  231. package/dist/hooks/user/useUserParams.js +0 -33
  232. package/dist/hooks/user/useUserParams.js.map +0 -1
  233. package/dist/hooks/utils/useUtils.js +0 -20
  234. package/dist/hooks/utils/useUtils.js.map +0 -1
  235. package/dist/hooks/wallet/useAddToken.js +0 -49
  236. package/dist/hooks/wallet/useAddToken.js.map +0 -1
  237. package/dist/hooks/wallet/useAutoConnect.js +0 -92
  238. package/dist/hooks/wallet/useAutoConnect.js.map +0 -1
  239. package/dist/hooks/wallet/useEns.js +0 -57
  240. package/dist/hooks/wallet/useEns.js.map +0 -1
  241. package/dist/hooks/wallet/useGnosisContext.js +0 -74
  242. package/dist/hooks/wallet/useGnosisContext.js.map +0 -1
  243. package/dist/hooks/wallet/useIntegratorContext.js +0 -39
  244. package/dist/hooks/wallet/useIntegratorContext.js.map +0 -1
  245. package/dist/hooks/wallet/useMultiChainWallet.js +0 -210
  246. package/dist/hooks/wallet/useMultiChainWallet.js.map +0 -1
  247. package/dist/hooks/wallet/useSigner.js +0 -68
  248. package/dist/hooks/wallet/useSigner.js.map +0 -1
  249. package/dist/hooks/wallet/useStandardWallets.js +0 -26
  250. package/dist/hooks/wallet/useStandardWallets.js.map +0 -1
  251. package/dist/hooks/wallet/useWallet.js +0 -199
  252. package/dist/hooks/wallet/useWallet.js.map +0 -1
  253. package/dist/hooks/wallet/useWallets.js +0 -33
  254. package/dist/hooks/wallet/useWallets.js.map +0 -1
  255. package/dist/hooks/xrpl/useXrpl.js +0 -55
  256. package/dist/hooks/xrpl/useXrpl.js.map +0 -1
  257. package/dist/hooks/xrpl/useXrplTrustLine.js +0 -159
  258. package/dist/hooks/xrpl/useXrplTrustLine.js.map +0 -1
  259. package/dist/hooks/xrpl/useXrplWallets.js +0 -51
  260. package/dist/hooks/xrpl/useXrplWallets.js.map +0 -1
  261. package/dist/provider/index.js +0 -118
  262. package/dist/provider/index.js.map +0 -1
  263. package/dist/services/external/cosmosRestClient.js +0 -45
  264. package/dist/services/external/cosmosRestClient.js.map +0 -1
  265. package/dist/services/external/ens.js +0 -66
  266. package/dist/services/external/ens.js.map +0 -1
  267. package/dist/services/external/index.js +0 -3
  268. package/dist/services/external/index.js.map +0 -1
  269. package/dist/services/external/onrampAdapter.js +0 -52
  270. package/dist/services/external/onrampAdapter.js.map +0 -1
  271. package/dist/services/external/rpcService.js +0 -411
  272. package/dist/services/external/rpcService.js.map +0 -1
  273. package/dist/services/external/secretService.js.map +0 -1
  274. package/dist/services/external/suiRpcClient.js +0 -80
  275. package/dist/services/external/suiRpcClient.js.map +0 -1
  276. package/dist/services/external/tokenDataService.js +0 -108
  277. package/dist/services/external/tokenDataService.js.map +0 -1
  278. package/dist/services/external/websocket.js +0 -34
  279. package/dist/services/external/websocket.js.map +0 -1
  280. package/dist/services/external/xaman.js +0 -78
  281. package/dist/services/external/xaman.js.map +0 -1
  282. package/dist/services/external/xrplRpcClient.js +0 -167
  283. package/dist/services/external/xrplRpcClient.js.map +0 -1
  284. package/dist/services/index.js +0 -19
  285. package/dist/services/index.js.map +0 -1
  286. package/dist/services/internal/apiService.js +0 -21
  287. package/dist/services/internal/apiService.js.map +0 -1
  288. package/dist/services/internal/assetsService.js +0 -569
  289. package/dist/services/internal/assetsService.js.map +0 -1
  290. package/dist/services/internal/bitcoinService.js +0 -20
  291. package/dist/services/internal/bitcoinService.js.map +0 -1
  292. package/dist/services/internal/configService.js +0 -218
  293. package/dist/services/internal/configService.js.map +0 -1
  294. package/dist/services/internal/cosmosService.js +0 -141
  295. package/dist/services/internal/cosmosService.js.map +0 -1
  296. package/dist/services/internal/countryCurrencyMap.js +0 -1102
  297. package/dist/services/internal/countryCurrencyMap.js.map +0 -1
  298. package/dist/services/internal/errorService.js +0 -190
  299. package/dist/services/internal/errorService.js.map +0 -1
  300. package/dist/services/internal/estimateService.js +0 -227
  301. package/dist/services/internal/estimateService.js.map +0 -1
  302. package/dist/services/internal/eventService.js +0 -219
  303. package/dist/services/internal/eventService.js.map +0 -1
  304. package/dist/services/internal/evmService.js +0 -67
  305. package/dist/services/internal/evmService.js.map +0 -1
  306. package/dist/services/internal/fiatToCryptoService.js +0 -84
  307. package/dist/services/internal/fiatToCryptoService.js.map +0 -1
  308. package/dist/services/internal/fiatToCryptoService.test.js +0 -45
  309. package/dist/services/internal/fiatToCryptoService.test.js.map +0 -1
  310. package/dist/services/internal/numberService.js +0 -199
  311. package/dist/services/internal/numberService.js.map +0 -1
  312. package/dist/services/internal/priceService.js +0 -53
  313. package/dist/services/internal/priceService.js.map +0 -1
  314. package/dist/services/internal/searchService.js +0 -98
  315. package/dist/services/internal/searchService.js.map +0 -1
  316. package/dist/services/internal/sendTransaction.js +0 -191
  317. package/dist/services/internal/sendTransaction.js.map +0 -1
  318. package/dist/services/internal/sendTransactionStatus.js +0 -134
  319. package/dist/services/internal/sendTransactionStatus.js.map +0 -1
  320. package/dist/services/internal/solanaService.js +0 -142
  321. package/dist/services/internal/solanaService.js.map +0 -1
  322. package/dist/services/internal/suiService.js +0 -81
  323. package/dist/services/internal/suiService.js.map +0 -1
  324. package/dist/services/internal/transactionService.js +0 -210
  325. package/dist/services/internal/transactionService.js.map +0 -1
  326. package/dist/services/internal/transactionStatusService.js +0 -390
  327. package/dist/services/internal/transactionStatusService.js.map +0 -1
  328. package/dist/services/internal/walletService.js +0 -546
  329. package/dist/services/internal/walletService.js.map +0 -1
  330. package/dist/services/internal/walletStandardService.js +0 -128
  331. package/dist/services/internal/walletStandardService.js.map +0 -1
  332. package/dist/services/internal/xionService.js +0 -6
  333. package/dist/services/internal/xionService.js.map +0 -1
  334. package/dist/services/internal/xrplService.js +0 -52
  335. package/dist/services/internal/xrplService.js.map +0 -1
  336. package/dist/tests/apiService.test.js +0 -40
  337. package/dist/tests/apiService.test.js.map +0 -1
  338. package/dist/tests/assetsService.test.js +0 -487
  339. package/dist/tests/assetsService.test.js.map +0 -1
  340. package/dist/tests/configService.test.js +0 -673
  341. package/dist/tests/configService.test.js.map +0 -1
  342. package/dist/tests/estimateService.test.js +0 -429
  343. package/dist/tests/estimateService.test.js.map +0 -1
  344. package/dist/tests/fetchSquidData.js +0 -36
  345. package/dist/tests/fetchSquidData.js.map +0 -1
  346. package/dist/tests/jest-svg-transform.d.ts +0 -0
  347. package/dist/tests/jest-svg-transform.js +0 -21
  348. package/dist/tests/jest-svg-transform.js.map +0 -1
  349. package/dist/tests/numberService.test.js +0 -166
  350. package/dist/tests/numberService.test.js.map +0 -1
  351. package/dist/tests/priceService.test.js +0 -38
  352. package/dist/tests/priceService.test.js.map +0 -1
  353. package/dist/tests/sample.json +0 -0
  354. package/dist/tests/searchService.test.js +0 -86
  355. package/dist/tests/searchService.test.js.map +0 -1
  356. package/dist/tests/swapConfig.test.js +0 -332
  357. package/dist/tests/swapConfig.test.js.map +0 -1
  358. package/dist/tests/transactionService.test.js +0 -53
  359. package/dist/tests/transactionService.test.js.map +0 -1
  360. package/dist/tests/transactionStatusService.test.js +0 -165
  361. package/dist/tests/transactionStatusService.test.js.map +0 -1
  362. package/dist/tests/walletService.test.js +0 -488
  363. package/dist/tests/walletService.test.js.map +0 -1
@@ -1,53 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- /**
3
- * Cleans numeric string by removing thousand separators
4
- * @param amount - The amount to clean (string or number)
5
- */
6
- export function cleanAmount(amount) {
7
- if (typeof amount === "number")
8
- return amount.toString();
9
- return amount.replace(/,/g, "");
10
- }
11
- /**
12
- * Convert token amount to USD
13
- * @param {string|number} tokenAmount - The amount of tokens
14
- * @param {string|number} tokenPrice - The price of one token in USD
15
- * @returns {BigNumber} - The equivalent amount in USD
16
- */
17
- export function convertTokenAmountToUSD(tokenAmount, tokenPrice, maxDecimals = 4) {
18
- if (!tokenAmount || !tokenPrice)
19
- return "";
20
- try {
21
- const amount = new BigNumber(cleanAmount(tokenAmount));
22
- const price = new BigNumber(cleanAmount(tokenPrice));
23
- return amount.multipliedBy(price).decimalPlaces(maxDecimals).toString();
24
- }
25
- catch {
26
- return "";
27
- }
28
- }
29
- /**
30
- * Convert USD to token amount
31
- * @param {string|number} usdAmount - The amount in USD
32
- * @param {string|number} tokenPrice - The price of one token in USD
33
- * @param {number} maxDecimals - The maximum number of decimals
34
- * @returns {BigNumber} - The equivalent amount of tokens
35
- */
36
- export function convertUSDToTokenAmount(usdAmount, tokenPrice, maxDecimals) {
37
- if (!usdAmount || !tokenPrice || !maxDecimals)
38
- return "0";
39
- const amount = new BigNumber(cleanAmount(usdAmount));
40
- const price = new BigNumber(cleanAmount(tokenPrice));
41
- return amount.dividedBy(price).decimalPlaces(maxDecimals).toString();
42
- }
43
- export const calculateTotal24hChange = (tokensWithBalance, totalUSDAmount) => {
44
- let weightedChangeSum = 0;
45
- for (const token of tokensWithBalance) {
46
- const tokenBalance = parseFloat(token.balance);
47
- const tokenValueUSD = tokenBalance * token.usdPrice;
48
- const weightedChange = (tokenValueUSD / Number(totalUSDAmount)) * token.price24hChange;
49
- weightedChangeSum += weightedChange;
50
- }
51
- return weightedChangeSum;
52
- };
53
- //# sourceMappingURL=priceService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"priceService.js","sourceRoot":"","sources":["../../../src/services/internal/priceService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB;IACjD,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzD,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAA4B,EAC5B,UAA2B,EAC3B,cAAsB,CAAC;IAEvB,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3C,IAAI;QACF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;KACzE;IAAC,MAAM;QACN,OAAO,EAAE,CAAC;KACX;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAA0B,EAC1B,UAA2B,EAC3B,WAAmB;IAEnB,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW;QAAE,OAAO,GAAG,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,CAAC;AAQD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,iBAAqC,EACrC,cAA+B,EACvB,EAAE;IACV,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAE1B,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE;QACrC,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC;QACpD,MAAM,cAAc,GAClB,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;QAClE,iBAAiB,IAAI,cAAc,CAAC;KACrC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,98 +0,0 @@
1
- import Fuse from "fuse.js";
2
- import { nativeEvmTokenAddress } from "../../core/constants";
3
- /**
4
- * Minimum length of a search query to search by address
5
- * Some tokens can have very short addresses (e.g. "uosmo", "uixo", "satoshi", etc...)
6
- * We don't want to search by address for these short queries
7
- * as they can conflict with other tokens' symbols
8
- *
9
- * This value is arbitrary and can be adjusted as needed
10
- * but most blockchains should have longer addresses than this
11
- */
12
- const minAddressLength = 7;
13
- const fuseSearchOptions = {
14
- isCaseSensitive: false,
15
- threshold: 0.1,
16
- findAllMatches: false,
17
- includeMatches: true,
18
- keys: [
19
- { name: "symbol", weight: 1 },
20
- { name: "name", weight: 0.8 },
21
- ],
22
- };
23
- /**
24
- * Searches for tokens based on a query string, prioritizing results in the following order:
25
- * 1. Exact address
26
- * 2. ETH on Ethereum mainnet (chainId 1)
27
- * 3. Native tokens of chains matching the query (e.g., BNB when searching for "binance")
28
- * 4. Exact matches for native tokens (e.g., native FTM when searching for "FTM")
29
- * 5. Other exact matches for token names or symbols
30
- * 6. Other native tokens that partially match the query
31
- * 7. Remaining tokens that partially match the query
32
- *
33
- * @param query - The search query string
34
- * @param tokens - Array of all available tokens
35
- * @param chains - Array of chain data
36
- * @returns An array of tokens sorted according to the priority described above
37
- */
38
- export const searchTokens = (query, tokens, chains) => {
39
- // Query must at least be 2 characters long
40
- if (query.length <= 1)
41
- return tokens;
42
- // Check for exact address match first, only if query is long enough
43
- const exactAddressMatches = query.length >= minAddressLength
44
- ? tokens.filter((token) => token.address.toLowerCase() === query.toLowerCase())
45
- : [];
46
- // There can be multiple matches for the same address,
47
- // e.g. ITS tokens share address across chains
48
- if (exactAddressMatches.length > 0) {
49
- return exactAddressMatches;
50
- }
51
- // Init fuse.js
52
- const fuse = new Fuse(tokens, fuseSearchOptions);
53
- // Perform the search with fuse
54
- const searchResults = fuse.search(query);
55
- // Find native tokens that match the query or related chain names
56
- const nativeTokens = chains
57
- .filter((chain) => chain.nativeCurrency.symbol.toLowerCase() === query.toLowerCase() ||
58
- chain.nativeCurrency.name.toLowerCase().includes(query.toLowerCase()) ||
59
- chain.networkName.toLowerCase().includes(query.toLowerCase()) ||
60
- chain.axelarChainName.toLowerCase().includes(query.toLowerCase()))
61
- .map((chain) => tokens.find((token) => token.chainId === chain.chainId &&
62
- token.address.toLowerCase() === nativeEvmTokenAddress))
63
- .filter((token) => token !== undefined);
64
- // Separate ETH on Ethereum mainnet (chainId 1) for top priority
65
- const ethMainnet = nativeTokens.find((token) => token.symbol === "ETH" && token.chainId === "1");
66
- const otherNativeTokens = nativeTokens.filter((token) => !(token.symbol === "ETH" && token.chainId === "1"));
67
- // Find exact matches for token name or symbol
68
- const exactMatches = searchResults
69
- .map((result) => result.item)
70
- .filter((token) => token.name.toLowerCase() === query.toLowerCase() ||
71
- token.symbol.toLowerCase() === query.toLowerCase());
72
- // Prioritize native tokens within exact matches
73
- const prioritizedExactMatches = exactMatches.sort((a, b) => {
74
- const aIsNative = a.address.toLowerCase() === nativeEvmTokenAddress;
75
- const bIsNative = b.address.toLowerCase() === nativeEvmTokenAddress;
76
- if (aIsNative && !bIsNative)
77
- return -1;
78
- if (!aIsNative && bIsNative)
79
- return 1;
80
- return 0;
81
- });
82
- // Collect remaining search results that aren't exact matches
83
- const otherResults = searchResults
84
- .map((result) => result.item)
85
- .filter((token) => !(token.name.toLowerCase() === query.toLowerCase() ||
86
- token.symbol.toLowerCase() === query.toLowerCase()));
87
- // Combine all results in the desired priority order
88
- const combinedResults = [
89
- ...(ethMainnet ? [ethMainnet] : []),
90
- ...otherNativeTokens,
91
- ...prioritizedExactMatches,
92
- ...otherResults,
93
- ];
94
- // Remove any duplicate tokens from the results
95
- const uniqueResults = Array.from(new Set(combinedResults));
96
- return uniqueResults;
97
- };
98
- //# sourceMappingURL=searchService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"searchService.js","sourceRoot":"","sources":["../../../src/services/internal/searchService.ts"],"names":[],"mappings":"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"}
@@ -1,191 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { coin as cosmJsCoin } from "@cosmjs/proto-signing";
3
- import { SigningStargateClient, } from "@cosmjs/stargate";
4
- import { Transaction } from "@mysten/sui/transactions";
5
- import { Contract, JsonRpcProvider } from "ethers";
6
- import { erc20Abi } from "viem";
7
- import { getClient } from "../../core/client";
8
- import { nativeEvmTokenAddress, nativeSuiTokenAddress, nativeXrplTokenAddress, } from "../../core/constants";
9
- import { formatBNToReadable } from "./numberService";
10
- import { executeSolanaTransfer } from "./solanaService";
11
- import { getSuiChain } from "./suiService";
12
- import { getXrplNetwork, isXrplAddressValid } from "./xrplService";
13
- export async function sendTransactionEvm({ to, amount, token, signer, rpcUrl, }) {
14
- const isNativeToken = token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase();
15
- if (isNativeToken) {
16
- const tx = await signer.sendTransaction({
17
- to,
18
- value: amount,
19
- chainId: Number(token.chainId),
20
- });
21
- return {
22
- txHash: tx.hash,
23
- };
24
- }
25
- const provider = new JsonRpcProvider(rpcUrl);
26
- const erc20Contract = new Contract(token.address, erc20Abi, provider);
27
- const encodedTransferCall = erc20Contract.interface.encodeFunctionData("transfer", [to, amount]);
28
- const tx = await signer.sendTransaction({
29
- to: token.address,
30
- data: encodedTransferCall,
31
- chainId: Number(token.chainId),
32
- });
33
- return {
34
- txHash: tx.hash,
35
- };
36
- }
37
- export async function sendTransactionCosmos({ amount, rpcUrl, signer, to, token, nativeToken, }) {
38
- const accounts = await signer.getAccounts();
39
- const signingClient = await SigningStargateClient.connectWithSigner(rpcUrl, signer);
40
- const senderAddress = accounts[0].address;
41
- const coins = [cosmJsCoin(amount, token.address)];
42
- const fee = {
43
- amount: [cosmJsCoin("500", nativeToken.address)],
44
- gas: "150000",
45
- };
46
- const sendMsg = {
47
- typeUrl: "/cosmos.bank.v1beta1.MsgSend",
48
- value: {
49
- fromAddress: senderAddress,
50
- toAddress: to,
51
- amount: coins,
52
- },
53
- };
54
- const txHash = await signingClient.signAndBroadcastSync(senderAddress, [sendMsg], fee);
55
- return { txHash };
56
- }
57
- export async function sendTransactionSolana({ signer, amount, to, token, connection, }) {
58
- const amountBn = BigInt(amount);
59
- const txHash = await executeSolanaTransfer({
60
- amount: amountBn,
61
- connection,
62
- signer,
63
- target: to,
64
- sourceToken: token,
65
- });
66
- return { txHash };
67
- }
68
- export async function sendTransactionBitcoin({ amount, signer, to, }) {
69
- const { txHash } = await signer.sendBTC(to, Number(amount));
70
- return { txHash };
71
- }
72
- export async function sendTransactionSui({ account, amount, chain, signer, to, token, }) {
73
- if (chain.chainType !== ChainType.SUI) {
74
- throw new Error(`Invalid chain type, expected ${ChainType.SUI}, got ${chain.chainType}`);
75
- }
76
- const suiChain = getSuiChain(chain.chainId);
77
- if (!suiChain) {
78
- throw new Error(`Sui chain not found for chainId: ${chain.chainId}`);
79
- }
80
- const suiClient = await getClient(chain);
81
- const isNativeToken = token.address.toLowerCase() === nativeSuiTokenAddress.toLowerCase();
82
- const tx = new Transaction();
83
- if (isNativeToken) {
84
- const [coin] = tx.splitCoins(tx.gas, [amount]);
85
- tx.transferObjects([coin], to);
86
- }
87
- else {
88
- const coinType = token.address;
89
- const coinObjects = await suiClient.getCoins({
90
- owner: account.address,
91
- coinType,
92
- });
93
- const coinObject = coinObjects.data.find((coin) => BigInt(coin.balance) >= BigInt(amount));
94
- // if a coin with enough balance is found, use it
95
- // as it's more efficient than merging multiple coins
96
- if (coinObject) {
97
- const [coin] = tx.splitCoins(coinObject.coinObjectId, [amount]);
98
- tx.transferObjects([coin], to);
99
- }
100
- else {
101
- // otherwise merge coins up to the required amount
102
- // first, sort the coins by balance in descending order for efficiency
103
- const sortedCoins = coinObjects.data.sort((a, b) => {
104
- const diff = BigInt(b.balance) - BigInt(a.balance);
105
- if (diff === BigInt(0)) {
106
- return 0;
107
- }
108
- else if (diff > BigInt(0)) {
109
- return 1;
110
- }
111
- else {
112
- return -1;
113
- }
114
- });
115
- // gather coins until the required amount is reached
116
- const selectedCoinObjects = [];
117
- let amountGathered = BigInt(0);
118
- for (const coin of sortedCoins) {
119
- if (amountGathered >= BigInt(amount)) {
120
- break;
121
- }
122
- selectedCoinObjects.push(coin);
123
- amountGathered += BigInt(coin.balance);
124
- }
125
- if (amountGathered < BigInt(amount)) {
126
- throw new Error(`Insufficient balance of ${coinType}`);
127
- }
128
- const [targetCoin, ...otherCoins] = selectedCoinObjects.map((c) => c.coinObjectId);
129
- // merge the selected coins into a single coin
130
- tx.mergeCoins(targetCoin, otherCoins);
131
- // create a new coin with the required amount
132
- const [coin] = tx.splitCoins(targetCoin, [amount]);
133
- tx.transferObjects([coin], to);
134
- }
135
- }
136
- const signedTx = await signer.signTransaction({
137
- transaction: tx,
138
- account,
139
- chain: suiChain,
140
- });
141
- // execute transaction without waiting for confirmation
142
- const txResponse = await suiClient.executeTransactionBlock({
143
- signature: signedTx.signature,
144
- transactionBlock: signedTx.bytes,
145
- });
146
- return { txHash: txResponse.digest };
147
- }
148
- export async function sendTransactionXrpl({ amount, signer, to, token, from, }) {
149
- const xrplNetwork = getXrplNetwork(token.chainId);
150
- if (xrplNetwork == null) {
151
- throw new Error(`No XRPL network found for chainId '${token.chainId}'`);
152
- }
153
- if (!isXrplAddressValid(from) || !isXrplAddressValid(to)) {
154
- throw new Error("Invalid from or to address");
155
- }
156
- const baseTransaction = {
157
- TransactionType: "Payment",
158
- Account: from,
159
- Destination: to,
160
- };
161
- const isNativeToken = token.address.toLowerCase() === nativeXrplTokenAddress.toLowerCase();
162
- if (isNativeToken) {
163
- const { hash } = await signer.signAndSubmit({
164
- network: xrplNetwork,
165
- tx: {
166
- ...baseTransaction,
167
- Amount: amount,
168
- },
169
- });
170
- return {
171
- txHash: hash,
172
- };
173
- }
174
- const [currency, issuer] = token.address.split(".");
175
- const amountFormatted = formatBNToReadable(amount, token.decimals);
176
- const { hash } = await signer.signAndSubmit({
177
- network: xrplNetwork,
178
- tx: {
179
- ...baseTransaction,
180
- Amount: {
181
- currency,
182
- issuer,
183
- value: amountFormatted,
184
- },
185
- },
186
- });
187
- return {
188
- txHash: hash,
189
- };
190
- }
191
- //# sourceMappingURL=sendTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendTransaction.js","sourceRoot":"","sources":["../../../src/services/internal/sendTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAS,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,IAAI,IAAI,UAAU,EAAiB,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAEL,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAiB,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAiBnE,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,EAAE,EACF,MAAM,EACN,KAAK,EACL,MAAM,EACN,MAAM,GACmB;IACzB,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,CAAC;IAEtE,IAAI,aAAa,EAAE;QACjB,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;YACtC,EAAE;YACF,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,EAAE,CAAC,IAAI;SAChB,CAAC;KACH;IAED,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEtE,MAAM,mBAAmB,GAAG,aAAa,CAAC,SAAS,CAAC,kBAAkB,CACpE,UAAU,EACV,CAAC,EAAE,EAAE,MAAM,CAAC,CACb,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QACtC,EAAE,EAAE,KAAK,CAAC,OAAO;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;KAC/B,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,EAAE,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EACN,MAAM,EACN,MAAM,EACN,EAAE,EACF,KAAK,EACL,WAAW,GACiB;IAC5B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,CACjE,MAAM,EACN,MAAM,CACP,CAAC;IAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAChD,GAAG,EAAE,QAAQ;KACd,CAAC;IAEF,MAAM,OAAO,GAAwB;QACnC,OAAO,EAAE,8BAA8B;QACvC,KAAK,EAAE;YACL,WAAW,EAAE,aAAa;YAC1B,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,KAAK;SACd;KACF,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,oBAAoB,CACrD,aAAa,EACb,CAAC,OAAO,CAAC,EACT,GAAG,CACJ,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,MAAM,EACN,MAAM,EACN,EAAE,EACF,KAAK,EACL,UAAU,GACS;IACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;QACzC,MAAM,EAAE,QAAQ;QAChB,UAAU;QACV,MAAM;QACN,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,MAAM,EACN,MAAM,EACN,EAAE,GACkB;IACpB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAE5D,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC;AAQD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,OAAO,EACP,MAAM,EACN,KAAK,EACL,MAAM,EACN,EAAE,EACF,KAAK,GACW;IAChB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,GAAG,EAAE;QACrC,MAAM,IAAI,KAAK,CACb,gCAAgC,SAAS,CAAC,GAAG,SAAS,KAAK,CAAC,SAAS,EAAE,CACxE,CAAC;KACH;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KACtE;IAED,MAAM,SAAS,GAAG,MAAM,SAAS,CAAgB,KAAK,CAAC,CAAC;IACxD,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,qBAAqB,CAAC,WAAW,EAAE,CAAC;IAEtE,MAAM,EAAE,GAAG,IAAI,WAAW,EAAE,CAAC;IAE7B,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAE/C,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;KAChC;SAAM;QACL,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC;QAE/B,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;YAC3C,KAAK,EAAE,OAAO,CAAC,OAAO;YACtB,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CACjD,CAAC;QAEF,iDAAiD;QACjD,qDAAqD;QACrD,IAAI,UAAU,EAAE;YACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAEhE,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;SAChC;aAAM;YACL,kDAAkD;YAElD,sEAAsE;YACtE,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBAEnD,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;oBACtB,OAAO,CAAC,CAAC;iBACV;qBAAM,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC3B,OAAO,CAAC,CAAC;iBACV;qBAAM;oBACL,OAAO,CAAC,CAAC,CAAC;iBACX;YACH,CAAC,CAAC,CAAC;YAEH,oDAAoD;YACpD,MAAM,mBAAmB,GAAG,EAAE,CAAC;YAC/B,IAAI,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;gBAC9B,IAAI,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;oBACpC,MAAM;iBACP;gBACD,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC/B,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxC;YAED,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;gBACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;aACxD;YAED,MAAM,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,GAAG,mBAAmB,CAAC,GAAG,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACtB,CAAC;YAEF,8CAA8C;YAC9C,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YAEtC,6CAA6C;YAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnD,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;SAChC;KACF;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;QAC5C,WAAW,EAAE,EAAE;QACf,OAAO;QACP,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,uDAAuD;IACvD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,uBAAuB,CAAC;QACzD,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,gBAAgB,EAAE,QAAQ,CAAC,KAAK;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;AACvC,CAAC;AAOD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,EAAE,EACF,KAAK,EACL,IAAI,GACa;IACjB,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAElD,IAAI,WAAW,IAAI,IAAI,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;KACzE;IAED,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE;QACxD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;IAED,MAAM,eAAe,GAAG;QACtB,eAAe,EAAE,SAAS;QAC1B,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,sBAAsB,CAAC,WAAW,EAAE,CAAC;IAEvE,IAAI,aAAa,EAAE;QACjB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC1C,OAAO,EAAE,WAAW;YACpB,EAAE,EAAE;gBACF,GAAG,eAAe;gBAClB,MAAM,EAAE,MAAM;aACf;SACF,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,IAAI;SACb,CAAC;KACH;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEnE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;QAC1C,OAAO,EAAE,WAAW;QACpB,EAAE,EAAE;YACF,GAAG,eAAe;YAClB,MAAM,EAAE;gBACN,QAAQ;gBACR,MAAM;gBACN,KAAK,EAAE,eAAe;aACvB;SACF;KACF,CAAC,CAAC;IAEH,OAAO;QACL,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC"}
@@ -1,134 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { AxiosError } from "axios";
3
- import { getClient } from "../../core/client";
4
- import { getTransactionStatus as getBtcTxStatus } from "../../core/connectors/bitcoin/helpers";
5
- import { SendTransactionStatus } from "../../core/types/transaction";
6
- import { XrplTxStatus } from "../../core/types/xrpl";
7
- async function getTxStatusEvm({ chain, txHash, }) {
8
- const client = await getClient(chain);
9
- const receipt = await client.getTransactionReceipt(txHash);
10
- if (!receipt)
11
- return SendTransactionStatus.ONGOING;
12
- switch (receipt.status) {
13
- case 0:
14
- return SendTransactionStatus.ERROR;
15
- case 1:
16
- return SendTransactionStatus.SUCCESS;
17
- }
18
- return SendTransactionStatus.ONGOING;
19
- }
20
- async function getTxStatusCosmos({ txHash, chain, }) {
21
- const client = await getClient(chain);
22
- const tx = await client.getTx(txHash);
23
- if (!tx) {
24
- return SendTransactionStatus.ONGOING;
25
- }
26
- if (tx.code === 0) {
27
- return SendTransactionStatus.SUCCESS;
28
- }
29
- return SendTransactionStatus.ERROR;
30
- }
31
- async function getTxStatusSolana({ txHash, chain, }) {
32
- const client = await getClient(chain);
33
- const txStatus = await client.getSignatureStatus(txHash, {
34
- searchTransactionHistory: true,
35
- });
36
- if (!txStatus.value) {
37
- return SendTransactionStatus.ONGOING;
38
- }
39
- if (txStatus.value.err) {
40
- return SendTransactionStatus.ERROR;
41
- }
42
- switch (txStatus.value.confirmationStatus) {
43
- case "processed":
44
- case "confirmed":
45
- return SendTransactionStatus.ONGOING;
46
- case "finalized":
47
- return SendTransactionStatus.SUCCESS;
48
- }
49
- return SendTransactionStatus.ONGOING;
50
- }
51
- async function getTxStatusBitcoin({ txHash, }) {
52
- try {
53
- const response = await getBtcTxStatus(txHash);
54
- if (response.status.confirmed) {
55
- return SendTransactionStatus.SUCCESS;
56
- }
57
- return SendTransactionStatus.ONGOING;
58
- }
59
- catch (error) {
60
- if (error instanceof AxiosError) {
61
- if (/transaction not found/i.test(error.message)) {
62
- return SendTransactionStatus.ONGOING;
63
- }
64
- }
65
- throw error;
66
- }
67
- }
68
- async function getTxStatusSui({ chain, txHash, }) {
69
- if (chain.chainType !== ChainType.SUI) {
70
- throw new Error(`Invalid chain type, expected ${ChainType.SUI}, got ${chain.chainType}`);
71
- }
72
- const suiClient = await getClient(chain);
73
- const txResponse = await suiClient.waitForTransaction({
74
- digest: txHash,
75
- options: {
76
- showEffects: true,
77
- },
78
- });
79
- if (txResponse.effects?.status.error) {
80
- return SendTransactionStatus.ERROR;
81
- }
82
- switch (txResponse.effects?.status.status) {
83
- case "success":
84
- return SendTransactionStatus.SUCCESS;
85
- case "failure":
86
- return SendTransactionStatus.ERROR;
87
- default:
88
- return SendTransactionStatus.ONGOING;
89
- }
90
- }
91
- async function getTxStatusXrpl({ chain, txHash, }) {
92
- const xrplClient = await getClient(chain);
93
- const status = await xrplClient.waitForTransaction(txHash, {
94
- interval: 1_000,
95
- });
96
- if (status === XrplTxStatus.SUCCESS) {
97
- return SendTransactionStatus.SUCCESS;
98
- }
99
- return SendTransactionStatus.ERROR;
100
- }
101
- export async function getSendTransactionStatus({ chain, txHash, }) {
102
- switch (chain.chainType) {
103
- case ChainType.EVM:
104
- return getTxStatusEvm({
105
- txHash,
106
- chain,
107
- });
108
- case ChainType.COSMOS:
109
- return getTxStatusCosmos({
110
- txHash,
111
- chain,
112
- });
113
- case ChainType.SOLANA:
114
- return getTxStatusSolana({
115
- txHash,
116
- chain,
117
- });
118
- case ChainType.BTC:
119
- return getTxStatusBitcoin({
120
- txHash,
121
- });
122
- case ChainType.SUI:
123
- return getTxStatusSui({
124
- txHash,
125
- chain,
126
- });
127
- case ChainType.XRPL:
128
- return getTxStatusXrpl({
129
- txHash,
130
- chain,
131
- });
132
- }
133
- }
134
- //# sourceMappingURL=sendTransactionStatus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sendTransactionStatus.js","sourceRoot":"","sources":["../../../src/services/internal/sendTransactionStatus.ts"],"names":[],"mappings":"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"}
@@ -1,142 +0,0 @@
1
- import { ChainType, } from "@0xsquid/squid-types";
2
- import { createAssociatedTokenAccountInstruction, createTransferInstruction, getAssociatedTokenAddress, } from "@solana/spl-token";
3
- import { StandardWalletAdapter } from "@solana/wallet-standard-wallet-adapter-base";
4
- import { PublicKey, SystemProgram, Transaction, VersionedTransaction, } from "@solana/web3.js";
5
- import { nativeSolanaTokenAddress } from "../../core/constants";
6
- import { isStandardWalletWithCustomFeatures, standardWalletOverrides, } from "./walletStandardService";
7
- const SOLANA_FEATURES = ["solana:signTransaction"];
8
- /**
9
- * Validates that a given standard wallet has all the required features for a Solana wallet
10
- */
11
- function isSolanaStandardWallet(wallet) {
12
- return isStandardWalletWithCustomFeatures(wallet, SOLANA_FEATURES);
13
- }
14
- export function filterSolanaWallets(standardWallets) {
15
- // Filter out all non-Solana standard wallets
16
- return standardWallets.filter(isSolanaStandardWallet).map(formatSolanaWallet);
17
- }
18
- /**
19
- * Format a Solana standard wallet into a Squid Wallet
20
- */
21
- function formatSolanaWallet(wallet) {
22
- const { icon, name: defaultName, id } = wallet;
23
- const standardWalletId = id || defaultName;
24
- const walletOverrides = standardWalletOverrides[standardWalletId];
25
- const walletIcon = walletOverrides?.icon || icon;
26
- const name = walletOverrides?.name || defaultName;
27
- const connectorId = walletOverrides?.connectorId || standardWalletId;
28
- return {
29
- connectorId,
30
- name,
31
- connectorName: name,
32
- type: ChainType.SOLANA,
33
- icon: walletIcon,
34
- windowFlag: name,
35
- isMobile: false,
36
- isInstalled() {
37
- return true;
38
- },
39
- connector: new StandardWalletAdapter({ wallet }),
40
- };
41
- }
42
- export const isSolanaAddressValid = (address) => {
43
- try {
44
- new PublicKey(address);
45
- return true;
46
- }
47
- catch {
48
- return false;
49
- }
50
- };
51
- /**
52
- * Execute a Solana swap transaction
53
- * This will be used for the swap flow - Using Jupiter Dex under the hood
54
- */
55
- export const executeSolanaSwap = async ({ route, signer, connection, onSigned, }) => {
56
- if (!route?.transactionRequest?.data) {
57
- throw new Error("Invalid parameters");
58
- }
59
- const swapRequest = route.transactionRequest.data;
60
- const swapTransactionBuf = Buffer.from(swapRequest, "base64");
61
- // TODO: fix types
62
- // const transaction = VersionedTransaction.deserialize(
63
- // Uint8Array.from(swapTransactionBuf)
64
- // );
65
- const transaction = VersionedTransaction.deserialize(swapTransactionBuf);
66
- try {
67
- const latestBlockhash = await connection.getLatestBlockhash();
68
- const signature = await signer.sendTransaction(transaction, connection);
69
- onSigned?.(signature);
70
- await connection.confirmTransaction({
71
- signature,
72
- blockhash: latestBlockhash.blockhash,
73
- lastValidBlockHeight: latestBlockhash.lastValidBlockHeight,
74
- });
75
- return signature;
76
- }
77
- catch (error) {
78
- console.error("Solana swap failed:", error);
79
- throw error;
80
- }
81
- };
82
- /**
83
- * Execute a Solana transfer transaction for both native SOL and SPL tokens
84
- * @param amount - Amount to transfer in raw units (lamports for SOL, raw token units for SPL)
85
- * @param target - Target wallet address
86
- * @param signer - Solana wallet adapter instance
87
- * @param connection - Solana RPC connection
88
- * @param sourceToken - Token information (undefined for native SOL)
89
- * @param onSigned - Optional callback triggered when transaction is signed
90
- * @returns Transaction signature
91
- */
92
- export const executeSolanaTransfer = async ({ amount, target, signer, connection, sourceToken, onSigned, }) => {
93
- // Validate signer and target address
94
- if (!signer.publicKey) {
95
- throw new Error("Signer public key not found");
96
- }
97
- if (!isSolanaAddressValid(target)) {
98
- throw new Error("Invalid target address");
99
- }
100
- const targetPubKey = new PublicKey(target);
101
- const transaction = new Transaction();
102
- const isNativeToken = !sourceToken ||
103
- sourceToken.address.toLowerCase() ===
104
- nativeSolanaTokenAddress.toLowerCase();
105
- if (isNativeToken) {
106
- // Handle native SOL transfer
107
- transaction.add(SystemProgram.transfer({
108
- fromPubkey: signer.publicKey,
109
- toPubkey: targetPubKey,
110
- lamports: amount,
111
- }));
112
- }
113
- else {
114
- // Handle SPL token transfer
115
- const mint = new PublicKey(sourceToken.address);
116
- // Get Associated Token Accounts (ATAs) for both source and target
117
- const sourceATA = await getAssociatedTokenAddress(mint, signer.publicKey, true);
118
- const targetATA = await getAssociatedTokenAddress(mint, targetPubKey, true);
119
- // Check if target ATA exists and create if needed
120
- const targetAccount = await connection.getAccountInfo(targetATA);
121
- if (!targetAccount) {
122
- transaction.add(createAssociatedTokenAccountInstruction(signer.publicKey, targetATA, targetPubKey, mint));
123
- }
124
- // Add the token transfer instruction
125
- transaction.add(createTransferInstruction(sourceATA, targetATA, signer.publicKey, amount));
126
- }
127
- // Get latest blockhash and sign transaction
128
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
129
- transaction.recentBlockhash = blockhash;
130
- transaction.feePayer = signer.publicKey;
131
- const signature = await signer.sendTransaction(transaction, connection);
132
- // Trigger callback for UI purposes (show loading state)
133
- onSigned?.(signature);
134
- // Wait for transaction confirmation
135
- await connection.confirmTransaction({
136
- signature,
137
- blockhash,
138
- lastValidBlockHeight,
139
- });
140
- return signature;
141
- };
142
- //# sourceMappingURL=solanaService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"solanaService.js","sourceRoot":"","sources":["../../../src/services/internal/solanaService.ts"],"names":[],"mappings":"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"}