@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,76 +0,0 @@
1
- import { XrplNetwork } from "../../types/xrpl";
2
- var NetworkLabel;
3
- (function (NetworkLabel) {
4
- NetworkLabel["XAHAU"] = "xahau";
5
- NetworkLabel["XRPL"] = "xrp ledger";
6
- })(NetworkLabel || (NetworkLabel = {}));
7
- var NetworkType;
8
- (function (NetworkType) {
9
- NetworkType["TESTNET"] = "testnet";
10
- NetworkType["MAINNET"] = "mainnet";
11
- NetworkType["DEVNET"] = "devnet";
12
- })(NetworkType || (NetworkType = {}));
13
- export class CrossmarkConnector {
14
- getProvider() {
15
- return window?.xrpl?.crossmark;
16
- }
17
- async connect() {
18
- const provider = this.getProvider();
19
- if (!provider) {
20
- throw new Error("Crossmark provider not found");
21
- }
22
- await provider.async.signInAndWait();
23
- const address = provider.session?.address;
24
- if (!address) {
25
- throw new Error("Crossmark address not found");
26
- }
27
- return address;
28
- }
29
- async signAndSubmit({ network, tx, }) {
30
- const activeNetwork = this.getActiveNetwork();
31
- if (activeNetwork !== network) {
32
- throw new Error(`Invalid network (expected ${network}, got ${activeNetwork})`);
33
- }
34
- const provider = this.getProvider();
35
- if (!provider) {
36
- throw new Error("Crossmark provider not found");
37
- }
38
- const result = await provider.async.signAndSubmitAndWait(tx);
39
- const { data } = result.response;
40
- if (data.meta?.isRejected) {
41
- throw new Error("User rejected the request.");
42
- }
43
- if (data.meta?.isError) {
44
- throw new Error(data.errorMessage || "Error signing transaction");
45
- }
46
- if (!data.resp.result) {
47
- throw new Error("Invalid transaction response");
48
- }
49
- return {
50
- hash: data.resp.result.hash,
51
- status: data.resp.result.meta.TransactionResult,
52
- };
53
- }
54
- getActiveNetwork() {
55
- const provider = this.getProvider();
56
- if (!provider) {
57
- throw new Error("Crossmark provider not found");
58
- }
59
- const network = provider.session?.network;
60
- if (!network) {
61
- throw new Error("Crossmark network not found");
62
- }
63
- if (network.label !== NetworkLabel.XRPL) {
64
- throw new Error(`Active network is not supported (expected '${NetworkLabel.XRPL}', got '${network.label}')`);
65
- }
66
- switch (network.type) {
67
- case NetworkType.MAINNET:
68
- return XrplNetwork.MAINNET;
69
- case NetworkType.TESTNET:
70
- return XrplNetwork.TESTNET;
71
- default:
72
- throw new Error(`Active network is not supported (got '${network.type}')`);
73
- }
74
- }
75
- }
76
- //# sourceMappingURL=CrossMark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossMark.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/CrossMark.ts"],"names":[],"mappings":"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"}
@@ -1,194 +0,0 @@
1
- import { WalletConnectModal, } from "@walletconnect/modal";
2
- import UniversalProvider from "@walletconnect/universal-provider";
3
- import { getSdkError } from "@walletconnect/utils";
4
- import { XRPL_METHOD, XrplCAIP2ChainId, XrplNetwork, XrplTxStatus, } from "../../../core/types/xrpl";
5
- import { isXrplAddressValid } from "../../../services/internal/xrplService";
6
- const chains = [XrplCAIP2ChainId.MAINNET, XrplCAIP2ChainId.TESTNET];
7
- export class XrplWalletConnect {
8
- provider = null;
9
- session = null;
10
- modal = null;
11
- projectId;
12
- metadata;
13
- recommendedWalletId;
14
- listeners = {};
15
- constructor({ projectId, metadata, recommendedWalletId, }) {
16
- this.metadata = metadata;
17
- this.projectId = projectId;
18
- this.recommendedWalletId = recommendedWalletId;
19
- }
20
- validateInitialized() {
21
- if (!this.provider) {
22
- throw new Error("Provider is not initialized");
23
- }
24
- }
25
- /**
26
- * Sets up providers and event listeners, must be called before connecting
27
- *
28
- * - initializes WalletConnect UniversalProvider
29
- * - initializes WalletConnectModal
30
- * - attaches event listeners
31
- */
32
- async initialize() {
33
- if (this.provider)
34
- return;
35
- this.provider = await UniversalProvider.init({
36
- projectId: this.projectId,
37
- // logger: "debug",
38
- metadata: this.metadata,
39
- // We need to specify a custom storage prefix to avoid conflicts with Wagmi's walletConnect instance
40
- // https://docs.reown.com/walletkit/web/usage#core-instance-sharing
41
- customStoragePrefix: "squid-xrpl",
42
- });
43
- this.provider.client.on("session_delete", () => {
44
- this.emit("disconnect", undefined);
45
- });
46
- const options = this.recommendedWalletId
47
- ? {
48
- explorerRecommendedWalletIds: [this.recommendedWalletId],
49
- explorerExcludedWalletIds: "ALL",
50
- }
51
- : {};
52
- this.modal = new WalletConnectModal({
53
- projectId: this.projectId,
54
- chains,
55
- ...options,
56
- });
57
- }
58
- /**
59
- * Initializes WalletConnect and silently connects to the last session if it exists
60
- */
61
- async autoConnect() {
62
- await this.initialize();
63
- this.validateInitialized();
64
- const sessions = this.provider.client.session.getAll();
65
- if (sessions.length === 0) {
66
- this.emit("disconnect", undefined);
67
- return null;
68
- }
69
- const lastKeyIndex = sessions.length - 1;
70
- const lastSession = sessions[lastKeyIndex];
71
- return this.onSessionConnected(lastSession);
72
- }
73
- /**
74
- * Initializes WalletConnect and prompts the user to connect to a new session
75
- */
76
- async connect() {
77
- await this.initialize();
78
- this.validateInitialized();
79
- const { uri, approval } = await this.provider.client.connect({
80
- requiredNamespaces: {
81
- xrpl: {
82
- chains: [XrplCAIP2ChainId.MAINNET],
83
- methods: [XRPL_METHOD.SIGN_TRANSACTION],
84
- events: ["accountsChanged"],
85
- },
86
- },
87
- });
88
- let modalClosed = () => { };
89
- const modalClosedPromise = new Promise((_, reject) => {
90
- modalClosed = reject;
91
- });
92
- let unsubscribe = () => { };
93
- if (uri) {
94
- this.modal.openModal({ uri });
95
- unsubscribe = this.modal.subscribeModal((state) => {
96
- if (state.open === false) {
97
- // propagate the error by rejecting the promise
98
- // to avoid connect() from running forever
99
- modalClosed(new Error("User closed the modal"));
100
- }
101
- });
102
- }
103
- try {
104
- const session = await Promise.race([approval(), modalClosedPromise]);
105
- const address = await this.onSessionConnected(session);
106
- return address;
107
- }
108
- finally {
109
- unsubscribe();
110
- this.modal.closeModal();
111
- }
112
- }
113
- /**
114
- * Disconnects from the current session
115
- */
116
- async disconnect() {
117
- if (!this.session)
118
- throw new Error("Session is not connected");
119
- this.validateInitialized();
120
- await this.provider.client.disconnect({
121
- topic: this.session.topic,
122
- reason: getSdkError("USER_DISCONNECTED"),
123
- });
124
- }
125
- /**
126
- * Prompts the user to sign and submit a transaction
127
- */
128
- async signAndSubmit({ network, tx, }) {
129
- if (!this.session)
130
- throw new Error("Session is not connected");
131
- this.validateInitialized();
132
- const result = await this.provider.client.request({
133
- chainId: this.getWcChainId(network),
134
- topic: this.session.topic,
135
- request: {
136
- method: XRPL_METHOD.SIGN_TRANSACTION,
137
- params: {
138
- tx_json: tx,
139
- autofill: true,
140
- submit: true,
141
- },
142
- },
143
- });
144
- const { hash } = result.tx_json;
145
- if (!hash) {
146
- throw new Error("Invalid transaction hash");
147
- }
148
- return {
149
- hash,
150
- // Wallet side handles submitting and validating the transaction
151
- status: XrplTxStatus.SUCCESS,
152
- };
153
- }
154
- /**
155
- * Maps the given network to the WalletConnect chain ID format
156
- */
157
- getWcChainId(network) {
158
- switch (network) {
159
- case XrplNetwork.MAINNET:
160
- return XrplCAIP2ChainId.MAINNET;
161
- case XrplNetwork.TESTNET:
162
- return XrplCAIP2ChainId.TESTNET;
163
- default:
164
- throw new Error(`Network ${network} is not supported`);
165
- }
166
- }
167
- /**
168
- * Stores the provided session and returns the user's address
169
- */
170
- async onSessionConnected(session) {
171
- this.session = session;
172
- const allNamespaceAccounts = Object.values(session.namespaces).flatMap((namespace) => namespace.accounts);
173
- const [firstAccount] = allNamespaceAccounts;
174
- const address = firstAccount?.split(":")?.at(-1);
175
- if (address && isXrplAddressValid(address)) {
176
- return address;
177
- }
178
- throw new Error("No address found in session");
179
- }
180
- on(event, listener) {
181
- if (this.listeners[event])
182
- this.listeners[event]?.push(listener);
183
- else
184
- this.listeners[event] = [listener];
185
- return () => this.off(event, listener);
186
- }
187
- emit(event, args) {
188
- this.listeners[event]?.forEach((listener) => listener.apply(null, [args]));
189
- }
190
- off(event, listener) {
191
- this.listeners[event] = this.listeners[event]?.filter((existingListener) => listener !== existingListener);
192
- }
193
- }
194
- //# sourceMappingURL=WalletConnect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletConnect.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/WalletConnect.ts"],"names":[],"mappings":"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"}
@@ -1,71 +0,0 @@
1
- import { getXummClient, XamanClient } from "../../../services/external/xaman";
2
- import { XrplTxStatus, } from "../../types/xrpl";
3
- export class XamanConnector {
4
- xumm = null;
5
- validateXummInitialized() {
6
- if (!this.xumm) {
7
- throw new Error("Xumm is not initialized");
8
- }
9
- }
10
- async initializeXumm() {
11
- if (!this.xumm) {
12
- this.xumm = await getXummClient();
13
- }
14
- }
15
- async connect() {
16
- await this.initializeXumm();
17
- this.validateXummInitialized();
18
- const connectedAddress = await this.xumm.user.account;
19
- if (!connectedAddress) {
20
- throw new Error("User not connected");
21
- }
22
- return connectedAddress;
23
- }
24
- async signAndSubmit({ network, tx, }) {
25
- this.validateXummInitialized();
26
- if (!this.xumm.xapp) {
27
- throw new Error("Not in xApp context");
28
- }
29
- if (!this.xumm.payload) {
30
- throw new Error("Payload not available");
31
- }
32
- const xamanNetwork = XamanClient.getXamanNetwork(network);
33
- const txPayload = await this.xumm.payload.create({
34
- TransactionType: "Payment",
35
- options: {
36
- force_network: xamanNetwork,
37
- },
38
- txjson: tx,
39
- });
40
- await this.xumm.xapp.openSignRequest(txPayload);
41
- const response = await new Promise((resolve, reject) => {
42
- this.validateXummInitialized();
43
- if (!this.xumm.xapp) {
44
- reject(new Error("Not in xApp context"));
45
- }
46
- this.xumm.on("payload", async (data) => {
47
- this.validateXummInitialized();
48
- if (data && data.reason === "DECLINED") {
49
- reject(new Error("User rejected the request."));
50
- }
51
- if (data && data.reason === "SIGNED") {
52
- if (!this.xumm.payload) {
53
- throw new Error("Payload not available");
54
- }
55
- const fullPayload = await this.xumm.payload.get(data.uuid);
56
- if (fullPayload?.response.txid) {
57
- resolve({
58
- hash: fullPayload.response.txid,
59
- status: XrplTxStatus.SUCCESS,
60
- });
61
- }
62
- else {
63
- reject(new Error("Transaction hash not found"));
64
- }
65
- }
66
- });
67
- });
68
- return response;
69
- }
70
- }
71
- //# sourceMappingURL=Xaman.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Xaman.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/Xaman.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAIL,YAAY,GACb,MAAM,kBAAkB,CAAC;AAE1B,MAAM,OAAO,cAAc;IACzB,IAAI,GAAgB,IAAI,CAAC;IAEjB,uBAAuB;QAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACd,IAAI,CAAC,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;SACnC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAEtD,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;SACvC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAClB,OAAO,EACP,EAAE,GAIH;QACC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YAC/C,eAAe,EAAE,SAAS;YAC1B,OAAO,EAAE;gBACP,aAAa,EAAE,YAAY;aAC5B;YACD,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,QAAQ,GACZ,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAE/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;aAC1C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBACrC,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAE/B,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;oBACtC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;iBACjD;gBAED,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;oBACpC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;wBACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;qBAC1C;oBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAE3D,IAAI,WAAW,EAAE,QAAQ,CAAC,IAAI,EAAE;wBAC9B,OAAO,CAAC;4BACN,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;4BAC/B,MAAM,EAAE,YAAY,CAAC,OAAO;yBAC7B,CAAC,CAAC;qBACJ;yBAAM;wBACL,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;qBACjD;iBACF;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -1,95 +0,0 @@
1
- import { QrCodeGenerationError } from "../../../core/types/error";
2
- import { WidgetEvents } from "../../../services";
3
- import { websocket } from "../../../services/external/websocket";
4
- import { XamanClient } from "../../../services/external/xaman";
5
- import { XrplTxStatus, } from "../../types/xrpl";
6
- const genericXamanQrErrorMessage = "Failed to generate Xaman QR code";
7
- export class XamanQrConnector {
8
- cancelConnectQr = null;
9
- cancelSignAndSubmitQr = null;
10
- cancelConnect() {
11
- this.cancelConnectQr?.();
12
- }
13
- cancelSignAndSubmit() {
14
- this.cancelSignAndSubmitQr?.();
15
- }
16
- async connect() {
17
- const controller = new AbortController();
18
- this.cancelConnectQr = () => {
19
- controller.abort("User canceled the connection process");
20
- };
21
- let response;
22
- try {
23
- response = await XamanClient.signIn(controller.signal);
24
- }
25
- catch (error) {
26
- throw new QrCodeGenerationError(genericXamanQrErrorMessage);
27
- }
28
- WidgetEvents.getInstance().dispatchQrCodeGeneratedForConnect({
29
- matrix: response.qrMatrix,
30
- deepLinkUrl: response.deepLinkUrl,
31
- });
32
- const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
33
- const msg = JSON.parse(event.data);
34
- if (msg.signed === true) {
35
- XamanClient.userSession(msg.payload_uuidv4).then((data) => {
36
- resolve(data.response.account);
37
- });
38
- }
39
- else if (msg.signed === false) {
40
- reject(new Error("User rejected the request."));
41
- }
42
- });
43
- this.cancelConnectQr = () => {
44
- close();
45
- };
46
- const address = await promise;
47
- return address;
48
- }
49
- async signAndSubmit({ tx, network, }) {
50
- const controller = new AbortController();
51
- this.cancelSignAndSubmitQr = () => {
52
- controller.abort("User canceled the transaction");
53
- };
54
- let response;
55
- try {
56
- response = await XamanClient.sendTx({
57
- tx,
58
- network,
59
- signal: controller.signal,
60
- });
61
- }
62
- catch (error) {
63
- WidgetEvents.getInstance().dispatchQrCodeGenerationFailedForSign(undefined);
64
- throw new QrCodeGenerationError(genericXamanQrErrorMessage);
65
- }
66
- WidgetEvents.getInstance().dispatchQrCodeGeneratedForSign({
67
- matrix: response.qrMatrix,
68
- deepLinkUrl: response.deepLinkUrl,
69
- });
70
- const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
71
- const msg = JSON.parse(event.data);
72
- if (msg.opened === true) {
73
- // User has scanned the QR code
74
- WidgetEvents.getInstance().dispatchQrTxScannedAwaitingApproval(undefined);
75
- }
76
- else if (msg.signed === true) {
77
- // Tx has been signed
78
- resolve({
79
- hash: msg.txid,
80
- status: XrplTxStatus.SUCCESS,
81
- });
82
- }
83
- else if (msg.signed === false) {
84
- // User rejected the transaction
85
- reject(new Error("User rejected the request."));
86
- }
87
- });
88
- this.cancelSignAndSubmitQr = () => {
89
- close();
90
- };
91
- const result = await promise;
92
- return result;
93
- }
94
- }
95
- //# sourceMappingURL=XamanQr.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XamanQr.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XamanQr.ts"],"names":[],"mappings":"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"}
@@ -1,176 +0,0 @@
1
- import { XrplNetwork } from "../../types/xrpl";
2
- var EIP6963EventNames;
3
- (function (EIP6963EventNames) {
4
- EIP6963EventNames["Announce"] = "eip6963:announceProvider";
5
- EIP6963EventNames["Request"] = "eip6963:requestProvider";
6
- })(EIP6963EventNames || (EIP6963EventNames = {}));
7
- var NetworkChainId;
8
- (function (NetworkChainId) {
9
- NetworkChainId[NetworkChainId["MAINNET"] = 0] = "MAINNET";
10
- NetworkChainId[NetworkChainId["TESTNET"] = 1] = "TESTNET";
11
- NetworkChainId[NetworkChainId["DEVNET"] = 2] = "DEVNET";
12
- })(NetworkChainId || (NetworkChainId = {}));
13
- const snapId = "npm:xrpl-snap";
14
- export class XrplMetamaskSnapConnector {
15
- provider;
16
- async connect() {
17
- await this.initialize();
18
- await this.requestSnap(snapId);
19
- const { account } = await this.getAccount();
20
- return account;
21
- }
22
- async signAndSubmit({ network, tx, }) {
23
- if (!this.provider)
24
- throw new Error("Provider not initialized");
25
- const activeNetwork = await this.getActiveNetwork();
26
- const targetChainId = this.getNetworkChainId(network);
27
- if (activeNetwork.chainId !== targetChainId) {
28
- await this.changeNetwork(targetChainId);
29
- }
30
- const res = await this.invokeSnap({
31
- method: "xrpl_signAndSubmit",
32
- params: tx,
33
- });
34
- if (!res?.result) {
35
- throw new Error("Invalid transaction result");
36
- }
37
- const txResponse = res.result.tx_json;
38
- const txStatus = res.result.engine_result;
39
- return {
40
- hash: txResponse.hash,
41
- status: txStatus,
42
- };
43
- }
44
- // Cannot use constructor because of the async initialization
45
- async initialize() {
46
- this.provider = await this.getProvider();
47
- }
48
- async requestSnap(id) {
49
- await this.request({
50
- method: "wallet_requestSnaps",
51
- params: {
52
- [id]: {},
53
- },
54
- });
55
- }
56
- async getAccount() {
57
- return this.invokeSnap({
58
- method: "xrpl_getAccount",
59
- params: undefined,
60
- });
61
- }
62
- async getActiveNetwork() {
63
- return this.invokeSnap({
64
- method: "xrpl_getActiveNetwork",
65
- params: undefined,
66
- });
67
- }
68
- async changeNetwork(chainId) {
69
- try {
70
- return await this.invokeSnap({
71
- method: "xrpl_changeNetwork",
72
- params: { chainId },
73
- });
74
- }
75
- catch (error) {
76
- // changeNetwork may fail if the user is already on the correct network
77
- // so we don't need to handle the error here
78
- return null;
79
- }
80
- }
81
- async invokeSnap({ params, method, }) {
82
- return this.request({
83
- method: "wallet_invokeSnap",
84
- params: {
85
- snapId,
86
- request: {
87
- method,
88
- params,
89
- },
90
- },
91
- });
92
- }
93
- async getProvider() {
94
- if (typeof window === "undefined") {
95
- return null;
96
- }
97
- if (await this.hasSnapsSupport(window.ethereum)) {
98
- return window.ethereum;
99
- }
100
- if (window.ethereum?.detected) {
101
- for (const provider of window.ethereum.detected) {
102
- if (await this.hasSnapsSupport(provider)) {
103
- return provider;
104
- }
105
- }
106
- }
107
- if (window.ethereum?.providers) {
108
- for (const provider of window.ethereum.providers) {
109
- if (await this.hasSnapsSupport(provider)) {
110
- return provider;
111
- }
112
- }
113
- }
114
- // Need to use EIP-6963 provider discovery because we need Metamask to be installed
115
- // other wallets overriding Metamask won't work here because they don't support Metamask snaps
116
- const eip6963Provider = await this.getMetamaskEIP6963Provider();
117
- if (eip6963Provider && (await this.hasSnapsSupport(eip6963Provider))) {
118
- return eip6963Provider;
119
- }
120
- return null;
121
- }
122
- async hasSnapsSupport(provider = window.ethereum) {
123
- try {
124
- await provider.request({
125
- method: "wallet_getSnaps",
126
- });
127
- return true;
128
- }
129
- catch {
130
- return false;
131
- }
132
- }
133
- async getMetamaskEIP6963Provider() {
134
- return new Promise((rawResolve) => {
135
- // Timeout looking for providers after 500ms
136
- const timeout = setTimeout(() => {
137
- resolve(null);
138
- }, 500);
139
- function resolve(provider) {
140
- // Resolve the promise with a Metamask provider and clean up the timeout.
141
- window.removeEventListener(EIP6963EventNames.Announce, onAnnounceProvider);
142
- clearTimeout(timeout);
143
- rawResolve(provider);
144
- }
145
- /**
146
- * Listener for the EIP6963 announceProvider event.
147
- * Resolves the promise if a Metamask provider is found.
148
- */
149
- function onAnnounceProvider({ detail }) {
150
- const { info, provider } = detail;
151
- if (info.rdns.includes("io.metamask")) {
152
- resolve(provider);
153
- }
154
- }
155
- window.addEventListener(EIP6963EventNames.Announce, onAnnounceProvider);
156
- window.dispatchEvent(new Event(EIP6963EventNames.Request));
157
- });
158
- }
159
- async request({ method, params }) {
160
- if (!this.provider) {
161
- throw new Error("XRPL Metamask provider not initialized");
162
- }
163
- return this.provider.request({ method, params });
164
- }
165
- getNetworkChainId(network) {
166
- switch (network) {
167
- case XrplNetwork.MAINNET:
168
- return NetworkChainId.MAINNET;
169
- case XrplNetwork.TESTNET:
170
- return NetworkChainId.TESTNET;
171
- default:
172
- throw new Error(`Network ${network} is not supported`);
173
- }
174
- }
175
- }
176
- //# sourceMappingURL=XrplMetamaskSnap.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"XrplMetamaskSnap.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XrplMetamaskSnap.ts"],"names":[],"mappings":"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"}