0xtrails 0.13.1 → 0.14.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 (804) hide show
  1. package/dist/abis/trailsHydrate.d.ts +5 -42
  2. package/dist/abis/trailsHydrate.d.ts.map +1 -1
  3. package/dist/abis/trailsRouter.d.ts +1 -1
  4. package/dist/abis/trailsRouter.d.ts.map +1 -1
  5. package/dist/{widget/analytics → analytics/hooks}/useWidgetAnalytics.d.ts +2 -4
  6. package/dist/analytics/hooks/useWidgetAnalytics.d.ts.map +1 -0
  7. package/dist/analytics.d.ts.map +1 -1
  8. package/dist/chainSwitch.d.ts.map +1 -1
  9. package/dist/chains-C1NhDLF_.js +4 -0
  10. package/dist/chains-CcoarGia.js +658 -0
  11. package/dist/chains.d.ts +0 -1
  12. package/dist/chains.d.ts.map +1 -1
  13. package/dist/committedIntentStore.d.ts +5 -0
  14. package/dist/committedIntentStore.d.ts.map +1 -0
  15. package/dist/config.d.ts +2 -0
  16. package/dist/config.d.ts.map +1 -1
  17. package/dist/constants.d.ts +3 -1
  18. package/dist/constants.d.ts.map +1 -1
  19. package/dist/customTokens.d.ts.map +1 -1
  20. package/dist/error.d.ts +73 -4
  21. package/dist/error.d.ts.map +1 -1
  22. package/dist/hooks/useAddressWalletIcon.d.ts.map +1 -0
  23. package/dist/hooks/useAmountUsd.d.ts.map +1 -0
  24. package/dist/hooks/useBalanceVisible.d.ts.map +1 -0
  25. package/dist/hooks/useChainFilter.d.ts.map +1 -0
  26. package/dist/{widget/hooks → hooks}/useCheckout.d.ts +15 -15
  27. package/dist/hooks/useCheckout.d.ts.map +1 -0
  28. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  29. package/dist/{widget/hooks → hooks}/useCombinedHistory.d.ts +3 -2
  30. package/dist/hooks/useCombinedHistory.d.ts.map +1 -0
  31. package/dist/hooks/useConnector.d.ts.map +1 -0
  32. package/dist/{widget/hooks → hooks}/useCustomTokenSearch.d.ts +7 -2
  33. package/dist/hooks/useCustomTokenSearch.d.ts.map +1 -0
  34. package/dist/hooks/useDebounce.d.ts.map +1 -0
  35. package/dist/{widget/hooks → hooks}/useDebugScreens.d.ts +2 -2
  36. package/dist/hooks/useDebugScreens.d.ts.map +1 -0
  37. package/dist/{widget/hooks → hooks}/useDefaultDestinationToken.d.ts +1 -1
  38. package/dist/hooks/useDefaultDestinationToken.d.ts.map +1 -0
  39. package/dist/{widget/hooks → hooks}/useDefaultOriginToken.d.ts +1 -1
  40. package/dist/hooks/useDefaultOriginToken.d.ts.map +1 -0
  41. package/dist/hooks/useDepositMonitor.d.ts.map +1 -0
  42. package/dist/{widget/hooks → hooks}/useDestinationSelectedToken.d.ts +2 -2
  43. package/dist/hooks/useDestinationSelectedToken.d.ts.map +1 -0
  44. package/dist/hooks/useDisplayCurrencyPreference.d.ts.map +1 -0
  45. package/dist/{widget/hooks → hooks}/useEarnPool.d.ts +1 -1
  46. package/dist/hooks/useEarnPool.d.ts.map +1 -0
  47. package/dist/hooks/useEffectiveFundBalance.d.ts +28 -0
  48. package/dist/hooks/useEffectiveFundBalance.d.ts.map +1 -0
  49. package/dist/hooks/useExecutingIntentsCount.d.ts.map +1 -0
  50. package/dist/{widget/hooks → hooks}/useExternalFundingReceiptSync.d.ts +1 -1
  51. package/dist/hooks/useExternalFundingReceiptSync.d.ts.map +1 -0
  52. package/dist/{widget/hooks → hooks}/useFiatOnRampCurrencies.d.ts +2 -2
  53. package/dist/hooks/useFiatOnRampCurrencies.d.ts.map +1 -0
  54. package/dist/hooks/useFiatSelectedCurrency.d.ts.map +1 -0
  55. package/dist/hooks/useGetIntent.d.ts.map +1 -0
  56. package/dist/{widget/hooks → hooks}/useIntentReceiptBalances.d.ts +1 -1
  57. package/dist/hooks/useIntentReceiptBalances.d.ts.map +1 -0
  58. package/dist/{widget/hooks → hooks}/useIntentTransactionHistory.d.ts +2 -1
  59. package/dist/hooks/useIntentTransactionHistory.d.ts.map +1 -0
  60. package/dist/hooks/useIsMobile.d.ts.map +1 -0
  61. package/dist/hooks/useIsSequenceWallet.d.ts.map +1 -0
  62. package/dist/hooks/useLocalePreference.d.ts.map +1 -0
  63. package/dist/hooks/useMeldTransactionHistory.d.ts.map +1 -0
  64. package/dist/hooks/useMeldTransactionStatus.d.ts.map +1 -0
  65. package/dist/hooks/useOnRampCountryDefaults.d.ts.map +1 -0
  66. package/dist/{widget/hooks → hooks}/useOnRampPaymentMethods.d.ts +2 -2
  67. package/dist/hooks/useOnRampPaymentMethods.d.ts.map +1 -0
  68. package/dist/{widget/hooks → hooks}/useOnRampProviderWidget.d.ts +1 -1
  69. package/dist/hooks/useOnRampProviderWidget.d.ts.map +1 -0
  70. package/dist/{widget/hooks → hooks}/useOnRampQuote.d.ts +3 -3
  71. package/dist/hooks/useOnRampQuote.d.ts.map +1 -0
  72. package/dist/{widget/hooks → hooks}/useOnRampTransactionStatus.d.ts +1 -1
  73. package/dist/hooks/useOnRampTransactionStatus.d.ts.map +1 -0
  74. package/dist/{widget/hooks → hooks}/useOriginSelectedToken.d.ts +1 -1
  75. package/dist/hooks/useOriginSelectedToken.d.ts.map +1 -0
  76. package/dist/hooks/usePayMessage.d.ts.map +1 -0
  77. package/dist/hooks/usePriceImpactWarning.d.ts.map +1 -0
  78. package/dist/hooks/useQuote.d.ts +439 -0
  79. package/dist/hooks/useQuote.d.ts.map +1 -0
  80. package/dist/{widget/hooks → hooks}/useRecentTokens.d.ts +1 -1
  81. package/dist/hooks/useRecentTokens.d.ts.map +1 -0
  82. package/dist/hooks/useRecipients.d.ts.map +1 -0
  83. package/dist/hooks/useSelectedFeeOption.d.ts.map +1 -0
  84. package/dist/{widget/hooks → hooks}/useSelectedFundMethod.d.ts +18 -1
  85. package/dist/hooks/useSelectedFundMethod.d.ts.map +1 -0
  86. package/dist/hooks/useSelectedRecipient.d.ts.map +1 -0
  87. package/dist/{widget/hooks → hooks}/useSendForm.d.ts +6 -11
  88. package/dist/hooks/useSendForm.d.ts.map +1 -0
  89. package/dist/hooks/useSwapAmount.d.ts.map +1 -0
  90. package/dist/{widget/hooks → hooks}/useSwapState.d.ts +1 -1
  91. package/dist/hooks/useSwapState.d.ts.map +1 -0
  92. package/dist/hooks/useTargetAmount.d.ts.map +1 -0
  93. package/dist/hooks/useTheme.d.ts.map +1 -0
  94. package/dist/{widget/hooks → hooks}/useTokenList.d.ts +9 -3
  95. package/dist/hooks/useTokenList.d.ts.map +1 -0
  96. package/dist/{widget/hooks → hooks}/useTrailsSendTransaction.d.ts +1 -1
  97. package/dist/hooks/useTrailsSendTransaction.d.ts.map +1 -0
  98. package/dist/{widget/hooks → hooks}/useViewManager.d.ts +1 -1
  99. package/dist/hooks/useViewManager.d.ts.map +1 -0
  100. package/dist/hooks/useWalletConnectUri.d.ts +19 -0
  101. package/dist/hooks/useWalletConnectUri.d.ts.map +1 -0
  102. package/dist/hooks/useWalletConnectionContext.d.ts.map +1 -0
  103. package/dist/{widget/hooks → hooks}/useWidgetProps.d.ts +1 -1
  104. package/dist/hooks/useWidgetProps.d.ts.map +1 -0
  105. package/dist/hydrate/builder.d.ts +131 -0
  106. package/dist/hydrate/builder.d.ts.map +1 -0
  107. package/dist/hydrate/constants.d.ts +13 -0
  108. package/dist/hydrate/constants.d.ts.map +1 -0
  109. package/dist/hydrate/encodeExecute.d.ts +73 -0
  110. package/dist/hydrate/encodeExecute.d.ts.map +1 -0
  111. package/dist/hydrate/index.d.ts +6 -0
  112. package/dist/hydrate/index.d.ts.map +1 -0
  113. package/dist/hydrate/index.js +11 -0
  114. package/dist/hydrate/payload.d.ts +38 -0
  115. package/dist/hydrate/payload.d.ts.map +1 -0
  116. package/dist/hydrate/selectors.d.ts +28 -0
  117. package/dist/hydrate/selectors.d.ts.map +1 -0
  118. package/dist/hydrate/types.d.ts +19 -0
  119. package/dist/hydrate/types.d.ts.map +1 -0
  120. package/dist/hydrate/utils.d.ts +8 -0
  121. package/dist/hydrate/utils.d.ts.map +1 -0
  122. package/dist/hydrate-Cr9eaeDK.js +654 -0
  123. package/dist/index.d.ts +20 -13
  124. package/dist/index.d.ts.map +1 -1
  125. package/dist/index.js +156 -610
  126. package/dist/intentConfigStore.d.ts +8 -0
  127. package/dist/intentConfigStore.d.ts.map +1 -0
  128. package/dist/intentProtocolApi.d.ts +11 -0
  129. package/dist/intentProtocolApi.d.ts.map +1 -0
  130. package/dist/intentProtocolEncoding.d.ts +25 -0
  131. package/dist/intentProtocolEncoding.d.ts.map +1 -0
  132. package/dist/intentProtocolResolver.d.ts +28 -0
  133. package/dist/intentProtocolResolver.d.ts.map +1 -0
  134. package/dist/intentReceiptPoller.d.ts.map +1 -1
  135. package/dist/intentValidation.d.ts +5 -0
  136. package/dist/intentValidation.d.ts.map +1 -0
  137. package/dist/intents.d.ts +8 -2
  138. package/dist/intents.d.ts.map +1 -1
  139. package/dist/keyMachineClient.d.ts +9 -0
  140. package/dist/keyMachineClient.d.ts.map +1 -0
  141. package/dist/keymachine/index.d.ts +34 -0
  142. package/dist/keymachine/index.d.ts.map +1 -0
  143. package/dist/keymachine/key-machine.gen.d.ts +461 -0
  144. package/dist/keymachine/key-machine.gen.d.ts.map +1 -0
  145. package/dist/mutations.d.ts.map +1 -1
  146. package/dist/offlineRecovery.d.ts +24 -0
  147. package/dist/offlineRecovery.d.ts.map +1 -0
  148. package/dist/onramp/MeshConnectFlow.d.ts +27 -0
  149. package/dist/onramp/MeshConnectFlow.d.ts.map +1 -0
  150. package/dist/onramp/MeshConnectIframe.d.ts +22 -0
  151. package/dist/onramp/MeshConnectIframe.d.ts.map +1 -0
  152. package/dist/onramp/SendFromExchangeButton.d.ts +16 -0
  153. package/dist/onramp/SendFromExchangeButton.d.ts.map +1 -0
  154. package/dist/onramp/TrailsOnRampProvider.d.ts +31 -0
  155. package/dist/onramp/TrailsOnRampProvider.d.ts.map +1 -0
  156. package/dist/onramp/index.d.ts +13 -0
  157. package/dist/onramp/index.d.ts.map +1 -0
  158. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts +10 -0
  159. package/dist/onramp/mesh/components/MeshExchangeConfirmation.d.ts.map +1 -0
  160. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts +13 -0
  161. package/dist/onramp/mesh/components/MeshExchangeIcon.d.ts.map +1 -0
  162. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts +12 -0
  163. package/dist/onramp/mesh/components/MeshExchangeSelection.d.ts.map +1 -0
  164. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts +15 -0
  165. package/dist/onramp/mesh/components/MeshSessionOptions.d.ts.map +1 -0
  166. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts +9 -0
  167. package/dist/onramp/mesh/hooks/useMeshAccessTokens.d.ts.map +1 -0
  168. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts +11 -0
  169. package/dist/onramp/mesh/hooks/useMeshFundingSelection.d.ts.map +1 -0
  170. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts +71 -0
  171. package/dist/onramp/mesh/hooks/useMeshOnrampFlow.d.ts.map +1 -0
  172. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts +32 -0
  173. package/dist/onramp/mesh/hooks/useMeshOnrampSessionState.d.ts.map +1 -0
  174. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts +19 -0
  175. package/dist/onramp/mesh/hooks/useMeshSelectedTokenBalance.d.ts.map +1 -0
  176. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts +15 -0
  177. package/dist/onramp/mesh/hooks/useMeshSessionAccountBalance.d.ts.map +1 -0
  178. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts +7 -0
  179. package/dist/onramp/mesh/hooks/useMeshSessionStorage.d.ts.map +1 -0
  180. package/dist/onramp/meshSessionStorage.d.ts +13 -0
  181. package/dist/onramp/meshSessionStorage.d.ts.map +1 -0
  182. package/dist/onramp/meshconnect.d.ts +32 -0
  183. package/dist/onramp/meshconnect.d.ts.map +1 -0
  184. package/dist/onramp/trailsOnramp.d.ts +32 -0
  185. package/dist/onramp/trailsOnramp.d.ts.map +1 -0
  186. package/dist/onramp-client/index.d.ts +3 -3
  187. package/dist/onramp-client/index.d.ts.map +1 -1
  188. package/dist/onrampClient.d.ts.map +1 -1
  189. package/dist/prepareSend.d.ts +3 -2
  190. package/dist/prepareSend.d.ts.map +1 -1
  191. package/dist/query/balance.fetchers.d.ts +27 -0
  192. package/dist/query/balance.fetchers.d.ts.map +1 -1
  193. package/dist/query/balance.hooks.d.ts +19 -0
  194. package/dist/query/balance.hooks.d.ts.map +1 -1
  195. package/dist/query/balance.queries.d.ts +18 -1
  196. package/dist/query/balance.queries.d.ts.map +1 -1
  197. package/dist/query/chains.queries.d.ts.map +1 -1
  198. package/dist/query/intentProtocol.queries.d.ts +32 -0
  199. package/dist/query/intentProtocol.queries.d.ts.map +1 -0
  200. package/dist/query/meld.fetchers.d.ts +1 -1
  201. package/dist/query/meld.fetchers.d.ts.map +1 -1
  202. package/dist/query/meld.hooks.d.ts +3 -3
  203. package/dist/query/meld.hooks.d.ts.map +1 -1
  204. package/dist/query/meld.queries.d.ts +1 -1
  205. package/dist/query/meld.queries.d.ts.map +1 -1
  206. package/dist/query/tokenList.queries.d.ts +54 -0
  207. package/dist/query/tokenList.queries.d.ts.map +1 -0
  208. package/dist/recover.d.ts +71 -23
  209. package/dist/recover.d.ts.map +1 -1
  210. package/dist/src-4HYDQv2T.js +48798 -0
  211. package/dist/tokens.d.ts +13 -0
  212. package/dist/tokens.d.ts.map +1 -1
  213. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts +3 -4
  214. package/dist/transactionIntent/deposits/depositOrchestrator.d.ts.map +1 -1
  215. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts +3 -4
  216. package/dist/transactionIntent/deposits/gaslessDeposit.d.ts.map +1 -1
  217. package/dist/transactionIntent/deposits/standardDeposit.d.ts +2 -5
  218. package/dist/transactionIntent/deposits/standardDeposit.d.ts.map +1 -1
  219. package/dist/transactionIntent/handlers/intentHandler.d.ts +4 -4
  220. package/dist/transactionIntent/handlers/intentHandler.d.ts.map +1 -1
  221. package/dist/transactionIntent/helpers/transactionStateHelpers.d.ts.map +1 -1
  222. package/dist/transactionIntent/quote/normalizeQuote.d.ts.map +1 -1
  223. package/dist/transactionIntent/quote/quoteHelpers.d.ts +2 -2
  224. package/dist/transactionIntent/quote/quoteHelpers.d.ts.map +1 -1
  225. package/dist/transactionIntent/types.d.ts +4 -4
  226. package/dist/transactionIntent/types.d.ts.map +1 -1
  227. package/dist/transactions.d.ts +4 -0
  228. package/dist/transactions.d.ts.map +1 -1
  229. package/dist/umd/trails.min.js +1371 -322
  230. package/dist/utils/localStorageGc.d.ts +22 -0
  231. package/dist/utils/localStorageGc.d.ts.map +1 -0
  232. package/dist/walletUtils.d.ts +2 -1
  233. package/dist/walletUtils.d.ts.map +1 -1
  234. package/dist/wallets.d.ts +13 -54
  235. package/dist/wallets.d.ts.map +1 -1
  236. package/dist/widget/components/AccountIntentTransactionHistory.d.ts.map +1 -1
  237. package/dist/widget/components/ClassicSwap.d.ts.map +1 -1
  238. package/dist/widget/components/ConnectWallet.d.ts.map +1 -1
  239. package/dist/widget/components/ConnectedWallets.d.ts +1 -1
  240. package/dist/widget/components/ConnectedWallets.d.ts.map +1 -1
  241. package/dist/widget/components/DirectTransfer.d.ts +1 -1
  242. package/dist/widget/components/DirectTransfer.d.ts.map +1 -1
  243. package/dist/widget/components/Earn.d.ts +2 -6
  244. package/dist/widget/components/Earn.d.ts.map +1 -1
  245. package/dist/widget/components/FeeOption.d.ts +1 -1
  246. package/dist/widget/components/FeeOption.d.ts.map +1 -1
  247. package/dist/widget/components/FeeOptions.d.ts +1 -1
  248. package/dist/widget/components/FeeOptions.d.ts.map +1 -1
  249. package/dist/widget/components/FiatSelector.d.ts +1 -1
  250. package/dist/widget/components/FiatSelector.d.ts.map +1 -1
  251. package/dist/widget/components/FiatSelectorButton.d.ts +1 -1
  252. package/dist/widget/components/FiatSelectorButton.d.ts.map +1 -1
  253. package/dist/widget/components/Fund.d.ts +1 -1
  254. package/dist/widget/components/Fund.d.ts.map +1 -1
  255. package/dist/widget/components/FundMethods.d.ts.map +1 -1
  256. package/dist/widget/components/FundingMethodSelectorButton.d.ts +1 -1
  257. package/dist/widget/components/FundingMethodSelectorButton.d.ts.map +1 -1
  258. package/dist/widget/components/MeldHistory.d.ts +1 -1
  259. package/dist/widget/components/MeldHistory.d.ts.map +1 -1
  260. package/dist/widget/components/MeldTransactionStatus.d.ts +1 -1
  261. package/dist/widget/components/MeldTransactionStatus.d.ts.map +1 -1
  262. package/dist/widget/components/MeshExchangeAccountHeader.d.ts +9 -0
  263. package/dist/widget/components/MeshExchangeAccountHeader.d.ts.map +1 -0
  264. package/dist/widget/components/OnrampHistoryRow.d.ts +2 -2
  265. package/dist/widget/components/OnrampHistoryRow.d.ts.map +1 -1
  266. package/dist/widget/components/OnrampProviderConfirmation.d.ts +1 -1
  267. package/dist/widget/components/OnrampProviderConfirmation.d.ts.map +1 -1
  268. package/dist/widget/components/Pay.d.ts.map +1 -1
  269. package/dist/widget/components/PoolDeposit.d.ts +2 -6
  270. package/dist/widget/components/PoolDeposit.d.ts.map +1 -1
  271. package/dist/widget/components/PoolWithdraw.d.ts +2 -2
  272. package/dist/widget/components/PoolWithdraw.d.ts.map +1 -1
  273. package/dist/widget/components/PulsatingButton.d.ts +9 -0
  274. package/dist/widget/components/PulsatingButton.d.ts.map +1 -0
  275. package/dist/widget/components/QRCodeWalletSelect.d.ts +1 -1
  276. package/dist/widget/components/QRCodeWalletSelect.d.ts.map +1 -1
  277. package/dist/widget/components/QuoteDetails.d.ts.map +1 -1
  278. package/dist/widget/components/Receipt.d.ts +1 -1
  279. package/dist/widget/components/Receipt.d.ts.map +1 -1
  280. package/dist/widget/components/RecipientSelectorButton.d.ts.map +1 -1
  281. package/dist/widget/components/Recipients.d.ts.map +1 -1
  282. package/dist/widget/components/RefundWarning.d.ts.map +1 -1
  283. package/dist/widget/components/Swap.d.ts +2 -6
  284. package/dist/widget/components/Swap.d.ts.map +1 -1
  285. package/dist/widget/components/TokenList.d.ts +1 -0
  286. package/dist/widget/components/TokenList.d.ts.map +1 -1
  287. package/dist/widget/components/TokenSelector.d.ts +1 -2
  288. package/dist/widget/components/TokenSelector.d.ts.map +1 -1
  289. package/dist/widget/components/TransactionDetails.d.ts +1 -0
  290. package/dist/widget/components/TransactionDetails.d.ts.map +1 -1
  291. package/dist/widget/components/TransactionHistoryItem.d.ts +1 -0
  292. package/dist/widget/components/TransactionHistoryItem.d.ts.map +1 -1
  293. package/dist/widget/components/TransferPendingVertical.d.ts +2 -1
  294. package/dist/widget/components/TransferPendingVertical.d.ts.map +1 -1
  295. package/dist/widget/components/WalletAccountHeader.d.ts +7 -0
  296. package/dist/widget/components/WalletAccountHeader.d.ts.map +1 -0
  297. package/dist/widget/components/WalletConfirmation.d.ts +2 -1
  298. package/dist/widget/components/WalletConfirmation.d.ts.map +1 -1
  299. package/dist/widget/components/WalletConnect.d.ts.map +1 -1
  300. package/dist/widget/components/WalletList.d.ts.map +1 -1
  301. package/dist/widget/components/WidgetProviders.d.ts.map +1 -1
  302. package/dist/widget/components/Withdraw.d.ts.map +1 -1
  303. package/dist/widget/index.d.ts +13 -0
  304. package/dist/widget/index.d.ts.map +1 -1
  305. package/dist/widget/index.js +16 -8
  306. package/dist/widget/modes/EarnWidget.d.ts +83 -0
  307. package/dist/widget/modes/EarnWidget.d.ts.map +1 -0
  308. package/dist/widget/modes/FundWidget.d.ts +103 -0
  309. package/dist/widget/modes/FundWidget.d.ts.map +1 -0
  310. package/dist/widget/modes/PayWidget.d.ts +86 -0
  311. package/dist/widget/modes/PayWidget.d.ts.map +1 -0
  312. package/dist/widget/modes/SwapWidget.d.ts +82 -0
  313. package/dist/widget/modes/SwapWidget.d.ts.map +1 -0
  314. package/dist/widget/modes/WithdrawWidget.d.ts +71 -0
  315. package/dist/widget/modes/WithdrawWidget.d.ts.map +1 -0
  316. package/dist/widget/providers/TrailsProvider.d.ts +5 -0
  317. package/dist/widget/providers/TrailsProvider.d.ts.map +1 -1
  318. package/dist/widget/shared/mapSharedProps.d.ts +9 -0
  319. package/dist/widget/shared/mapSharedProps.d.ts.map +1 -0
  320. package/dist/widget/shared/methodMap.d.ts +18 -0
  321. package/dist/widget/shared/methodMap.d.ts.map +1 -0
  322. package/dist/widget/shared/resolution.d.ts +22 -0
  323. package/dist/widget/shared/resolution.d.ts.map +1 -0
  324. package/dist/widget/shared/resolvePaymentSource.d.ts +34 -0
  325. package/dist/widget/shared/resolvePaymentSource.d.ts.map +1 -0
  326. package/dist/widget/shared/types.d.ts +94 -0
  327. package/dist/widget/shared/types.d.ts.map +1 -0
  328. package/dist/widget/types/commonProps.d.ts +3 -7
  329. package/dist/widget/types/commonProps.d.ts.map +1 -1
  330. package/dist/widget/utils/createWagmiConfig.d.ts +2 -2
  331. package/dist/widget/utils/createWagmiConfig.d.ts.map +1 -1
  332. package/dist/widget/utils/fundMethodSwitchState.d.ts +2 -0
  333. package/dist/widget/utils/fundMethodSwitchState.d.ts.map +1 -1
  334. package/dist/widget/utils/meldProviderUtils.d.ts +1 -1
  335. package/dist/widget/utils/meldProviderUtils.d.ts.map +1 -1
  336. package/dist/widget/utils/meshSupportedTokens.d.ts +4 -0
  337. package/dist/widget/utils/meshSupportedTokens.d.ts.map +1 -0
  338. package/dist/widget/utils/onrampConfig.d.ts +11 -0
  339. package/dist/widget/utils/onrampConfig.d.ts.map +1 -0
  340. package/dist/widget/utils/trailsOnrampConfig.d.ts +18 -0
  341. package/dist/widget/utils/trailsOnrampConfig.d.ts.map +1 -0
  342. package/dist/widget/utils/viewManagerGuards.d.ts +1 -1
  343. package/dist/widget/utils/viewManagerGuards.d.ts.map +1 -1
  344. package/dist/widget/widget.d.ts +45 -24
  345. package/dist/widget/widget.d.ts.map +1 -1
  346. package/package.json +20 -24
  347. package/dist/buffer.d.ts +0 -3
  348. package/dist/buffer.d.ts.map +0 -1
  349. package/dist/ccip-DStzFCYT.js +0 -230
  350. package/dist/index-HY9_ppit.js +0 -101240
  351. package/dist/onramp-client/trails-onramp.gen.d.ts +0 -570
  352. package/dist/onramp-client/trails-onramp.gen.d.ts.map +0 -1
  353. package/dist/paymasterSend.d.ts +0 -90
  354. package/dist/paymasterSend.d.ts.map +0 -1
  355. package/dist/sendUserOp.d.ts +0 -122
  356. package/dist/sendUserOp.d.ts.map +0 -1
  357. package/dist/toSimpleSmartAccount.d.ts +0 -95
  358. package/dist/toSimpleSmartAccount.d.ts.map +0 -1
  359. package/dist/transactionIntent/utils/erc20Approval.d.ts +0 -34
  360. package/dist/transactionIntent/utils/erc20Approval.d.ts.map +0 -1
  361. package/dist/utils/allowance.d.ts +0 -19
  362. package/dist/utils/allowance.d.ts.map +0 -1
  363. package/dist/widget/analytics/useWidgetAnalytics.d.ts.map +0 -1
  364. package/dist/widget/components/FeeBreakdown.d.ts +0 -9
  365. package/dist/widget/components/FeeBreakdown.d.ts.map +0 -1
  366. package/dist/widget/components/HideBalances.d.ts +0 -4
  367. package/dist/widget/components/HideBalances.d.ts.map +0 -1
  368. package/dist/widget/components/OnrampDeposit.d.ts +0 -10
  369. package/dist/widget/components/OnrampDeposit.d.ts.map +0 -1
  370. package/dist/widget/components/SwapSettings.d.ts +0 -4
  371. package/dist/widget/components/SwapSettings.d.ts.map +0 -1
  372. package/dist/widget/components/TruncatedAddress.d.ts +0 -12
  373. package/dist/widget/components/TruncatedAddress.d.ts.map +0 -1
  374. package/dist/widget/components/WalletImage.d.ts +0 -8
  375. package/dist/widget/components/WalletImage.d.ts.map +0 -1
  376. package/dist/widget/css/compiled.css +0 -26
  377. package/dist/widget/css/index.css +0 -686
  378. package/dist/widget/hooks/useAddressWalletIcon.d.ts.map +0 -1
  379. package/dist/widget/hooks/useAmountUsd.d.ts.map +0 -1
  380. package/dist/widget/hooks/useBalanceVisible.d.ts.map +0 -1
  381. package/dist/widget/hooks/useChainFilter.d.ts.map +0 -1
  382. package/dist/widget/hooks/useCheckout.d.ts.map +0 -1
  383. package/dist/widget/hooks/useClickTracking.d.ts.map +0 -1
  384. package/dist/widget/hooks/useCombinedHistory.d.ts.map +0 -1
  385. package/dist/widget/hooks/useConnector.d.ts.map +0 -1
  386. package/dist/widget/hooks/useCustomTokenFetch.d.ts +0 -19
  387. package/dist/widget/hooks/useCustomTokenFetch.d.ts.map +0 -1
  388. package/dist/widget/hooks/useCustomTokenSearch.d.ts.map +0 -1
  389. package/dist/widget/hooks/useDebounce.d.ts.map +0 -1
  390. package/dist/widget/hooks/useDebugScreens.d.ts.map +0 -1
  391. package/dist/widget/hooks/useDefaultDestinationToken.d.ts.map +0 -1
  392. package/dist/widget/hooks/useDefaultOriginToken.d.ts.map +0 -1
  393. package/dist/widget/hooks/useDepositMonitor.d.ts.map +0 -1
  394. package/dist/widget/hooks/useDestinationSelectedToken.d.ts.map +0 -1
  395. package/dist/widget/hooks/useDisplayCurrencyPreference.d.ts.map +0 -1
  396. package/dist/widget/hooks/useEarnPool.d.ts.map +0 -1
  397. package/dist/widget/hooks/useExecutingIntentsCount.d.ts.map +0 -1
  398. package/dist/widget/hooks/useExternalFundingReceiptSync.d.ts.map +0 -1
  399. package/dist/widget/hooks/useFiatOnRampCurrencies.d.ts.map +0 -1
  400. package/dist/widget/hooks/useFiatSelectedCurrency.d.ts.map +0 -1
  401. package/dist/widget/hooks/useGetIntent.d.ts.map +0 -1
  402. package/dist/widget/hooks/useIntentReceiptBalances.d.ts.map +0 -1
  403. package/dist/widget/hooks/useIntentTransactionHistory.d.ts.map +0 -1
  404. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts +0 -7
  405. package/dist/widget/hooks/useIsConnectedWalletSmartContract.d.ts.map +0 -1
  406. package/dist/widget/hooks/useIsMobile.d.ts.map +0 -1
  407. package/dist/widget/hooks/useIsSequenceWallet.d.ts.map +0 -1
  408. package/dist/widget/hooks/useLocalePreference.d.ts.map +0 -1
  409. package/dist/widget/hooks/useMeldTransactionHistory.d.ts.map +0 -1
  410. package/dist/widget/hooks/useMeldTransactionStatus.d.ts.map +0 -1
  411. package/dist/widget/hooks/useOnRampCountryDefaults.d.ts.map +0 -1
  412. package/dist/widget/hooks/useOnRampPaymentMethods.d.ts.map +0 -1
  413. package/dist/widget/hooks/useOnRampProviderWidget.d.ts.map +0 -1
  414. package/dist/widget/hooks/useOnRampQuote.d.ts.map +0 -1
  415. package/dist/widget/hooks/useOnRampTransactionStatus.d.ts.map +0 -1
  416. package/dist/widget/hooks/useOriginSelectedToken.d.ts.map +0 -1
  417. package/dist/widget/hooks/usePayMessage.d.ts.map +0 -1
  418. package/dist/widget/hooks/usePriceImpactWarning.d.ts.map +0 -1
  419. package/dist/widget/hooks/useQuote.d.ts +0 -378
  420. package/dist/widget/hooks/useQuote.d.ts.map +0 -1
  421. package/dist/widget/hooks/useRecentTokens.d.ts.map +0 -1
  422. package/dist/widget/hooks/useRecipients.d.ts.map +0 -1
  423. package/dist/widget/hooks/useScreenTracking.d.ts +0 -2
  424. package/dist/widget/hooks/useScreenTracking.d.ts.map +0 -1
  425. package/dist/widget/hooks/useSelectedFeeOption.d.ts.map +0 -1
  426. package/dist/widget/hooks/useSelectedFundMethod.d.ts.map +0 -1
  427. package/dist/widget/hooks/useSelectedRecipient.d.ts.map +0 -1
  428. package/dist/widget/hooks/useSendForm.d.ts.map +0 -1
  429. package/dist/widget/hooks/useSwapAmount.d.ts.map +0 -1
  430. package/dist/widget/hooks/useSwapState.d.ts.map +0 -1
  431. package/dist/widget/hooks/useTargetAmount.d.ts.map +0 -1
  432. package/dist/widget/hooks/useTheme.d.ts.map +0 -1
  433. package/dist/widget/hooks/useTokenList.d.ts.map +0 -1
  434. package/dist/widget/hooks/useTokenWithFreshBalance.d.ts +0 -18
  435. package/dist/widget/hooks/useTokenWithFreshBalance.d.ts.map +0 -1
  436. package/dist/widget/hooks/useTrailsSendTransaction.d.ts.map +0 -1
  437. package/dist/widget/hooks/useViewManager.d.ts.map +0 -1
  438. package/dist/widget/hooks/useWalletConnectUri.d.ts +0 -11
  439. package/dist/widget/hooks/useWalletConnectUri.d.ts.map +0 -1
  440. package/dist/widget/hooks/useWalletConnectionContext.d.ts.map +0 -1
  441. package/dist/widget/hooks/useWidgetProps.d.ts.map +0 -1
  442. package/dist/widget/types.d.ts +0 -44
  443. package/dist/widget/types.d.ts.map +0 -1
  444. package/dist/widget/utils/historyUtils.d.ts +0 -18
  445. package/dist/widget/utils/historyUtils.d.ts.map +0 -1
  446. package/src/abi.ts +0 -38
  447. package/src/abis/erc20.ts +0 -60
  448. package/src/abis/trailsHydrate.ts +0 -185
  449. package/src/abis/trailsRouter.ts +0 -121
  450. package/src/abis/trailsSweep.ts +0 -32
  451. package/src/abortController.ts +0 -35
  452. package/src/analytics.ts +0 -2029
  453. package/src/buffer.ts +0 -10
  454. package/src/chainSwitch.ts +0 -95
  455. package/src/chains.ts +0 -565
  456. package/src/config.ts +0 -118
  457. package/src/constants.ts +0 -237
  458. package/src/contractUtils.ts +0 -46
  459. package/src/cssUtils.ts +0 -5
  460. package/src/customChains.ts +0 -24
  461. package/src/customTokens.ts +0 -147
  462. package/src/decoders.ts +0 -365
  463. package/src/ens.ts +0 -74
  464. package/src/error.ts +0 -268
  465. package/src/estimate.ts +0 -480
  466. package/src/explorer.ts +0 -38
  467. package/src/fees.ts +0 -362
  468. package/src/gasless.ts +0 -638
  469. package/src/index.ts +0 -204
  470. package/src/indexerClient.ts +0 -118
  471. package/src/intentReceiptMonitor.ts +0 -99
  472. package/src/intentReceiptPoller.ts +0 -327
  473. package/src/intents.ts +0 -1125
  474. package/src/localeUtils.ts +0 -244
  475. package/src/logger/index.ts +0 -95
  476. package/src/logger/useSyncLoggerDebug.ts +0 -11
  477. package/src/logger.ts +0 -1
  478. package/src/meld/components/MeldCountriesList.tsx +0 -237
  479. package/src/meld/components/MeldFundMethods.tsx +0 -265
  480. package/src/meld/components/MeldProvidersList.tsx +0 -187
  481. package/src/meld/components/MeldTokensList.tsx +0 -321
  482. package/src/meld/components/SimpleHeader.tsx +0 -35
  483. package/src/meld/utils/meld.ts +0 -77
  484. package/src/mutations.ts +0 -166
  485. package/src/onramp-client/index.ts +0 -54
  486. package/src/onramp-client/trails-onramp.gen.ts +0 -1320
  487. package/src/onrampClient.ts +0 -46
  488. package/src/paymasterSend.ts +0 -521
  489. package/src/placeholder.ts +0 -92
  490. package/src/poolUtils.ts +0 -222
  491. package/src/pools.ts +0 -120
  492. package/src/prepareSend.ts +0 -552
  493. package/src/query/balance.fetchers.ts +0 -623
  494. package/src/query/balance.hooks.ts +0 -298
  495. package/src/query/balance.queries.ts +0 -244
  496. package/src/query/chains.hooks.ts +0 -45
  497. package/src/query/chains.queries.ts +0 -22
  498. package/src/query/client.ts +0 -20
  499. package/src/query/fiat.fetchers.ts +0 -33
  500. package/src/query/fiat.hooks.ts +0 -71
  501. package/src/query/fiat.queries.ts +0 -67
  502. package/src/query/geo.fetchers.ts +0 -100
  503. package/src/query/geo.hooks.ts +0 -16
  504. package/src/query/geo.queries.ts +0 -36
  505. package/src/query/helpers.ts +0 -81
  506. package/src/query/meld.fetchers.ts +0 -97
  507. package/src/query/meld.hooks.ts +0 -18
  508. package/src/query/meld.queries.ts +0 -184
  509. package/src/query/persister.ts +0 -11
  510. package/src/query/price.fetchers.ts +0 -53
  511. package/src/query/price.hooks.ts +0 -46
  512. package/src/query/price.queries.ts +0 -364
  513. package/src/queryParams.ts +0 -100
  514. package/src/recover.ts +0 -1665
  515. package/src/sendUserOp.ts +0 -512
  516. package/src/theme.ts +0 -2
  517. package/src/toSimpleSmartAccount.ts +0 -567
  518. package/src/toast.ts +0 -110
  519. package/src/tokens.ts +0 -1780
  520. package/src/trailsClient.ts +0 -40
  521. package/src/transactionIntent/constants.ts +0 -15
  522. package/src/transactionIntent/deposits/depositOrchestrator.ts +0 -243
  523. package/src/transactionIntent/deposits/gaslessDeposit.ts +0 -705
  524. package/src/transactionIntent/deposits/index.ts +0 -3
  525. package/src/transactionIntent/deposits/standardDeposit.ts +0 -594
  526. package/src/transactionIntent/execution/index.ts +0 -1
  527. package/src/transactionIntent/execution/transactionState.ts +0 -38
  528. package/src/transactionIntent/handlers/index.ts +0 -1
  529. package/src/transactionIntent/handlers/intentHandler.ts +0 -1596
  530. package/src/transactionIntent/helpers/index.ts +0 -1
  531. package/src/transactionIntent/helpers/transactionStateHelpers.ts +0 -437
  532. package/src/transactionIntent/index.ts +0 -10
  533. package/src/transactionIntent/quote/feeExtractors.ts +0 -61
  534. package/src/transactionIntent/quote/index.ts +0 -3
  535. package/src/transactionIntent/quote/normalizeQuote.ts +0 -553
  536. package/src/transactionIntent/quote/quoteHelpers.ts +0 -117
  537. package/src/transactionIntent/types.ts +0 -241
  538. package/src/transactionIntent/utils/balanceChecker.ts +0 -103
  539. package/src/transactionIntent/utils/erc20Approval.ts +0 -171
  540. package/src/transactionIntent/utils/index.ts +0 -2
  541. package/src/transactionIntent/utils/resilientDepositTracker.ts +0 -171
  542. package/src/transactionIntent/utils/testnetHelpers.ts +0 -5
  543. package/src/transactionIntent/validators.ts +0 -27
  544. package/src/transactions.ts +0 -426
  545. package/src/types.d.ts +0 -16
  546. package/src/umd.tsx +0 -33
  547. package/src/utils/address.ts +0 -78
  548. package/src/utils/allowance.ts +0 -47
  549. package/src/utils/fiat.ts +0 -32
  550. package/src/utils/format.ts +0 -625
  551. package/src/utils/passthrough.ts +0 -93
  552. package/src/utils/time.ts +0 -118
  553. package/src/utils/validation.ts +0 -104
  554. package/src/utils.ts +0 -112
  555. package/src/version.ts +0 -8
  556. package/src/vite-env.d.ts +0 -4
  557. package/src/walletUtils.ts +0 -292
  558. package/src/wallets.ts +0 -740
  559. package/src/widget/analytics/useWidgetAnalytics.ts +0 -56
  560. package/src/widget/assets/Binance_Icon_Logo.svg +0 -14
  561. package/src/widget/assets/Bitfinex_Icon_Logo.svg +0 -5
  562. package/src/widget/assets/Coinbase_Icon_Logo.svg +0 -1
  563. package/src/widget/assets/Exchange-icon-black.svg +0 -5
  564. package/src/widget/assets/MetaMask-icon-fox-with-margins.svg +0 -31
  565. package/src/widget/assets/MetaMask-icon-fox.svg +0 -26
  566. package/src/widget/assets/MetaMask-logo-black.svg +0 -3
  567. package/src/widget/assets/MetaMask-logo-white.svg +0 -16
  568. package/src/widget/assets/Trails-logo-black.svg +0 -13
  569. package/src/widget/assets/Trails-logo-white.svg +0 -13
  570. package/src/widget/assets/WalletChange-black.svg +0 -5
  571. package/src/widget/assets/WalletConnect-logo-black.svg +0 -14
  572. package/src/widget/assets/WalletConnect-logo-blue-bg.svg +0 -11
  573. package/src/widget/assets/WalletConnect-logo-blue.svg +0 -14
  574. package/src/widget/assets/WalletConnect-logo-white.svg +0 -14
  575. package/src/widget/assets/WalletConnect-logo.svg +0 -40
  576. package/src/widget/assets/aave.svg +0 -14
  577. package/src/widget/assets/morpho.svg +0 -14
  578. package/src/widget/assets/sequence-logo.svg +0 -15
  579. package/src/widget/compiled.css +0 -26
  580. package/src/widget/components/AccountActionsDropdown.tsx +0 -31
  581. package/src/widget/components/AccountIntentTransactionHistory.tsx +0 -756
  582. package/src/widget/components/AccountIntentTransactionHistoryButton.tsx +0 -34
  583. package/src/widget/components/AccountSettings.tsx +0 -168
  584. package/src/widget/components/AddressOrEnsName.tsx +0 -24
  585. package/src/widget/components/AddressWalletIcon.tsx +0 -49
  586. package/src/widget/components/AllChainsIcon.tsx +0 -54
  587. package/src/widget/components/ChainFilterDropdown.tsx +0 -220
  588. package/src/widget/components/ChainImage.tsx +0 -40
  589. package/src/widget/components/ChainList.tsx +0 -158
  590. package/src/widget/components/ClassicSwap.tsx +0 -1744
  591. package/src/widget/components/ConfigDisplay.tsx +0 -158
  592. package/src/widget/components/ConnectWallet.tsx +0 -564
  593. package/src/widget/components/ConnectedWallets.tsx +0 -417
  594. package/src/widget/components/CopyButton.tsx +0 -108
  595. package/src/widget/components/CountryFilterDropdown.tsx +0 -179
  596. package/src/widget/components/DebugMenu.tsx +0 -50
  597. package/src/widget/components/DebugScreensList.tsx +0 -70
  598. package/src/widget/components/DebugToast.tsx +0 -63
  599. package/src/widget/components/DepositTracker.tsx +0 -326
  600. package/src/widget/components/DirectTransfer.tsx +0 -302
  601. package/src/widget/components/Disconnect.tsx +0 -68
  602. package/src/widget/components/DynamicInputStyles.tsx +0 -121
  603. package/src/widget/components/DynamicSizeInputField.tsx +0 -245
  604. package/src/widget/components/ENSAvatar.tsx +0 -33
  605. package/src/widget/components/Earn.tsx +0 -160
  606. package/src/widget/components/EarnPools.tsx +0 -417
  607. package/src/widget/components/EarnPoolsFilters.tsx +0 -165
  608. package/src/widget/components/ErrorAnimationIcon.tsx +0 -130
  609. package/src/widget/components/ErrorDisplay.tsx +0 -152
  610. package/src/widget/components/ExecutingIntentsBadge.tsx +0 -24
  611. package/src/widget/components/ExecutionStatusBadge.tsx +0 -53
  612. package/src/widget/components/FeeBreakdown.tsx +0 -155
  613. package/src/widget/components/FeeOption.tsx +0 -170
  614. package/src/widget/components/FeeOptions.tsx +0 -247
  615. package/src/widget/components/FiatSelector.tsx +0 -308
  616. package/src/widget/components/FiatSelectorButton.tsx +0 -68
  617. package/src/widget/components/Footer.tsx +0 -67
  618. package/src/widget/components/Fund.tsx +0 -2331
  619. package/src/widget/components/FundMethods.tsx +0 -427
  620. package/src/widget/components/FundWalletSelection.tsx +0 -60
  621. package/src/widget/components/FundingMethodSelectorButton.tsx +0 -106
  622. package/src/widget/components/GreenCheckAnimation.tsx +0 -119
  623. package/src/widget/components/HideBalances.tsx +0 -24
  624. package/src/widget/components/HighPriceImpactBlock.tsx +0 -44
  625. package/src/widget/components/HookModalContent.tsx +0 -377
  626. package/src/widget/components/Identicon.tsx +0 -228
  627. package/src/widget/components/LoadingSpinner.tsx +0 -9
  628. package/src/widget/components/MeldForm.tsx +0 -780
  629. package/src/widget/components/MeldHistory.tsx +0 -433
  630. package/src/widget/components/MeldStepsFlow.tsx +0 -1651
  631. package/src/widget/components/MeldTransactionStatus.tsx +0 -255
  632. package/src/widget/components/Modal.tsx +0 -86
  633. package/src/widget/components/OFTProgressBar.tsx +0 -89
  634. package/src/widget/components/OnRampProviderSelector.tsx +0 -263
  635. package/src/widget/components/OnrampDeposit.tsx +0 -122
  636. package/src/widget/components/OnrampErrorScreen.tsx +0 -163
  637. package/src/widget/components/OnrampHistoryRow.tsx +0 -321
  638. package/src/widget/components/OnrampPaymentMethods.tsx +0 -81
  639. package/src/widget/components/OnrampProviderConfirmation.tsx +0 -1060
  640. package/src/widget/components/OriginSelectionAmount.tsx +0 -144
  641. package/src/widget/components/OriginTransferInformation.tsx +0 -59
  642. package/src/widget/components/Pay.tsx +0 -1181
  643. package/src/widget/components/PaymentMethods.tsx +0 -198
  644. package/src/widget/components/PercentageMaxButtons.tsx +0 -112
  645. package/src/widget/components/PoolDeposit.tsx +0 -651
  646. package/src/widget/components/PoolWithdraw.tsx +0 -761
  647. package/src/widget/components/PriceImpactWarning.tsx +0 -87
  648. package/src/widget/components/QRCodeOptions.tsx +0 -65
  649. package/src/widget/components/QRCodeWalletSelect.tsx +0 -77
  650. package/src/widget/components/QrCode.tsx +0 -216
  651. package/src/widget/components/QuoteDetails.tsx +0 -1266
  652. package/src/widget/components/Receipt.tsx +0 -673
  653. package/src/widget/components/ReceiptRecoverableFunds.tsx +0 -135
  654. package/src/widget/components/RecentTokens.tsx +0 -66
  655. package/src/widget/components/RecipientSelectorButton.tsx +0 -50
  656. package/src/widget/components/Recipients.tsx +0 -412
  657. package/src/widget/components/RefundWarning.tsx +0 -66
  658. package/src/widget/components/RequiredPropsError.tsx +0 -33
  659. package/src/widget/components/ScreenHeader.tsx +0 -123
  660. package/src/widget/components/SearchInputField.tsx +0 -99
  661. package/src/widget/components/SessionTimeoutScreen.tsx +0 -103
  662. package/src/widget/components/ShadowPortal.tsx +0 -99
  663. package/src/widget/components/ShadowRootContext.tsx +0 -17
  664. package/src/widget/components/SimpleRecipientInputScreen.tsx +0 -91
  665. package/src/widget/components/SlippageToleranceSettings.tsx +0 -279
  666. package/src/widget/components/Swap.tsx +0 -50
  667. package/src/widget/components/SwapDisplay.tsx +0 -68
  668. package/src/widget/components/SwapSettings.tsx +0 -52
  669. package/src/widget/components/ThemeProvider.tsx +0 -115
  670. package/src/widget/components/ThemeSyncer.tsx +0 -47
  671. package/src/widget/components/Toast.tsx +0 -336
  672. package/src/widget/components/TokenDisplayNonSelectable.tsx +0 -40
  673. package/src/widget/components/TokenImage.tsx +0 -156
  674. package/src/widget/components/TokenList.tsx +0 -107
  675. package/src/widget/components/TokenSelector.tsx +0 -738
  676. package/src/widget/components/TokenSelectorButton.tsx +0 -123
  677. package/src/widget/components/TokenSkeleton.tsx +0 -53
  678. package/src/widget/components/Tooltip.tsx +0 -64
  679. package/src/widget/components/TrailsHookModal.tsx +0 -107
  680. package/src/widget/components/TransactionDetails.tsx +0 -488
  681. package/src/widget/components/TransactionHistoryItem.tsx +0 -767
  682. package/src/widget/components/TransferPendingVertical.tsx +0 -583
  683. package/src/widget/components/TruncatedAddress.tsx +0 -68
  684. package/src/widget/components/TruncatedTransactionHash.tsx +0 -74
  685. package/src/widget/components/UserPreferences.tsx +0 -570
  686. package/src/widget/components/WaasFeeOptions.tsx +0 -588
  687. package/src/widget/components/WalletConfirmation.tsx +0 -220
  688. package/src/widget/components/WalletConnect.tsx +0 -351
  689. package/src/widget/components/WalletConnectionPending.tsx +0 -178
  690. package/src/widget/components/WalletImage.tsx +0 -64
  691. package/src/widget/components/WalletList.tsx +0 -125
  692. package/src/widget/components/WidgetProviders.tsx +0 -82
  693. package/src/widget/components/Withdraw.tsx +0 -1088
  694. package/src/widget/components/YellowWarningAnimation.tsx +0 -146
  695. package/src/widget/hooks/useAddressWalletIcon.ts +0 -54
  696. package/src/widget/hooks/useAmountUsd.ts +0 -44
  697. package/src/widget/hooks/useBalanceVisible.tsx +0 -95
  698. package/src/widget/hooks/useChainFilter.tsx +0 -56
  699. package/src/widget/hooks/useCheckout.ts +0 -361
  700. package/src/widget/hooks/useClickTracking.ts +0 -74
  701. package/src/widget/hooks/useCombinedHistory.ts +0 -420
  702. package/src/widget/hooks/useConnector.tsx +0 -24
  703. package/src/widget/hooks/useCustomTokenFetch.tsx +0 -74
  704. package/src/widget/hooks/useCustomTokenSearch.tsx +0 -339
  705. package/src/widget/hooks/useDebounce.ts +0 -25
  706. package/src/widget/hooks/useDebugScreens.ts +0 -600
  707. package/src/widget/hooks/useDefaultDestinationToken.tsx +0 -182
  708. package/src/widget/hooks/useDefaultOriginToken.tsx +0 -410
  709. package/src/widget/hooks/useDepositMonitor.ts +0 -118
  710. package/src/widget/hooks/useDestinationSelectedToken.tsx +0 -310
  711. package/src/widget/hooks/useDisplayCurrencyPreference.tsx +0 -145
  712. package/src/widget/hooks/useEarnPool.tsx +0 -36
  713. package/src/widget/hooks/useExecutingIntentsCount.ts +0 -78
  714. package/src/widget/hooks/useExternalFundingReceiptSync.ts +0 -79
  715. package/src/widget/hooks/useFiatOnRampCurrencies.ts +0 -46
  716. package/src/widget/hooks/useFiatSelectedCurrency.tsx +0 -123
  717. package/src/widget/hooks/useGetIntent.ts +0 -54
  718. package/src/widget/hooks/useIntentReceiptBalances.ts +0 -141
  719. package/src/widget/hooks/useIntentTransactionHistory.ts +0 -785
  720. package/src/widget/hooks/useIsConnectedWalletSmartContract.ts +0 -43
  721. package/src/widget/hooks/useIsMobile.tsx +0 -50
  722. package/src/widget/hooks/useIsSequenceWallet.ts +0 -17
  723. package/src/widget/hooks/useLocalePreference.tsx +0 -187
  724. package/src/widget/hooks/useMeldTransactionHistory.ts +0 -184
  725. package/src/widget/hooks/useMeldTransactionStatus.ts +0 -707
  726. package/src/widget/hooks/useOnRampCountryDefaults.ts +0 -57
  727. package/src/widget/hooks/useOnRampPaymentMethods.ts +0 -72
  728. package/src/widget/hooks/useOnRampProviderWidget.ts +0 -184
  729. package/src/widget/hooks/useOnRampQuote.ts +0 -340
  730. package/src/widget/hooks/useOnRampTransactionStatus.ts +0 -196
  731. package/src/widget/hooks/useOriginSelectedToken.tsx +0 -253
  732. package/src/widget/hooks/usePayMessage.tsx +0 -496
  733. package/src/widget/hooks/usePriceImpactWarning.ts +0 -17
  734. package/src/widget/hooks/useQuote.ts +0 -1233
  735. package/src/widget/hooks/useRecentTokens.ts +0 -159
  736. package/src/widget/hooks/useRecipients.ts +0 -167
  737. package/src/widget/hooks/useScreenTracking.ts +0 -14
  738. package/src/widget/hooks/useSelectedFeeOption.tsx +0 -323
  739. package/src/widget/hooks/useSelectedFundMethod.tsx +0 -80
  740. package/src/widget/hooks/useSelectedRecipient.tsx +0 -75
  741. package/src/widget/hooks/useSendForm.ts +0 -1373
  742. package/src/widget/hooks/useSwapAmount.tsx +0 -50
  743. package/src/widget/hooks/useSwapState.tsx +0 -121
  744. package/src/widget/hooks/useTargetAmount.ts +0 -26
  745. package/src/widget/hooks/useTheme.tsx +0 -80
  746. package/src/widget/hooks/useTokenList.ts +0 -1099
  747. package/src/widget/hooks/useTokenWithFreshBalance.ts +0 -246
  748. package/src/widget/hooks/useTrailsSendTransaction.ts +0 -987
  749. package/src/widget/hooks/useViewManager.tsx +0 -505
  750. package/src/widget/hooks/useWalletConnectUri.tsx +0 -307
  751. package/src/widget/hooks/useWalletConnectionContext.tsx +0 -128
  752. package/src/widget/hooks/useWidgetProps.tsx +0 -33
  753. package/src/widget/index.css +0 -686
  754. package/src/widget/index.tsx +0 -28
  755. package/src/widget/providers/TrailsModalProvider.tsx +0 -238
  756. package/src/widget/providers/TrailsProvider.tsx +0 -150
  757. package/src/widget/providers/UserActivityProvider.tsx +0 -78
  758. package/src/widget/providers/WidgetProviderTree.tsx +0 -90
  759. package/src/widget/styles.ts +0 -26
  760. package/src/widget/types/analytics.ts +0 -22
  761. package/src/widget/types/commonProps.ts +0 -56
  762. package/src/widget/types/svg.d.ts +0 -8
  763. package/src/widget/types.ts +0 -51
  764. package/src/widget/utils/countryUtils.ts +0 -89
  765. package/src/widget/utils/createWagmiConfig.ts +0 -38
  766. package/src/widget/utils/forexRateStore.ts +0 -120
  767. package/src/widget/utils/fundMethodSwitchState.ts +0 -25
  768. package/src/widget/utils/historyFilters.ts +0 -157
  769. package/src/widget/utils/historyUtils.ts +0 -101
  770. package/src/widget/utils/localeStore.ts +0 -68
  771. package/src/widget/utils/meldProviderUtils.ts +0 -20
  772. package/src/widget/utils/statusLabel.ts +0 -3
  773. package/src/widget/utils/tokens.ts +0 -138
  774. package/src/widget/utils/transactionFailure.ts +0 -52
  775. package/src/widget/utils/viewManagerGuards.ts +0 -49
  776. package/src/widget/utils/windowUtils.ts +0 -138
  777. package/src/widget/widget.tsx +0 -3334
  778. /package/dist/{widget/hooks → hooks}/useAddressWalletIcon.d.ts +0 -0
  779. /package/dist/{widget/hooks → hooks}/useAmountUsd.d.ts +0 -0
  780. /package/dist/{widget/hooks → hooks}/useBalanceVisible.d.ts +0 -0
  781. /package/dist/{widget/hooks → hooks}/useChainFilter.d.ts +0 -0
  782. /package/dist/{widget/hooks → hooks}/useClickTracking.d.ts +0 -0
  783. /package/dist/{widget/hooks → hooks}/useConnector.d.ts +0 -0
  784. /package/dist/{widget/hooks → hooks}/useDebounce.d.ts +0 -0
  785. /package/dist/{widget/hooks → hooks}/useDepositMonitor.d.ts +0 -0
  786. /package/dist/{widget/hooks → hooks}/useDisplayCurrencyPreference.d.ts +0 -0
  787. /package/dist/{widget/hooks → hooks}/useExecutingIntentsCount.d.ts +0 -0
  788. /package/dist/{widget/hooks → hooks}/useFiatSelectedCurrency.d.ts +0 -0
  789. /package/dist/{widget/hooks → hooks}/useGetIntent.d.ts +0 -0
  790. /package/dist/{widget/hooks → hooks}/useIsMobile.d.ts +0 -0
  791. /package/dist/{widget/hooks → hooks}/useIsSequenceWallet.d.ts +0 -0
  792. /package/dist/{widget/hooks → hooks}/useLocalePreference.d.ts +0 -0
  793. /package/dist/{widget/hooks → hooks}/useMeldTransactionHistory.d.ts +0 -0
  794. /package/dist/{widget/hooks → hooks}/useMeldTransactionStatus.d.ts +0 -0
  795. /package/dist/{widget/hooks → hooks}/useOnRampCountryDefaults.d.ts +0 -0
  796. /package/dist/{widget/hooks → hooks}/usePayMessage.d.ts +0 -0
  797. /package/dist/{widget/hooks → hooks}/usePriceImpactWarning.d.ts +0 -0
  798. /package/dist/{widget/hooks → hooks}/useRecipients.d.ts +0 -0
  799. /package/dist/{widget/hooks → hooks}/useSelectedFeeOption.d.ts +0 -0
  800. /package/dist/{widget/hooks → hooks}/useSelectedRecipient.d.ts +0 -0
  801. /package/dist/{widget/hooks → hooks}/useSwapAmount.d.ts +0 -0
  802. /package/dist/{widget/hooks → hooks}/useTargetAmount.d.ts +0 -0
  803. /package/dist/{widget/hooks → hooks}/useTheme.d.ts +0 -0
  804. /package/dist/{widget/hooks → hooks}/useWalletConnectionContext.d.ts +0 -0
@@ -1,761 +0,0 @@
1
- import { ChevronRight, Search, TrendingUp } from "lucide-react"
2
- import type React from "react"
3
- import { useEffect, useMemo, useRef, useState } from "react"
4
- import type { Account, Chain, WalletClient } from "viem"
5
- import { formatUnits, parseAbi, parseUnits } from "viem"
6
- import { usePublicClient } from "wagmi"
7
- import { getChainInfo } from "../../chains.js"
8
- import { getExplorerUrlForAddress } from "../../explorer.js"
9
- import { sendOriginTransaction } from "../../intents.js"
10
- import { logger } from "../../logger.js"
11
- import {
12
- generateAaveWithdrawCalldata,
13
- generateMorphoWithdrawCalldata,
14
- } from "../../poolUtils.js"
15
- import {
16
- formatTvl,
17
- formatAmount,
18
- formatAmountLocaleDisplay,
19
- formatUsdAmountLocaleDisplay,
20
- } from "../../utils/format.js"
21
- import type { Token } from "../../tokens.js"
22
- import { getTransactionStateFromReceipt } from "../../transactionIntent/index.js"
23
- import type { TransactionState } from "../../transactions.js"
24
- import aaveLogo from "../assets/aave.svg"
25
- import morphoLogo from "../assets/morpho.svg"
26
- import { useAmountUsd } from "../hooks/useAmountUsd.js"
27
- import { useBalanceVisible } from "../hooks/useBalanceVisible.js"
28
- import type { CheckoutOnHandlers } from "../hooks/useCheckout.js"
29
- import { useEarnPool } from "../hooks/useEarnPool.js"
30
- import type { OnCompleteProps } from "../hooks/useSendForm.js"
31
- import { DynamicSizeInputField } from "./DynamicSizeInputField.js"
32
- import { EarnPools } from "./EarnPools.js"
33
- import { PercentageMaxButtons } from "./PercentageMaxButtons.js"
34
- import { TokenDisplayNonSelectable } from "./TokenDisplayNonSelectable.js"
35
- import { TokenImage } from "./TokenImage.js"
36
- import LoadingSpinner from "./LoadingSpinner.js"
37
-
38
- interface PoolWithdrawProps {
39
- account?: Account
40
- walletClient?: WalletClient
41
- onTransactionStateChange: (transactionStates: TransactionState[]) => void
42
- onError: (error: Error | string | null) => void
43
- onComplete: (result: OnCompleteProps) => void
44
- checkoutOnHandlers?: CheckoutOnHandlers
45
- recentTokens?: Token[]
46
- onRecentTokenSelect?: (token: Token) => void
47
- onTrackToken?: (token: any) => void
48
- onPoolSelectorStateChange?: (isShowing: boolean) => void
49
- }
50
-
51
- export const PoolWithdraw: React.FC<PoolWithdrawProps> = ({
52
- account,
53
- walletClient,
54
- onTransactionStateChange,
55
- onError,
56
- onComplete,
57
- onPoolSelectorStateChange,
58
- }) => {
59
- const { isBalanceVisible } = useBalanceVisible()
60
- const { selectedPool, setSelectedPool } = useEarnPool()
61
- const publicClient = usePublicClient()
62
-
63
- const [amountToWithdraw, setAmountToWithdraw] = useState("")
64
- const [showEarnPools, setShowEarnPools] = useState(false)
65
- const [amount, setAmount] = useState("")
66
- const [aTokenAddress, setATokenAddress] = useState<string | null>(null)
67
- const [poolBalance, setPoolBalance] = useState<string | null>(null)
68
- const [poolBalanceRaw, setPoolBalanceRaw] = useState<string | null>(null)
69
- const [poolBalanceWei, setPoolBalanceWei] = useState<string | null>(null)
70
- const [isLoadingBalance, setIsLoadingBalance] = useState(false)
71
- const inputRef = useRef<HTMLInputElement>(null)
72
-
73
- // Fetch aToken address for Aave pools
74
- useEffect(() => {
75
- const fetchATokenAddress = async () => {
76
- if (!selectedPool || selectedPool.protocol !== "Aave") {
77
- logger.console.log(
78
- "[pool-withdraw] Not an Aave pool, skipping aToken fetch",
79
- {
80
- hasPool: !!selectedPool,
81
- protocol: selectedPool?.protocol,
82
- },
83
- )
84
- setATokenAddress(null)
85
- return
86
- }
87
-
88
- logger.console.log(
89
- "[pool-withdraw] Fetching aToken address for Aave pool...",
90
- {
91
- poolAddress: selectedPool.depositAddress,
92
- underlyingAsset: selectedPool.token.address,
93
- },
94
- )
95
-
96
- try {
97
- const chain = getChainInfo(selectedPool.chainId)
98
- if (!chain) {
99
- logger.console.error(
100
- "[pool-withdraw] Chain not found:",
101
- selectedPool.chainId,
102
- )
103
- return
104
- }
105
- // Call getReserveAToken on the pool contract to get aToken address
106
- const aTokenAddr = (await publicClient?.readContract({
107
- address: selectedPool.depositAddress as `0x${string}`,
108
- abi: [
109
- {
110
- name: "getReserveAToken",
111
- type: "function",
112
- stateMutability: "view",
113
- inputs: [{ name: "asset", type: "address" }],
114
- outputs: [{ type: "address" }],
115
- },
116
- ],
117
- functionName: "getReserveAToken",
118
- args: [selectedPool.token.address as `0x${string}`],
119
- })) as string
120
-
121
- logger.console.log(
122
- "[pool-withdraw] ✅ Successfully fetched aToken address:",
123
- {
124
- aTokenAddress: aTokenAddr,
125
- underlyingAsset: selectedPool.token.address,
126
- },
127
- )
128
- setATokenAddress(aTokenAddr)
129
- } catch (error) {
130
- logger.console.error(
131
- "[pool-withdraw] ❌ Error fetching aToken address:",
132
- {
133
- error,
134
- poolAddress: selectedPool.depositAddress,
135
- underlyingAsset: selectedPool.token.address,
136
- },
137
- )
138
- setATokenAddress(null)
139
- }
140
- }
141
-
142
- fetchATokenAddress()
143
- }, [publicClient, selectedPool])
144
-
145
- // Fetch pool balance (aToken balance for Aave, pool contract balance for Morpho, pool token balance for others)
146
- useEffect(() => {
147
- const fetchPoolBalance = async () => {
148
- if (!selectedPool || !account) {
149
- logger.console.log("[pool-withdraw] Cannot fetch balance:", {
150
- hasPool: !!selectedPool,
151
- hasAccount: !!account,
152
- })
153
- setPoolBalance(null)
154
- setPoolBalanceRaw(null)
155
- setPoolBalanceWei(null)
156
- return
157
- }
158
-
159
- // For Aave, wait for aToken address to be fetched
160
- if (selectedPool.protocol === "Aave" && !aTokenAddress) {
161
- logger.console.log(
162
- "[pool-withdraw] Waiting for aToken address before fetching balance",
163
- )
164
- setPoolBalance(null)
165
- setPoolBalanceRaw(null)
166
- setPoolBalanceWei(null)
167
- return
168
- }
169
-
170
- setIsLoadingBalance(true)
171
-
172
- try {
173
- const chain = getChainInfo(selectedPool.chainId)
174
- if (!chain) {
175
- logger.console.error(
176
- "[pool-withdraw] Chain not found:",
177
- selectedPool.chainId,
178
- )
179
- setIsLoadingBalance(false)
180
- return
181
- }
182
-
183
- // Determine which token address to query
184
- let tokenToQuery: string
185
- if (selectedPool.protocol === "Aave" && aTokenAddress) {
186
- tokenToQuery = aTokenAddress // Use aToken for Aave
187
- } else if (selectedPool.protocol === "Morpho") {
188
- tokenToQuery = selectedPool.depositAddress // Use pool contract for Morpho
189
- } else {
190
- tokenToQuery = selectedPool.token.address // Use underlying token for others
191
- }
192
-
193
- logger.console.log("[pool-withdraw] Fetching balance:", {
194
- protocol: selectedPool.protocol,
195
- tokenToQuery,
196
- isAToken: selectedPool.protocol === "Aave",
197
- isMorphoPool: selectedPool.protocol === "Morpho",
198
- userAddress: account.address,
199
- })
200
-
201
- // Fetch balance using balanceOf
202
- const balance = (await publicClient?.readContract({
203
- address: tokenToQuery as `0x${string}`,
204
- abi: [
205
- {
206
- name: "balanceOf",
207
- type: "function",
208
- stateMutability: "view",
209
- inputs: [{ name: "account", type: "address" }],
210
- outputs: [{ type: "uint256" }],
211
- },
212
- ],
213
- functionName: "balanceOf",
214
- args: [account.address],
215
- })) as bigint
216
-
217
- // Fetch decimals
218
- const decimals = (await publicClient?.readContract({
219
- address: tokenToQuery as `0x${string}`,
220
- abi: [
221
- {
222
- name: "decimals",
223
- type: "function",
224
- stateMutability: "view",
225
- inputs: [],
226
- outputs: [{ type: "uint8" }],
227
- },
228
- ],
229
- functionName: "decimals",
230
- })) as number
231
-
232
- // Format balance using viem's formatUnits and our formatAmount utility
233
- const balanceInTokenUnits = formatUnits(balance, decimals)
234
- const balanceFormatted = formatAmount(balanceInTokenUnits, {
235
- maxFractionDigits: 6,
236
- minFractionDigits: 0,
237
- })
238
- const balanceFormattedLocale = formatAmountLocaleDisplay(
239
- balanceInTokenUnits,
240
- {
241
- maxFractionDigits: 6,
242
- minFractionDigits: 0,
243
- },
244
- )
245
-
246
- logger.console.log("[pool-withdraw] ✅ Successfully fetched balance:", {
247
- tokenAddress: tokenToQuery,
248
- balanceRaw: balance.toString(),
249
- decimals,
250
- balanceInTokenUnits,
251
- balanceFormatted,
252
- balanceFormattedLocale,
253
- })
254
-
255
- setPoolBalance(balanceFormattedLocale || balanceFormatted)
256
- setPoolBalanceRaw(balanceFormatted) // Always store US format for calculations
257
- setPoolBalanceWei(balance.toString()) // Store actual raw balance in wei for precise Max calculations
258
- setIsLoadingBalance(false)
259
- } catch (error) {
260
- logger.console.error("[pool-withdraw] ❌ Error fetching balance:", {
261
- error,
262
- selectedPool: selectedPool.name,
263
- aTokenAddress,
264
- })
265
- setPoolBalance(null)
266
- setPoolBalanceRaw(null)
267
- setPoolBalanceWei(null)
268
- setIsLoadingBalance(false)
269
- }
270
- }
271
-
272
- fetchPoolBalance()
273
- }, [publicClient, selectedPool, aTokenAddress, account])
274
-
275
- // Generate withdraw calldata dynamically based on user's entered amount
276
- const withdrawCalldata = useMemo(() => {
277
- if (!account?.address) {
278
- logger.console.log(
279
- "[pool-withdraw] No account found, skipping calldata generation",
280
- )
281
- return undefined
282
- }
283
-
284
- const isAave = selectedPool?.protocol === "Aave"
285
- const isMorpho = selectedPool?.protocol === "Morpho"
286
-
287
- // Only generate calldata for Aave and Morpho protocols
288
- if (!selectedPool || (!isAave && !isMorpho) || !amount || amount === "0") {
289
- logger.console.log("[pool-withdraw] Skipping calldata generation:", {
290
- hasPool: !!selectedPool,
291
- protocol: selectedPool?.protocol,
292
- isAave,
293
- isMorpho,
294
- amount,
295
- })
296
- return undefined
297
- }
298
-
299
- try {
300
- // Convert amount to wei using the token's decimals
301
- const amountWei = parseUnits(amount, selectedPool.token.decimals || 18)
302
-
303
- let calldata: `0x${string}`
304
-
305
- if (isAave) {
306
- calldata = generateAaveWithdrawCalldata(
307
- selectedPool.token.address, // underlying asset (e.g., USDC)
308
- amountWei, // actual amount to withdraw in wei
309
- account.address, // recipient (user's wallet)
310
- )
311
- } else if (isMorpho) {
312
- calldata = generateMorphoWithdrawCalldata(
313
- amountWei, // amount of underlying assets to withdraw in wei
314
- account.address, // receiver (user's wallet)
315
- account.address, // owner (user's wallet - owns the shares)
316
- )
317
- } else {
318
- return undefined
319
- }
320
-
321
- logger.console.log("[pool-withdraw] Generated withdraw calldata:", {
322
- pool: selectedPool.name,
323
- protocol: selectedPool.protocol,
324
- asset: selectedPool.token.address,
325
- amount: amount,
326
- amountWei: amountWei.toString(),
327
- recipient: account.address,
328
- calldata,
329
- })
330
-
331
- return calldata
332
- } catch (error) {
333
- logger.console.error(
334
- "[pool-withdraw] ❌ Error generating calldata:",
335
- error,
336
- )
337
- return undefined
338
- }
339
- }, [selectedPool, amount, account?.address])
340
-
341
- // Calculate USD value using the underlying token (for pool tokens like aBasUSDC)
342
- const {
343
- amountUsdFormatted: underlyingTokenUsdDisplay,
344
- amountUsdFormattedLocale: underlyingTokenUsdLocaleDisplay,
345
- } = useAmountUsd({
346
- amount: amount,
347
- token: selectedPool?.token.address, // Use underlying token address (e.g., USDC for aBasUSDC)
348
- chainId: selectedPool?.chainId,
349
- })
350
-
351
- // Auto-focus input field on component mount
352
- useEffect(() => {
353
- if (inputRef.current) {
354
- inputRef.current.focus()
355
- }
356
- }, [])
357
-
358
- // Notify parent component about pool selector visibility
359
- useEffect(() => {
360
- if (onPoolSelectorStateChange) {
361
- // Hide tabs when showing EarnPools selector (no token selector in withdraw)
362
- onPoolSelectorStateChange(showEarnPools)
363
- }
364
- }, [showEarnPools, onPoolSelectorStateChange])
365
-
366
- // For Aave, check if wallet has enough aTokens in order to withdraw
367
- const [hasEnoughATokens, setHasEnoughATokens] = useState<boolean | null>(null)
368
- useEffect(() => {
369
- if (
370
- publicClient &&
371
- selectedPool &&
372
- selectedPool.protocol === "Aave" &&
373
- amountToWithdraw
374
- ) {
375
- try {
376
- const checkHasEnoughATokens = async () => {
377
- const aTokenAddress = selectedPool.token.address
378
- const decimals = selectedPool.token.decimals || 18
379
- const aTokenBalance = await publicClient?.readContract({
380
- address: aTokenAddress as `0x${string}`,
381
- abi: parseAbi([
382
- "function balanceOf(address) view returns (uint256)",
383
- ]),
384
- functionName: "balanceOf",
385
- args: [account?.address as `0x${string}`],
386
- })
387
- const aTokenBalanceFormatted = formatUnits(aTokenBalance, decimals)
388
- setHasEnoughATokens(aTokenBalanceFormatted >= amountToWithdraw)
389
- }
390
- checkHasEnoughATokens()
391
- } catch (error) {
392
- logger.console.error(
393
- "[pool-withdraw] ❌ Error checking has enough aTokens:",
394
- error,
395
- )
396
- }
397
- }
398
- }, [publicClient, selectedPool, account, amountToWithdraw])
399
-
400
- const handleAmountChange = (value: string) => {
401
- setAmount(value)
402
- setAmountToWithdraw(value) // Sync with useSendForm for quote functionality
403
- }
404
-
405
- const handlePoolSelect = (pool: any) => {
406
- logger.console.log("Selected pool for withdrawal:", pool)
407
- setSelectedPool(pool)
408
- setShowEarnPools(false)
409
- }
410
-
411
- // Handle amount selection from percentage buttons
412
- const handleAmountSelect = (selectedAmount: string) => {
413
- setAmount(selectedAmount)
414
- setAmountToWithdraw(selectedAmount)
415
- }
416
-
417
- const [isLoadingWithdraw, setIsLoadingWithdraw] = useState(false)
418
-
419
- const handleSubmit = async (e: React.FormEvent) => {
420
- e.preventDefault()
421
- if (!account || !walletClient) {
422
- throw new Error("No account or wallet client found")
423
- }
424
-
425
- try {
426
- setIsLoadingWithdraw(true)
427
-
428
- // Create initial pending state
429
- const initialState: TransactionState = {
430
- transactionHash: "", // Will be set after tx is sent
431
- explorerUrl: "",
432
- chainId: selectedPool?.chainId as number,
433
- state: "pending",
434
- label: "Withdraw",
435
- }
436
- onTransactionStateChange([initialState])
437
-
438
- const txHash = await sendOriginTransaction(account, walletClient, {
439
- to: selectedPool?.depositAddress as `0x${string}`,
440
- data: withdrawCalldata as `0x${string}`,
441
- value: 0n,
442
- chain: walletClient.chain as Chain,
443
- })
444
-
445
- const receipt = await publicClient!.waitForTransactionReceipt({
446
- hash: txHash,
447
- })
448
-
449
- // Convert receipt to TransactionState
450
- const finalState = getTransactionStateFromReceipt(
451
- receipt,
452
- selectedPool?.chainId as number,
453
- "Withdraw",
454
- )
455
-
456
- onTransactionStateChange([finalState])
457
-
458
- // Navigate to receipt screen
459
- onComplete({ transactionStates: [finalState] })
460
-
461
- setIsLoadingWithdraw(false)
462
- } catch (error) {
463
- logger.console.error(
464
- "[pool-withdraw] ❌ Error submitting withdraw:",
465
- error,
466
- )
467
- setIsLoadingWithdraw(false)
468
- onError(
469
- error instanceof Error ? error.message : "Failed to withdraw from pool",
470
- )
471
- }
472
- }
473
-
474
- // Get chain info for selected pool
475
- const chainInfo = useMemo(() => {
476
- return selectedPool ? getChainInfo(selectedPool.chainId) : null
477
- }, [selectedPool])
478
-
479
- if (showEarnPools) {
480
- return (
481
- <EarnPools
482
- onBack={() => setShowEarnPools(false)}
483
- onPoolSelect={handlePoolSelect}
484
- />
485
- )
486
- }
487
-
488
- return (
489
- <div className="space-y-2">
490
- {/* Pool Selection (Primary Section) */}
491
- <div className="trails-bg-secondary trails-border-radius-container transition-all duration-200 border border-transparent hover:bg-white! dark:hover:bg-white! hover:border-gray-400 dark:hover:border-gray-500">
492
- {selectedPool ? (
493
- <div className="p-3 trails-border-radius-container trails-bg-secondary transition-all overflow-hidden">
494
- {/* Vault Label */}
495
- <div className="flex justify-between items-center mb-2">
496
- <div className="text-sm font-semibold trails-text-secondary text-left">
497
- From
498
- </div>
499
- </div>
500
-
501
- <div className="px-1">
502
- <div className="flex items-center justify-between">
503
- <div className="flex items-center space-x-3">
504
- <div style={{ width: "32px", height: "32px" }}>
505
- <a
506
- href={getExplorerUrlForAddress({
507
- address: selectedPool.token.address,
508
- chainId: selectedPool.chainId,
509
- })}
510
- target="_blank"
511
- rel="noopener noreferrer"
512
- className="cursor-pointer"
513
- >
514
- <TokenImage
515
- symbol={selectedPool.token.symbol}
516
- imageUrl={selectedPool.token.logoUrl}
517
- chainId={selectedPool.chainId}
518
- contractAddress={selectedPool.token.address}
519
- size={32}
520
- />
521
- </a>
522
- </div>
523
- <div>
524
- <h3 className="font-medium text-gray-900 dark:text-white text-sm">
525
- {selectedPool.poolUrl ? (
526
- <a
527
- href={selectedPool.poolUrl}
528
- target="_blank"
529
- rel="noopener noreferrer"
530
- className="hover:underline cursor-pointer"
531
- >
532
- {selectedPool.name}
533
- </a>
534
- ) : (
535
- selectedPool.name
536
- )}
537
- </h3>
538
- <div className="flex items-center space-x-2">
539
- <span className="text-xs text-gray-500 dark:text-gray-400 flex items-center">
540
- {selectedPool.protocol === "Aave" && (
541
- <img
542
- src={aaveLogo}
543
- alt="Aave"
544
- className="w-3 h-3 mr-1"
545
- />
546
- )}
547
- {selectedPool.protocol === "Morpho" && (
548
- <img
549
- src={morphoLogo}
550
- alt="Morpho"
551
- className="w-3 h-3 mr-1"
552
- />
553
- )}
554
- {selectedPool.protocolUrl ? (
555
- <a
556
- href={selectedPool.protocolUrl}
557
- target="_blank"
558
- rel="noopener noreferrer"
559
- className="hover:underline cursor-pointer"
560
- >
561
- {selectedPool.protocol}
562
- </a>
563
- ) : (
564
- selectedPool.protocol
565
- )}
566
- </span>
567
- </div>
568
- </div>
569
- </div>
570
- <button
571
- type="button"
572
- title="Select Vault"
573
- onClick={() => setShowEarnPools(true)}
574
- className="text-right flex items-center space-x-3 cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-700 rounded p-2 transition-colors"
575
- >
576
- <div>
577
- <div className="flex items-center justify-end space-x-1 text-green-600 dark:text-green-400 mb-1 whitespace-nowrap">
578
- <TrendingUp className="w-3 h-3" />
579
- <span className="font-semibold text-sm">
580
- {selectedPool.apy.toFixed(1)}% APY
581
- </span>
582
- </div>
583
- <p className="text-xs text-gray-500 dark:text-gray-400 whitespace-nowrap">
584
- TVL: {formatTvl(selectedPool.tvl)}
585
- </p>
586
- </div>
587
- <ChevronRight className="w-4 h-4 text-gray-400" />
588
- </button>
589
- </div>
590
- </div>
591
- </div>
592
- ) : (
593
- <button
594
- type="button"
595
- onClick={() => setShowEarnPools(true)}
596
- className="w-full py-6 px-4 trails-list-item trails-border-radius-container transition-all duration-200 cursor-pointer"
597
- >
598
- <div className="flex items-center justify-between">
599
- <div className="flex items-center space-x-3 flex-1">
600
- <div className="w-8 h-8 rounded-full bg-gray-100 dark:bg-gray-700 flex items-center justify-center">
601
- <Search className="w-4 h-4 text-gray-400" />
602
- </div>
603
- <div className="text-left flex-1">
604
- <div className="font-semibold text-gray-900 dark:text-white text-sm">
605
- Select vault to withdraw from
606
- </div>
607
- </div>
608
- </div>
609
- <ChevronRight className="w-4 h-4 trails-text-muted flex-shrink-0" />
610
- </div>
611
- </button>
612
- )}
613
- </div>
614
-
615
- {/* Amount Input Section */}
616
- {selectedPool && (
617
- <div className="pt-4 pb-4 mb-4 trails-bg-secondary trails-bg-secondary-hover trails-border-radius-container p-3 group transition-all duration-200 border border-transparent focus-within:bg-white! dark:focus-within:bg-gray-800! trails-focus-border-secondary min-h-[120px] flex flex-col">
618
- {/* Withdraw Label */}
619
- <div className="mb-4 flex justify-between items-center">
620
- <div className="text-sm font-medium trails-text-secondary text-left m-0">
621
- Amount
622
- </div>
623
- </div>
624
-
625
- <div className="flex items-center space-x-2 flex-1">
626
- {/* Amount Input */}
627
- <div className="flex-1">
628
- <div className="flex items-center space-x-2">
629
- <DynamicSizeInputField
630
- ref={inputRef}
631
- value={amount}
632
- onChange={(e) => handleAmountChange(e.target.value)}
633
- isLoading={isLoadingWithdraw}
634
- variant="default"
635
- />
636
- </div>
637
- </div>
638
-
639
- {/* Token Display (Not Selectable) */}
640
- <TokenDisplayNonSelectable
641
- symbol={selectedPool.token.symbol}
642
- imageUrl={selectedPool.token.logoUrl}
643
- chainId={selectedPool.chainId}
644
- contractAddress={selectedPool.token.address}
645
- chainName={chainInfo?.name}
646
- />
647
- </div>
648
-
649
- {/* Bottom Info Row */}
650
- <div className="mt-4 flex justify-between items-center">
651
- {/* USD Amount */}
652
- <div
653
- className="text-xs text-gray-500 dark:text-gray-400"
654
- title={
655
- selectedPool && amount && underlyingTokenUsdDisplay
656
- ? underlyingTokenUsdDisplay
657
- : undefined
658
- }
659
- >
660
- {selectedPool && amount ? (
661
- <span className="notranslate" translate="no">
662
- ≈{" "}
663
- {underlyingTokenUsdLocaleDisplay ||
664
- underlyingTokenUsdDisplay ||
665
- formatUsdAmountLocaleDisplay(0)}
666
- </span>
667
- ) : (
668
- <span>&nbsp;</span>
669
- )}
670
- </div>
671
-
672
- {/* Pool Balance and Percentage Buttons */}
673
- {poolBalance && (
674
- <div className="flex items-center space-x-2">
675
- <button
676
- type="button"
677
- className="text-xs text-gray-500 dark:text-gray-400 cursor-pointer hover:text-gray-700 dark:hover:text-gray-200 transition-colors bg-transparent border-none p-0"
678
- onClick={() => handleAmountSelect(poolBalance || "0")}
679
- onKeyDown={(e) => {
680
- if (e.key === "Enter" || e.key === " ") {
681
- e.preventDefault()
682
- handleAmountSelect(poolBalance || "0")
683
- }
684
- }}
685
- title="Click to withdraw full balance"
686
- >
687
- <span className="notranslate" translate="no">
688
- Balance:{" "}
689
- {isBalanceVisible
690
- ? isLoadingBalance
691
- ? "Loading..."
692
- : poolBalance || "0.00"
693
- : "••••••"}
694
- </span>
695
- </button>
696
-
697
- {/* Percentage Buttons */}
698
- <PercentageMaxButtons
699
- userBalance={poolBalanceRaw || undefined}
700
- userBalanceRaw={poolBalanceWei ?? "0"}
701
- decimals={selectedPool.token.decimals ?? 18}
702
- isNativeToken={false} // Pool tokens are never native tokens
703
- chainId={selectedPool.chainId}
704
- onAmountSelect={handleAmountSelect}
705
- className="opacity-100"
706
- />
707
- </div>
708
- )}
709
- </div>
710
- </div>
711
- )}
712
-
713
- {hasEnoughATokens === false ? (
714
- <div className="px-2 py-3 rounded-lg bg-amber-500/10 border border-solid border-amber-500/30">
715
- <div className="flex items-center space-x-2">
716
- <svg
717
- className="w-4 h-4 text-amber-500 flex-shrink-0"
718
- fill="none"
719
- stroke="currentColor"
720
- viewBox="0 0 24 24"
721
- aria-hidden="true"
722
- >
723
- <path
724
- strokeLinecap="round"
725
- strokeLinejoin="round"
726
- strokeWidth={2}
727
- d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.964-.833-2.732 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"
728
- />
729
- </svg>
730
- <p className="text-sm text-amber-600 dark:text-amber-400">
731
- Insufficient balance to complete this transaction
732
- </p>
733
- </div>
734
- </div>
735
- ) : null}
736
-
737
- {selectedPool && (
738
- <form onSubmit={handleSubmit}>
739
- <button
740
- type="submit"
741
- disabled={
742
- !amount || isLoadingWithdraw || hasEnoughATokens === false
743
- }
744
- className={`w-full font-semibold py-4 px-4 trails-border-radius-button transition-colors bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white disabled:text-gray-500 disabled:cursor-not-allowed cursor-pointer relative`}
745
- >
746
- {isLoadingWithdraw ? (
747
- <div className="flex items-center justify-center">
748
- <LoadingSpinner className="mr-2" />
749
- <span>Processing...</span>
750
- </div>
751
- ) : hasEnoughATokens === false ? (
752
- "Insufficient Balance"
753
- ) : (
754
- "Withdraw"
755
- )}
756
- </button>
757
- </form>
758
- )}
759
- </div>
760
- )
761
- }