@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 +0,0 @@
1
- {"version":3,"file":"useEstimateSendTransactionGas.js","sourceRoot":"","sources":["../../../../src/hooks/transaction/send/useEstimateSendTransactionGas.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,8BAA8B,EAAE,MAAM,4CAA4C,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAsBhE,MAAM,UAAU,0BAA0B,CAAC,EACzC,KAAK,EACL,KAAK,EACL,MAAM,EACN,OAAO,EACP,IAAI,GAOL;IACC,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,qBAAqB,CAAC;QAC1E,KAAK;QACL,KAAK;QACL,IAAI;KACL,CAAC,CAAC;IAEH,MAAM,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAElD,MAAM,iCAAiC,GAAG,OAAO,CAAC,GAAG,EAAE;QACrD,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE;YACxD,OAAO,KAAK,CAAC;SACd;QAED,MAAM,aAAa,GACjB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;YAC3B,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7D,IAAI,aAAa,EAAE;YACjB,OAAO,CACL,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,YAAY;gBACpD,aAAa,CAAC,KAAK,CACpB,CAAC;SACH;QAED,OAAO,YAAY,IAAI,aAAa,CAAC,KAAK,CAAC;IAC7C,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAExD,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAEjE,OAAO,CACL,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;YACtC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CACtC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvC,MAAM,qBAAqB,GAAG,OAAO,CAAC,GAAG,EAAE;QACzC,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,CAAC,aAAa,EAAE,KAAK,IAAI,CAAC,YAAY;YAC3D,OAAO,SAAS,CAAC;QAEnB,MAAM,iBAAiB,GACrB,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE;YAC3B,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAE7D,OAAO,8BAA8B,CAAC;YACpC,iBAAiB;YACjB,8BAA8B,EAAE,aAAa,CAAC,KAAK;YACnD,8BAA8B,EAAE,aAAa,CAAC,QAAQ;YACtD,+BAA+B,EAAE,YAAY;SAC9C,CAAC,CAAC;IACL,CAAC,EAAE;QACD,YAAY;QACZ,aAAa,EAAE,QAAQ;QACvB,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,OAAO;QACL,YAAY;QACZ,eAAe;QACf,SAAS;QACT,iCAAiC;QACjC,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
@@ -1,245 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useMutation, useQueryClient } from "@tanstack/react-query";
3
- import { useCallback } from "react";
4
- import { getPrefixKey, QueryKeys } from "../../../core/queries/queries-keys";
5
- import { HistoryTxType } from "../../../core/types/history";
6
- import { SendTransactionStatus } from "../../../core/types/transaction";
7
- import { useHistoryStore } from "../../../hooks/store/useHistoryStore";
8
- import { useSendTransactionStore, } from "../../../hooks/store/useSendTransactionStore";
9
- import { useNativeTokenForChain } from "../../../hooks/tokens/useNativeTokenForChain";
10
- import { useMultiChainWallet } from "../../../hooks/wallet/useMultiChainWallet";
11
- import { useWallet } from "../../../hooks/wallet/useWallet";
12
- import { isWalletAddressValid, parseToBigInt, WidgetEvents, } from "../../../services";
13
- import { getWorkingCosmosRpcUrl } from "../../../services/external/rpcService";
14
- import { getTransactionError } from "../../../services/internal/errorService";
15
- import { sendTransactionBitcoin, sendTransactionCosmos, sendTransactionEvm, sendTransactionSolana, sendTransactionSui, sendTransactionXrpl, } from "../../../services/internal/sendTransaction";
16
- import { useSolanaConnection } from "../../solana/useSolana";
17
- import { useSigner } from "../../wallet/useSigner";
18
- export function useSendTransaction({ to, amount, token, chain, }) {
19
- const { connectedWalletsByChainType } = useWallet();
20
- const { connectedAddress } = useMultiChainWallet(chain);
21
- const { evmSigner, cosmosSigner, solanaSigner, bitcoinSigner, suiSigner, xrplSigner, } = useSigner({
22
- chain,
23
- });
24
- const solanaClient = useSolanaConnection();
25
- const queryClient = useQueryClient();
26
- const { nativeToken } = useNativeTokenForChain(chain);
27
- const getTransaction = useSendTransactionStore((state) => state.getTransaction);
28
- const setTransactionState = useSendTransactionStore((state) => state.setTransactionState);
29
- const persistTransaction = useHistoryStore((state) => state.persistTransaction);
30
- const allEventParamsDefined = !!connectedAddress.address && !!amount && !!token && !!to;
31
- const dispatchPreSendEvent = useCallback(() => {
32
- if (!allEventParamsDefined || !connectedAddress.address)
33
- return;
34
- WidgetEvents.getInstance().dispatchPreSend({
35
- fromAddress: connectedAddress.address,
36
- // amount is already formatted with the token decimals
37
- amount,
38
- toAddress: to,
39
- token: {
40
- address: token.address,
41
- chainId: token.chainId,
42
- symbol: token.symbol,
43
- type: token.type,
44
- },
45
- });
46
- }, [
47
- allEventParamsDefined,
48
- token?.type,
49
- token?.chainId,
50
- token?.symbol,
51
- token?.address,
52
- amount,
53
- connectedAddress.address,
54
- to,
55
- ]);
56
- const dispatchPostSendEvent = useCallback(({ txHash }) => {
57
- if (!allEventParamsDefined || !connectedAddress.address)
58
- return;
59
- WidgetEvents.getInstance().dispatchPostSend({
60
- fromAddress: connectedAddress.address,
61
- // amount is already formatted with the token decimals
62
- amount,
63
- toAddress: to,
64
- token: {
65
- address: token.address,
66
- chainId: token.chainId,
67
- symbol: token.symbol,
68
- type: token.type,
69
- },
70
- txHash,
71
- });
72
- }, [
73
- allEventParamsDefined,
74
- token?.type,
75
- token?.chainId,
76
- token?.symbol,
77
- token?.address,
78
- amount,
79
- connectedAddress.address,
80
- to,
81
- ]);
82
- const sendTransactionMutation = useMutation({
83
- mutationFn: async () => {
84
- const allParamsDefined = token && to && amount && chain;
85
- if (!allParamsDefined)
86
- throw new Error("Need all params");
87
- if (token.type !== chain.chainType) {
88
- throw new Error("Invalid token or chain");
89
- }
90
- const isValidDestinationAddress = isWalletAddressValid(chain, to);
91
- if (!isValidDestinationAddress) {
92
- throw new Error("Invalid destination address");
93
- }
94
- const rawAmount = parseToBigInt(amount, token.decimals).toString();
95
- let tx;
96
- switch (token.type) {
97
- case ChainType.EVM:
98
- if (!evmSigner) {
99
- throw new Error("Need EVM signer");
100
- }
101
- tx = await sendTransactionEvm({
102
- to,
103
- amount: rawAmount,
104
- token,
105
- signer: evmSigner,
106
- rpcUrl: chain.rpc,
107
- });
108
- break;
109
- case ChainType.COSMOS:
110
- if (!cosmosSigner) {
111
- throw new Error("Need Cosmos signer");
112
- }
113
- if (!nativeToken) {
114
- throw new Error("Need Cosmos native token");
115
- }
116
- const rpcUrl = await getWorkingCosmosRpcUrl(chain);
117
- tx = await sendTransactionCosmos({
118
- amount: rawAmount,
119
- rpcUrl,
120
- signer: cosmosSigner,
121
- to,
122
- token,
123
- nativeToken,
124
- });
125
- break;
126
- case ChainType.SOLANA:
127
- if (!solanaSigner) {
128
- throw new Error("Need Solana signer");
129
- }
130
- tx = await sendTransactionSolana({
131
- amount: rawAmount,
132
- to,
133
- token,
134
- connection: solanaClient,
135
- signer: solanaSigner,
136
- });
137
- break;
138
- case ChainType.BTC:
139
- if (!bitcoinSigner) {
140
- throw new Error("Need Bitcoin signer");
141
- }
142
- tx = await sendTransactionBitcoin({
143
- amount: rawAmount,
144
- to,
145
- token,
146
- signer: bitcoinSigner,
147
- });
148
- break;
149
- case ChainType.SUI:
150
- if (!suiSigner) {
151
- throw new Error("Need Sui signer");
152
- }
153
- const suiAccount = connectedWalletsByChainType[ChainType.SUI];
154
- if (!suiAccount.account) {
155
- throw new Error("Need Sui account");
156
- }
157
- tx = await sendTransactionSui({
158
- amount: rawAmount,
159
- to,
160
- token,
161
- chain,
162
- account: suiAccount.account,
163
- signer: suiSigner,
164
- });
165
- break;
166
- case ChainType.XRPL:
167
- if (!xrplSigner) {
168
- throw new Error("Need XRPL signer");
169
- }
170
- if (!connectedAddress.address) {
171
- throw new Error("No connected address found");
172
- }
173
- tx = await sendTransactionXrpl({
174
- amount: rawAmount,
175
- to,
176
- token,
177
- signer: xrplSigner,
178
- from: connectedAddress.address,
179
- });
180
- break;
181
- }
182
- return {
183
- amount,
184
- to,
185
- token,
186
- txHash: tx.txHash,
187
- };
188
- },
189
- onMutate: (variables) => {
190
- useSendTransactionStore.setState({
191
- txLocalId: variables.id,
192
- currentTransaction: undefined,
193
- });
194
- },
195
- onError: (error, variables) => {
196
- const currentTx = getTransaction(variables.id);
197
- const errorObject = getTransactionError(error);
198
- setTransactionState(variables.id, {
199
- ...currentTx,
200
- error: errorObject,
201
- });
202
- },
203
- onSuccess: (tx, variables) => {
204
- queryClient.invalidateQueries(getPrefixKey(QueryKeys.Balance));
205
- setTransactionState(variables.id, tx);
206
- persistTransaction({
207
- txType: HistoryTxType.SEND,
208
- data: {
209
- amount: tx.amount,
210
- token: {
211
- address: tx.token.address,
212
- chainId: tx.token.chainId,
213
- decimals: tx.token.decimals,
214
- symbol: tx.token.symbol,
215
- type: tx.token.type,
216
- },
217
- hash: tx.txHash,
218
- timestamp: Date.now(),
219
- toAddress: tx.to,
220
- status: SendTransactionStatus.ONGOING,
221
- },
222
- });
223
- dispatchPostSendEvent({ txHash: tx.txHash });
224
- },
225
- });
226
- const sendTransaction = useCallback(async () => {
227
- const transactionId = Date.now().toString();
228
- dispatchPreSendEvent();
229
- return sendTransactionMutation.mutate({
230
- id: transactionId,
231
- });
232
- }, [dispatchPreSendEvent, sendTransactionMutation.mutate]);
233
- /**
234
- * In QR-based wallets, cleans up listeners and network requests (e.g. websockets)
235
- * Useful to save resources i.e when the user dismisses the QR code or aborts the connection process
236
- */
237
- const cancelSend = useCallback(() => {
238
- switch (chain?.chainType) {
239
- case ChainType.XRPL:
240
- return xrplSigner?.cancelSignAndSubmit?.();
241
- }
242
- }, [chain?.chainType, xrplSigner]);
243
- return { sendTransaction, cancelSend };
244
- }
245
- //# sourceMappingURL=useSendTransaction.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSendTransaction.js","sourceRoot":"","sources":["../../../../src/hooks/transaction/send/useSendTransaction.ts"],"names":[],"mappings":"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"}
@@ -1,73 +0,0 @@
1
- import { ChainType } from "@0xsquid/squid-types";
2
- import { useQuery } from "@tanstack/react-query";
3
- import { Interface } from "ethers";
4
- import { erc20Abi } from "viem";
5
- import { getClient } from "../../../core/client";
6
- import { getFeeRate } from "../../../core/connectors/bitcoin/helpers";
7
- import { nativeEvmTokenAddress } from "../../../core/constants";
8
- import { keys } from "../../../core/queries/queries-keys";
9
- export function useSendTransactionGas({ chain, token, from, }) {
10
- return useQuery({
11
- queryKey: keys().sendTransactionGas(chain?.chainId, token?.address, from),
12
- queryFn: async () => {
13
- if (!chain || !token)
14
- throw new Error("Missing params");
15
- switch (chain.chainType) {
16
- case ChainType.EVM: {
17
- const client = await getClient(chain);
18
- const feeData = await client.getFeeData();
19
- if (!feeData.maxFeePerGas)
20
- return BigInt(0);
21
- const dummyAddress = "0x1111111111111111111111111111111111111111";
22
- // Some RPC providers require the sender to have enough balance, otherwise estimation reverts
23
- // so we'll try to use the user provided address when possible
24
- const sender = from || dummyAddress;
25
- if (token.address.toLowerCase() === nativeEvmTokenAddress.toLowerCase()) {
26
- const gas = await client.estimateGas({
27
- from: sender,
28
- to: dummyAddress,
29
- value: 1,
30
- chainId: chain.chainId,
31
- });
32
- return gas * feeData.maxFeePerGas;
33
- }
34
- const erc20Interface = new Interface(erc20Abi);
35
- const data = erc20Interface.encodeFunctionData("transfer", [
36
- dummyAddress,
37
- 1,
38
- ]);
39
- const gas = await client.estimateGas({
40
- from: sender,
41
- to: token.address,
42
- data,
43
- chainId: chain.chainId,
44
- });
45
- return gas * feeData.maxFeePerGas;
46
- }
47
- case ChainType.COSMOS: {
48
- // TODO: get gas estimation from backend
49
- return BigInt(0);
50
- }
51
- case ChainType.SOLANA: {
52
- // TODO: get gas estimation from backend
53
- return BigInt(5000);
54
- }
55
- case ChainType.BTC: {
56
- const feeRate = await getFeeRate();
57
- // average vBytes for a segwit tx (2 inputs, 2 outputs)
58
- const vBytes = 378;
59
- const feeSats = feeRate * vBytes;
60
- // TODO: get gas estimation from backend?
61
- return BigInt(feeSats);
62
- }
63
- default:
64
- throw new Error(`Gas estimation not implemented for chain type ${chain.chainType}`);
65
- }
66
- },
67
- enabled: !!chain && !!token,
68
- // 5 minutes
69
- staleTime: 1_000 * 60 * 5,
70
- refetchInterval: 1_000 * 60 * 5,
71
- });
72
- }
73
- //# sourceMappingURL=useSendTransactionGas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useSendTransactionGas.js","sourceRoot":"","sources":["../../../../src/hooks/transaction/send/useSendTransactionGas.ts"],"names":[],"mappings":"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"}
@@ -1,127 +0,0 @@
1
- import { useQueries } from "@tanstack/react-query";
2
- import { keys } from "../../core/queries/queries-keys";
3
- import { HistoryTxType } from "../../core/types/history";
4
- import { fetchSwapTransactionStatus, getSendTxStatusRefetchInterval, getSwapTxStatusRefetchInterval, getTransactionEndStatus, } from "../../services";
5
- import { OnrampService } from "../../services/external/onrampAdapter";
6
- import { getSendTransactionStatus } from "../../services/internal/sendTransactionStatus";
7
- import { useSquidChains } from "../chains/useSquidChains";
8
- import { SendTransactionStatus } from "../../core/types/transaction";
9
- import { FINAL_TRANSACTION_STATUSES, TX_STATUS_CONSTANTS, } from "../onramp/useFiatToCrypto";
10
- import { useHistoryStore } from "../store/useHistoryStore";
11
- import { useConfigStore } from "../store/useSquidStore";
12
- import { useHistory } from "../user/useHistory";
13
- export const useAllTransactionsStatus = ({ enabled }) => {
14
- const { pendingTransactions, replaceSwapTransactionStatus } = useHistory();
15
- const replaceTransactionStatus = useHistoryStore((state) => state.replaceTransactionStatus);
16
- const config = useConfigStore((state) => state.config);
17
- const { findChain } = useSquidChains();
18
- const onrampService = new OnrampService();
19
- const statusQueries = pendingTransactions.map(({ txType, data }) => {
20
- switch (txType) {
21
- case HistoryTxType.SWAP: {
22
- return {
23
- queryKey: keys().swapTransactionStatus(data.transactionId),
24
- queryFn: async () => {
25
- return fetchSwapTransactionStatus({
26
- transaction: {
27
- ...data,
28
- transactionId: data.transactionIdForStatus ?? data.transactionId,
29
- },
30
- apiUrl: config.apiUrl,
31
- integratorId: config.integratorId,
32
- });
33
- },
34
- enabled: true,
35
- retry: 4,
36
- retryDelay: getSwapTxStatusRefetchInterval(data),
37
- refetchInterval: 5000,
38
- onSuccess: (statusResponse) => {
39
- if (!statusResponse)
40
- return;
41
- const endStatus = getTransactionEndStatus({
42
- statusResponse,
43
- });
44
- if (!endStatus)
45
- return;
46
- replaceSwapTransactionStatus({
47
- transactionId: data.transactionId,
48
- statusResponse,
49
- status: endStatus,
50
- });
51
- },
52
- };
53
- }
54
- case HistoryTxType.BUY:
55
- return {
56
- queryFn: () => onrampService.getTransactionStatus(data.orderId, data.toAddress, data.providerId),
57
- queryKey: keys().fiatToCryptoStatus(data.orderId),
58
- retry: TX_STATUS_CONSTANTS.RETRY_COUNT,
59
- retryDelay: TX_STATUS_CONSTANTS.RETRY_DELAY,
60
- refetchInterval: (data) => {
61
- if (data?.status &&
62
- FINAL_TRANSACTION_STATUSES.includes(data.status)) {
63
- return false;
64
- }
65
- return TX_STATUS_CONSTANTS.REFETCH_INTERVAL;
66
- },
67
- onSuccess: (statusData) => {
68
- replaceTransactionStatus({
69
- orderId: data.orderId,
70
- status: statusData.status,
71
- transactionHash: statusData.transactionHash,
72
- txType: HistoryTxType.BUY,
73
- });
74
- },
75
- onError: () => {
76
- replaceTransactionStatus({
77
- txType: HistoryTxType.BUY,
78
- orderId: data.orderId,
79
- status: "failed",
80
- transactionHash: undefined,
81
- });
82
- },
83
- enabled: true,
84
- };
85
- case HistoryTxType.SEND:
86
- return {
87
- queryKey: keys().sendTransactionStatus(data.hash, data.token.chainId),
88
- queryFn: async () => {
89
- const chain = findChain(data.token.chainId);
90
- if (!chain) {
91
- throw new Error(`Could not find chain ${data.token.chainId} for tx status`);
92
- }
93
- return getSendTransactionStatus({
94
- chain,
95
- txHash: data.hash,
96
- });
97
- },
98
- refetchInterval: getSendTxStatusRefetchInterval(data.token.type),
99
- onSuccess: (status) => {
100
- if (status !== SendTransactionStatus.ONGOING) {
101
- replaceTransactionStatus({
102
- txType: HistoryTxType.SEND,
103
- status,
104
- hash: data.hash,
105
- });
106
- }
107
- },
108
- onError: () => {
109
- replaceTransactionStatus({
110
- txType: HistoryTxType.SEND,
111
- status: SendTransactionStatus.ERROR,
112
- hash: data.hash,
113
- });
114
- },
115
- };
116
- }
117
- });
118
- const queries = useQueries({
119
- queries: enabled && config.apiUrl ? statusQueries : [],
120
- });
121
- return {
122
- isLoading: queries.some((q) => q.isLoading),
123
- isError: queries.some((q) => q.isError),
124
- data: queries.map((q) => q.data).filter(Boolean),
125
- };
126
- };
127
- //# sourceMappingURL=useAllTransactionsStatus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useAllTransactionsStatus.js","sourceRoot":"","sources":["../../../src/hooks/transaction/useAllTransactionsStatus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,EAAE,OAAO,EAAwB,EAAE,EAAE;IAC5E,MAAM,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,GAAG,UAAU,EAAE,CAAC;IAC3E,MAAM,wBAAwB,GAAG,eAAe,CAC9C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,wBAAwB,CAC1C,CAAC;IACF,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAE1C,MAAM,aAAa,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACjE,QAAQ,MAAM,EAAE;YACd,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC;gBACvB,OAAO;oBACL,QAAQ,EAAE,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,aAAa,CAAC;oBAC1D,OAAO,EAAE,KAAK,IAAyC,EAAE;wBACvD,OAAO,0BAA0B,CAAC;4BAChC,WAAW,EAAE;gCACX,GAAG,IAAI;gCACP,aAAa,EACX,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,aAAa;6BACpD;4BACD,MAAM,EAAE,MAAM,CAAC,MAAO;4BACtB,YAAY,EAAE,MAAM,CAAC,YAAY;yBAClC,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,CAAC;oBACR,UAAU,EAAE,8BAA8B,CAAC,IAAI,CAAC;oBAChD,eAAe,EAAE,IAAI;oBACrB,SAAS,EAAE,CAAC,cAA8B,EAAE,EAAE;wBAC5C,IAAI,CAAC,cAAc;4BAAE,OAAO;wBAE5B,MAAM,SAAS,GAAG,uBAAuB,CAAC;4BACxC,cAAc;yBACf,CAAC,CAAC;wBAEH,IAAI,CAAC,SAAS;4BAAE,OAAO;wBAEvB,4BAA4B,CAAC;4BAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;4BACjC,cAAc;4BACd,MAAM,EAAE,SAAS;yBAClB,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;aACH;YACD,KAAK,aAAa,CAAC,GAAG;gBACpB,OAAO;oBACL,OAAO,EAAE,GAAG,EAAE,CACZ,aAAa,CAAC,oBAAoB,CAChC,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,UAAU,CAChB;oBACH,QAAQ,EAAE,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;oBACjD,KAAK,EAAE,mBAAmB,CAAC,WAAW;oBACtC,UAAU,EAAE,mBAAmB,CAAC,WAAW;oBAC3C,eAAe,EAAE,CAAC,IAAyC,EAAE,EAAE;wBAC7D,IACE,IAAI,EAAE,MAAM;4BACZ,0BAA0B,CAAC,QAAQ,CACjC,IAAI,CAAC,MAAqC,CAC3C,EACD;4BACA,OAAO,KAAK,CAAC;yBACd;wBACD,OAAO,mBAAmB,CAAC,gBAAgB,CAAC;oBAC9C,CAAC;oBACD,SAAS,EAAE,CAAC,UAAmC,EAAE,EAAE;wBACjD,wBAAwB,CAAC;4BACvB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,UAAU,CAAC,MAAM;4BACzB,eAAe,EAAE,UAAU,CAAC,eAAe;4BAC3C,MAAM,EAAE,aAAa,CAAC,GAAG;yBAC1B,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,EAAE,GAAG,EAAE;wBACZ,wBAAwB,CAAC;4BACvB,MAAM,EAAE,aAAa,CAAC,GAAG;4BACzB,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,QAAQ;4BAChB,eAAe,EAAE,SAAS;yBAC3B,CAAC,CAAC;oBACL,CAAC;oBACD,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,KAAK,aAAa,CAAC,IAAI;gBACrB,OAAO;oBACL,QAAQ,EAAE,IAAI,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBACrE,OAAO,EAAE,KAAK,IAAI,EAAE;wBAClB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBAE5C,IAAI,CAAC,KAAK,EAAE;4BACV,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAC3D,CAAC;yBACH;wBAED,OAAO,wBAAwB,CAAC;4BAC9B,KAAK;4BACL,MAAM,EAAE,IAAI,CAAC,IAAI;yBAClB,CAAC,CAAC;oBACL,CAAC;oBACD,eAAe,EAAE,8BAA8B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChE,SAAS,EAAE,CAAC,MAA6B,EAAE,EAAE;wBAC3C,IAAI,MAAM,KAAK,qBAAqB,CAAC,OAAO,EAAE;4BAC5C,wBAAwB,CAAC;gCACvB,MAAM,EAAE,aAAa,CAAC,IAAI;gCAC1B,MAAM;gCACN,IAAI,EAAE,IAAI,CAAC,IAAI;6BAChB,CAAC,CAAC;yBACJ;oBACH,CAAC;oBACD,OAAO,EAAE,GAAG,EAAE;wBACZ,wBAAwB,CAAC;4BACvB,MAAM,EAAE,aAAa,CAAC,IAAI;4BAC1B,MAAM,EAAE,qBAAqB,CAAC,KAAK;4BACnC,IAAI,EAAE,IAAI,CAAC,IAAI;yBAChB,CAAC,CAAC;oBACL,CAAC;iBACF,CAAC;SACL;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU,CAAC;QACzB,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE;KACvD,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3C,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;QACvC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;KACjD,CAAC;AACJ,CAAC,CAAC"}