@0xsquid/react-hooks 6.4.4-dex-widget-beta.0 → 6.4.4-stellar-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 (356) hide show
  1. package/dist/core/client/index.d.ts +17 -0
  2. package/dist/core/client/index.js +40 -0
  3. package/dist/core/client/index.js.map +1 -0
  4. package/dist/core/connectors/bitcoin/errors/index.d.ts +2 -1
  5. package/dist/core/connectors/bitcoin/errors/index.js +1 -1
  6. package/dist/core/connectors/bitcoin/errors/index.js.map +1 -1
  7. package/dist/core/connectors/bitcoin/helpers.d.ts +15 -0
  8. package/dist/core/connectors/bitcoin/helpers.js +6 -1
  9. package/dist/core/connectors/bitcoin/helpers.js.map +1 -1
  10. package/dist/core/connectors/bitcoin/wallets/index.d.ts +1 -0
  11. package/dist/core/connectors/bitcoin/wallets/index.js +1 -0
  12. package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -1
  13. package/dist/core/connectors/bitcoin/wallets/keplr.d.ts +11 -0
  14. package/dist/core/connectors/bitcoin/wallets/keplr.js +28 -0
  15. package/dist/core/connectors/bitcoin/wallets/keplr.js.map +1 -0
  16. package/dist/core/connectors/xrpl/CrossMark.d.ts +13 -0
  17. package/dist/core/connectors/xrpl/CrossMark.js +76 -0
  18. package/dist/core/connectors/xrpl/CrossMark.js.map +1 -0
  19. package/dist/core/connectors/xrpl/Xaman.d.ts +16 -0
  20. package/dist/core/connectors/xrpl/Xaman.js +80 -0
  21. package/dist/core/connectors/xrpl/Xaman.js.map +1 -0
  22. package/dist/core/connectors/xrpl/XamanQr.d.ts +15 -0
  23. package/dist/core/connectors/xrpl/XamanQr.js +78 -0
  24. package/dist/core/connectors/xrpl/XamanQr.js.map +1 -0
  25. package/dist/core/connectors/xrpl/XrplMetamaskSnap.d.ts +35 -0
  26. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js +177 -0
  27. package/dist/core/connectors/xrpl/XrplMetamaskSnap.js.map +1 -0
  28. package/dist/core/constants.d.ts +18 -16
  29. package/dist/core/constants.js +57 -21
  30. package/dist/core/constants.js.map +1 -1
  31. package/dist/core/externalLinks.d.ts +1 -1
  32. package/dist/core/externalLinks.js +1 -1
  33. package/dist/core/index.d.ts +1 -1
  34. package/dist/core/index.js +1 -1
  35. package/dist/core/index.js.map +1 -1
  36. package/dist/core/multicall3.d.ts +5 -1
  37. package/dist/core/multicall3.js +21 -1
  38. package/dist/core/multicall3.js.map +1 -1
  39. package/dist/core/providers/CosmosProvider.d.ts +1 -1
  40. package/dist/core/providers/CosmosProvider.js.map +1 -1
  41. package/dist/core/providers/SolanaProvider.d.ts +0 -2
  42. package/dist/core/providers/SolanaProvider.js.map +1 -1
  43. package/dist/core/providers/StellarProvider.d.ts +19 -0
  44. package/dist/core/providers/StellarProvider.js +15 -0
  45. package/dist/core/providers/StellarProvider.js.map +1 -0
  46. package/dist/core/providers/SuiProvider.d.ts +19 -0
  47. package/dist/core/providers/SuiProvider.js +15 -0
  48. package/dist/core/providers/SuiProvider.js.map +1 -0
  49. package/dist/core/providers/XrplProvider.d.ts +17 -0
  50. package/dist/core/providers/XrplProvider.js +15 -0
  51. package/dist/core/providers/XrplProvider.js.map +1 -0
  52. package/dist/core/queries/queries-keys.d.ts +29 -28
  53. package/dist/core/queries/queries-keys.js +88 -76
  54. package/dist/core/queries/queries-keys.js.map +1 -1
  55. package/dist/core/stellar-test.d.ts +1 -0
  56. package/dist/core/stellar-test.js +11 -0
  57. package/dist/core/stellar-test.js.map +1 -0
  58. package/dist/core/types/config.d.ts +2 -0
  59. package/dist/core/types/error.d.ts +4 -4
  60. package/dist/core/types/error.js.map +1 -1
  61. package/dist/core/types/event.d.ts +31 -1
  62. package/dist/core/types/history.d.ts +84 -0
  63. package/dist/core/types/history.js +7 -0
  64. package/dist/core/types/history.js.map +1 -0
  65. package/dist/core/types/index.d.ts +5 -1
  66. package/dist/core/types/index.js +3 -1
  67. package/dist/core/types/index.js.map +1 -1
  68. package/dist/core/types/onramps/index.d.ts +2 -0
  69. package/dist/core/types/onramps/index.js +3 -0
  70. package/dist/core/types/onramps/index.js.map +1 -0
  71. package/dist/core/types/onramps/onramp.d.ts +157 -0
  72. package/dist/core/types/onramps/onramp.js +2 -0
  73. package/dist/core/types/onramps/onramp.js.map +1 -0
  74. package/dist/core/types/onramps/revolut.d.ts +92 -0
  75. package/dist/core/types/onramps/revolut.js +2 -0
  76. package/dist/core/types/onramps/revolut.js.map +1 -0
  77. package/dist/core/types/rpc.d.ts +10 -0
  78. package/dist/core/types/rpc.js +2 -0
  79. package/dist/core/types/rpc.js.map +1 -0
  80. package/dist/core/types/stellar.d.ts +3 -0
  81. package/dist/core/types/stellar.js +2 -0
  82. package/dist/core/types/stellar.js.map +1 -0
  83. package/dist/core/types/sui.d.ts +14 -0
  84. package/dist/core/types/sui.js +2 -0
  85. package/dist/core/types/sui.js.map +1 -0
  86. package/dist/core/types/swap.d.ts +0 -5
  87. package/dist/core/types/swap.js +1 -6
  88. package/dist/core/types/swap.js.map +1 -1
  89. package/dist/core/types/transaction.d.ts +10 -31
  90. package/dist/core/types/transaction.js +6 -0
  91. package/dist/core/types/transaction.js.map +1 -1
  92. package/dist/core/types/wallet.d.ts +39 -4
  93. package/dist/core/types/wallet.js +4 -0
  94. package/dist/core/types/wallet.js.map +1 -1
  95. package/dist/core/types/xrpl.d.ts +70 -0
  96. package/dist/core/types/xrpl.js +20 -0
  97. package/dist/core/types/xrpl.js.map +1 -0
  98. package/dist/core/wagmiConfig.js +2 -8
  99. package/dist/core/wagmiConfig.js.map +1 -1
  100. package/dist/core/wallets.d.ts +2 -1
  101. package/dist/core/wallets.js +76 -21
  102. package/dist/core/wallets.js.map +1 -1
  103. package/dist/hooks/analytics/useTrackSearchEmpty.d.ts +12 -0
  104. package/dist/hooks/analytics/useTrackSearchEmpty.js +22 -0
  105. package/dist/hooks/analytics/useTrackSearchEmpty.js.map +1 -0
  106. package/dist/hooks/chains/useSquidChains.d.ts +1 -0
  107. package/dist/hooks/chains/useSquidChains.js +23 -4
  108. package/dist/hooks/chains/useSquidChains.js.map +1 -1
  109. package/dist/hooks/client/useClient.d.ts +2 -0
  110. package/dist/hooks/client/useClient.js +58 -1
  111. package/dist/hooks/client/useClient.js.map +1 -1
  112. package/dist/hooks/cosmos/useCosmos.d.ts +9 -0
  113. package/dist/hooks/cosmos/useCosmos.js +52 -52
  114. package/dist/hooks/cosmos/useCosmos.js.map +1 -1
  115. package/dist/hooks/cosmos/useCosmosForChain.d.ts +1 -1
  116. package/dist/hooks/cosmos/useCosmosForChain.js +20 -13
  117. package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -1
  118. package/dist/hooks/index.d.ts +12 -1
  119. package/dist/hooks/index.js +12 -1
  120. package/dist/hooks/index.js.map +1 -1
  121. package/dist/hooks/onramp/useFiatToCrypto.d.ts +84 -0
  122. package/dist/hooks/onramp/useFiatToCrypto.js +316 -0
  123. package/dist/hooks/onramp/useFiatToCrypto.js.map +1 -0
  124. package/dist/hooks/solana/useSolana.d.ts +2 -1
  125. package/dist/hooks/solana/useSolana.js +12 -4
  126. package/dist/hooks/solana/useSolana.js.map +1 -1
  127. package/dist/hooks/stellar/useStellar.d.ts +2 -0
  128. package/dist/hooks/stellar/useStellar.js +27 -0
  129. package/dist/hooks/stellar/useStellar.js.map +1 -0
  130. package/dist/hooks/stellar/useStellarWallets.d.ts +4 -0
  131. package/dist/hooks/stellar/useStellarWallets.js +12 -0
  132. package/dist/hooks/stellar/useStellarWallets.js.map +1 -0
  133. package/dist/hooks/store/useAddressBookStore.d.ts +1 -1
  134. package/dist/hooks/store/useAddressBookStore.js +6 -2
  135. package/dist/hooks/store/useAddressBookStore.js.map +1 -1
  136. package/dist/hooks/store/useHistoryStore.d.ts +33 -13
  137. package/dist/hooks/store/useHistoryStore.js +120 -32
  138. package/dist/hooks/store/useHistoryStore.js.map +1 -1
  139. package/dist/hooks/store/useSendTransactionStore.d.ts +20 -0
  140. package/dist/hooks/store/useSendTransactionStore.js +21 -0
  141. package/dist/hooks/store/useSendTransactionStore.js.map +1 -0
  142. package/dist/hooks/store/useSquidStore.d.ts +0 -5
  143. package/dist/hooks/store/useSquidStore.js +0 -2
  144. package/dist/hooks/store/useSquidStore.js.map +1 -1
  145. package/dist/hooks/store/useWalletStore.d.ts +8 -5
  146. package/dist/hooks/store/useWalletStore.js +13 -20
  147. package/dist/hooks/store/useWalletStore.js.map +1 -1
  148. package/dist/hooks/sui/useSui.d.ts +2 -0
  149. package/dist/hooks/sui/useSui.js +28 -0
  150. package/dist/hooks/sui/useSui.js.map +1 -0
  151. package/dist/hooks/sui/useSuiWallets.d.ts +7 -0
  152. package/dist/hooks/sui/useSuiWallets.js +42 -0
  153. package/dist/hooks/sui/useSuiWallets.js.map +1 -0
  154. package/dist/hooks/swap/useSwap.d.ts +1 -0
  155. package/dist/hooks/swap/useSwap.js +7 -13
  156. package/dist/hooks/swap/useSwap.js.map +1 -1
  157. package/dist/hooks/tokens/useAllConnectedWalletBalances.js +34 -1
  158. package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -1
  159. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.d.ts +4 -5
  160. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +52 -17
  161. package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -1
  162. package/dist/hooks/tokens/useBalance.d.ts +20 -246
  163. package/dist/hooks/tokens/useBalance.js +105 -25
  164. package/dist/hooks/tokens/useBalance.js.map +1 -1
  165. package/dist/hooks/tokens/useMultiChainBalance.d.ts +2 -2
  166. package/dist/hooks/tokens/useMultiChainBalance.js +56 -35
  167. package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -1
  168. package/dist/hooks/tokens/useNativeBalance.d.ts +18 -18
  169. package/dist/hooks/tokens/useNativeBalance.js +184 -56
  170. package/dist/hooks/tokens/useNativeBalance.js.map +1 -1
  171. package/dist/hooks/tokens/useNativeTokenForChain.js +10 -4
  172. package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -1
  173. package/dist/hooks/tokens/useSquidTokens.d.ts +4 -11
  174. package/dist/hooks/tokens/useSquidTokens.js +18 -16
  175. package/dist/hooks/tokens/useSquidTokens.js.map +1 -1
  176. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.d.ts +28 -0
  177. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js +58 -0
  178. package/dist/hooks/transaction/send/useEstimateSendTransactionGas.js.map +1 -0
  179. package/dist/hooks/transaction/send/useSendTransaction.d.ts +13 -0
  180. package/dist/hooks/transaction/send/useSendTransaction.js +256 -0
  181. package/dist/hooks/transaction/send/useSendTransaction.js.map +1 -0
  182. package/dist/hooks/transaction/send/useSendTransactionGas.d.ts +6 -0
  183. package/dist/hooks/transaction/send/useSendTransactionGas.js +73 -0
  184. package/dist/hooks/transaction/send/useSendTransactionGas.js.map +1 -0
  185. package/dist/hooks/transaction/useAllTransactionsStatus.d.ts +34 -2
  186. package/dist/hooks/transaction/useAllTransactionsStatus.js +119 -62
  187. package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -1
  188. package/dist/hooks/transaction/useApproval.js +3 -3
  189. package/dist/hooks/transaction/useApproval.js.map +1 -1
  190. package/dist/hooks/transaction/useEstimate.d.ts +1 -1
  191. package/dist/hooks/transaction/useEstimate.js +1 -1
  192. package/dist/hooks/transaction/useEstimate.js.map +1 -1
  193. package/dist/hooks/transaction/useEstimatePriceImpact.d.ts +1 -2
  194. package/dist/hooks/transaction/useEstimatePriceImpact.js +12 -12
  195. package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -1
  196. package/dist/hooks/transaction/useExecuteTransaction.d.ts +1 -2
  197. package/dist/hooks/transaction/useExecuteTransaction.js +202 -74
  198. package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -1
  199. package/dist/hooks/transaction/useGetRoute.d.ts +7 -2
  200. package/dist/hooks/transaction/useGetRoute.js +12 -9
  201. package/dist/hooks/transaction/useGetRoute.js.map +1 -1
  202. package/dist/hooks/transaction/useSendTransactionStatus.d.ts +11 -0
  203. package/dist/hooks/transaction/useSendTransactionStatus.js +63 -0
  204. package/dist/hooks/transaction/useSendTransactionStatus.js.map +1 -0
  205. package/dist/hooks/transaction/useSwapTransactionStatus.d.ts +15 -0
  206. package/dist/hooks/transaction/{useSingleTransaction.js → useSwapTransactionStatus.js} +40 -18
  207. package/dist/hooks/transaction/useSwapTransactionStatus.js.map +1 -0
  208. package/dist/hooks/user/useAvatar.js +13 -7
  209. package/dist/hooks/user/useAvatar.js.map +1 -1
  210. package/dist/hooks/user/useHistory.d.ts +12 -10
  211. package/dist/hooks/user/useHistory.js +49 -51
  212. package/dist/hooks/user/useHistory.js.map +1 -1
  213. package/dist/hooks/user/useUserParams.js +1 -1
  214. package/dist/hooks/user/useUserParams.js.map +1 -1
  215. package/dist/hooks/utils/useUtils.d.ts +7 -0
  216. package/dist/hooks/utils/useUtils.js +20 -0
  217. package/dist/hooks/utils/useUtils.js.map +1 -0
  218. package/dist/hooks/wallet/useEns.d.ts +0 -1
  219. package/dist/hooks/wallet/useEns.js +1 -13
  220. package/dist/hooks/wallet/useEns.js.map +1 -1
  221. package/dist/hooks/wallet/useGnosisContext.js +7 -11
  222. package/dist/hooks/wallet/useGnosisContext.js.map +1 -1
  223. package/dist/hooks/wallet/useIntegratorContext.js +1 -1
  224. package/dist/hooks/wallet/useIntegratorContext.js.map +1 -1
  225. package/dist/hooks/wallet/useMultiChainWallet.d.ts +3 -1
  226. package/dist/hooks/wallet/useMultiChainWallet.js +78 -24
  227. package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -1
  228. package/dist/hooks/wallet/useSigner.d.ts +10 -7
  229. package/dist/hooks/wallet/useSigner.js +62 -14
  230. package/dist/hooks/wallet/useSigner.js.map +1 -1
  231. package/dist/hooks/wallet/useWallet.d.ts +65 -8
  232. package/dist/hooks/wallet/useWallet.js +69 -12
  233. package/dist/hooks/wallet/useWallet.js.map +1 -1
  234. package/dist/hooks/wallet/useWallets.d.ts +31 -1
  235. package/dist/hooks/wallet/useWallets.js +35 -1
  236. package/dist/hooks/wallet/useWallets.js.map +1 -1
  237. package/dist/hooks/xrpl/useXrpl.d.ts +2 -0
  238. package/dist/hooks/xrpl/useXrpl.js +21 -0
  239. package/dist/hooks/xrpl/useXrpl.js.map +1 -0
  240. package/dist/hooks/xrpl/useXrplTrustLine.d.ts +17 -0
  241. package/dist/hooks/xrpl/useXrplTrustLine.js +136 -0
  242. package/dist/hooks/xrpl/useXrplTrustLine.js.map +1 -0
  243. package/dist/hooks/xrpl/useXrplWallets.d.ts +4 -0
  244. package/dist/hooks/xrpl/useXrplWallets.js +46 -0
  245. package/dist/hooks/xrpl/useXrplWallets.js.map +1 -0
  246. package/dist/index.d.ts +1 -1
  247. package/dist/index.js +1 -1
  248. package/dist/index.js.map +1 -1
  249. package/dist/provider/index.d.ts +1 -1
  250. package/dist/provider/index.js +14 -9
  251. package/dist/provider/index.js.map +1 -1
  252. package/dist/services/external/cosmosRestClient.d.ts +18 -0
  253. package/dist/services/external/cosmosRestClient.js +45 -0
  254. package/dist/services/external/cosmosRestClient.js.map +1 -0
  255. package/dist/services/external/index.d.ts +1 -0
  256. package/dist/services/external/index.js +2 -0
  257. package/dist/services/external/index.js.map +1 -0
  258. package/dist/services/external/onrampAdapter.d.ts +12 -0
  259. package/dist/services/external/onrampAdapter.js +41 -0
  260. package/dist/services/external/onrampAdapter.js.map +1 -0
  261. package/dist/services/external/rpcService.d.ts +15 -8
  262. package/dist/services/external/rpcService.js +84 -64
  263. package/dist/services/external/rpcService.js.map +1 -1
  264. package/dist/services/external/suiRpcClient.d.ts +32 -0
  265. package/dist/services/external/suiRpcClient.js +80 -0
  266. package/dist/services/external/suiRpcClient.js.map +1 -0
  267. package/dist/services/external/websocket.d.ts +6 -0
  268. package/dist/services/external/websocket.js +34 -0
  269. package/dist/services/external/websocket.js.map +1 -0
  270. package/dist/services/external/xaman.d.ts +30 -0
  271. package/dist/services/external/xaman.js +46 -0
  272. package/dist/services/external/xaman.js.map +1 -0
  273. package/dist/services/external/xrplRpcClient.d.ts +39 -0
  274. package/dist/services/external/xrplRpcClient.js +167 -0
  275. package/dist/services/external/xrplRpcClient.js.map +1 -0
  276. package/dist/services/index.d.ts +4 -1
  277. package/dist/services/index.js +4 -1
  278. package/dist/services/index.js.map +1 -1
  279. package/dist/services/internal/assetsService.d.ts +4 -2
  280. package/dist/services/internal/assetsService.js +21 -5
  281. package/dist/services/internal/assetsService.js.map +1 -1
  282. package/dist/services/internal/bitcoinService.d.ts +3 -5
  283. package/dist/services/internal/bitcoinService.js +9 -1
  284. package/dist/services/internal/bitcoinService.js.map +1 -1
  285. package/dist/services/internal/configService.js +10 -2
  286. package/dist/services/internal/configService.js.map +1 -1
  287. package/dist/services/internal/cosmosService.d.ts +16 -14
  288. package/dist/services/internal/cosmosService.js +19 -2
  289. package/dist/services/internal/cosmosService.js.map +1 -1
  290. package/dist/services/internal/countryCurrencyMap.d.ts +13 -0
  291. package/dist/services/internal/countryCurrencyMap.js +1102 -0
  292. package/dist/services/internal/countryCurrencyMap.js.map +1 -0
  293. package/dist/services/internal/errorService.d.ts +18 -7
  294. package/dist/services/internal/errorService.js +34 -4
  295. package/dist/services/internal/errorService.js.map +1 -1
  296. package/dist/services/internal/estimateService.js +5 -5
  297. package/dist/services/internal/estimateService.js.map +1 -1
  298. package/dist/services/internal/eventService.d.ts +46 -0
  299. package/dist/services/internal/eventService.js +61 -5
  300. package/dist/services/internal/eventService.js.map +1 -1
  301. package/dist/services/internal/evmService.d.ts +3 -6
  302. package/dist/services/internal/evmService.js.map +1 -1
  303. package/dist/services/internal/fiatToCryptoService.d.ts +29 -0
  304. package/dist/services/internal/fiatToCryptoService.js +84 -0
  305. package/dist/services/internal/fiatToCryptoService.js.map +1 -0
  306. package/dist/services/internal/fiatToCryptoService.test.d.ts +1 -0
  307. package/dist/services/internal/fiatToCryptoService.test.js +45 -0
  308. package/dist/services/internal/fiatToCryptoService.test.js.map +1 -0
  309. package/dist/services/internal/numberService.d.ts +1 -0
  310. package/dist/services/internal/numberService.js +15 -0
  311. package/dist/services/internal/numberService.js.map +1 -1
  312. package/dist/services/internal/searchService.d.ts +1 -1
  313. package/dist/services/internal/searchService.js +18 -15
  314. package/dist/services/internal/searchService.js.map +1 -1
  315. package/dist/services/internal/sendTransaction.d.ts +53 -0
  316. package/dist/services/internal/sendTransaction.js +194 -0
  317. package/dist/services/internal/sendTransaction.js.map +1 -0
  318. package/dist/services/internal/sendTransactionStatus.d.ts +6 -0
  319. package/dist/services/internal/sendTransactionStatus.js +142 -0
  320. package/dist/services/internal/sendTransactionStatus.js.map +1 -0
  321. package/dist/services/internal/solanaService.d.ts +3 -6
  322. package/dist/services/internal/solanaService.js.map +1 -1
  323. package/dist/services/internal/stellarService.d.ts +4 -0
  324. package/dist/services/internal/stellarService.js +20 -0
  325. package/dist/services/internal/stellarService.js.map +1 -0
  326. package/dist/services/internal/suiService.d.ts +20 -0
  327. package/dist/services/internal/suiService.js +119 -0
  328. package/dist/services/internal/suiService.js.map +1 -0
  329. package/dist/services/internal/transactionService.d.ts +8 -37
  330. package/dist/services/internal/transactionService.js +33 -29
  331. package/dist/services/internal/transactionService.js.map +1 -1
  332. package/dist/services/internal/transactionStatusService.d.ts +16 -5
  333. package/dist/services/internal/transactionStatusService.js +82 -5
  334. package/dist/services/internal/transactionStatusService.js.map +1 -1
  335. package/dist/services/internal/walletService.d.ts +31 -16
  336. package/dist/services/internal/walletService.js +86 -33
  337. package/dist/services/internal/walletService.js.map +1 -1
  338. package/dist/services/internal/xionService.d.ts +1 -0
  339. package/dist/services/internal/xionService.js +6 -0
  340. package/dist/services/internal/xionService.js.map +1 -0
  341. package/dist/services/internal/xrplService.d.ts +17 -0
  342. package/dist/services/internal/xrplService.js +50 -0
  343. package/dist/services/internal/xrplService.js.map +1 -0
  344. package/dist/tests/assetsService.test.js +13 -26
  345. package/dist/tests/assetsService.test.js.map +1 -1
  346. package/dist/tests/numberService.test.js +12 -1
  347. package/dist/tests/numberService.test.js.map +1 -1
  348. package/dist/tests/searchService.test.js +0 -6
  349. package/dist/tests/searchService.test.js.map +1 -1
  350. package/dist/tests/swapConfig.test.js +72 -7
  351. package/dist/tests/swapConfig.test.js.map +1 -1
  352. package/dist/tests/transactionService.test.js +18 -18
  353. package/dist/tests/transactionService.test.js.map +1 -1
  354. package/package.json +19 -9
  355. package/dist/hooks/transaction/useSingleTransaction.d.ts +0 -10
  356. package/dist/hooks/transaction/useSingleTransaction.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import { ChainData, ChainType } from "@0xsquid/squid-types";
2
+ import { StargateClient } from "@cosmjs/stargate";
3
+ import { SuiClient } from "@mysten/sui/client";
4
+ import { Connection as SolanaConnection } from "@solana/web3.js";
5
+ import { JsonRpcProvider } from "ethers";
6
+ import { XrplRpcClient } from "../../services/external/xrplRpcClient";
7
+ type ChainTypeToClient = {
8
+ [ChainType.EVM]: JsonRpcProvider;
9
+ [ChainType.COSMOS]: StargateClient;
10
+ [ChainType.SOLANA]: SolanaConnection;
11
+ [ChainType.BTC]: null;
12
+ [ChainType.SUI]: SuiClient;
13
+ [ChainType.XRPL]: XrplRpcClient;
14
+ [ChainType.STELLAR]: null;
15
+ };
16
+ export declare function getClient<T extends ChainType>(chain: ChainData): Promise<ChainTypeToClient[T]>;
17
+ export {};
@@ -0,0 +1,40 @@
1
+ import { ChainType } from "@0xsquid/squid-types";
2
+ import { StargateClient } from "@cosmjs/stargate";
3
+ import { SuiClient } from "@mysten/sui/client";
4
+ import { Connection as SolanaConnection } from "@solana/web3.js";
5
+ import { JsonRpcProvider } from "ethers";
6
+ import { getWorkingCosmosRpcUrl } from "../../services/external/rpcService";
7
+ import { XrplRpcClient } from "../../services/external/xrplRpcClient";
8
+ import { SOLANA_RPC_URL } from "../constants";
9
+ const clientCache = new Map();
10
+ export async function getClient(chain) {
11
+ const key = `${chain.chainType}:${chain.chainId}`;
12
+ if (clientCache.has(key)) {
13
+ return clientCache.get(key);
14
+ }
15
+ const client = await createClient(chain);
16
+ clientCache.set(key, client);
17
+ return client;
18
+ }
19
+ async function createClient(chain) {
20
+ switch (chain.chainType) {
21
+ case ChainType.EVM:
22
+ return new JsonRpcProvider(chain.rpc);
23
+ case ChainType.COSMOS:
24
+ const rpcUrl = await getWorkingCosmosRpcUrl(chain);
25
+ return (await StargateClient.connect(rpcUrl));
26
+ case ChainType.SOLANA:
27
+ return new SolanaConnection(SOLANA_RPC_URL);
28
+ case ChainType.BTC:
29
+ return null;
30
+ case ChainType.SUI:
31
+ return new SuiClient({
32
+ url: chain.rpc,
33
+ });
34
+ case ChainType.XRPL:
35
+ return new XrplRpcClient(chain.rpc);
36
+ case ChainType.STELLAR:
37
+ return null;
38
+ }
39
+ }
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgD,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAgB;IAEhB,MAAM,GAAG,GAAG,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAW,CAAC;IAE3D,IAAI,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACxB,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,CAAyB,CAAC;KACrD;IAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAI,KAAK,CAAC,CAAC;IAE5C,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,KAAgB;IAEhB,QAAQ,KAAK,CAAC,SAAS,EAAE;QACvB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,eAAe,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAEhE,KAAK,SAAS,CAAC,MAAM;YACnB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAyB,CAAC;QAExE,KAAK,SAAS,CAAC,MAAM;YACnB,OAAO,IAAI,gBAAgB,CAAC,cAAc,CAAyB,CAAC;QAEtE,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAA4B,CAAC;QAEtC,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,IAAI,SAAS,CAAC;gBACnB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAyB,CAAC;QAE7B,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG,CAAyB,CAAC;QAE9D,KAAK,SAAS,CAAC,OAAO;YACpB,OAAO,IAA4B,CAAC;KACvC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- export declare class BitcoinConnectorError extends Error {
1
+ declare class BitcoinConnectorError extends Error {
2
2
  constructor(message: string);
3
3
  }
4
4
  export declare class BitcoinConnectorProviderNotFoundError extends BitcoinConnectorError {
@@ -10,3 +10,4 @@ export declare class BitcoinConnectorTransactionFailedError extends BitcoinConne
10
10
  export declare class BitcoinConnectorInvalidAccountError extends BitcoinConnectorError {
11
11
  constructor();
12
12
  }
13
+ export {};
@@ -1,4 +1,4 @@
1
- export class BitcoinConnectorError extends Error {
1
+ class BitcoinConnectorError extends Error {
2
2
  constructor(message) {
3
3
  super(message);
4
4
  this.name = "BitcoinConnectorError";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,qBAAqB;IAC9E,YAAY,YAAoB;QAC9B,KAAK,CAAC,oBAAoB,YAAY,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,qBAAqB;IAC/E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,qBAAqB;IAC5E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAsB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,qBAAqB;IAC9E,YAAY,YAAoB;QAC9B,KAAK,CAAC,oBAAoB,YAAY,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,qBAAqB;IAC/E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,qBAAqB;IAC5E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -1,5 +1,20 @@
1
+ interface TransactionDetail {
2
+ txid: string;
3
+ version: number;
4
+ fee: number;
5
+ status: Status;
6
+ }
7
+ interface Status {
8
+ confirmed: boolean;
9
+ block_height?: number;
10
+ block_hash?: string;
11
+ block_time?: number;
12
+ }
1
13
  export declare const fromHexString: (hexString: string) => Uint8Array;
2
14
  export declare function createSendBtcPsbt(senderAddress: string, recipientAddress: string, amount: number): Promise<{
3
15
  psbtHex: string;
4
16
  }>;
5
17
  export declare function broadcastTx(txHex: string): Promise<string>;
18
+ export declare function getFeeRate(): Promise<number>;
19
+ export declare function getTransactionStatus(txHash: string): Promise<TransactionDetail>;
20
+ export {};
@@ -79,8 +79,13 @@ async function getAddressUtxos(address) {
79
79
  .get(`https://mempool.space/api/address/${address}/utxo`)
80
80
  .then((response) => response.data);
81
81
  }
82
- async function getFeeRate() {
82
+ export async function getFeeRate() {
83
83
  const response = await axios.get("https://mempool.space/api/v1/fees/recommended");
84
84
  return response.data.halfHourFee;
85
85
  }
86
+ export async function getTransactionStatus(txHash) {
87
+ return axios
88
+ .get(`https://mempool.space/api/tx/${txHash}`)
89
+ .then((response) => response.data);
90
+ }
86
91
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAExB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAuBzC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAc,EAAE;IAC7D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KACvC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAAqB,EACrB,gBAAwB,EACxB,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;IAEnC,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IAEnD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;KACnC;IAED,0CAA0C;IAC1C,qEAAqE;IACrE,mCAAmC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAC5B,CAAC,CAAoB,EAAE,CAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAClE,CAAC;IAEF,0DAA0D;IAC1D,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,WAAW,IAAI,MAAM;YAAE,MAAM;KAClC;IAED,IAAI,WAAW,GAAG,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,iDAAiD;IAEzE,uEAAuE;IACvE,+FAA+F;IAC/F,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC;IAErE,MAAM,GAAG,GAAG,OAAO,GAAG,eAAe,CAAC;IACtC,MAAM,UAAU,GAAG,GAAG,GAAG,MAAM,CAAC;IAEhC,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3C,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC;YACZ,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,IAAI;YACX,WAAW,EAAE;gBACX,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,cAAc,IAAI,KAAK,CAAC;QACxB,IAAI,cAAc,IAAI,UAAU,EAAE;YAChC,MAAM;SACP;KACF;IAED,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,gBAAgB;QACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KACtB,CAAC,CAAC;IAEH,IAAI,cAAc,GAAG,UAAU,EAAE;QAC/B,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC;SAC3C,CAAC,CAAC;KACJ;IAED,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa;IAC7C,OAAO,KAAK;SACT,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC;SAC3C,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,OAAe;IAEf,OAAO,KAAK;SACT,GAAG,CAAC,qCAAqC,OAAO,OAAO,CAAC;SACxD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAM7B,+CAA+C,CAAC,CAAC;IAEpD,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAc;IAEd,OAAO,KAAK;SACT,GAAG,CAAoB,gCAAgC,MAAM,EAAE,CAAC;SAChE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -1,2 +1,3 @@
1
+ export { KeplrConnector } from "./keplr";
1
2
  export { PhantomConnector } from "./phantom";
2
3
  export { UnisatConnector } from "./unisat";
@@ -1,3 +1,4 @@
1
+ export { KeplrConnector } from "./keplr";
1
2
  export { PhantomConnector } from "./phantom";
2
3
  export { UnisatConnector } from "./unisat";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { IBitcoinProvider as KeplrBitcoinProvider } from "@keplr-wallet/types";
2
+ import { BitcoinConnector } from "..";
3
+ export declare class KeplrConnector implements BitcoinConnector {
4
+ get getProvider(): KeplrBitcoinProvider;
5
+ sendBTC(to: string, amount: number): Promise<{
6
+ txHash: string;
7
+ }>;
8
+ requestAccount(): Promise<{
9
+ address: string;
10
+ }>;
11
+ }
@@ -0,0 +1,28 @@
1
+ import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
2
+ export class KeplrConnector {
3
+ get getProvider() {
4
+ const provider = window?.bitcoin_keplr;
5
+ if (!provider) {
6
+ throw new BitcoinConnectorProviderNotFoundError("Keplr");
7
+ }
8
+ return provider;
9
+ }
10
+ async sendBTC(to, amount) {
11
+ const txHash = await this.getProvider.sendBitcoin(to, amount);
12
+ if (!txHash) {
13
+ throw new BitcoinConnectorTransactionFailedError();
14
+ }
15
+ return { txHash };
16
+ }
17
+ async requestAccount() {
18
+ const accounts = await this.getProvider.requestAccounts();
19
+ const account = accounts[0];
20
+ if (typeof account !== "string") {
21
+ throw new BitcoinConnectorInvalidAccountError();
22
+ }
23
+ return {
24
+ address: account,
25
+ };
26
+ }
27
+ }
28
+ //# sourceMappingURL=keplr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keplr.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/keplr.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,cAAc;IACzB,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,aAAa,CAAC;QAEhD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,OAAO,CAAC,CAAC;SAC1D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sCAAsC,EAAE,CAAC;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
2
+ export declare class CrossmarkConnector implements XrplConnector {
3
+ private getProvider;
4
+ connect(): Promise<string>;
5
+ signAndSubmit({ network, tx, }: {
6
+ network: XrplNetwork;
7
+ tx: XrplTransaction;
8
+ }): Promise<{
9
+ hash: string;
10
+ status: string;
11
+ }>;
12
+ private getActiveNetwork;
13
+ }
@@ -0,0 +1,76 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CrossMark.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/CrossMark.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Xumm } from "xumm";
2
+ import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
3
+ export declare class XamanConnector implements XrplConnector {
4
+ xummAppId: string;
5
+ xumm: Xumm | null;
6
+ private validateXummInitialized;
7
+ private initializeXumm;
8
+ connect(): Promise<string>;
9
+ signAndSubmit({ network, tx, }: {
10
+ tx: XrplTransaction;
11
+ network: XrplNetwork;
12
+ }): Promise<{
13
+ hash: string;
14
+ status: string;
15
+ }>;
16
+ }
@@ -0,0 +1,80 @@
1
+ import { XamanClient } from "../../../services/external/xaman";
2
+ import { XrplTxStatus, } from "../../types/xrpl";
3
+ export class XamanConnector {
4
+ // Xumm app ID, safe to expose on client-side
5
+ xummAppId = "5f341f00-03c6-4f3e-a367-e69698ca8337";
6
+ xumm = null;
7
+ validateXummInitialized() {
8
+ if (!this.xumm) {
9
+ throw new Error("Xumm is not initialized");
10
+ }
11
+ }
12
+ async initializeXumm() {
13
+ // the Xumm constructor can run in 3 different environments: Server, Browser, and xApp (Xaman's embedded browser)
14
+ // When running in server, the constructor needs both App ID and API secret
15
+ // When running in xApp or browser envs, the constructor only needs the App ID
16
+ // We cannot initialize the Xumm instance in the constructor
17
+ // as it would throw an error in SRR (API secret is required in server env),
18
+ // so we need to initialize it on the client-side
19
+ if (!this.xumm) {
20
+ const { Xumm } = await import("xumm");
21
+ this.xumm = new Xumm(this.xummAppId);
22
+ }
23
+ }
24
+ async connect() {
25
+ await this.initializeXumm();
26
+ this.validateXummInitialized();
27
+ const connectedAddress = await this.xumm.user.account;
28
+ if (!connectedAddress) {
29
+ throw new Error("User not connected");
30
+ }
31
+ return connectedAddress;
32
+ }
33
+ async signAndSubmit({ network, tx, }) {
34
+ this.validateXummInitialized();
35
+ if (!this.xumm.xapp) {
36
+ throw new Error("Not in xApp context");
37
+ }
38
+ if (!this.xumm.payload) {
39
+ throw new Error("Payload not available");
40
+ }
41
+ const xamanNetwork = XamanClient.getXamanNetwork(network);
42
+ const txPayload = await this.xumm.payload.create({
43
+ TransactionType: "Payment",
44
+ options: {
45
+ force_network: xamanNetwork,
46
+ },
47
+ txjson: tx,
48
+ });
49
+ await this.xumm.xapp.openSignRequest(txPayload);
50
+ const response = await new Promise((resolve, reject) => {
51
+ this.validateXummInitialized();
52
+ if (!this.xumm.xapp) {
53
+ reject(new Error("Not in xApp context"));
54
+ }
55
+ this.xumm.on("payload", async (data) => {
56
+ this.validateXummInitialized();
57
+ if (data && data.reason === "DECLINED") {
58
+ reject(new Error("User rejected the request."));
59
+ }
60
+ if (data && data.reason === "SIGNED") {
61
+ if (!this.xumm.payload) {
62
+ throw new Error("Payload not available");
63
+ }
64
+ const fullPayload = await this.xumm.payload.get(data.uuid);
65
+ if (fullPayload?.response.txid) {
66
+ resolve({
67
+ hash: fullPayload.response.txid,
68
+ status: XrplTxStatus.SUCCESS,
69
+ });
70
+ }
71
+ else {
72
+ reject(new Error("Transaction hash not found"));
73
+ }
74
+ }
75
+ });
76
+ });
77
+ return response;
78
+ }
79
+ }
80
+ //# sourceMappingURL=Xaman.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Xaman.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/Xaman.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
2
+ export declare class XamanQrConnector implements XrplConnector {
3
+ cancelConnectQr: (() => void) | null;
4
+ cancelSignAndSubmitQr: (() => void) | null;
5
+ cancelConnect(): void;
6
+ cancelSignAndSubmit(): void;
7
+ connect(): Promise<string>;
8
+ signAndSubmit({ tx, network, }: {
9
+ tx: XrplTransaction;
10
+ network: XrplNetwork;
11
+ }): Promise<{
12
+ hash: string;
13
+ status: string;
14
+ }>;
15
+ }
@@ -0,0 +1,78 @@
1
+ import { WidgetEvents } from "../../../services";
2
+ import { websocket } from "../../../services/external/websocket";
3
+ import { XamanClient } from "../../../services/external/xaman";
4
+ import { XrplTxStatus, } from "../../types/xrpl";
5
+ export class XamanQrConnector {
6
+ cancelConnectQr = null;
7
+ cancelSignAndSubmitQr = null;
8
+ cancelConnect() {
9
+ this.cancelConnectQr?.();
10
+ }
11
+ cancelSignAndSubmit() {
12
+ this.cancelSignAndSubmitQr?.();
13
+ }
14
+ async connect() {
15
+ const controller = new AbortController();
16
+ this.cancelConnectQr = () => {
17
+ controller.abort("User canceled the connection process");
18
+ };
19
+ const response = await XamanClient.signIn(controller.signal);
20
+ WidgetEvents.getInstance().dispatchQrCodeGeneratedForConnect({
21
+ matrix: response.qrMatrix,
22
+ });
23
+ const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
24
+ const msg = JSON.parse(event.data);
25
+ if (msg.signed === true) {
26
+ XamanClient.userSession(msg.payload_uuidv4).then((data) => {
27
+ resolve(data.response.account);
28
+ });
29
+ }
30
+ else if (msg.signed === false) {
31
+ reject(new Error("User rejected the request."));
32
+ }
33
+ });
34
+ this.cancelConnectQr = () => {
35
+ close();
36
+ };
37
+ const address = await promise;
38
+ return address;
39
+ }
40
+ async signAndSubmit({ tx, network, }) {
41
+ const controller = new AbortController();
42
+ this.cancelSignAndSubmitQr = () => {
43
+ controller.abort("User canceled the transaction");
44
+ };
45
+ const response = await XamanClient.sendTx({
46
+ tx,
47
+ network,
48
+ signal: controller.signal,
49
+ });
50
+ WidgetEvents.getInstance().dispatchQrCodeGeneratedForSign({
51
+ matrix: response.qrMatrix,
52
+ });
53
+ const { promise, close } = websocket(response.wsStatusUrl, (event, resolve, reject) => {
54
+ const msg = JSON.parse(event.data);
55
+ if (msg.opened === true) {
56
+ // User has scanned the QR code
57
+ WidgetEvents.getInstance().dispatchQrTxScannedAwaitingApproval(undefined);
58
+ }
59
+ else if (msg.signed === true) {
60
+ // Tx has been signed
61
+ resolve({
62
+ hash: msg.txid,
63
+ status: XrplTxStatus.SUCCESS,
64
+ });
65
+ }
66
+ else if (msg.signed === false) {
67
+ // User rejected the transaction
68
+ reject(new Error("User rejected the request."));
69
+ }
70
+ });
71
+ this.cancelSignAndSubmitQr = () => {
72
+ close();
73
+ };
74
+ const result = await promise;
75
+ return result;
76
+ }
77
+ }
78
+ //# sourceMappingURL=XamanQr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XamanQr.js","sourceRoot":"","sources":["../../../../src/core/connectors/xrpl/XamanQr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { EIP6963AnnounceProviderEvent, EIP6963RequestProviderEvent } from "@metamask/providers";
2
+ import { XrplConnector, XrplNetwork, XrplTransaction } from "../../types/xrpl";
3
+ declare enum EIP6963EventNames {
4
+ Announce = "eip6963:announceProvider",
5
+ Request = "eip6963:requestProvider"
6
+ }
7
+ declare global {
8
+ interface WindowEventMap {
9
+ [EIP6963EventNames.Announce]: EIP6963AnnounceProviderEvent;
10
+ [EIP6963EventNames.Request]: EIP6963RequestProviderEvent;
11
+ }
12
+ }
13
+ export declare class XrplMetamaskSnapConnector implements XrplConnector {
14
+ private provider?;
15
+ connect(): Promise<string>;
16
+ signAndSubmit({ network, tx, }: {
17
+ network: XrplNetwork;
18
+ tx: XrplTransaction;
19
+ }): Promise<{
20
+ hash: string;
21
+ status: string;
22
+ }>;
23
+ private initialize;
24
+ private requestSnap;
25
+ private getAccount;
26
+ private getActiveNetwork;
27
+ private changeNetwork;
28
+ private invokeSnap;
29
+ private getProvider;
30
+ private hasSnapsSupport;
31
+ private getMetamaskEIP6963Provider;
32
+ private request;
33
+ private getNetworkChainId;
34
+ }
35
+ export {};